From c89f212aaaf7d768c49c5b04f899b2528ec70a0a Mon Sep 17 00:00:00 2001 From: Gogs Date: Sat, 29 Feb 2020 13:20:29 -0800 Subject: [PATCH] Added Lua Scripts --- Lua/ItemScripts/ABookOfGnollishOrders.lua | 18 + Lua/ItemScripts/AFancyFirework.lua | 10 + .../ANoteFromTheQeynosQuartermaster.lua | 32 + Lua/ItemScripts/ATwitchingCrabClaw.lua | 6 + Lua/ItemScripts/AyrDalLanguagePrimer.lua | 16 + Lua/ItemScripts/BetaVoucher.lua | 0 Lua/ItemScripts/Bogchild's_Iced_Trap.lua | 19 + Lua/ItemScripts/BowlOfTerratrodderChuck.lua | 23 + Lua/ItemScripts/BundleofSpiritWards.lua | 35 + .../CrustoseRepellentPrototype.lua | 18 + Lua/ItemScripts/Darkheart.lua | 28 + Lua/ItemScripts/DisassembledStorageBox.lua | 23 + Lua/ItemScripts/DrawingRay.lua | 24 + Lua/ItemScripts/DwarvenLanguagePrimer.lua | 17 + Lua/ItemScripts/ErudianLanguagePrimer.lua | 16 + Lua/ItemScripts/FabricPatch.lua | 20 + Lua/ItemScripts/FeirDalLanguagePrimer.lua | 16 + Lua/ItemScripts/FireworkConfettiShower.lua | 11 + Lua/ItemScripts/FireworkPrismaticBurst.lua | 11 + Lua/ItemScripts/FireworkRosePetalShower.lua | 11 + .../FireworkSwirlingSnowflakes.lua | 11 + Lua/ItemScripts/FoldingStand.lua | 40 + Lua/ItemScripts/FriendlyGazerRunt.lua | 12 + Lua/ItemScripts/FrondensFinest.lua | 23 + Lua/ItemScripts/GeldranisVial.lua | 33 + Lua/ItemScripts/GerlasElementalLullaby.lua | 24 + Lua/ItemScripts/GnomishLanguagePrimer.lua | 16 + Lua/ItemScripts/Griz.lua | 29 + Lua/ItemScripts/Guestroomkey01.lua | 14 + Lua/ItemScripts/GuktanLanguagePrimer.lua | 16 + Lua/ItemScripts/HalasianLanguagePrimer.lua | 16 + Lua/ItemScripts/HawkBait.lua | 32 + Lua/ItemScripts/IcemaneLeash.lua | 11 + Lua/ItemScripts/KerranLanguangePrimer.lua | 16 + Lua/ItemScripts/KoadaDalLanguagePrimer.lua | 16 + Lua/ItemScripts/LaserGoggles.lua | 23 + Lua/ItemScripts/MakeshiftBarricade.lua | 31 + Lua/ItemScripts/MavsStone.lua | 43 + Lua/ItemScripts/NeezersQuestions.lua | 26 + Lua/ItemScripts/OverflowManifest.lua | 19 + Lua/ItemScripts/ParchmentScrap.lua | 62 + Lua/ItemScripts/Poultice.lua | 20 + Lua/ItemScripts/PrankPreparednessKit.lua | 50 + .../RyGorrExplosiveMiningBarrel.lua | 37 + Lua/ItemScripts/ShardofEssence.lua | 13 + Lua/ItemScripts/SilverTweezers.lua | 17 + Lua/ItemScripts/SpiritReaper.lua | 18 + Lua/ItemScripts/StoutLanguagePrimer.lua | 16 + Lua/ItemScripts/T1Pickles.lua | 11 + Lua/ItemScripts/T2Pickles.lua | 11 + Lua/ItemScripts/T3Pickles.lua | 11 + Lua/ItemScripts/T4Pickles.lua | 11 + Lua/ItemScripts/T5Pickles.lua | 11 + Lua/ItemScripts/T6Pickles.lua | 11 + Lua/ItemScripts/T7Pickles.lua | 11 + Lua/ItemScripts/T8Pickles.lua | 11 + Lua/ItemScripts/UrnFilledWithAshes.lua | 37 + Lua/ItemScripts/WaterFlask.lua | 29 + Lua/ItemScripts/WorthlessBronzeStatuette.lua | 34 + Lua/ItemScripts/aNeriakrecruitbadge.lua | 14 + Lua/ItemScripts/a_locked_chest.lua | 17 + Lua/ItemScripts/a_mystical_sphere.lua | 21 + Lua/ItemScripts/abasicfirework.lua | 11 + Lua/ItemScripts/an_old_darkblade_dagger.lua | 15 + Lua/ItemScripts/anoldnote.lua | 20 + Lua/ItemScripts/awellspringcubleash.lua | 22 + Lua/ItemScripts/cadavers_dram.lua | 24 + Lua/ItemScripts/flaskofwater.lua | 11 + Lua/ItemScripts/goblishtranslationnotes.lua | 7 + Lua/ItemScripts/guiderobes.lua | 0 Lua/ItemScripts/mysteriousbracers.lua | 6 + Lua/ItemScripts/pouchofstunsporepowder.lua | 28 + Lua/ItemScripts/ration.lua | 12 + Lua/ItemScripts/runedacorn.lua | 20 + Lua/ItemScripts/scarwurmpheromone.lua | 32 + Lua/ItemScripts/smolderingtrout.lua | 62 + Lua/ItemScripts/trappedspirits.lua | 28 + Lua/Quests/Antonica/ACaptainsCommunique.lua | 51 + .../Antonica/Achoo!AntonicanPepper.lua.lua | 51 + .../Blub,Blub-SomethingSmellsFishy.lua | 52 + Lua/Quests/Antonica/CarePackageforBlarton.lua | 51 + Lua/Quests/Antonica/GnollReport.lua | 71 + ...illingwithKindness,OneBarbarianataTime.lua | 52 + Lua/Quests/Antonica/LuckyLure.lua | 56 + Lua/Quests/Antonica/MailDeliveryforMatsy.lua | 41 + Lua/Quests/Antonica/SpicyMeatPie.lua | 69 + .../Antonica/TheKeepOfTheArdentNeedle.lua | 51 + .../Antonica/history_of_the_ayrdal_part_i.lua | 93 ++ .../history_of_the_barbarians_part_i.lua | 103 ++ .../Antonica/once_upon_an_isle_dreary.lua | 63 + .../Antonica/qeynosian_civil_service.lua | 71 + Lua/Quests/Antonica/there_mite_be_trouble.lua | 56 + .../Baubbleshire/a_budding_prankster.lua | 40 + .../Baubbleshire/badger_pelts_for_diggs.lua | 50 + Lua/Quests/Baubbleshire/embers_for_xoort.lua | 49 + .../fight_the_forgotten_guardians.lua | 50 + .../Baubbleshire/getting_to_know_poko.lua | 41 + Lua/Quests/Baubbleshire/helping_a_friend.lua | 51 + .../Baubbleshire/helping_a_friend_again.lua | 74 + .../Baubbleshire/helping_some_friends.lua | 107 ++ Lua/Quests/Baubbleshire/neezers_survey.lua | 114 ++ .../Baubbleshire/nogginspark_reactors.lua | 48 + .../Baubbleshire/paying_off_a_sweet_debt.lua | 52 + Lua/Quests/Baubbleshire/scraptastic.lua | 65 + Lua/Quests/BeggarsCourt/a_delivery.lua | 53 + Lua/Quests/BeggarsCourt/dirty_work.lua | 80 + Lua/Quests/BeggarsCourt/one_last_request.lua | 41 + Lua/Quests/BeggarsCourt/reel_him_in.lua | 90 ++ Lua/Quests/BeggarsCourt/saving_history.lua | 32 + Lua/Quests/BeggarsCourt/thaen_sevellos.lua | 52 + .../SearchForGrandmaBlumble.lua | 38 + .../ButcherblockMountains/ADimLight.lua | 56 + .../ButcherblockMountains/AMindOfMyOwn.lua | 70 + .../ButcherblockMountains/AStrangeMix.lua | 70 + .../ButcherblockMountains/CaptainSays.lua | 86 ++ .../CoinForTheCaptain.lua | 67 + .../ButcherblockMountains/DarkTides.lua | 56 + .../DiggingInTheYard.lua | 56 + .../ButcherblockMountains/DockDelinquency.lua | 89 ++ .../FeathersForGherrana.lua | 56 + .../ButcherblockMountains/FletchMeMore.lua | 55 + .../ButcherblockMountains/ForTheDogs.lua | 56 + .../GriffinStationsButcherblock.lua | 73 + .../IrontoeBrigadeRequisitionLists.lua | 82 ++ .../MuckflickMessageIntercepted.lua | 51 + .../NauticalDisaster.lua | 72 + .../NecessaryPrecautions.lua | 41 + .../SarnakSympathizerPart1.lua | 46 + .../SchmittysSandals.lua | 104 ++ .../SeekingBrultenHiltstill.lua | 45 + .../SeekingTheKilnkors.lua | 41 + .../ButcherblockMountains/StockComponents.lua | 56 + .../StraightAndToThePoint.lua | 56 + .../ButcherblockMountains/TeirDalTimer.lua | 57 + .../TheKoboldAndTheBeautiful.lua | 57 + .../TheManyUsesOfCarapace.lua | 51 + .../TheNumberOneThreatInButcherblock.lua | 56 + .../ButcherblockMountains/TheYarpsnarls.lua | 71 + .../ButcherblockMountains/ThievingRunts.lua | 50 + .../ButcherblockMountains/UnusualPalate.lua | 50 + .../Castleview/components_of_growth.lua | 103 ++ .../Castleview/faeadaens_dinner_message.lua | 40 + Lua/Quests/Castleview/sending_the_word.lua | 38 + Lua/Quests/Castleview/sowing_beauty.lua | 144 ++ .../Castleview/targeting_corruption.lua | 57 + Lua/Quests/Castleview/the_commune.lua | 48 + Lua/Quests/Caves/ALackofInformation.lua | 68 + Lua/Quests/Caves/a_lack_of_information.lua | 83 ++ .../a_note_from_the_qeynos_quartermaster.lua | 30 + Lua/Quests/Caves/an_explosive_idea.lua | 54 + .../Caves/destroying_the_foundation.lua | 81 + Lua/Quests/Caves/elements_of_a_ritual.lua | 99 ++ .../Caves/high_shaman_of_the_rockpaw.lua | 68 + Lua/Quests/Caves/hit_them_where_it_hurts.lua | 79 + Lua/Quests/Caves/studies_in_speciation.lua | 81 + Lua/Quests/Caves/the_gnollish_menace.lua | 93 ++ Lua/Quests/Commonlands/AFriendinNeed.lua | 32 + Lua/Quests/Commonlands/AHardMantoPlease.lua | 32 + Lua/Quests/Commonlands/AHuntersTool.lua | 32 + Lua/Quests/Commonlands/ALostPackage.lua | 32 + .../Commonlands/AMeetingInterrupted.lua | 32 + Lua/Quests/Commonlands/ARatDivided.lua | 32 + Lua/Quests/Commonlands/AnAcquisition.lua | 32 + Lua/Quests/Commonlands/ArmadilloHides.lua | 32 + Lua/Quests/Commonlands/BanditSashBounty.lua | 32 + Lua/Quests/Commonlands/BeetleShells.lua | 32 + Lua/Quests/Commonlands/BigGameHunting.lua | 32 + .../Commonlands/BloodskullDisruption.lua | 32 + .../Commonlands/BloodskullIntentions.lua | 32 + Lua/Quests/Commonlands/BrokenEquipment.lua | 32 + .../Commonlands/CantWeAllJustGetAlong.lua | 32 + Lua/Quests/Commonlands/CaptainFeralis.lua | 32 + .../Commonlands/CollectingOnWhatIsEarned.lua | 32 + .../CommonlandsCreatureCataloging.lua | 32 + Lua/Quests/Commonlands/ConfusionistheKey.lua | 32 + Lua/Quests/Commonlands/CrackPot.lua | 32 + Lua/Quests/Commonlands/CratesontheNerves.lua | 32 + .../Commonlands/DealingwiththeBloodskulls.lua | 32 + Lua/Quests/Commonlands/DirtySneakyRats.lua | 32 + Lua/Quests/Commonlands/FillingtheCoffers.lua | 32 + .../Commonlands/FinishingtheNegotiations.lua | 32 + Lua/Quests/Commonlands/GiftsfromtheEarth.lua | 32 + Lua/Quests/Commonlands/GrizzlefangsMane.lua | 32 + Lua/Quests/Commonlands/HyenaJerky.lua | 32 + .../Commonlands/MorethanMeetstheEye.lua | 32 + Lua/Quests/Commonlands/MushroomMadness.lua | 32 + .../Commonlands/OMugwumpWhereArtThou.lua | 32 + Lua/Quests/Commonlands/OneFinalTask.lua | 32 + Lua/Quests/Commonlands/OrcsandGhosts.lua | 32 + Lua/Quests/Commonlands/OrcsoftheRee.lua | 32 + Lua/Quests/Commonlands/OverlordsOmelet.lua | 32 + Lua/Quests/Commonlands/PachydermPunch.lua | 32 + Lua/Quests/Commonlands/PlainOleDisease.lua | 32 + Lua/Quests/Commonlands/PotionMaking.lua | 32 + .../Commonlands/ProofisinthePudding.lua | 32 + Lua/Quests/Commonlands/ProvingYourWorth.lua | 32 + Lua/Quests/Commonlands/Rainus.lua | 32 + .../Commonlands/ReturningtoCaptainFeralis.lua | 32 + Lua/Quests/Commonlands/Rhinorific.lua | 32 + Lua/Quests/Commonlands/SeafoodSurprise.lua | 32 + Lua/Quests/Commonlands/SmugglersSecrets.lua | 32 + .../Commonlands/StartingtheNegotiations.lua | 32 + Lua/Quests/Commonlands/TeceraValnos.lua | 32 + .../Commonlands/TheBloodskullThreat.lua | 32 + .../Commonlands/TheFrenzyoftheBloodskulls.lua | 32 + Lua/Quests/Commonlands/TheLovebirdsRoost.lua | 32 + .../TheMysteriousMissingShipment.lua | 32 + Lua/Quests/Commonlands/TheSkeletonKey.lua | 32 + Lua/Quests/Commonlands/TroubleAbout.lua | 32 + Lua/Quests/Commonlands/VentarTKal.lua | 32 + .../Commonlands/Wispersweetnothings.lua | 32 + Lua/Quests/Commonlands/ZaZasLittleProblem.lua | 32 + Lua/Quests/Commonlands/ZarvonnsLegacy.lua | 32 + .../Commonlands/speckled_rattler_venom.lua | 70 + .../Darklight/AFerociousInconvenience.lua | 51 + Lua/Quests/Darklight/AFriendlyReminder.lua | 51 + Lua/Quests/Darklight/AGuardInsignia.lua | 38 + Lua/Quests/Darklight/ASnakeMadeSerum.lua | 54 + Lua/Quests/Darklight/ASolidifiedFront.lua | 68 + Lua/Quests/Darklight/AnAuthorityonHate.lua | 42 + Lua/Quests/Darklight/AnotherProblem.lua | 41 + .../Darklight/ComparisonstotheHarrowglade.lua | 50 + Lua/Quests/Darklight/Condemned.lua | 60 + Lua/Quests/Darklight/ContinuingAssistance.lua | 60 + .../Darklight/DiggingDeeper_Darkligh.lua | 60 + Lua/Quests/Darklight/DusttoDust.lua | 51 + .../Darklight/ElementalEncroachment.lua | 51 + Lua/Quests/Darklight/HopefulNetReturns.lua | 47 + Lua/Quests/Darklight/InfantileIngredients.lua | 55 + Lua/Quests/Darklight/MoreReagents.lua | 50 + Lua/Quests/Darklight/NoUndeadGoesUnturned.lua | 50 + Lua/Quests/Darklight/OneMan'sWaste....lua | 60 + Lua/Quests/Darklight/OtherMaterials.lua | 60 + Lua/Quests/Darklight/PickingUpSlack.lua | 52 + Lua/Quests/Darklight/PotentialThreats.lua | 50 + Lua/Quests/Darklight/PreparingARitual.lua | 50 + Lua/Quests/Darklight/ProwlerAnnoyance.lua | 51 + Lua/Quests/Darklight/PublicService.lua | 69 + Lua/Quests/Darklight/PurposefulTrinkets.lua | 53 + Lua/Quests/Darklight/Reagents.lua | 50 + Lua/Quests/Darklight/Reaping.lua | 53 + .../ReapingTheBenefitsOfAMonopoly.lua | 53 + .../Darklight/ReclaimingtheSableveinTear.lua | 51 + Lua/Quests/Darklight/ReporttoZezas.lua | 37 + Lua/Quests/Darklight/ResonanceCapture.lua | 50 + Lua/Quests/Darklight/Revenge.lua | 50 + Lua/Quests/Darklight/RichFishFlesh.lua | 40 + Lua/Quests/Darklight/RottingScum.lua | 74 + Lua/Quests/Darklight/SableveinRubble.lua | 63 + Lua/Quests/Darklight/SealingtheRift.lua | 62 + Lua/Quests/Darklight/SearchingforSigils.lua | 51 + .../Darklight/SmokingTheCompetition.lua | 50 + .../Darklight/SoHotYouCatchThemCooked.lua | 51 + Lua/Quests/Darklight/SorcerousNecessities.lua | 54 + .../Darklight/StoptheProblemattheSource.lua | 66 + Lua/Quests/Darklight/StunningRevelation.lua | 55 + Lua/Quests/Darklight/TheBigOne.lua | 48 + Lua/Quests/Darklight/TheMissingRecruit.lua | 52 + Lua/Quests/Darklight/TheMotherLode.lua | 63 + Lua/Quests/Darklight/TheSummoning.lua | 50 + Lua/Quests/Darklight/TheSummoningCatalyst.lua | 50 + Lua/Quests/Darklight/TheWarpfontSpire.lua | 50 + Lua/Quests/Darklight/ThexianTaint.lua | 64 + .../Darklight/TippingtheScalesofPower.lua | 54 + .../Darklight/ToDrawUponWellsprings.lua | 55 + Lua/Quests/Darklight/UsefulMaterials.lua | 56 + Lua/Quests/Darklight/WhatsinDemand.lua | 53 + .../Darklight/a_ferocious_inconvenience.lua | 63 + Lua/Quests/Darklight/a_friendly_reminder.lua | 59 + Lua/Quests/Darklight/a_strange_find.lua | 57 + Lua/Quests/Darklight/danyas_order.lua | 46 + Lua/Quests/Darklight/dirzdias_order.lua | 45 + .../Darklight/elemental_encroachment.lua | 62 + .../Darklight/luxuries_for_the_rich.lua | 50 + Lua/Quests/Darklight/malkaen_weed.lua | 58 + Lua/Quests/Darklight/more_luxuries.lua | 70 + Lua/Quests/Darklight/one_mans_waste.lua | 53 + Lua/Quests/Darklight/picking_up_slack.lua | 55 + Lua/Quests/Darklight/prowler_annoyance.lua | 57 + Lua/Quests/Darklight/prowler_pelts.lua | 56 + Lua/Quests/Darklight/public_service.lua | 73 + Lua/Quests/Darklight/purposeful_trinkets.lua | 57 + .../reaping_the_benefits_of_a_monopoly.lua | 52 + .../reclaiming_the_sablevein_tear.lua | 56 + Lua/Quests/Darklight/rotting_scum.lua | 75 + Lua/Quests/Darklight/sablevein_rubble.lua | 54 + .../Darklight/smoking_the_competition.lua | 55 + .../so_hot_you_catch_them_cooked.lua | 52 + Lua/Quests/Darklight/the_big_one.lua | 53 + Lua/Quests/Darklight/the_first_step.lua | 60 + Lua/Quests/Darklight/the_mother_lode.lua | 55 + Lua/Quests/Darklight/thexian_taint.lua | 70 + Lua/Quests/Darklight/trinkets.lua | 50 + Lua/Quests/Darklight/useful_materials.lua | 59 + Lua/Quests/Darklight/wanted_ithari_kxyrae.lua | 52 + Lua/Quests/Darklight/whats_in_demand.lua | 51 + Lua/Quests/EnchantedLands/Drodo'sGoodies.lua | 94 ++ .../HelpingSarmaSingebellows.lua | 128 ++ Lua/Quests/EnchantedLands/LousyFairies.lua | 50 + .../EnchantedLands/ThreeMeaningsOfLife.lua | 84 ++ .../Everfrost/a_pioneer_without_a_wagon.lua | 44 + .../cull_the_threat_to_the_pioneers.lua | 52 + Lua/Quests/Everfrost/fish_for_grunthor.lua | 46 + Lua/Quests/Everfrost/further_culling.lua | 49 + .../Everfrost/marta_terrilons_fur_hunt.lua | 56 + .../Everfrost/scouting_the_jagged_plains.lua | 56 + .../Everfrost/supplies_for_the_pioneers.lua | 57 + .../Everfrost/the_stories_of_everfrost.lua | 63 + .../ForestRuins/magnificent_machinery.lua | 65 + Lua/Quests/ForestRuins/news_for_germain.lua | 69 + .../FrostfangSea/a_fine_halasian_welcome.lua | 33 + .../FrostfangSea/a_good_distraction.lua | 87 ++ .../a_murky_miasma_of_a_mystery.lua | 49 + .../FrostfangSea/a_scattering_of_ashes.lua | 53 + Lua/Quests/FrostfangSea/all_that_remains.lua | 66 + .../FrostfangSea/an_essential_ingredient.lua | 78 + .../FrostfangSea/an_unbearable_problem.lua | 51 + Lua/Quests/FrostfangSea/arcane_elements.lua | 50 + .../FrostfangSea/bartering_crystals.lua | 49 + Lua/Quests/FrostfangSea/bear_bottoms.lua | 50 + .../FrostfangSea/becoming_another_orcbane.lua | 56 + .../FrostfangSea/beets_the_alternative.lua | 60 + .../FrostfangSea/below_the_frozen_waves.lua | 63 + .../blood_spilled_for_the_blade_maiden.lua | 49 + Lua/Quests/FrostfangSea/boatload_of_work.lua | 66 + Lua/Quests/FrostfangSea/call_to_arms.lua | 40 + Lua/Quests/FrostfangSea/calling_them_back.lua | 165 +++ Lua/Quests/FrostfangSea/campside_spores.lua | 56 + .../FrostfangSea/clan_of_the_cave_imps.lua | 63 + Lua/Quests/FrostfangSea/cod_and_chips.lua | 50 + Lua/Quests/FrostfangSea/crustose_removal.lua | 41 + .../FrostfangSea/disarming_the_rygorr.lua | 51 + .../displaced_and_discouraged,lua | 50 + .../displaced_and_discouraged.lua | 50 + .../domestication_is_the_new_survivalism.lua | 50 + .../fewer_orcs_to_worry_about.lua | 43 + Lua/Quests/FrostfangSea/field_testing.lua | 50 + .../FrostfangSea/field_testing_part_two.lua | 50 + Lua/Quests/FrostfangSea/flame_on.lua | 49 + .../FrostfangSea/flawless_core_chore.lua | 49 + Lua/Quests/FrostfangSea/foiling_the_flank.lua | 74 + .../FrostfangSea/forsaking_the_grave.lua | 48 + Lua/Quests/FrostfangSea/frigid_fishing.lua | 45 + .../FrostfangSea/frozen_pincer_chowder.lua | 64 + Lua/Quests/FrostfangSea/geode_caching.lua | 45 + Lua/Quests/FrostfangSea/green_mystery.lua | 50 + Lua/Quests/FrostfangSea/ham_and_beans.lua | 64 + .../highly_flammable_materials.lua | 63 + Lua/Quests/FrostfangSea/if_i_had_a_hammer.lua | 79 + Lua/Quests/FrostfangSea/impish_threats.lua | 49 + Lua/Quests/FrostfangSea/kestrel_pot_pie.lua | 65 + .../FrostfangSea/little_lost_froglok.lua | 62 + .../FrostfangSea/loosening_their_grip.lua | 49 + .../mystery_on_the_orc_iceberg.lua | 70 + .../FrostfangSea/nap_time_for_evigis.lua | 58 + .../no_substitute_for_shard_work.lua | 50 + Lua/Quests/FrostfangSea/nothing_to_waste.lua | 99 ++ .../FrostfangSea/off_to_the_ossuary.lua | 74 + Lua/Quests/FrostfangSea/pelted.lua | 49 + Lua/Quests/FrostfangSea/perfectly_missing.lua | 49 + .../FrostfangSea/pilgrim_pathfinder.lua | 44 + Lua/Quests/FrostfangSea/pilgrim_pelts.lua | 50 + Lua/Quests/FrostfangSea/pilgrim_scout.lua | 50 + .../pouring_one_out_for_my_skellies.lua | 55 + .../FrostfangSea/reclaiming_their_honor.lua | 50 + .../repelling_little_critters.lua | 73 + .../FrostfangSea/report_to_cragged_spine.lua | 38 + .../ride_upon_the_gwenevyn_II.lua | 33 + .../roughing_up_the_reinforcements.lua | 101 ++ .../FrostfangSea/rygorr_mining_operations.lua | 63 + .../FrostfangSea/rygorr_tool_taking.lua | 44 + .../FrostfangSea/scraggly_foodstuffs.lua | 44 + .../seeking_elemental_education.lua | 68 + Lua/Quests/FrostfangSea/severing_the_head.lua | 61 + .../sifting_through_the_grizzly_garbage.lua | 45 + .../FrostfangSea/skulls_for_the_taking.lua | 49 + .../FrostfangSea/sleetfoot_search_party.lua | 49 + .../sometimes_you_feel_like_a_knut.lua | 67 + Lua/Quests/FrostfangSea/spider_puffs.lua | 78 + .../FrostfangSea/stonefists_art_of_combat.lua | 60 + .../FrostfangSea/tackling_the_basilisks.lua | 50 + Lua/Quests/FrostfangSea/the_absent_effigy.lua | 49 + Lua/Quests/FrostfangSea/the_charge.lua | 81 + .../FrostfangSea/the_demand_for_supplies.lua | 72 + Lua/Quests/FrostfangSea/the_gauntlet.lua | 51 + Lua/Quests/FrostfangSea/the_glimmer_orc.lua | 49 + .../FrostfangSea/the_icemanes_cometh.lua | 57 + .../FrostfangSea/the_last_ingredient.lua | 49 + .../FrostfangSea/the_nightmare_is_over.lua | 40 + .../FrostfangSea/the_siege_is_not_over.lua | 49 + .../FrostfangSea/through_thine_eyes.lua | 54 + .../FrostfangSea/tis_most_unnatural.lua | 50 + .../FrostfangSea/to_the_great_shelf.lua | 52 + .../FrostfangSea/totem_annihilation.lua | 50 + Lua/Quests/FrostfangSea/trust_issues.lua | 90 ++ Lua/Quests/FrostfangSea/trusted_referral.lua | 41 + .../tutorial_alchemical_experiments.lua | 43 + .../tutorial_countering_problems.lua | 50 + .../tutorial_essential_outfitting.lua | 64 + .../FrostfangSea/tutorial_forging_ahead.lua | 51 + .../tutorial_learning_to_cook.lua | 44 + .../tutorial_learning_to_harvest.lua | 125 ++ .../tutorial_scribing_scrolls.lua | 44 + .../tutorial_the_art_of_weapons.lua | 65 + Lua/Quests/FrostfangSea/watch_out_below.lua | 51 + Lua/Quests/FrostfangSea/weapon_of_choice.lua | 42 + Lua/Quests/FrostfangSea/whirling_ice_time.lua | 56 + Lua/Quests/GMHall/TestQuest.lua | 33 + .../Graveyard/bringing_out_your_souls.lua | 49 + Lua/Quests/Graveyard/finding_the_pages.lua | 117 ++ .../Graveyard/obtaining_an_ancient_staff.lua | 59 + Lua/Quests/Graveyard/paying_a_visit.lua | 42 + Lua/Quests/Graveyard/repairing_the_ward.lua | 61 + .../Graveyard/reporting_to_the_ruins.lua | 40 + .../soothing_the_spirits_of_marr.lua | 61 + Lua/Quests/Graveyard/testing_the_ward.lua | 79 + Lua/Quests/Graveyard/the_book_of_the_dead.lua | 62 + Lua/Quests/Graveyard/the_door_knocker.lua | 108 ++ Lua/Quests/Graystone/a_family_recipe.lua | 93 ++ Lua/Quests/Graystone/a_missing_husband.lua | 38 + Lua/Quests/Graystone/a_package.lua | 67 + Lua/Quests/Graystone/a_stone_from_home.lua | 60 + Lua/Quests/Graystone/a_time_for_fighting.lua | 86 ++ Lua/Quests/Graystone/cheers.lua | 108 ++ Lua/Quests/Graystone/finding_bait.lua | 51 + Lua/Quests/Graystone/in_the_drink.lua | 104 ++ Lua/Quests/Graystone/late_shipment.lua | 112 ++ Lua/Quests/Graystone/visiting_a_friend.lua | 38 + Lua/Quests/GreaterFaydark/bee_swatter.lua | 51 + Lua/Quests/GreaterFaydark/broken_buttons.lua | 42 + Lua/Quests/GreaterFaydark/dollnapping.lua | 56 + Lua/Quests/GreaterFaydark/dyer_mycoria.lua | 40 + .../grobin_trouble_at_the_pond.lua | 52 + .../growler_pelts_for_brink.lua | 54 + .../herbs_of_healing_and_growth.lua | 52 + Lua/Quests/GreaterFaydark/infestation.lua | 74 + .../message_from_the_matron.lua | 46 + .../running_off_the_grobin_scouts.lua | 56 + .../GreaterFaydark/sentry_trillis_report.lua | 44 + .../GreaterFaydark/shells_of_protection.lua | 74 + .../GreaterFaydark/spider_silk_for_brink.lua | 54 + .../GreaterFaydark/unwelcome_guests.lua | 10 + .../LongshadowAlley/a_clear_understanding.lua | 94 ++ .../LongshadowAlley/a_lesson_learned.lua | 74 + .../LongshadowAlley/a_lesson_to_learn.lua | 62 + .../LongshadowAlley/brewing_trouble.lua | 75 + .../LongshadowAlley/meet_the_custodian.lua | 39 + .../NektroposCastle/FairWarningsIgnored.lua | 35 + Lua/Quests/NektroposCastle/TheBoarsHead.lua | 38 + .../NektroposCastle/TheEverlingLockets.lua | 122 ++ Lua/Quests/NektroposCastle/TheRedMarble.lua | 38 + .../NektroposCastle/TrinketsOfTheDead.lua | 204 +++ .../NektroposCastle/VisionsOfHatred.lua | 44 + .../Nettleville/CaptainElgrondethsDilemma.lua | 84 ++ Lua/Quests/Nettleville/a_budding_hunter.lua | 38 + .../book_bound_to_bring_knowldege.lua | 63 + Lua/Quests/Nettleville/crate_and_barrel.lua | 100 ++ Lua/Quests/Nettleville/curious_findings.lua | 52 + .../looking_for_work_is_hard_work.lua | 75 + .../refill_the_oakmyst_spider_silk_jars.lua | 55 + .../Nettleville/required_components.lua | 110 ++ .../restocking_bog_faerie_wings.lua | 50 + Lua/Quests/Nettleville/ritual_of_hearth.lua | 89 ++ Lua/Quests/Nettleville/to_the_source.lua | 39 + .../toxic_glands_for_erollisis_bane.lua | 53 + .../Nettleville/unfortunate_mistakes.lua | 55 + .../Nettleville/vida_needs_a_new_broom.lua | 53 + .../Nettleville/wind_blown_brell_serilis.lua | 58 + Lua/Quests/Oakmyst/a_citizens_request.lua | 68 + Lua/Quests/Oakmyst/an_important_meeting.lua | 52 + Lua/Quests/Oakmyst/an_ode_to_oakmyst.lua | 81 + Lua/Quests/Oakmyst/booze_in_the_drink.lua | 69 + .../Oakmyst/cause_for_investigation.lua | 61 + Lua/Quests/Oakmyst/clean_up.lua | 81 + Lua/Quests/Oakmyst/destroy_the_corruption.lua | 49 + Lua/Quests/Oakmyst/druids_legacy.lua | 32 + .../Oakmyst/far_seas_requisition_okf050.lua | 69 + .../Oakmyst/far_seas_requisition_okf063.lua | 69 + Lua/Quests/Oakmyst/feed_the_sapling.lua | 62 + Lua/Quests/Oakmyst/glowmyst_juice.lua | 50 + .../Oakmyst/judgement_of_the_dryads.lua | 51 + Lua/Quests/Oakmyst/natural_causes.lua | 81 + Lua/Quests/Oakmyst/proof_of_poachers.lua | 51 + Lua/Quests/Oakmyst/regrowth.lua | 93 ++ Lua/Quests/Oakmyst/reinforcements.lua | 40 + Lua/Quests/Oakmyst/runed_acorn.lua | 41 + Lua/Quests/Oakmyst/that_cheating_gnome.lua | 57 + Lua/Quests/Oakmyst/the_patchwork_tapestry.lua | 37 + .../OutpostOverlord/WelcometoNorrath.lua | 42 + .../disruption_for_distraction.lua | 130 ++ .../preventative_maintenance.lua | 108 ++ .../the_art_of_combat_evil.lua | 73 + .../OutpostOverlord/the_final_assault.lua | 111 ++ Lua/Quests/PeatBog/a_final_foe.lua | 50 + Lua/Quests/PeatBog/ambushed.lua | 93 ++ Lua/Quests/PeatBog/muck_slime.lua | 49 + Lua/Quests/PeatBog/mysterious_machine.lua | 61 + Lua/Quests/PeatBog/on_the_move.lua | 82 ++ Lua/Quests/PeatBog/reclaiming_the_bog.lua | 70 + Lua/Quests/PeatBog/reinforcements.lua | 39 + Lua/Quests/QueensColny/welcome_to_norrath.lua | 34 + Lua/Quests/QueensColony/LasydiasCall.lua | 44 + .../QueensColony/a_diplomatic_mission.lua | 136 ++ .../QueensColony/a_presence_of_evil.lua | 91 ++ .../QueensColony/a_sandy_bone_shard.lua | 53 + Lua/Quests/QueensColony/doggone_it.lua | 116 ++ .../QueensColony/ebiks_missing_parts.lua | 85 ++ .../QueensColony/ghosts_and_goblins.lua | 132 ++ .../QueensColony/into_the_tainted_forest.lua | 86 ++ .../joining_the_forward_ranks.lua | 79 + Lua/Quests/QueensColony/seaside_stew.lua | 107 ++ Lua/Quests/QueensColony/tainted.lua | 165 +++ Lua/Quests/QueensColony/the_art_of_combat.lua | 73 + .../QueensColony/the_source_of_evil.lua | 115 ++ Lua/Quests/Ruins/anger_fang.lua | 47 + Lua/Quests/Ruins/file_a_final_report.lua | 38 + .../Ruins/identifying_the_lonetusk_ally.lua | 83 ++ .../Ruins/knock_the_fight_out_of_em.lua | 97 ++ Lua/Quests/Ruins/pawns_in_the_game.lua | 49 + Lua/Quests/Ruins/pounding_the_enemy.lua | 80 + Lua/Quests/Ruins/prophet_and_loss.lua | 80 + Lua/Quests/Ruins/reporting_for_duty.lua | 46 + .../Ruins/requesting_further_orders.lua | 38 + Lua/Quests/Ruins/stepping_up_the_offense.lua | 38 + Lua/Quests/Ruins/vengeance_for_shoreside.lua | 116 ++ .../ScaleYard/a_puppy_for_your_potion.lua | 79 + .../ScaleYard/battle_on_the_home_front.lua | 111 ++ Lua/Quests/ScaleYard/go_visit_the_sprawl.lua | 50 + Lua/Quests/ScaleYard/he_said_he_said.lua | 73 + Lua/Quests/ScaleYard/kill_or_be_killed.lua | 53 + .../ScaleYard/paying_homage_to_the_past.lua | 106 ++ .../ScaleYard/report_to_enforcer_kurdek.lua | 39 + Lua/Quests/ScaleYard/sound_off.lua | 73 + Lua/Quests/ScaleYard/wasp_what_i_can_do.lua | 83 ++ .../what_happens_in_the_scale_yard_stays.lua | 53 + .../Sprawl/advanced_problem_solving.lua | 48 + Lua/Quests/Sprawl/bullying_the_bully.lua | 49 + Lua/Quests/Sprawl/dominating_the_dervish.lua | 80 + .../Sprawl/driving_back_the_dervish.lua | 48 + Lua/Quests/Sprawl/heading_to_the_ruins.lua | 38 + .../Sprawl/investigating_the_black_magi.lua | 50 + Lua/Quests/Sprawl/problem_solving.lua | 48 + Lua/Quests/Sprawl/show_em_whos_boss.lua | 109 ++ .../training_will_get_you_everywhere.lua | 49 + .../AngeliasCorrespondence.lua | 32 + Lua/Quests/StarcrestCommune/BogSludgeHunt.lua | 52 + .../StarcrestCommune/BuildingFawnsGarden.lua | 72 + Lua/Quests/StarcrestCommune/EruditeDebate.lua | 32 + .../StarcrestCommune/FarnsbysNewAxe.lua | 32 + .../StarcrestCommune/GatheringGlowmyst.lua | 55 + .../StarcrestCommune/KittyWantstoPlay.lua | 32 + .../StarcrestCommune/SoberingRemedy.lua | 92 ++ Lua/Quests/StarcrestCommune/confrontation.lua | 82 ++ .../StarcrestCommune/delivering_news.lua | 49 + .../StarcrestCommune/hidden_treasures.lua | 61 + .../information_merchants.lua | 62 + .../StarcrestCommune/meeting_with_cayan.lua | 64 + .../Stonestair/abolishing_curiosity.lua | 60 + Lua/Quests/Stonestair/erudite_adventures.lua | 45 + Lua/Quests/Stonestair/erudite_alchemy.lua | 76 + Lua/Quests/Stonestair/incantation_oration.lua | 57 + Lua/Quests/Stonestair/tweezing_kerra.lua | 80 + .../SunkenCity/a_flowing_conversation.lua | 48 + .../SunkenCity/back_to_the_inquisitor.lua | 38 + .../SunkenCity/cataloging_local_critters.lua | 91 ++ .../exacting_revenge_on_the_crabs.lua | 45 + Lua/Quests/SunkenCity/exotic_soups.lua | 52 + .../SunkenCity/finding_the_investigator.lua | 38 + Lua/Quests/SunkenCity/finding_the_shrine.lua | 49 + Lua/Quests/SunkenCity/gerbards_coins.lua | 49 + .../SunkenCity/jezranazs_hideous_locket.lua | 32 + Lua/Quests/SunkenCity/joining_the_gang.lua | 104 ++ Lua/Quests/SunkenCity/lukurs_antiques.lua | 83 ++ .../SunkenCity/searching_for_the_ruins.lua | 79 + .../SunkenCity/spirits_of_the_night.lua | 48 + .../taking_back_from_the_blackshields.lua | 49 + .../SunkenCity/time_to_stop_a_madman.lua | 49 + .../history_of_the_ayrdal_part_iii.lua | 93 ++ Lua/Quests/TheRuins/AJourneyOutsidetheCity | 32 + Lua/Quests/TheRuins/AngerFang.lua | 32 + Lua/Quests/TheRuins/FileaFinalReport.lua | 47 + .../TheRuins/IdentifyingtheLonetuskAlly.lua | 79 + Lua/Quests/TheRuins/IfIHadAHammer.lua | 32 + Lua/Quests/TheRuins/KnocktheFightOutofEm.lua | 104 ++ Lua/Quests/TheRuins/PawnsInTheGame.lua | 59 + Lua/Quests/TheRuins/PoundingTheEnemy.lua | 109 ++ Lua/Quests/TheRuins/ProphetAndLoss.lua | 97 ++ Lua/Quests/TheRuins/ReportingForDuty.lua | 46 + .../TheRuins/RequestingFurtherOrders.lua | 48 + .../TheRuins/SteppingUpTheOffensive.lua | 48 + Lua/Quests/TheRuins/VengeanceforShoreside.lua | 177 +++ .../TrainingWillGetYouEverywhere.lua | 58 + Lua/Quests/ThievesWay/TheStolenChest.lua | 47 + Lua/Quests/ThievesWay/chuggles_toolbox.lua | 32 + .../ThievesWay/the_darkblade_dagger.lua | 47 + Lua/Quests/ThievesWay/the_spirits_release.lua | 56 + .../ThunderingSteppes/AScryingShame.lua | 56 + .../ThunderingSteppes/BlumbleBlunder.lua | 54 + .../DesperatelySeekingAnts.lua | 32 + .../DesperatelySeekingButterflies.lua | 76 + .../DesperatelySeekingMoths.lua | 90 ++ .../GranvillesRestaurantAntonica.lua | 90 ++ .../GriffinEggForTheSteppesTowerStations.lua | 44 + .../ThunderingSteppes/HidesForBrianna.lua | 50 + .../HuntingForTrapperBorgus.lua | 152 ++ .../HuntingtheHuntresses.lua | 41 + .../MysteriousAssailants.lua | 45 + .../OutlandBrigadeReports.lua | 32 + .../ThunderingSteppes/StopTheElementals.lua | 44 + .../ThunderingSteppes/SuppliesForBrianna.lua | 49 + Lua/Quests/ThunderingSteppes/TheGnollCave.lua | 78 + .../TheWanderersThreeMeaningsOfLife.lua | 228 +++ ...tchyourstepinTheThunderingSteppesPartI.lua | 59 + ...chyourstepinTheThunderingSteppesPartII.lua | 58 + ...hyourstepinTheThunderingSteppesPartIII.lua | 82 ++ ...chyourstepinTheThunderingSteppesPartIV.lua | 40 + .../history_of_the_ayrdal_part_ii.lua | 93 ++ .../recycling_the_old-fashioned_way.lua | 62 + .../TimorousDeep/a_reverse_supply_run.lua | 51 + .../TimorousDeep/bigger_fish_to_fry.lua | 58 + Lua/Quests/TimorousDeep/chrykori_relics.lua | 53 + Lua/Quests/TimorousDeep/curious_ore.lua | 53 + Lua/Quests/TimorousDeep/decoder_glyph.lua | 54 + .../TimorousDeep/delivery_to_a_veteran.lua | 40 + .../disrupting_haoaeran_rituals.lua | 53 + .../disrupting_haoaeran_studies.lua | 73 + .../dont_get_it_in_aroziks_eyes.lua | 40 + .../TimorousDeep/dont_get_it_in_your_eyes.lua | 55 + .../fish_of_the_chrykori_island.lua | 57 + .../further_assistance_to_chrykori_island.lua | 41 + Lua/Quests/TimorousDeep/haoaeran_orders.lua | 50 + Lua/Quests/TimorousDeep/haoaeran_poisons.lua | 50 + .../hopefully_the_meat_isnt_timeworn.lua | 50 + .../it_cant_all_be_interesting_work.lua | 56 + .../TimorousDeep/killing_the_advance.lua | 51 + Lua/Quests/TimorousDeep/kuvis_vengeance.lua | 57 + .../pluck_them_of_their_pride.lua | 51 + .../TimorousDeep/poaching_the_poachers.lua | 55 + Lua/Quests/TimorousDeep/prison_break.lua | 54 + .../TimorousDeep/report_to_the_primary.lua | 45 + Lua/Quests/TimorousDeep/sandy_eggs.lua | 56 + Lua/Quests/TimorousDeep/scout_scouting.lua | 55 + .../TimorousDeep/stealing_their_steel.lua | 54 + .../TimorousDeep/stuffed_gorger_claws.lua | 50 + .../the_ends_justify_the_means.lua | 55 + .../TimorousDeep/the_filament_strangler.lua | 53 + Lua/Quests/TimorousDeep/war.lua | 40 + Lua/Quests/TimorousDeep/weapon_break.lua | 58 + Lua/Quests/WailingCaves/CombustibleGnome.lua | 56 + Lua/Quests/WailingCaves/GroaningBracers.lua | 45 + Lua/Quests/WillowWood/a_joined_heritage.lua | 57 + Lua/Quests/WillowWood/a_split_heritage.lua | 130 ++ Lua/Quests/WillowWood/a_task_for_daelyn.lua | 38 + Lua/Quests/WillowWood/a_task_for_davyn.lua | 87 ++ Lua/Quests/WillowWood/a_tribute_to_ulinir.lua | 38 + Lua/Quests/WillowWood/offering_help.lua | 49 + Lua/Quests/WillowWood/snake_slaying.lua | 50 + Lua/Quests/WillowWood/tribute_flowers.lua | 69 + Lua/Quests/WillowWood/tribute_leaves.lua | 64 + Lua/Quests/WillowWood/wisdom_in_the_wild.lua | 106 ++ Lua/Quests/Zek/reliving_the_past.lua | 95 ++ Lua/SpawnScripts/Antonica/AGriffonTamer.lua | 128 ++ Lua/SpawnScripts/Antonica/AroofWolfchaser.lua | 78 + Lua/SpawnScripts/Antonica/BlartonBlumble.lua | 166 +++ Lua/SpawnScripts/Antonica/CaptainBeltho.lua | 60 + Lua/SpawnScripts/Antonica/CaptainEitoa.lua | 113 ++ Lua/SpawnScripts/Antonica/CorporalBatton.lua | 36 + Lua/SpawnScripts/Antonica/CorporalPeckett.lua | 27 + Lua/SpawnScripts/Antonica/CruNaseto.lua | 24 + Lua/SpawnScripts/Antonica/CurysKasin.lua | 24 + Lua/SpawnScripts/Antonica/Dancer.lua | 612 ++++++++ .../Antonica/DarmenSproutmore.lua | 39 + Lua/SpawnScripts/Antonica/Duffy.lua | 36 + Lua/SpawnScripts/Antonica/FarmerHelver.lua | 24 + Lua/SpawnScripts/Antonica/FarmerWalcott.lua | 201 +++ Lua/SpawnScripts/Antonica/Flores.lua | 39 + Lua/SpawnScripts/Antonica/GhilVentur.lua | 26 + Lua/SpawnScripts/Antonica/GolMTun.lua | 39 + Lua/SpawnScripts/Antonica/HaddekVimki.lua | 101 ++ .../Antonica/HarbormasterLarra.lua | 22 + .../Antonica/HollyWindstalker.lua | 31 + .../Antonica/HucklethinGorsefoot.lua | 35 + Lua/SpawnScripts/Antonica/IgnarSteadirt.lua | 68 + Lua/SpawnScripts/Antonica/Jenkins.lua | 24 + Lua/SpawnScripts/Antonica/KinamerGalemaul.lua | 40 + .../Antonica/Knight-LieutenantAlesso.lua | 110 ++ .../Antonica/KnightCaptainAntillin.lua | 37 + Lua/SpawnScripts/Antonica/LandwynVelamir.lua | 79 + Lua/SpawnScripts/Antonica/MatsyRollingpin.lua | 169 +++ Lua/SpawnScripts/Antonica/Novak.lua | 46 + Lua/SpawnScripts/Antonica/Quallium.lua | 80 + .../Antonica/SelindaWhispersong.lua | 24 + Lua/SpawnScripts/Antonica/SoldierHomrie.lua | 35 + Lua/SpawnScripts/Antonica/SoldierPellenos.lua | 33 + .../Antonica/TaskmasterLynette.lua | 143 ++ Lua/SpawnScripts/Antonica/TylliaNavar.lua | 24 + Lua/SpawnScripts/Antonica/Vishra.lua | 28 + .../aGigglegibberGoblinGamblinGameVendor.lua | 55 + .../Baubbleshire/AlganTinmizer.lua | 22 + .../Baubbleshire/ArbuthnotJumroller.lua | 25 + .../Baubbleshire/BizrinnClamorclang.lua | 23 + .../Baubbleshire/BoloBrassharp.lua | 135 ++ .../Baubbleshire/ByrtleBobblepeg.lua | 32 + .../Baubbleshire/DeputyCliffordson.lua | 29 + .../Baubbleshire/DeputySplitshin.lua | 34 + Lua/SpawnScripts/Baubbleshire/DigginDiggs.lua | 68 + .../Baubbleshire/DondlFuzzlecutter.lua | 23 + Lua/SpawnScripts/Baubbleshire/Drizzcopper.lua | 23 + Lua/SpawnScripts/Baubbleshire/DrundoParn.lua | 209 +++ .../Baubbleshire/FillzerFuzzle.lua | 113 ++ Lua/SpawnScripts/Baubbleshire/Fullgrin.lua | 29 + .../Baubbleshire/GanlaDindlenod.lua | 22 + .../Baubbleshire/GeologistQuardifle.lua | 23 + .../Baubbleshire/InnkeeperMillbanks.lua | 24 + Lua/SpawnScripts/Baubbleshire/JaylaMidhop.lua | 91 ++ Lua/SpawnScripts/Baubbleshire/JumJum.lua | 47 + .../Baubbleshire/MaelaMeadows.lua | 197 +++ Lua/SpawnScripts/Baubbleshire/ManglerXII.lua | 69 + Lua/SpawnScripts/Baubbleshire/ManglerXIII.lua | 69 + .../Baubbleshire/MarshalSurefoot.lua | 68 + .../Baubbleshire/MirfGuinders.lua | 24 + Lua/SpawnScripts/Baubbleshire/Misty.lua | 39 + Lua/SpawnScripts/Baubbleshire/NeezerGrund.lua | 627 ++++++++ Lua/SpawnScripts/Baubbleshire/NylaDiggs.lua | 25 + Lua/SpawnScripts/Baubbleshire/Oatheaver.lua | 41 + .../Baubbleshire/PeonaToughins.lua | 36 + .../Baubbleshire/PirnookValewine.lua | 99 ++ .../Baubbleshire/RalaEurocarry.lua | 45 + .../Baubbleshire/RebikSprocketrock.lua | 23 + Lua/SpawnScripts/Baubbleshire/RemoZigg.lua | 116 ++ .../Baubbleshire/RondoTheBellyRoundstew.lua | 393 +++++ Lua/SpawnScripts/Baubbleshire/SageXoort.lua | 90 ++ .../Baubbleshire/SmithyFindlebop.lua | 32 + .../Baubbleshire/TawliWhiskwind.lua | 39 + .../Baubbleshire/TinkererSpindlecog.lua | 33 + Lua/SpawnScripts/Baubbleshire/Wazzleburn.lua | 32 + .../Baubbleshire/YolaSindlefop.lua | 23 + .../Baubbleshire/ZipiffClamorclang.lua | 23 + .../Baubbleshire/aMistyThicketShadebloom.lua | 20 + Lua/SpawnScripts/Baubbleshire/aduck1.lua | 35 + Lua/SpawnScripts/Baubbleshire/aduck2.lua | 45 + Lua/SpawnScripts/Baubbleshire/beehive.lua | 41 + Lua/SpawnScripts/Baubbleshire/scrapmetal.lua | 20 + .../BeggarsCourt/AdjunctCaptainRommuls.lua | 67 + .../BeggarsCourt/BankerVoranius.lua | 24 + .../BeggarsCourt/Beggars_Court_Wanderers.lua | 166 +++ .../BeggarsCourt/DelcairnSebastian.lua | 287 ++++ Lua/SpawnScripts/BeggarsCourt/Kith.lua | 29 + .../BeggarsCourt/LieutenantCervaen.lua | 200 +++ .../BeggarsCourt/MarcusLevidius.lua | 30 + Lua/SpawnScripts/BeggarsCourt/Ro.lua | 276 ++++ .../BeggarsCourt/RommulsShipment.lua | 61 + .../BeggarsCourt/ThaenSevellos.lua | 29 + .../BeggarsCourt/ThavianDestrus.lua | 177 +++ .../BeggarsCourt/aBrotherhoodcache.lua | 22 + .../BeggarsCourt/aBrotherhoodenforcer.lua | 66 + .../BeggarsCourt/aBrotherhoodenforcer1.lua | 23 + .../BeggarsCourt/aBrotherhoodenforcer2.lua | 29 + .../BeggarsCourt/aBrotherhoodenforcer3.lua | 25 + .../BeggarsCourt/aRommulsloyalist.lua | 75 + .../BeggarsCourt/aRommulsloyalistNoTalk.lua | 34 + Lua/SpawnScripts/BeggarsCourt/a_rat_a.lua | 281 ++++ .../BeggarsCourt/muffledvoices.lua | 130 ++ Lua/SpawnScripts/BeggarsCourt/mugtopoison.lua | 29 + .../BeggarsCourt/mugtopoison2.lua | 29 + Lua/SpawnScripts/Blumbles/GrandpaBlumble.lua | 82 ++ Lua/SpawnScripts/Butcherblock/AlmarShiiz.lua | 22 + .../Butcherblock/ArgroDurthor.lua | 290 ++++ .../Butcherblock/AssistantDeldry.lua | 46 + .../Butcherblock/BiminiBowchaser.lua | 65 + .../Butcherblock/BrultenHiltstill.lua | 291 ++++ .../Butcherblock/CaptainStonnacky.lua | 139 ++ .../Butcherblock/DockmasterWaulon.lua | 261 ++++ .../Butcherblock/DockworkerAlesford.lua | 33 + .../Butcherblock/DockworkerBrawley.lua | 31 + .../Butcherblock/DockworkerKelson.lua | 41 + .../Butcherblock/DockworkerOgilby.lua | 27 + .../Butcherblock/DockworkerSeeley.lua | 35 + .../Butcherblock/GeldraniAZhiTel.lua | 172 +++ .../Butcherblock/GherranaCobbleblork.lua | 107 ++ .../Butcherblock/GrissBrumbaugh.lua | 142 ++ .../Butcherblock/GuardBanning.lua | 34 + .../Butcherblock/GuardDaarwyn.lua | 79 + Lua/SpawnScripts/Butcherblock/GuardGasden.lua | 45 + Lua/SpawnScripts/Butcherblock/GuardTellik.lua | 69 + .../Butcherblock/HessekThornton.lua | 37 + .../Butcherblock/IrontoeForeman.lua | 55 + .../Butcherblock/IrontoeForemanOne.lua | 46 + .../Butcherblock/IrontoeForewoman.lua | 50 + .../Butcherblock/MizzenStaysail.lua | 68 + Lua/SpawnScripts/Butcherblock/NinoinDsyl.lua | 198 +++ .../Butcherblock/PhilosopherRhimes.lua | 222 +++ Lua/SpawnScripts/Butcherblock/Raghunatha.lua | 197 +++ .../Butcherblock/ResearcherEruwun.lua | 95 ++ .../Butcherblock/SchmittyMcEricson.lua | 160 ++ .../Butcherblock/TallyTopgallant.lua | 65 + .../Butcherblock/TalvraeTZyth.lua | 235 +++ .../Butcherblock/ThayvlUlthonis.lua | 103 ++ .../Butcherblock/TrapperCoalbear.lua | 82 ++ Lua/SpawnScripts/Butcherblock/afaetailor.lua | 21 + .../Butcherblock/agriffintamer.lua | 52 + .../Butcherblock/agriffontamer.lua | 152 ++ .../Butcherblock/apatchofpuresoil.lua | 34 + .../Butcherblock/qsttalvraesbowl.lua | 42 + .../Butcherblock/questhighpebbletome.lua | 30 + .../Castleview/AadalianFarenair.lua | 19 + .../Castleview/ApprenticeBoggi.lua | 23 + .../Castleview/ArmsdealerFroptub.lua | 19 + Lua/SpawnScripts/Castleview/Bhalastia.lua | 21 + Lua/SpawnScripts/Castleview/Bleemeb.lua | 21 + Lua/SpawnScripts/Castleview/Bubbler.lua | 21 + Lua/SpawnScripts/Castleview/Bulurg.lua | 21 + Lua/SpawnScripts/Castleview/BupipaGuryup.lua | 27 + .../Castleview/CarpenterGoroop.lua | 24 + Lua/SpawnScripts/Castleview/Cilindari.lua | 31 + Lua/SpawnScripts/Castleview/Cinaldar.lua | 29 + .../Castleview/CorruptedGreenWisp.lua | 41 + Lua/SpawnScripts/Castleview/Dalonalis.lua | 23 + .../Castleview/DaylenaTelanthis.lua | 44 + .../Castleview/DolthyryrHelyanwe.lua | 24 + .../Castleview/EireneithAlannia.lua | 22 + .../Castleview/EntertainerFaeadaen.lua | 37 + Lua/SpawnScripts/Castleview/Fevalin.lua | 21 + Lua/SpawnScripts/Castleview/Fibrone.lua | 29 + .../Castleview/FoorogGallantblade.lua | 26 + .../Castleview/GilcirithElensar.lua | 23 + .../Castleview/GlumpMarrblade.lua | 41 + .../Castleview/GraacJustheart.lua | 25 + Lua/SpawnScripts/Castleview/GreenWisp.lua | 20 + .../Castleview/GrommlukOognee.lua | 12 + .../Castleview/InnkeeperValean.lua | 36 + .../Castleview/KethelinShadowcross.lua | 42 + .../Castleview/KnightCaptainGerathalas.lua | 22 + Lua/SpawnScripts/Castleview/Kruuprum.lua | 28 + .../Castleview/ListalaniaVainederian.lua | 24 + Lua/SpawnScripts/Castleview/PaygeMenedor.lua | 21 + Lua/SpawnScripts/Castleview/RrakBoldfist.lua | 23 + Lua/SpawnScripts/Castleview/ShaeAhla.lua | 114 ++ Lua/SpawnScripts/Castleview/Sinanyala.lua | 29 + .../Castleview/SirAntylusTeraeth.lua | 133 ++ .../Castleview/TaneranthalisNedaiveren.lua | 26 + Lua/SpawnScripts/Castleview/Valinar.lua | 21 + .../Castleview/VindainGreenfaith.lua | 486 ++++++ .../Castleview/WaitressBrooak.lua | 23 + .../Castleview/YanariCyellann.lua | 54 + .../adevioussunshimmerspritespirit.lua | 87 ++ .../Castleview/barrelwithenrichedsoil.lua | 26 + Lua/SpawnScripts/Castleview/planter_1.lua | 38 + Lua/SpawnScripts/Castleview/planter_2.lua | 38 + Lua/SpawnScripts/Castleview/planter_3.lua | 38 + Lua/SpawnScripts/Castleview/planter_4.lua | 38 + Lua/SpawnScripts/Castleview/planter_5.lua | 68 + Lua/SpawnScripts/Castleview/planter_6.lua | 38 + Lua/SpawnScripts/Castleview/planter_7.lua | 38 + Lua/SpawnScripts/Castleview/planter_8.lua | 38 + Lua/SpawnScripts/Caves/ConsulBree.lua | 457 ++++++ Lua/SpawnScripts/Caves/EmmaTorque.lua | 223 +++ Lua/SpawnScripts/Caves/FulkoirHaggleton.lua | 21 + Lua/SpawnScripts/Caves/GuardBelaire.lua | 21 + .../Caves/HighShamanZenDurath.lua | 24 + Lua/SpawnScripts/Caves/KahlaUlno.lua | 102 ++ Lua/SpawnScripts/Caves/LieutenantDelsun.lua | 111 ++ Lua/SpawnScripts/Caves/Slaverjaw.lua | 20 + Lua/SpawnScripts/Caves/aDustpawarmorer.lua | 13 + Lua/SpawnScripts/Caves/aMudpawguard.lua | 23 + Lua/SpawnScripts/Caves/aMudpawlookout.lua | 30 + Lua/SpawnScripts/Caves/aRockpawguard.lua | 13 + Lua/SpawnScripts/Caves/aRockpawscout.lua | 18 + Lua/SpawnScripts/Caves/aRockpawstriker.lua | 13 + Lua/SpawnScripts/Caves/adustpawguard.lua | 33 + Lua/SpawnScripts/Caves/agnollishbook.lua | 26 + .../Caves/analabasterbehemoth.lua | 35 + .../Caves/analabastergolem(388539).lua | 26 + Lua/SpawnScripts/Caves/analabastergolem.lua | 38 + Lua/SpawnScripts/Caves/ariverbehemoth.lua | 22 + .../Caves/arockpawstonemaster.lua | 22 + Lua/SpawnScripts/Caves/awhitespider.lua | 24 + Lua/SpawnScripts/Caves/digging_machine.lua | 34 + Lua/SpawnScripts/Caves/digging_machine_1.lua | 51 + Lua/SpawnScripts/Caves/digging_machine_2.lua | 51 + Lua/SpawnScripts/Caves/incantationdust.lua | 20 + Lua/SpawnScripts/Caves/powderedminerals.lua | 20 + .../Caves/qey_blacksmith_oven001.lua | 36 + .../Caves/qst_shaman_spawner_skull.lua | 41 + .../Caves/riverbehemothremains.lua | 29 + .../Caves/spare_machine_parts.lua | 36 + Lua/SpawnScripts/Commonlands/AmuliusRamio.lua | 52 + Lua/SpawnScripts/Commonlands/Arconicus.lua | 33 + Lua/SpawnScripts/Commonlands/CaptainIsta.lua | 33 + Lua/SpawnScripts/Commonlands/GerunPontian.lua | 103 ++ Lua/SpawnScripts/Commonlands/Graverobber.lua | 20 + Lua/SpawnScripts/Commonlands/MadamVi.lua | 511 +++++++ Lua/SpawnScripts/Commonlands/OgofRunner.lua | 44 + Lua/SpawnScripts/Commonlands/VtalNarin.lua | 20 + .../Commonlands/aBloodskullpriest.lua | 20 + .../Commonlands/aBloodskullwarrior.lua | 20 + .../Commonlands/aFesteringCadaver.lua | 22 + .../Commonlands/aGateCallerscion.lua | 22 + .../Commonlands/abrittleskeleton.lua | 20 + .../Commonlands/abullrhinoceros.lua | 20 + .../Commonlands/aburlyarmadillo.lua | 20 + .../Commonlands/acarrionhound.lua | 20 + .../Commonlands/afallenapostle.lua | 20 + .../Commonlands/afallenblackguard.lua | 20 + .../Commonlands/afallencaptain.lua | 20 + .../Commonlands/afallencrusader.lua | 20 + .../Commonlands/afallendefender.lua | 21 + .../Commonlands/afallendiplomat.lua | 22 + .../Commonlands/afallendisciple.lua | 20 + .../Commonlands/afallenguardian.lua | 22 + Lua/SpawnScripts/Commonlands/afallenorc.lua | 22 + .../Commonlands/afallenorclieutenant.lua | 22 + Lua/SpawnScripts/Commonlands/afarmer.lua | 22 + .../Commonlands/afiercecarrionhound.lua | 22 + .../Commonlands/afreshwatercrab.lua | 20 + Lua/SpawnScripts/Commonlands/aghostlyorc.lua | 26 + .../Commonlands/aghostlyorcmessenger.lua | 22 + .../Commonlands/agiantgrovewisp.lua | 22 + Lua/SpawnScripts/Commonlands/agiantspider.lua | 20 + .../Commonlands/agiantvulrich.lua | 20 + .../Commonlands/agriffintamer.lua | 207 +++ .../Commonlands/agriffontamer.lua | 81 + Lua/SpawnScripts/Commonlands/agrovewisp.lua | 22 + Lua/SpawnScripts/Commonlands/agruntofRee.lua | 22 + .../Commonlands/ahopelessmercenary.lua | 22 + .../Commonlands/ahulkingfirebeetle.lua | 20 + Lua/SpawnScripts/Commonlands/ahuntsman.lua | 22 + Lua/SpawnScripts/Commonlands/akerranrogue.lua | 22 + .../Commonlands/akerranvagrant.lua | 22 + Lua/SpawnScripts/Commonlands/alostsoul.lua | 20 + .../Commonlands/amarrowsapper.lua | 22 + .../Commonlands/amassiveemeraldbeetle.lua | 20 + .../Commonlands/amereguardian.lua | 22 + .../Commonlands/amoltingscorpion.lua | 20 + .../Commonlands/amonitorbehemoth.lua | 20 + .../Commonlands/amonitorlizard.lua | 20 + .../Commonlands/anearthenrumbler.lua | 20 + .../Commonlands/anearthentumbler.lua | 20 + Lua/SpawnScripts/Commonlands/anelephant.lua | 20 + .../Commonlands/anelephantcalf.lua | 20 + Lua/SpawnScripts/Commonlands/anorcrunner.lua | 20 + Lua/SpawnScripts/Commonlands/ascourgerat.lua | 20 + Lua/SpawnScripts/Commonlands/ascrubrat.lua | 20 + .../Commonlands/asmallemeraldbeetle.lua | 20 + .../Commonlands/aspeckledrattler.lua | 20 + .../Commonlands/aspectraldefender.lua | 27 + .../Commonlands/ayoungvulrich.lua | 20 + Lua/SpawnScripts/Commonlands/darkseepage.lua | 20 + .../CrustaceanCave/Bonesnapper.lua | 56 + .../DarkBargainers/SasitSoroth.lua | 281 ++++ Lua/SpawnScripts/Darklight/Aunthrae.lua | 65 + .../Darklight/CalnozzJMelvirr.lua | 727 +++++++++ Lua/SpawnScripts/Darklight/DalvosDNar.lua | 21 + Lua/SpawnScripts/Darklight/DanyaHalfmoon.lua | 82 ++ .../Darklight/DirzdiaTZauvirr.lua | 1303 +++++++++++++++++ Lua/SpawnScripts/Darklight/DrizasNRyt.lua | 14 + .../Darklight/FileylAlyylharil.lua | 287 ++++ .../Darklight/GaussnitraVKilana.lua | 402 +++++ .../Darklight/GeldaxXalylharil.lua | 727 +++++++++ .../Darklight/GhaunatarTrearn.lua | 50 + Lua/SpawnScripts/Darklight/GinryneXTreval.lua | 22 + .../Darklight/GinwyssDArkenett.lua | 300 ++++ Lua/SpawnScripts/Darklight/GuardDonidas.lua | 36 + Lua/SpawnScripts/Darklight/GuardTiboen.lua | 36 + Lua/SpawnScripts/Darklight/HarnenTaptha.lua | 66 + Lua/SpawnScripts/Darklight/IlmtarDViervs.lua | 394 +++++ Lua/SpawnScripts/Darklight/IthariKXyrae.lua | 40 + Lua/SpawnScripts/Darklight/JhanaDoZyth.lua | 141 ++ .../Darklight/LaexyraYBarriath.lua | 413 ++++++ Lua/SpawnScripts/Darklight/Maelixia.lua | 22 + Lua/SpawnScripts/Darklight/MalkaenWeed.lua | 18 + Lua/SpawnScripts/Darklight/MalylNVazin.lua | 294 ++++ Lua/SpawnScripts/Darklight/MarlaKStane.lua | 28 + Lua/SpawnScripts/Darklight/Nemain.lua | 59 + Lua/SpawnScripts/Darklight/OpalDarkbriar.lua | 60 + .../Darklight/PellandraDXatyl.lua | 285 ++++ Lua/SpawnScripts/Darklight/ReverendValac.lua | 28 + .../Darklight/Sableveinrubble.lua | 18 + .../Darklight/Sableveinrubblenode.lua | 38 + Lua/SpawnScripts/Darklight/SirJaronVar.lua | 28 + Lua/SpawnScripts/Darklight/Soltrinscorpse.lua | 35 + Lua/SpawnScripts/Darklight/SselnylDoZyth.lua | 156 ++ .../Darklight/TrainerChalciceZZylZarin.lua | 155 ++ .../Darklight/TrainerDrisaceDoArkenarn.lua | 176 +++ .../Darklight/TrainerDurvenKXyth.lua | 216 +++ .../Darklight/TrainerKelvyllJXarae.lua | 197 +++ .../Darklight/TrainerLaebrynDTekenar.lua | 331 +++++ .../Darklight/TrainerMourndrilKTekenzin.lua | 221 +++ .../Darklight/TrainerNhilzyneBMyar.lua | 248 ++++ .../Darklight/TrainerYasnaVVath.lua | 591 ++++++++ .../Darklight/TrainerZaktarDZheVirae.lua | 122 ++ .../Darklight/UdiyitasXKilrae.lua | 92 ++ Lua/SpawnScripts/Darklight/VerexNZa.lua | 109 ++ Lua/SpawnScripts/Darklight/VornlinBVytyl.lua | 839 +++++++++++ .../Darklight/aBriarstoneslayer.lua | 28 + Lua/SpawnScripts/Darklight/aCaptiveCub.lua | 26 + .../Darklight/aCommonerPanicked_(1).lua | 38 + .../Darklight/aCommonerPanicked_(2).lua | 44 + .../Darklight/aCommonerPanicked_(3).lua | 36 + .../Darklight/aCommonerPanicked_(4).lua | 39 + .../Darklight/aCommonerPanicked_(5).lua | 43 + .../Darklight/aCommonerPanicked_(6).lua | 42 + .../Darklight/aCommonerPanicked_(7).lua | 43 + .../Darklight/aCommonerPanicked_(8).lua | 42 + .../Darklight/aConcordiumPupilAdept.lua | 119 ++ Lua/SpawnScripts/Darklight/aMiner_(1).lua | 28 + Lua/SpawnScripts/Darklight/aMiner_(2).lua | 36 + Lua/SpawnScripts/Darklight/aNeriandrake.lua | 20 + .../Darklight/aSableveinDestroyer.lua | 25 + .../Darklight/aSableveincrumbler_attack.lua | 33 + .../Darklight/aSableveindigger_attack.lua | 27 + .../Darklight/aSableveinpulverizer.lua | 64 + .../Darklight/aTRethirthinblood.lua | 23 + Lua/SpawnScripts/Darklight/ababysnake.lua | 27 + .../Darklight/acommoner_female.lua | 44 + Lua/SpawnScripts/Darklight/acommoner_male.lua | 40 + .../Darklight/acuriouscitizen.lua | 27 + .../Darklight/adiscardedweapon.lua | 33 + .../Darklight/adocileslitherer.lua | 89 ++ .../Darklight/afracturedlyricist.lua | 19 + .../Darklight/aghoulishNerian.lua | 23 + Lua/SpawnScripts/Darklight/aminer.lua | 73 + Lua/SpawnScripts/Darklight/aminer_female.lua | 35 + Lua/SpawnScripts/Darklight/aminer_male.lua | 74 + .../Darklight/amolderingsoldier.lua | 80 + .../Darklight/anArcaneScienceapprentice.lua | 99 ++ ...tamed_spirit_circle_clockwise_small_01.lua | 35 + ...tamed_spirit_circle_clockwise_small_02.lua | 35 + ...pirit_circle_counterclockwise_small_01.lua | 35 + ...pirit_circle_counterclockwise_small_02.lua | 36 + .../Darklight/anagitatedslitherer.lua | 69 + .../Darklight/anuntamedspirit.lua | 28 + .../Darklight/anuntamedspirit_female.lua | 20 + .../Darklight/anuntamedspirit_male.lua | 28 + Lua/SpawnScripts/Darklight/apurespirit.lua | 40 + Lua/SpawnScripts/Darklight/ascarwurm.lua | 23 + Lua/SpawnScripts/Darklight/astrangeplant.lua | 33 + .../Darklight/astunsporemushroom.lua | 34 + Lua/SpawnScripts/Darklight/awellspringcub.lua | 81 + Lua/SpawnScripts/Darklight/discardedwood.lua | 24 + .../Darklight/invisiblecuberiftparticle.lua | 24 + .../Darklight/qst_wanted_poster.lua | 23 + .../remainsthexiandragoongeneral.lua | 29 + Lua/SpawnScripts/Darklight/searingtrout.lua | 31 + .../Darklight/soldierstrinket.lua | 28 + .../Darklight/wellspringremainstoss.lua | 42 + .../Darklight/widgetriftboulder.lua | 24 + .../Darklight/widgetriftpebble.lua | 42 + Lua/SpawnScripts/EastFreeport/EFGuards.lua | 118 ++ Lua/SpawnScripts/EastFreeport/Odyssneu.lua | 28 + Lua/SpawnScripts/ElddarGrove/Adrianna.lua | 33 + Lua/SpawnScripts/ElddarGrove/Aerinleaf.lua | 21 + .../ElddarGrove/ArthurWaterway.lua | 23 + .../ElddarGrove/BreenoMesspie.lua | 13 + Lua/SpawnScripts/ElddarGrove/Bryson.lua | 21 + Lua/SpawnScripts/ElddarGrove/DelmaMesspie.lua | 23 + Lua/SpawnScripts/ElddarGrove/Duvo.lua | 21 + .../ElddarGrove/ElendiaStarleaf.lua | 21 + .../ElddarGrove/ElgornBirchgrove.lua | 21 + .../ElddarGrove/FayeDawnsinger.lua | 23 + .../ElddarGrove/FlizzleCogplume.lua | 13 + .../ElddarGrove/GildasCedartree.lua | 45 + Lua/SpawnScripts/ElddarGrove/GilpJadefist.lua | 34 + .../ElddarGrove/GregorEarthstride.lua | 21 + .../ElddarGrove/GuardKaladenth.lua | 21 + Lua/SpawnScripts/ElddarGrove/GuardMorlo.lua | 25 + .../ElddarGrove/GuardStonefist.lua | 23 + Lua/SpawnScripts/ElddarGrove/GuardTolar.lua | 23 + Lua/SpawnScripts/ElddarGrove/GuardValmont.lua | 23 + .../ElddarGrove/InitiateLunaru.lua | 13 + Lua/SpawnScripts/ElddarGrove/InitiateTara.lua | 13 + Lua/SpawnScripts/ElddarGrove/Junala.lua | 23 + .../ElddarGrove/KaelarriIvyshae.lua | 27 + Lua/SpawnScripts/ElddarGrove/Kaemon.lua | 23 + .../ElddarGrove/KaylelleStarchaser.lua | 23 + Lua/SpawnScripts/ElddarGrove/Kethelrune.lua | 23 + .../ElddarGrove/KhaiLightfall.lua | 21 + .../ElddarGrove/Knight-CaptainPercius.lua | 13 + Lua/SpawnScripts/ElddarGrove/Lambent.lua | 13 + .../ElddarGrove/LieoonliooCroosinian.lua | 44 + .../ElddarGrove/LookoutVenylle.lua | 44 + .../ElddarGrove/MadrethalSummerspeak.lua | 29 + .../ElddarGrove/MasterArcherNightbow.lua | 29 + .../ElddarGrove/MasterRysianGladewalker.lua | 24 + Lua/SpawnScripts/ElddarGrove/Mina.lua | 23 + Lua/SpawnScripts/ElddarGrove/Mirthmire.lua | 13 + .../ElddarGrove/MusicianZwena.lua | 30 + Lua/SpawnScripts/ElddarGrove/NalonMesspie.lua | 13 + .../ElddarGrove/NaturalistTummyfill.lua | 13 + Lua/SpawnScripts/ElddarGrove/PallaJhal.lua | 23 + .../ElddarGrove/PathfinderOakheart.lua | 23 + .../ElddarGrove/PatrolmanEdward.lua | 21 + .../ElddarGrove/PatrolmanLy`stan.lua | 21 + .../ElddarGrove/PatrolwomanVarna.lua | 13 + .../ElddarGrove/PelleShinkicker.lua | 23 + .../ElddarGrove/PreservationistReynolds.lua | 13 + Lua/SpawnScripts/ElddarGrove/RaskHelstot.lua | 34 + .../ElddarGrove/SeniorInitiateDelvin.lua | 23 + .../ElddarGrove/ShakanNotebend.lua | 30 + .../ElddarGrove/ShepherdSell`ar.lua | 13 + .../ElddarGrove/SolomenStormwatch.lua | 23 + .../ElddarGrove/TairielOakshade.lua | 23 + Lua/SpawnScripts/ElddarGrove/TakaraMaiya.lua | 13 + Lua/SpawnScripts/ElddarGrove/Telandra.lua | 23 + .../ElddarGrove/ThomasBoatmend.lua | 23 + .../ElddarGrove/TowserFlizgibbert.lua | 30 + .../ElddarGrove/TransportTreeLift.lua | 22 + .../ElddarGrove/TrayloLeafsway.lua | 21 + Lua/SpawnScripts/ElddarGrove/Trillium.lua | 21 + .../ElddarGrove/VelisarrMorningdew.lua | 23 + .../ElddarGrove/WandererGreencoast.lua | 13 + .../ElddarGrove/WandererRaegenTruthshadow.lua | 21 + .../ElddarGrove/WarbleWildmane.lua | 48 + .../ElddarGrove/WesaelanBrookshadow.lua | 36 + Lua/SpawnScripts/ElddarGrove/slidingdoor.lua | 16 + .../EnchantedLands/AuginDrodo.lua | 57 + .../EnchantedLands/BiddyBobick.lua | 53 + .../EnchantedLands/CaptainScreewoggins.lua | 28 + .../EnchantedLands/GimbleFeatherfinger.lua | 20 + Lua/SpawnScripts/EnchantedLands/Grix.lua | 28 + .../EnchantedLands/GubboChaley.lua | 60 + .../EnchantedLands/HoppertBarbinsteel.lua | 28 + .../EnchantedLands/RoseliaGoldencrust.lua | 49 + .../EnchantedLands/SarmaSingebellows.lua | 67 + .../EnchantedLands/TheCuriousAugur.lua | 213 +++ .../EnchantedLands/TobelPatadash.lua | 55 + .../EnchantedLands/astablemaster.lua | 289 ++++ .../Everfrost/BrahnaganMacLahnan.lua | 232 +++ Lua/SpawnScripts/Everfrost/BurmGrunthor.lua | 151 ++ .../Everfrost/GinnieStonestoe.lua | 21 + Lua/SpawnScripts/Everfrost/JinVentur.lua | 21 + Lua/SpawnScripts/Everfrost/LiNingVentur.lua | 92 ++ Lua/SpawnScripts/Everfrost/MaiVentur.lua | 21 + Lua/SpawnScripts/Everfrost/MartaTerrilon.lua | 112 ++ Lua/SpawnScripts/Everfrost/NedSwellswaker.lua | 21 + .../Everfrost/NewlynIcebreaker.lua | 70 + .../Everfrost/ThyrStormhammer.lua | 152 ++ .../apioneerwithoutawagonquestcrate.lua | 25 + .../Everfrost/snowtearcabbage.lua | 12 + .../FallenGate/ABlightedWarmonger_A.lua | 55 + .../FallenGate/AMeatStripper_A.lua | 48 + .../FallenGate/ASuspendedWatcher_A.lua | 38 + .../FallenGate/ASuspendedWatcher_B.lua | 33 + .../FallenGate/aThexianDragoon_A.lua | 50 + .../FallenGate/aThexianDragoon_B1.lua | 37 + .../FallenGate/aThexianDragoon_B2.lua | 34 + .../FallenGate/aThexianDragoon_B3.lua | 33 + .../FallenGate/aThexianDragoon_C.lua | 34 + .../FallenGate/aThexianOverseer_A.lua | 44 + .../FallenGate/aThexianOverseer_B.lua | 36 + .../FallenGate/atormentedbattlemage_A.lua | 81 + .../FarJourneyFreeport/Anikra.lua | 52 + .../FarJourneyFreeport/CaptainVarlos.lua | 33 + .../FarJourneyFreeport/Geredo.lua | 20 + .../FarJourneyFreeport/Ingrid.lua | 20 + Lua/SpawnScripts/FarJourneyFreeport/Valik.lua | 28 + Lua/SpawnScripts/FarJourneyFreeport/Vim.lua | 43 + .../FarJourneyFreeport/Waulon.lua | 21 + .../FarJourneyFreeport/tutorialdrake.lua | 29 + Lua/SpawnScripts/Feerrott/Turtle.lua | 20 + Lua/SpawnScripts/Feerrott/astablemaster.lua | 290 ++++ .../FensNathsar/asokokartamer.lua | 841 +++++++++++ .../ForestRuins/ActingLieutenantGermain.lua | 213 +++ Lua/SpawnScripts/ForestRuins/Aedre.lua | 42 + Lua/SpawnScripts/ForestRuins/Dockins.lua | 13 + Lua/SpawnScripts/ForestRuins/ElvicGarrett.lua | 99 ++ .../ForestRuins/FindleGimblesled.lua | 25 + Lua/SpawnScripts/ForestRuins/IlaenLilac.lua | 87 ++ .../ForestRuins/OutlanderVaughn.lua | 34 + Lua/SpawnScripts/ForestRuins/PokoZing.lua | 247 ++++ Lua/SpawnScripts/ForestRuins/RemmyTumbub.lua | 139 ++ .../ForestRuins/SergeantatArmsUthros.lua | 68 + .../ForestRuins/SleebleGimblesled.lua | 23 + .../ForestRuins/ThenatrenLightarrow.lua | 15 + .../ForestRuins/ThervenSenshun.lua | 34 + Lua/SpawnScripts/ForestRuins/Winterburn.lua | 14 + .../ForestRuins/afieryforgottenguardian.lua | 11 + .../ForestRuins/quest_germain_scout_bush.lua | 26 + .../ForestRuins/quest_germain_scout_tree.lua | 26 + .../ForestRuins/ulinir_gravestone01.lua | 67 + .../ForestRuins/ulinir_tribute.lua | 20 + .../ForestRuins/ulinirgravestone01.lua | 67 + .../Freeport/BankerGaviusHerenus.lua | 42 + Lua/SpawnScripts/Freeport/Odyssneu.lua | 31 + .../Freeport/PrivateerTwitchwhisker.lua | 24 + Lua/SpawnScripts/Freeport/RennyParvat.lua | 35 + .../FrostfangSea/AgdaDonillson.lua | 32 + .../FrostfangSea/AliceSwamprunner.lua | 105 ++ .../AmbassadorBrynhildeMaersdottr.lua | 116 ++ .../FrostfangSea/ArrinClelland.lua | 289 ++++ .../FrostfangSea/AssistantWardenBjerne.lua | 29 + .../FrostfangSea/BadenMoonheart.lua | 69 + .../FrostfangSea/BarkerGordon.lua | 130 ++ .../FrostfangSea/BattlemasterGolben.lua | 37 + .../FrostfangSea/BattlepriestHerga.lua | 626 ++++++++ .../FrostfangSea/BelkaThunderheart.lua | 826 +++++++++++ .../FrostfangSea/BerguffFullbeard.lua | 19 + Lua/SpawnScripts/FrostfangSea/BertaIsholm.lua | 28 + .../FrostfangSea/BinnyShortwand.lua | 53 + .../FrostfangSea/BlibbaNugrud.lua | 123 ++ .../FrostfangSea/BlorpisaBogchild.lua | 543 +++++++ .../FrostfangSea/BlorpisaBogchild_(shelf).lua | 398 +++++ .../FrostfangSea/BorgardGoldenswill.lua | 25 + .../FrostfangSea/BoryaStonehide.lua | 69 + .../FrostfangSea/BroganMacLellan.lua | 198 +++ .../FrostfangSea/BronlaStonehide.lua | 61 + .../FrostfangSea/BrropGloryblade.lua | 61 + .../FrostfangSea/BulltheCrafty.lua | 80 + .../FrostfangSea/CatherineBowne.lua | 29 + .../FrostfangSea/CornaKilgour.lua | 19 + .../FrostfangSea/CorwinFrostbeard.lua | 29 + .../FrostfangSea/CraggedSpinesupplycrate.lua | 37 + Lua/SpawnScripts/FrostfangSea/Crushinator.lua | 22 + .../FrostfangSea/DagbartFalkren.lua | 35 + .../FrostfangSea/DandiMcCarren.lua | 114 ++ .../FrostfangSea/DeadWreganFirebeard.lua | 21 + .../FrostfangSea/DefenderDetmer.lua | 29 + .../FrostfangSea/DolurAxebeard.lua | 1076 ++++++++++++++ .../FrostfangSea/DrallinCaelthis.lua | 19 + .../FrostfangSea/DyrunnGoldgrip.lua | 30 + .../FrostfangSea/EidnarAartsson.lua | 53 + .../FrostfangSea/EnvoyTamiSwifthammer.lua | 27 + .../FrostfangSea/EvigistheAncient.lua | 23 + .../FrostfangSea/FilnnShatterhand.lua | 19 + .../FrostfangSea/FirebeardOrcFootprints.lua | 18 + .../FrostfangSea/FlibbitQuagmarr.lua | 551 +++++++ .../FrostfangSea/FlibbitQuagmarr_(halas).lua | 27 + .../FrostfangSea/FlibbitQuagmarr_(shelf).lua | 61 + .../FrostfangSea/GalindaGoodfaith.lua | 115 ++ .../FrostfangSea/GarrotNuesoon.lua | 69 + .../FrostfangSea/GerlaMeltwater.lua | 89 ++ .../FrostfangSea/GertaFrostbeard.lua | 26 + .../FrostfangSea/GilnaGlorysong.lua | 53 + .../FrostfangSea/GlinHammerhelm.lua | 23 + .../FrostfangSea/GlippitGreenmuck.lua | 61 + .../GrandmasterCheriGlodsdottr.lua | 19 + .../FrostfangSea/GrokkaHopson.lua | 20 + .../FrostfangSea/GruuFairbairn.lua | 25 + .../FrostfangSea/GurthaMcPherson.lua | 28 + Lua/SpawnScripts/FrostfangSea/GwenevynII.lua | 22 + Lua/SpawnScripts/FrostfangSea/Hagley.lua | 31 + .../FrostfangSea/HalikPathstalker.lua | 53 + .../FrostfangSea/HelfreckLundgren.lua | 19 + .../FrostfangSea/HillfredKinloch.lua | 347 +++++ .../FrostfangSea/JaisenTutwhittle.lua | 19 + .../FrostfangSea/JalfaEiskairn.lua | 19 + .../FrostfangSea/JardaSilverstaff.lua | 53 + Lua/SpawnScripts/FrostfangSea/KnutOrcbane.lua | 566 +++++++ .../FrostfangSea/LedvinAxethrower.lua | 61 + .../FrostfangSea/LibbitSwampchild.lua | 19 + Lua/SpawnScripts/FrostfangSea/Lionpost.lua | 39 + .../FrostfangSea/LondiarInygad.lua | 132 ++ .../FrostfangSea/MikhailEiskroft.lua | 23 + .../FrostfangSea/MistressThora.lua | 20 + .../FrostfangSea/MoragMcMarrin.lua | 33 + .../FrostfangSea/NarielAldaeme.lua | 19 + Lua/SpawnScripts/FrostfangSea/NohrFlamel.lua | 31 + .../FrostfangSea/NorfrydBrisbane.lua | 36 + .../FrostfangSea/OdhildGoblinblade.lua | 61 + .../FrostfangSea/OdonScourgeson.lua | 402 +++++ Lua/SpawnScripts/FrostfangSea/OlgaMacleod.lua | 102 ++ .../FrostfangSea/OlioSaphatho.lua | 53 + .../FrostfangSea/OrdinSleetfoot.lua | 60 + .../OrdinSleetfoot_(scouting1).lua | 53 + .../OrdinSleetfoot_(scouting2).lua | 61 + .../FrostfangSea/OrdinSleetfootsCorpse.lua | 20 + .../FrostfangSea/OreColdstein.lua | 65 + .../FrostfangSea/OricaDeadshot.lua | 37 + Lua/SpawnScripts/FrostfangSea/OrnIceheart.lua | 53 + .../FrostfangSea/PadraigMcDougal.lua | 22 + .../PeregrineHelgrethIceweaver.lua | 23 + .../FrostfangSea/PlurppBogthumb.lua | 35 + .../FrostfangSea/PretchonIronstein.lua | 84 ++ .../FrostfangSea/PriestAaronolisSwornlove.lua | 76 + .../FrostfangSea/RakanRockbreaker.lua | 141 ++ .../FrostfangSea/RibbitHopson.lua | 110 ++ .../FrostfangSea/RickaStonehide.lua | 23 + .../RyGorrExplosiveMiningBarrel.lua | 25 + .../FrostfangSea/RyGorrfirepittorch.lua | 37 + .../FrostfangSea/RyGorrweaponrack.lua | 28 + .../FrostfangSea/SanaStrongbellow.lua | 24 + .../FrostfangSea/ScionofDiscord.lua | 67 + .../FrostfangSea/ScionofDiscord_(victory).lua | 57 + .../FrostfangSea/Scourgesonarrow.lua | 31 + .../FrostfangSea/SigbrithMacInnes.lua | 54 + .../FrostfangSea/SisterAalarya.lua | 136 ++ .../FrostfangSea/SisterKateyDalwynn.lua | 26 + .../FrostfangSea/SisterLeelaPrendyn.lua | 27 + .../FrostfangSea/SisterThogMacGilly.lua | 28 + .../FrostfangSea/SkjolrandrHalculloch.lua | 27 + .../FrostfangSea/SplorpyQuagmarr_(camp).lua | 47 + .../FrostfangSea/SplorpyQuagmarr_(halas).lua | 27 + .../FrostfangSea/SplorpyQuagmarr_(lost).lua | 80 + .../FrostfangSea/SplorpyQuagmarr_(pet).lua | 39 + .../FrostfangSea/SplorpyQuagmarr_(shelf).lua | 27 + .../FrostfangSea/SuhubaVankedisi.lua | 61 + Lua/SpawnScripts/FrostfangSea/TadHopson.lua | 20 + .../FrostfangSea/TadIronstein.lua | 101 ++ .../FrostfangSea/TarynHighsea.lua | 36 + .../FrostfangSea/TergjerdGoreblade.lua | 69 + .../ThirinVeliumdelver_(caves).lua | 189 +++ .../ThirinVeliumdelver_(spine).lua | 224 +++ .../FrostfangSea/TimelessChronomage.lua | 19 + .../FrostfangSea/TorliBlackbow.lua | 158 ++ .../FrostfangSea/TornalHaymaker.lua | 69 + .../FrostfangSea/TorvilBeastamer.lua | 31 + .../FrostfangSea/TotemoftheIcecladManta.lua | 35 + .../FrostfangSea/TovaGilbride.lua | 53 + .../FrostfangSea/TrainerAleksSilverhelm.lua | 212 +++ .../FrostfangSea/TrainerCaelBlackstock.lua | 172 +++ .../FrostfangSea/TrainerGaniMaccusson.lua | 102 ++ .../FrostfangSea/TrainerHawkDunlop.lua | 122 ++ .../FrostfangSea/TrainerLevkaFoeblade.lua | 169 +++ .../TrainerLillgardThunderrider.lua | 22 + .../FrostfangSea/TrainerNaldurFursythe.lua | 128 ++ .../FrostfangSea/TrainerRagnhildStonefist.lua | 306 ++++ .../FrostfangSea/TrainerThorirWolfskinner.lua | 179 +++ Lua/SpawnScripts/FrostfangSea/TundraBeet.lua | 31 + .../FrostfangSea/UlfgjerdPrimloch.lua | 36 + .../FrostfangSea/ValdJerngard.lua | 31 + .../FrostfangSea/VerienSkysigh.lua | 359 +++++ .../FrostfangSea/VillgerdGregorson.lua | 22 + .../FrostfangSea/WardenBretta.lua | 217 +++ .../WidgetRedbladeSignalFireSwitch.lua | 45 + .../WidgetRedbladeSignalFireSwitch.luaa | 41 + .../FrostfangSea/WolcottChillborn.lua | 61 + .../FrostfangSea/WolfomBonetooth.lua | 20 + .../FrostfangSea/WreganFirebeard.lua | 120 ++ .../FrostfangSea/YashaRedblade.lua | 379 +++++ .../aBlizzardGrizzly_(572511).lua | 28 + .../FrostfangSea/aFarSeasdockhand.lua | 56 + .../FrostfangSea/aRyGorrambusher.lua | 24 + .../FrostfangSea/aRyGorrcenturion.lua | 37 + .../FrostfangSea/aRyGorrinvader.lua | 47 + .../FrostfangSea/aRyGorrinvader2.lua | 62 + .../FrostfangSea/aRyGorrinvader3.lua | 31 + .../FrostfangSea/aRyGorrnecromancer.lua | 26 + .../FrostfangSea/aRyGorrpatroller.lua | 14 + .../FrostfangSea/aRyGorrshocktrooper1.lua | 20 + .../FrostfangSea/aRyGorrshocktrooper2.lua | 20 + .../FrostfangSea/aRyGorrshocktrooper3.lua | 20 + .../FrostfangSea/aRyGorrshocktrooper4.lua | 21 + .../FrostfangSea/aRyGorrshocktrooper5.lua | 22 + .../FrostfangSea/aRyGorrtunneler.lua | 28 + .../FrostfangSea/aRyGorrwarshaman.lua | 26 + .../FrostfangSea/aRyGorrweapon.lua | 35 + .../FrostfangSea/a_necromancer_totem.lua | 25 + .../FrostfangSea/acrudepitoncannon.lua | 46 + .../FrostfangSea/acrustosesporetender.lua | 33 + .../FrostfangSea/adamesrocket.lua | 35 + .../FrostfangSea/adisreputableboatman.lua | 19 + .../aformidablesparringpartner.lua | 29 + .../afroglokcitizen_(swimming).lua | 23 + Lua/SpawnScripts/FrostfangSea/aguarddog.lua | 28 + .../FrostfangSea/ahalasianreedplant.lua | 26 + .../FrostfangSea/alazyRyGorrorc.lua | 32 + .../FrostfangSea/anIcemaneCub.lua | 66 + .../FrostfangSea/anaveragesparringpartner.lua | 42 + Lua/SpawnScripts/FrostfangSea/anicelily.lua | 36 + .../FrostfangSea/anicemanecub_(leashed).lua | 23 + .../FrostfangSea/anicemanepatriarch_(1).lua | 20 + ...anepatriarch_(1).luandom_pattern_small.lua | 20 + .../FrostfangSea/anicemanepatriarch_(2).lua | 24 + Lua/SpawnScripts/FrostfangSea/aniceshroom.lua | 27 + .../FrostfangSea/anicywhirlstorm.lua | 14 + .../FrostfangSea/aplankofwood.lua | 33 + .../aportaljumpedRyGorrraider.lua | 25 + .../FrostfangSea/araidingsporetender.lua | 27 + .../FrostfangSea/areanimatedRyGorr.lua | 26 + .../FrostfangSea/arebelliousrockroller.lua | 34 + Lua/SpawnScripts/FrostfangSea/arguing.lua | 36 + .../FrostfangSea/arisenRyGorr.lua | 21 + .../FrostfangSea/arisenRyGorr_(1).lua | 22 + .../FrostfangSea/arisenRyGorr_(2).lua | 20 + .../FrostfangSea/arisenRyGorr_(3).lua | 22 + .../FrostfangSea/arumblinggeode.lua | 22 + Lua/SpawnScripts/FrostfangSea/arustypiton.lua | 26 + .../FrostfangSea/ascragglyshrub.lua | 26 + .../FrostfangSea/aslaincoldain.lua | 26 + Lua/SpawnScripts/FrostfangSea/asnowpack.lua | 39 + Lua/SpawnScripts/FrostfangSea/aspiritward.lua | 15 + .../asprintingRyGorrgatecaller.lua | 37 + .../FrostfangSea/astrangeicecrystal.lua | 36 + .../FrostfangSea/asummonedcoldainspirit.lua | 37 + .../FrostfangSea/avelinoidseeker.lua | 23 + .../avigilantgauntletdefender_(archer).lua | 33 + .../FrostfangSea/aweaksparringpartner.lua | 44 + Lua/SpawnScripts/FrostfangSea/bar_fight.lua | 40 + Lua/SpawnScripts/FrostfangSea/beans.lua | 33 + .../FrostfangSea/callingthembackcube.lua | 41 + Lua/SpawnScripts/FrostfangSea/caverubbish.lua | 22 + .../FrostfangSea/ceriseveliumcrystalgeode.lua | 25 + .../FrostfangSea/coldain_ice_short_spear.lua | 14 + .../FrostfangSea/discarded_sack.lua | 48 + Lua/SpawnScripts/FrostfangSea/dock_fight1.lua | 34 + Lua/SpawnScripts/FrostfangSea/dock_fight2.lua | 33 + .../FrostfangSea/frostbiteregg.lua | 34 + .../FrostfangSea/frozen_pincer_chowder.lua | 34 + .../good_book_feeding_the_guurok.lua | 19 + .../FrostfangSea/hal_obj_cave_rock02.lua | 28 + .../FrostfangSea/halas_bar_patrons.lua | 36 + .../FrostfangSea/halas_proximity_cheer.lua | 33 + .../FrostfangSea/halas_three_barrels_snow.lua | 67 + Lua/SpawnScripts/FrostfangSea/ham.lua | 33 + .../FrostfangSea/imbuedRyGorrpickaxe.lua | 34 + .../FrostfangSea/luckywolfpawrecipe.lua | 33 + .../FrostfangSea/opentreasurechest.lua | 28 + .../FrostfangSea/orc_summon_portal.lua | 16 + .../FrostfangSea/orcnecromancerpet.lua | 9 + Lua/SpawnScripts/FrostfangSea/orcpickaxe.lua | 33 + Lua/SpawnScripts/FrostfangSea/pie.lua | 33 + .../FrostfangSea/pileofRyGorrbones.lua | 43 + .../FrostfangSea/qst_axebeard_totem.lua | 34 + .../FrostfangSea/qst_herga_x5_helm.lua | 33 + .../qst_redblade_x3_revamp_barricade.lua | 28 + ...qst_scourgeson_x2_orc_tent6_invis_cube.lua | 14 + .../qst_scourgeson_x2_rygorr_tent.lua | 58 + .../qst_scourgeson_x5_ceiling_crystals.lua | 36 + .../FrostfangSea/qst_veliumdelver_barrel.lua | 28 + .../qst_veliumdelver_x5_wall_expolsion.lua | 34 + .../FrostfangSea/respawngraveswregan.lua | 19 + .../FrostfangSea/rolling_rocks.lua | 24 + Lua/SpawnScripts/FrostfangSea/sackofcoal.lua | 32 + .../FrostfangSea/shardofglowingvelium.lua | 23 + .../FrostfangSea/sign_coldain_house03.lua | 22 + Lua/SpawnScripts/FrostfangSea/signalfire.lua | 20 + .../FrostfangSea/spider_puffs.lua | 27 + .../FrostfangSea/valorian_bloom.lua | 16 + Lua/SpawnScripts/FrostfangSea/veliumshard.lua | 33 + .../widget_kinloch_x3_orc_flame.lua | 36 + ...widget_qst_orcbane_x6_black_shard_cart.lua | 26 + .../widget_scourgeson_x2_orc_provisions.lua | 37 + .../widget_velium_barricade_01.lua | 22 + Lua/SpawnScripts/GMHall/GuideFreddums.lua | 22 + Lua/SpawnScripts/GMHall/TeleporterGMHall.lua | 25 + .../GMHall/TeleporterSecretPlace.lua | 25 + Lua/SpawnScripts/GMHall/Toad.lua | 44 + Lua/SpawnScripts/GMHall/TrainingDummy.lua | 34 + Lua/SpawnScripts/GMHall/Wizzy.lua | 38 + Lua/SpawnScripts/GMHall/abankvault.lua | 19 + .../Generic/ADarkbladeAssassin.lua | 32 + Lua/SpawnScripts/Generic/AMarshalMoppet.lua | 36 + Lua/SpawnScripts/Generic/AlexaLockets.lua | 62 + Lua/SpawnScripts/Generic/AnimalTrainers.lua | 53 + .../Generic/BrokentuskVoiceOvers.lua | 26 + Lua/SpawnScripts/Generic/CaptianOgof.lua | 24 + Lua/SpawnScripts/Generic/DialogModule.lua | 256 ++++ Lua/SpawnScripts/Generic/GearBot.lua | 129 ++ .../Generic/GenericAlchemistVoiceOvers.lua | 133 ++ .../Generic/GenericArmorsmithVoiceOvers.lua | 128 ++ .../Generic/GenericBakerVoiceOvers.lua | 127 ++ .../Generic/GenericBartenderVoiceOvers.lua | 125 ++ .../Generic/GenericCraftingTrainer.lua | 212 +++ Lua/SpawnScripts/Generic/GenericFayfolk.lua | 41 + .../Generic/GenericGuardVoiceOvers.lua | 314 ++++ .../Generic/GenericMerchantVoiceOvers.lua | 619 ++++++++ .../Generic/GenericScribeVoiceOvers.lua | 127 ++ .../Generic/GenericTradeskillTutor.lua | 637 ++++++++ .../Generic/GenericVoiceOvers.lua | 138 ++ .../Generic/GenericWeaponsmithVoiceOvers.lua | 135 ++ Lua/SpawnScripts/Generic/Geredo.lua | 21 + Lua/SpawnScripts/Generic/HelmsmanNyles.lua | 21 + Lua/SpawnScripts/Generic/Ingrid.lua | 21 + .../Generic/MovementCircleSmall.lua | 60 + Lua/SpawnScripts/Generic/OgofMystic1.lua | 44 + Lua/SpawnScripts/Generic/Pig.lua | 18 + Lua/SpawnScripts/Generic/PlayerHistory.lua | 19 + .../Generic/RuinsDefendersVoiceOvers.lua | 28 + Lua/SpawnScripts/Generic/SparringPartners.lua | 18 + .../Generic/SparringPartnersGFay.lua | 28 + Lua/SpawnScripts/Generic/SpawnGroups.lua | 10 + Lua/SpawnScripts/Generic/Vim.lua | 21 + Lua/SpawnScripts/Generic/Waulon.lua | 21 + Lua/SpawnScripts/Generic/aDuskProwler_(1).lua | 21 + Lua/SpawnScripts/Generic/aDuskProwler_(2).lua | 20 + Lua/SpawnScripts/Generic/aDuskProwler_(3).lua | 20 + .../aGigglegibberGoblinGamblinGameVendor.lua | 222 +++ .../Generic/circle_air_clockwise_small.lua | 25 + .../Generic/circle_clockwise_small_01.lua | 25 + .../Generic/circle_clockwise_small_02.lua | 35 + .../circle_counterclockwise_small_01.lua | 28 + .../circle_counterclockwise_small_02.lua | 28 + Lua/SpawnScripts/Generic/dancing_script.lua | 25 + .../Generic/generic_fish_movement.lua | 75 + .../Generic/hailed_facetarget.lua | 11 + Lua/SpawnScripts/Generic/hello_emote.lua | 23 + Lua/SpawnScripts/Generic/magic_door.lua | 20 + .../Generic/movement_circle_medium.lua | 68 + .../Generic/movement_circle_small.lua | 72 + Lua/SpawnScripts/Generic/private_spawn.lua | 15 + .../Generic/random_pattern_small.lua | 79 + .../Generic/tiny_movement_loop.lua | 71 + .../Graveyard/CustodianZaddarSullissia.lua | 1156 +++++++++++++++ .../Graveyard/GravestoneofSirAckmin.lua | 27 + .../Graveyard/GravestoneofSirArlin.lua | 25 + .../Graveyard/GravestoneofSirBreel.lua | 25 + .../Graveyard/GravestoneofSirHaligan.lua | 28 + .../Graveyard/GravestoneofSirPenan.lua | 25 + .../Graveyard/GravestoneofSirXantille.lua | 25 + Lua/SpawnScripts/Graveyard/GuardLSek.lua | 29 + Lua/SpawnScripts/Graveyard/GuardTCrit.lua | 29 + .../Graveyard/KeeperVaracusTKur.lua | 270 ++++ Lua/SpawnScripts/Graveyard/RTok.lua | 33 + .../SirHaligan,CaptainoftheKnightsofTruth.lua | 19 + Lua/SpawnScripts/Graveyard/UnholyRelic.lua | 28 + Lua/SpawnScripts/Graveyard/ZekvilaDizelk.lua | 87 ++ .../Graveyard/acrumblingskeleton.lua | 62 + .../Graveyard/anEthernereguard.lua | 83 ++ .../Graveyard/anamateurgraverobber.lua | 111 ++ .../Graveyard/anovicegraverobber.lua | 111 ++ .../Graveyard/atatteredpieceofpaper.lua | 18 + .../Graveyard/qst_haligan_tomb.lua | 27 + .../Graveyard/ward_particle_cube.lua | 28 + Lua/SpawnScripts/Graystone/AngusFallowfur.lua | 119 ++ Lua/SpawnScripts/Graystone/AssistantJalan.lua | 23 + .../Graystone/AssistantTillheel.lua | 43 + Lua/SpawnScripts/Graystone/BarmaidViolet.lua | 25 + Lua/SpawnScripts/Graystone/BarryViceheart.lua | 12 + Lua/SpawnScripts/Graystone/Beerocks.lua | 30 + .../Graystone/BoninBroadhammer.lua | 40 + .../Graystone/BriceStrongmend.lua | 19 + .../Graystone/BurkStoneshatter.lua | 360 +++++ .../Graystone/CarpenterJorgieIcearmor.lua | 23 + Lua/SpawnScripts/Graystone/Coppershot.lua | 43 + Lua/SpawnScripts/Graystone/DaneSteelfist.lua | 12 + Lua/SpawnScripts/Graystone/Deadeye.lua | 26 + Lua/SpawnScripts/Graystone/DorakEverstock.lua | 12 + Lua/SpawnScripts/Graystone/Dori.lua | 12 + Lua/SpawnScripts/Graystone/DundaFrostgrip.lua | 172 +++ Lua/SpawnScripts/Graystone/Fenris.lua | 134 ++ Lua/SpawnScripts/Graystone/Fiercecry.lua | 12 + Lua/SpawnScripts/Graystone/Frerin.lua | 19 + Lua/SpawnScripts/Graystone/Friskit.lua | 38 + Lua/SpawnScripts/Graystone/GnorFarven.lua | 77 + Lua/SpawnScripts/Graystone/GolanPanicward.lua | 92 ++ .../Graystone/GraystoneCourierDirvel.lua | 130 ++ .../Graystone/GruffinGoldtooth.lua | 23 + Lua/SpawnScripts/Graystone/Guile.lua | 37 + Lua/SpawnScripts/Graystone/GurnaHadel.lua | 77 + Lua/SpawnScripts/Graystone/HarganIcethaw.lua | 24 + .../Graystone/InnkeeperRothskild.lua | 27 + Lua/SpawnScripts/Graystone/Ironmallet.lua | 23 + Lua/SpawnScripts/Graystone/Jenison.lua | 29 + Lua/SpawnScripts/Graystone/Jodi.lua | 12 + Lua/SpawnScripts/Graystone/KargIcemoore.lua | 23 + Lua/SpawnScripts/Graystone/Kaya.lua | 22 + .../Graystone/KeldraFrosthaven.lua | 40 + .../Graystone/KnightCaptainSalomar.lua | 12 + .../Graystone/LarsSilverbrace.lua | 38 + Lua/SpawnScripts/Graystone/MarusDonoval.lua | 183 +++ Lua/SpawnScripts/Graystone/MavBoilfist.lua | 437 ++++++ Lua/SpawnScripts/Graystone/McGuiggen.lua | 43 + Lua/SpawnScripts/Graystone/Oakfist.lua | 43 + .../Graystone/PathfinderSilentstride.lua | 23 + Lua/SpawnScripts/Graystone/Rafki.lua | 40 + .../Graystone/ShippingCoordinatorHando.lua | 262 ++++ Lua/SpawnScripts/Graystone/Snowboot.lua | 23 + Lua/SpawnScripts/Graystone/Soulforge.lua | 19 + Lua/SpawnScripts/Graystone/Steelvein.lua | 38 + .../Graystone/TacklemasterMoyna.lua | 82 ++ Lua/SpawnScripts/Graystone/Takk.lua | 12 + Lua/SpawnScripts/Graystone/Ubani.lua | 20 + .../Graystone/WatcherCurmoglielKarthal.lua | 20 + Lua/SpawnScripts/Graystone/arat1.lua | 51 + Lua/SpawnScripts/Graystone/arat2.lua | 43 + Lua/SpawnScripts/Graystone/brew_barrel.lua | 38 + .../Graystone/crate_large_long_001.lua | 40 + Lua/SpawnScripts/Graystone/dock_barrel_1.lua | 40 + .../Graystone/dock_barrel_correct.lua | 46 + Lua/SpawnScripts/Graystone/dock_crate_1.lua | 40 + .../Graystone/frozen_cherries_1.lua | 34 + .../Graystone/frozen_cherries_2.lua | 34 + .../Graystone/frozen_cherries_3.lua | 34 + Lua/SpawnScripts/Graystone/honey_1.lua | 34 + Lua/SpawnScripts/Graystone/honey_2.lua | 35 + Lua/SpawnScripts/Graystone/honey_3.lua | 34 + Lua/SpawnScripts/Graystone/honey_4.lua | 34 + .../Graystone/qstunseenhandcrate1.lua | 40 + .../Graystone/qstunseenhandcrate2.lua | 40 + .../Graystone/quest_shipment_1.lua | 45 + .../Graystone/quest_shipment_2.lua | 45 + .../Graystone/quest_shipment_3.lua | 45 + Lua/SpawnScripts/Graystone/yeast_1.lua | 35 + Lua/SpawnScripts/Graystone/yeast_2.lua | 34 + Lua/SpawnScripts/Graystone/yeast_3.lua | 34 + .../GreaterFaydark/AeliaNaeni.lua | 32 + Lua/SpawnScripts/GreaterFaydark/Agarighus.lua | 170 +++ .../GreaterFaydark/AllikaatjaPiimarik.lua | 28 + .../GreaterFaydark/AlmillaSumac.lua | 42 + .../GreaterFaydark/AlodieSilverleaf.lua | 14 + .../GreaterFaydark/AltanBrownwing.lua | 42 + Lua/SpawnScripts/GreaterFaydark/AmiAugren.lua | 231 +++ .../GreaterFaydark/AmmaIlaari.lua | 28 + Lua/SpawnScripts/GreaterFaydark/AmyRecolo.lua | 28 + .../GreaterFaydark/AnaajGreenblade.lua | 28 + .../GreaterFaydark/AthinaePanteraas.lua | 72 + .../GreaterFaydark/BarkChiselchin.lua | 59 + .../GreaterFaydark/BettinaMeriaan.lua | 36 + .../GreaterFaydark/BlinikBelestro.lua | 28 + .../GreaterFaydark/Breezebloom.lua | 38 + .../GreaterFaydark/BresiyaTuuri.lua | 28 + .../GreaterFaydark/BrinkTrudger.lua | 244 +++ .../GreaterFaydark/BrodoGillywump.lua | 28 + .../GreaterFaydark/BurgefSteelwright.lua | 31 + .../GreaterFaydark/BuzzVitikka.lua | 28 + .../GreaterFaydark/CaptainR.K.Irontoe.lua | 444 ++++++ .../GreaterFaydark/CaptainSteelforge.lua | 231 +++ .../GreaterFaydark/CeftStoutarm.lua | 51 + .../GreaterFaydark/CelinistaRyannalis.lua | 50 + .../GreaterFaydark/CommanderMarcusTraeis.lua | 28 + .../GreaterFaydark/CorrigStonecutter.lua | 38 + Lua/SpawnScripts/GreaterFaydark/Cucumber.lua | 18 + .../GreaterFaydark/DanariaRedvine.lua | 31 + .../DarukGraniteNoseDobbson.lua | 28 + .../GreaterFaydark/DerekTravllor.lua | 28 + .../GreaterFaydark/DhalaVeera.lua | 28 + .../GreaterFaydark/DirkiGerika.lua | 28 + .../GreaterFaydark/EagereyeMayweed.lua | 28 + .../GreaterFaydark/EbnixCogsworth.lua | 31 + .../GreaterFaydark/EleoonaFaleisinae.lua | 75 + .../GreaterFaydark/EloncaNusback.lua | 72 + .../GreaterFaydark/EvaCorunnothes.lua | 151 ++ .../GreaterFaydark/GibrienMarsden.lua | 211 +++ .../GreaterFaydark/GioiaGreenvale.lua | 36 + .../GreaterFaydark/GlavariusMarud.lua | 31 + .../GreaterFaydark/Glitterpuff.lua | 38 + .../GreaterFaydark/GlurieStonegrip.lua | 102 ++ Lua/SpawnScripts/GreaterFaydark/Gomphum.lua | 151 ++ .../GreaterFaydark/GrandmasterFeldmanus.lua | 28 + Lua/SpawnScripts/GreaterFaydark/Grepurp.lua | 28 + .../GreaterFaydark/GrimplySniffwistle.lua | 61 + .../GreaterFaydark/GrullSilverstump.lua | 38 + Lua/SpawnScripts/GreaterFaydark/Grum.lua | 51 + .../GreaterFaydark/GuardYlivaan.lua | 28 + .../GreaterFaydark/GundaFirehammer.lua | 38 + .../GreaterFaydark/HamnalTeolofin.lua | 127 ++ .../GreaterFaydark/IbidEsslibris.lua | 36 + .../GreaterFaydark/IhieerScytheleaf.lua | 28 + .../GreaterFaydark/IkileHarmonia.lua | 72 + .../GreaterFaydark/IllaskoSilktree.lua | 28 + Lua/SpawnScripts/GreaterFaydark/ImmeNaime.lua | 28 + .../GreaterFaydark/InnkeeperTwiggy.lua | 219 +++ .../GreaterFaydark/JalmariKeletana.lua | 92 ++ .../GreaterFaydark/JeleetaAriaata.lua | 36 + .../GreaterFaydark/JenthisViridar.lua | 112 ++ .../GreaterFaydark/JiaanaKaalikka.lua | 28 + Lua/SpawnScripts/GreaterFaydark/Jilaen.lua | 58 + .../GreaterFaydark/JysolinNerala.lua | 37 + .../GreaterFaydark/KaaleeInimaari.lua | 36 + .../GreaterFaydark/KalamarVesinger.lua | 208 +++ .../GreaterFaydark/KaleVilaaka.lua | 38 + .../GreaterFaydark/KaljaSongstress.lua | 28 + .../GreaterFaydark/KarinaMulberry.lua | 39 + .../GreaterFaydark/KatrynLitewing.lua | 28 + .../GreaterFaydark/KieloNoronen.lua | 40 + .../GreaterFaydark/KiirkinFelendril.lua | 38 + Lua/SpawnScripts/GreaterFaydark/Kresp.lua | 41 + .../GreaterFaydark/LadyAileetaReila.lua | 38 + .../GreaterFaydark/LadyAletheaJyleel.lua | 42 + .../GreaterFaydark/LadyAstaarEvinien.lua | 157 ++ .../GreaterFaydark/LadyKatriEloranta.lua | 538 +++++++ .../GreaterFaydark/LadyMilikaVikaarinen.lua | 78 + .../GreaterFaydark/LarkMeadowswoon.lua | 38 + .../GreaterFaydark/LyytiEloranta.lua | 128 ++ .../GreaterFaydark/MasterBowyerMossberge.lua | 113 ++ .../GreaterFaydark/MatronoftheNursery.lua | 346 +++++ .../GreaterFaydark/MatstyrAlesmith.lua | 52 + .../GreaterFaydark/MeehaPekko-Maarit.lua | 28 + .../GreaterFaydark/MeliinaCopperleaf.lua | 40 + .../GreaterFaydark/MenthaHaora.lua | 67 + .../GreaterFaydark/MerchantFallulah.lua | 100 ++ .../GreaterFaydark/MerchantMelilah.lua | 170 +++ .../GreaterFaydark/MiahTanglebranch.lua | 28 + .../GreaterFaydark/MiellaMaarsitotts.lua | 36 + .../GreaterFaydark/MissantratheStylist.lua | 38 + .../GreaterFaydark/Morganellus.lua | 62 + .../GreaterFaydark/MulusViinikka.lua | 28 + .../GreaterFaydark/NimessSessi.lua | 186 +++ .../GreaterFaydark/NixiaCogsworth.lua | 28 + Lua/SpawnScripts/GreaterFaydark/NooraMaki.lua | 31 + .../GreaterFaydark/PaanalaFlutterleaf.lua | 36 + .../GreaterFaydark/PaivaKapanen.lua | 37 + .../GreaterFaydark/PhilosopherYubee.lua | 921 ++++++++++++ .../GreaterFaydark/PickleVelvetleaf.lua | 28 + .../GreaterFaydark/PirgettaMaarit.lua | 37 + .../GreaterFaydark/PoggleFizzpop.lua | 52 + .../GreaterFaydark/PrestonPepperpicker.lua | 38 + .../GreaterFaydark/PrincessSaphronia.lua | 31 + .../ProfessorEbenezerCogsworthVI.lua | 28 + .../GreaterFaydark/QueenAmree.lua | 139 ++ .../GreaterFaydark/RaimoHeinila.lua | 94 ++ .../GreaterFaydark/RalikaMekkila.lua | 41 + Lua/SpawnScripts/GreaterFaydark/RanduKvan.lua | 60 + Lua/SpawnScripts/GreaterFaydark/RelcTulin.lua | 78 + .../RestauranteurBrizeylMyrika.lua | 36 + .../GreaterFaydark/RooleeanFelodaan.lua | 28 + Lua/SpawnScripts/GreaterFaydark/SadeMaki.lua | 28 + .../GreaterFaydark/SaelirVarryn.lua | 456 ++++++ .../GreaterFaydark/SannorVilika.lua | 31 + .../GreaterFaydark/SassirahFallenleaf.lua | 28 + .../GreaterFaydark/ScoutSpelunkle.lua | 123 ++ .../GreaterFaydark/ScribeEljasAravirta.lua | 36 + .../GreaterFaydark/SentryTrillis.lua | 82 ++ .../GreaterFaydark/SirBaydenCauldthorn.lua | 161 ++ Lua/SpawnScripts/GreaterFaydark/SuaAugren.lua | 141 ++ .../GreaterFaydark/SunnevaNepenthes.lua | 28 + .../GreaterFaydark/TheGrenderGuardian.lua | 28 + .../GreaterFaydark/ThekelaGillywump.lua | 58 + .../GreaterFaydark/TraegerVerdegreen.lua | 36 + .../GreaterFaydark/TrainerArillaLarivaara.lua | 577 ++++++++ .../GreaterFaydark/TrainerEivarraLaceleaf.lua | 231 +++ .../GreaterFaydark/TrainerKaaliSaarinen.lua | 79 + .../GreaterFaydark/TrainerLeiannaTeiampa.lua | 108 ++ .../TrainerModjiVilivarinen.lua | 164 +++ .../GreaterFaydark/TrainerRafelaKosimo.lua | 182 +++ .../GreaterFaydark/TrainerTahvoloViljaan.lua | 158 ++ .../GreaterFaydark/TrainerValtteriYliveri.lua | 266 ++++ .../GreaterFaydark/TrainerVantanPerikato.lua | 167 +++ .../GreaterFaydark/TuathilLaeds.lua | 28 + .../TunaresSaplingAcornLift.lua | 21 + .../GreaterFaydark/TurgoBargedown.lua | 31 + .../GreaterFaydark/VargorntheHistorian.lua | 82 ++ .../GreaterFaydark/VenlaVaara.lua | 31 + .../GreaterFaydark/VestinaPinaarian.lua | 28 + Lua/SpawnScripts/GreaterFaydark/Whittier.lua | 28 + .../GreaterFaydark/YarinSkystride.lua | 59 + .../GreaterFaydark/YstanaMirefaith.lua | 28 + .../GreaterFaydark/ZeegoMiemo.lua | 28 + .../GreaterFaydark/ZemketheWolf.lua | 28 + .../GreaterFaydark/ZephyreViolethair.lua | 164 +++ .../GreaterFaydark/ZilendarPilimaartu.lua | 31 + .../GreaterFaydark/aCrushboneemissary.lua | 28 + .../GreaterFaydark/aCrushbonepawn.lua | 28 + .../aGigglegibberGoblinGamblinGameVendor.lua | 237 +++ .../GreaterFaydark/aShroombacultivator1.lua | 27 + .../GreaterFaydark/aShroombacultivator2.lua | 23 + .../GreaterFaydark/aShroombacultivator3.lua | 31 + .../GreaterFaydark/aShroombacultivator4.lua | 29 + .../GreaterFaydark/aShroombacultivator5.lua | 27 + .../GreaterFaydark/afaesoldier.lua | 38 + .../aformidablesparringpartner.lua | 28 + .../GreaterFaydark/agrobindigger.lua | 28 + .../GreaterFaydark/agrobineggkeeper.lua | 28 + .../GreaterFaydark/agrobinpolluter.lua | 28 + .../GreaterFaydark/agrobinscout.lua | 28 + .../GreaterFaydark/agrobinsentry.lua | 40 + .../GreaterFaydark/agrobinsporeharvester.lua | 36 + .../GreaterFaydark/amininglookout(female).lua | 38 + .../GreaterFaydark/amininglookout.lua | 40 + .../anaveragesparringpartner.lua | 28 + .../GreaterFaydark/anexpeditionguard.lua | 28 + .../apunishedmagiapprentice.lua | 41 + .../ascorchedskeletalapprentice.lua | 36 + .../ascorchedskeletalwizard.lua | 28 + .../GreaterFaydark/astablemaster.lua | 265 ++++ .../GreaterFaydark/aweaksparringpartner.lua | 28 + Lua/SpawnScripts/GreaterFaydark/grobins.lua | 48 + Lua/SpawnScripts/Haven/GrabbyGigglegibber.lua | 28 + .../IllbodingDark1/OrugDeathmaker.lua | 24 + .../IllbodingDark1/blackshard.lua | 30 + .../JarsathWastes/asokokartamer.lua | 373 +++++ .../KunzarJungle/asokokartamer.lua | 223 +++ .../KylongPlains/asokokartamer.lua | 217 +++ Lua/SpawnScripts/Lavastorm/VulcanuSlayer.lua | 26 + .../Lavastorm/najenaelevatorcontrol.lua | 80 + Lua/SpawnScripts/Lavastorm/woes_elevator.lua | 13 + .../LesserFaydark/astablemaster.lua | 217 +++ .../Longshadow/AlanaramalZAste.lua | 31 + Lua/SpawnScripts/Longshadow/AlderaVExxa.lua | 449 ++++++ .../Longshadow/ArmsdealerTNyvez.lua | 20 + Lua/SpawnScripts/Longshadow/CaptainLNek.lua | 12 + Lua/SpawnScripts/Longshadow/CizraJYax.lua | 13 + Lua/SpawnScripts/Longshadow/DBeph.lua | 22 + Lua/SpawnScripts/Longshadow/EzriaMLinar.lua | 42 + Lua/SpawnScripts/Longshadow/ImnatDVren.lua | 12 + Lua/SpawnScripts/Longshadow/InnkeeperTMel.lua | 162 ++ .../Longshadow/InnuraeVTarris.lua | 152 ++ .../Longshadow/JuturnaPostumus.lua | 278 ++++ Lua/SpawnScripts/Longshadow/KTolia.lua | 12 + Lua/SpawnScripts/Longshadow/KalraathLVin.lua | 97 ++ Lua/SpawnScripts/Longshadow/KylanithDLar.lua | 94 ++ Lua/SpawnScripts/Longshadow/LDor.lua | 39 + Lua/SpawnScripts/Longshadow/LotniKIria.lua | 12 + Lua/SpawnScripts/Longshadow/LynsiaTKanix.lua | 23 + Lua/SpawnScripts/Longshadow/MalizTRaan.lua | 13 + Lua/SpawnScripts/Longshadow/ModianKJarr.lua | 23 + Lua/SpawnScripts/Longshadow/NezzkaSTai.lua | 24 + Lua/SpawnScripts/Longshadow/OrianDRak.lua | 12 + Lua/SpawnScripts/Longshadow/PThek.lua | 12 + Lua/SpawnScripts/Longshadow/ShNra.lua | 38 + Lua/SpawnScripts/Longshadow/ShadowsKiss.lua | 21 + Lua/SpawnScripts/Longshadow/TGask.lua | 18 + Lua/SpawnScripts/Longshadow/TNarra.lua | 22 + Lua/SpawnScripts/Longshadow/TVal.lua | 23 + Lua/SpawnScripts/Longshadow/TVek.lua | 22 + Lua/SpawnScripts/Longshadow/TeahJNar.lua | 34 + Lua/SpawnScripts/Longshadow/VDyhn.lua | 13 + Lua/SpawnScripts/Longshadow/VTun.lua | 19 + Lua/SpawnScripts/Longshadow/VorsharLFaz.lua | 39 + Lua/SpawnScripts/Longshadow/YaranaDVen.lua | 12 + Lua/SpawnScripts/Longshadow/ZelinaTVon.lua | 12 + .../LopingPlains/aNightmarehandler.lua | 156 ++ Lua/SpawnScripts/Nektropos1/ASwineFiend.lua | 35 + Lua/SpawnScripts/Nektropos1/Alexa.lua | 85 ++ Lua/SpawnScripts/Nektropos1/AlexaBasement.lua | 62 + Lua/SpawnScripts/Nektropos1/AlexaLockets.lua | 62 + Lua/SpawnScripts/Nektropos1/AlexaOllix.lua | 40 + Lua/SpawnScripts/Nektropos1/AlexaRamparts.lua | 59 + .../Nektropos1/ArchfiendIzzoroth.lua | 29 + Lua/SpawnScripts/Nektropos1/BalconyDoor.lua | 19 + Lua/SpawnScripts/Nektropos1/BarracksDoor.lua | 16 + Lua/SpawnScripts/Nektropos1/BarracksDoor2.lua | 16 + .../Nektropos1/BasementSecretDoor.lua | 13 + .../Nektropos1/CaptainGavinBook.lua | 64 + .../Nektropos1/Crystashandmaiden.lua | 13 + Lua/SpawnScripts/Nektropos1/ElisesDiary.lua | 71 + .../Nektropos1/EverlingLocketDoor.lua | 21 + .../Nektropos1/EverlingQuartersDoor.lua | 11 + .../Nektropos1/EverlingSisters.lua | 40 + Lua/SpawnScripts/Nektropos1/GameRoomDoor.lua | 15 + .../Nektropos1/GuardCaptainGavin.lua | 28 + .../Nektropos1/InquisitorofUllkorruuk.lua | 23 + Lua/SpawnScripts/Nektropos1/JenniEverling.lua | 26 + Lua/SpawnScripts/Nektropos1/JennisTeacher.lua | 11 + Lua/SpawnScripts/Nektropos1/LibraryDoor.lua | 21 + .../Nektropos1/MaltusEverling.lua | 128 ++ .../Nektropos1/MasterEldinNecrosis.lua | 100 ++ .../Nektropos1/NektroposBarracksLockbox.lua | 33 + .../Nektropos1/NektroposMountedBoarsHead.lua | 55 + .../Nektropos1/NektroposMountedSwineshead.lua | 66 + Lua/SpawnScripts/Nektropos1/OllixEverling.lua | 52 + .../Nektropos1/aDecayingCorpse.lua | 20 + .../Nektropos1/aPatchworkLaborer1.lua | 14 + .../Nektropos1/aPatchworkLaborer2.lua | 14 + .../Nektropos1/aPriestessOfUllkorruuk.lua | 18 + Lua/SpawnScripts/Nektropos1/aWineRack.lua | 22 + .../Nektropos1/anEverlingstableboy.lua | 26 + .../Nektropos1/deirdrewallscontztrap.lua | 20 + .../Nektropos1/deirdrewallscotnz.lua | 11 + .../Nektropos1/elisewallscotnz.lua | 15 + .../Nektropos1/everlingsquartersdoor2.lua | 20 + Lua/SpawnScripts/Nektropos1/exitportal.lua | 12 + .../Nektropos1/p19EliseSecretDoorKey.lua | 24 + .../Nektropos1/p19EliseSecretDoorScontz.lua | 17 + .../Nektropos1/p34sheiladresser.lua | 26 + .../Nektropos1/p47swordholder.lua | 35 + .../Nektropos1/p49beddiarysearch.lua | 46 + .../Nektropos1/p53scrollofopening.lua | 20 + .../Nektropos1/p53secretdooropener.lua | 13 + .../Nektropos1/p59alanatrigger.lua | 19 + .../Nektropos1/p59sarcophogustrap.lua | 19 + .../secretlaboratoryentrancesecretdoor.lua | 11 + Lua/SpawnScripts/Nektropos1/widgetbadbook.lua | 25 + Lua/SpawnScripts/Nektulos/agriffintamer.lua | 207 +++ Lua/SpawnScripts/Nektulos/agriffontamer.lua | 141 ++ Lua/SpawnScripts/Neriak/AlaunnoluDXaate.lua | 45 + Lua/SpawnScripts/Neriak/Brute.lua | 69 + .../Neriak/DocksideMarketGuardA.lua | 69 + .../Neriak/DocksideMarketGuardB.lua | 74 + Lua/SpawnScripts/Neriak/DreadGuard1.lua | 60 + .../Neriak/DreadGuardNewForeignQuarter.lua | 7 + .../Neriak/DreadGuard_Warg_mount.lua | 22 + .../Neriak/DreadGuard_nightmare_mount.lua | 21 + Lua/SpawnScripts/Neriak/EthedraRVinival.lua | 76 + Lua/SpawnScripts/Neriak/MKaiNFaer.lua | 40 + .../Neriak/NewForeignQuaterGuard.lua | 65 + Lua/SpawnScripts/Neriak/PhyravinDVaar.lua | 50 + Lua/SpawnScripts/Neriak/RaksharBucha.lua | 48 + Lua/SpawnScripts/Neriak/SDreadGuard2.lua | 42 + Lua/SpawnScripts/Neriak/TTraeneXXxtar.lua | 73 + Lua/SpawnScripts/Neriak/Ultra.lua | 73 + Lua/SpawnScripts/Neriak/acourtesan1.lua | 42 + Lua/SpawnScripts/Neriak/acourtesan2.lua | 86 ++ Lua/SpawnScripts/Nettleville/Ajarn.lua | 45 + .../Nettleville/AmazuKharliko.lua | 151 ++ .../Nettleville/AndretSurtees.lua | 97 ++ Lua/SpawnScripts/Nettleville/Aves.lua | 23 + .../Nettleville/BahatiLinnxar.lua | 57 + Lua/SpawnScripts/Nettleville/BarikaIjumaa.lua | 43 + .../Nettleville/BarmaidLollaCotgrove.lua | 40 + .../Nettleville/BowyerFesante.lua | 45 + Lua/SpawnScripts/Nettleville/CarynSwell.lua | 45 + .../Nettleville/CaylessChambers.lua | 23 + .../Nettleville/ConstableArathur.lua | 23 + Lua/SpawnScripts/Nettleville/DarianWells.lua | 43 + Lua/SpawnScripts/Nettleville/DirkVagrin.lua | 36 + .../Nettleville/EhuraaRotherham.lua | 45 + Lua/SpawnScripts/Nettleville/Fallsworth.lua | 152 ++ Lua/SpawnScripts/Nettleville/FosterGraham.lua | 68 + Lua/SpawnScripts/Nettleville/FriarMontego.lua | 36 + Lua/SpawnScripts/Nettleville/GarionDunam.lua | 45 + Lua/SpawnScripts/Nettleville/Gunta.lua | 80 + .../Nettleville/HelainConyers.lua | 317 ++++ .../Nettleville/InnkeeperBailyDowden.lua | 85 ++ .../Nettleville/JohfritGythell.lua | 206 +++ .../Nettleville/KarrieClayton.lua | 25 + .../Nettleville/KatheyBrewsher.lua | 43 + Lua/SpawnScripts/Nettleville/KumbufuAri.lua | 47 + Lua/SpawnScripts/Nettleville/LakoshaMaera.lua | 395 +++++ .../Nettleville/LaudineShardalow.lua | 127 ++ Lua/SpawnScripts/Nettleville/LoganMacAdie.lua | 48 + Lua/SpawnScripts/Nettleville/MarjaniKenan.lua | 45 + Lua/SpawnScripts/Nettleville/NawalTahri.lua | 58 + Lua/SpawnScripts/Nettleville/NiaJaja.lua | 20 + Lua/SpawnScripts/Nettleville/RalkeshOrto.lua | 178 +++ .../Nettleville/SelkieMushroom.lua | 21 + .../Nettleville/SpiritistLaharnRahai.lua | 246 ++++ Lua/SpawnScripts/Nettleville/Tanglmayn.lua | 22 + .../Nettleville/VarionSmitelin.lua | 74 + Lua/SpawnScripts/Nettleville/Verth.lua | 12 + Lua/SpawnScripts/Nettleville/VidaSweeps.lua | 107 ++ .../Nettleville/WillimBarclay.lua | 23 + Lua/SpawnScripts/Nettleville/abookpage.lua | 20 + .../Nettleville/awaterloggedcrate.lua | 20 + .../Nettleville/awaterproofbarrel.lua | 20 + .../Nettleville/inspect_reagentshelf01.lua | 56 + Lua/SpawnScripts/Nettleville/loosesoil.lua | 48 + .../NorthFreeport/HectorAlpalor.lua | 20 + Lua/SpawnScripts/NorthFreeport/Lrak.lua | 23 + .../NorthFreeport/NFreeportWanders.lua | 523 +++++++ .../NorthFreeport/transportacademy0.lua | 29 + .../NorthFreeport/transportacademy1.lua | 29 + Lua/SpawnScripts/Oakmyst/AdalinEmerael.lua | 171 +++ Lua/SpawnScripts/Oakmyst/AkeeraSneakshot.lua | 49 + .../Oakmyst/AundorSingingsword.lua | 23 + Lua/SpawnScripts/Oakmyst/BardrianVorsuth.lua | 69 + Lua/SpawnScripts/Oakmyst/CaileeBluesheaf.lua | 27 + Lua/SpawnScripts/Oakmyst/EmpressAnassa.lua | 69 + .../Oakmyst/FluwkowirHaggleton.lua | 59 + Lua/SpawnScripts/Oakmyst/FulkoirHaggleton.lua | 33 + Lua/SpawnScripts/Oakmyst/Gilrix.lua | 34 + Lua/SpawnScripts/Oakmyst/HuntmasterKrell.lua | 35 + Lua/SpawnScripts/Oakmyst/Jemila.lua | 41 + Lua/SpawnScripts/Oakmyst/JornSorefoot.lua | 164 +++ Lua/SpawnScripts/Oakmyst/JudgeEunomia.lua | 60 + .../Oakmyst/LieutenantCharlin.lua | 565 +++++++ Lua/SpawnScripts/Oakmyst/LulienLeafven.lua | 27 + Lua/SpawnScripts/Oakmyst/Madeline.lua | 21 + Lua/SpawnScripts/Oakmyst/MarvBoilfist.lua | 151 ++ Lua/SpawnScripts/Oakmyst/MontehFurthread.lua | 42 + Lua/SpawnScripts/Oakmyst/ObserverGaladn.lua | 30 + .../Oakmyst/RinduilFlintflight.lua | 25 + Lua/SpawnScripts/Oakmyst/RotweedThistle.lua | 24 + Lua/SpawnScripts/Oakmyst/ScholarNeola.lua | 56 + Lua/SpawnScripts/Oakmyst/Solas.lua | 21 + Lua/SpawnScripts/Oakmyst/StewardTredo.lua | 47 + Lua/SpawnScripts/Oakmyst/Stormbrace.lua | 21 + Lua/SpawnScripts/Oakmyst/ToppaDoppster.lua | 90 ++ Lua/SpawnScripts/Oakmyst/TrackerGalera.lua | 69 + Lua/SpawnScripts/Oakmyst/TrackerKelnis.lua | 23 + Lua/SpawnScripts/Oakmyst/Truesteel.lua | 29 + .../Oakmyst/aclearwaterfrog606.lua | 204 +++ Lua/SpawnScripts/Oakmyst/acorrupteddryad.lua | 57 + Lua/SpawnScripts/Oakmyst/anOakmystspider.lua | 79 + Lua/SpawnScripts/Oakmyst/asunkenkeg.lua | 20 + Lua/SpawnScripts/Oakmyst/atreantsapling.lua | 41 + Lua/SpawnScripts/Oakmyst/fulkoir.lua | 21 + .../Oakmyst/inspect_rock_poem.lua | 35 + .../Oakmyst/mysterious_machine_quest.lua | 35 + Lua/SpawnScripts/Oakmyst/unearthedsoil.lua | 20 + .../OutpostOverlord/APudgyMoleRat.lua | 35 + .../OutpostOverlord/AniusOakwind.lua | 28 + Lua/SpawnScripts/OutpostOverlord/Ashir.lua | 38 + .../OutpostOverlord/AssassinVamir.lua | 155 ++ .../OutpostOverlord/AsylLysarz.lua | 28 + .../OutpostOverlord/CallusMagnus.lua | 38 + .../OutpostOverlord/CaptainPinious.lua | 176 +++ .../OutpostOverlord/CaptainTyreth.lua | 65 + .../OutpostOverlord/CharlesArker.lua | 23 + .../OutpostOverlord/ChefGorga.lua | 89 ++ .../OutpostOverlord/CoercerZlith.lua | 53 + Lua/SpawnScripts/OutpostOverlord/Droog.lua | 20 + Lua/SpawnScripts/OutpostOverlord/EbbTide.lua | 21 + .../OutpostOverlord/FalconerLithkeen.lua | 40 + Lua/SpawnScripts/OutpostOverlord/Geredo.lua | 36 + .../OutpostOverlord/GetheHuggs.lua | 70 + Lua/SpawnScripts/OutpostOverlord/Greshar.lua | 29 + .../OutpostOverlord/HelmsmanNyles.lua | 21 + .../OutpostOverlord/HoggaIrongut.lua | 23 + Lua/SpawnScripts/OutpostOverlord/Ingrid.lua | 38 + .../OutpostOverlord/JonasRollings.lua | 21 + Lua/SpawnScripts/OutpostOverlord/Kibbs.lua | 20 + .../OutpostOverlord/KurgleFrogbane.lua | 25 + Lua/SpawnScripts/OutpostOverlord/Laena.lua | 25 + .../OutpostOverlord/MurgLeechtongue.lua | 21 + .../OutpostOverlord/OolarOmafa.lua | 21 + .../OutpostOverlord/PrukSkullpound.lua | 21 + .../OutpostOverlord/SarylScarscale.lua | 22 + .../OutpostOverlord/SirsiRissar.lua | 23 + .../OutpostOverlord/TayilNVelex.lua | 417 ++++++ .../OutpostOverlord/TheGreatHawk.lua | 30 + .../OutpostOverlord/TrainerAnnaWinston.lua | 174 +++ .../OutpostOverlord/TrainerArthurMerrin.lua | 88 ++ .../OutpostOverlord/TrainerCorxKnickknack.lua | 153 ++ .../OutpostOverlord/TrainerDargFrostwind.lua | 327 +++++ .../OutpostOverlord/TrainerJaylaSurfrider.lua | 122 ++ .../OutpostOverlord/TrainerKashaYitski.lua | 159 ++ .../OutpostOverlord/TrainerNoggDreadscar.lua | 109 ++ .../TrainerSythortheAllSeeing.lua | 144 ++ .../OutpostOverlord/TrainerVellaNDur.lua | 117 ++ .../OutpostOverlord/TrainerVissaSathliss.lua | 82 ++ Lua/SpawnScripts/OutpostOverlord/Vim.lua | 46 + Lua/SpawnScripts/OutpostOverlord/Waulon.lua | 36 + .../OutpostOverlord/Whizratchet.lua | 14 + .../OutpostOverlord/WixWimblewick.lua | 21 + .../OutpostOverlord/ZitoGraban.lua | 23 + .../OutpostOverlord/aMilitiapatroller_A.lua | 113 ++ .../aMilitiapatroller_A_Follower.lua | 62 + .../OutpostOverlord/aTrainedWolf.lua | 37 + .../OutpostOverlord/aTunareWolfmaster.lua | 21 + .../OutpostOverlord/aTunarianWolfmaster.lua | 75 + .../OutpostOverlord/aTunarianhorsesentry.lua | 16 + .../OutpostOverlord/aTunarianscout1.lua | 28 + .../OutpostOverlord/acliffdiverhawk.lua | 54 + .../OutpostOverlord/beehive03.lua | 67 + Lua/SpawnScripts/PeatBog/BotanistLith.lua | 67 + Lua/SpawnScripts/PeatBog/FeriusMentus.lua | 88 ++ Lua/SpawnScripts/PeatBog/GuardAndrews.lua | 29 + Lua/SpawnScripts/PeatBog/GuardBlack.lua | 73 + Lua/SpawnScripts/PeatBog/GuardDierdra.lua | 29 + Lua/SpawnScripts/PeatBog/GuardMoor.lua | 68 + Lua/SpawnScripts/PeatBog/GuardNander.lua | 28 + Lua/SpawnScripts/PeatBog/GuardVivian.lua | 28 + Lua/SpawnScripts/PeatBog/LieutenantDawson.lua | 365 +++++ Lua/SpawnScripts/PeatBog/Oakvil.lua | 41 + .../PeatBog/qst_ambush_site_1.lua | 27 + .../PeatBog/qst_ambush_site_2.lua | 27 + .../PeatBog/qst_ambush_site_3.lua | 27 + .../PeatBog/quest_machine_in_water.lua | 51 + Lua/SpawnScripts/PeatBog/quest_shipment_1.lua | 67 + .../PillarsFlame/anomadiccarpetkeeper.lua | 161 ++ Lua/SpawnScripts/Qeynos/acaninewatcher.lua | 21 + Lua/SpawnScripts/QeynosHarbor/Aliindar.lua | 29 + Lua/SpawnScripts/QeynosHarbor/IanCathlan.lua | 41 + .../QeynosHarbor/aQeynoscitizen.lua | 13 + .../QueensColony/BankerBogfoot.lua | 17 + Lua/SpawnScripts/QueensColony/BarthMignus.lua | 14 + .../QueensColony/CaptainVarlos.lua | 107 ++ .../QueensColony/CaptainWarrik.lua | 188 +++ .../QueensColony/ClericMaraVaen.lua | 237 +++ .../QueensColony/DefenderBristlebrow.lua | 36 + .../QueensColony/DefenderKuglup.lua | 36 + Lua/SpawnScripts/QueensColony/Deianeira.lua | 164 +++ Lua/SpawnScripts/QueensColony/Durg.lua | 27 + .../QueensColony/EbikWobblecog.lua | 227 +++ .../QueensColony/GalanCrestrider.lua | 30 + Lua/SpawnScripts/QueensColony/Geredo.lua | 23 + .../QueensColony/GogginCogspring.lua | 13 + Lua/SpawnScripts/QueensColony/Gonk.lua | 27 + .../QueensColony/GrakusStonemallet.lua | 13 + Lua/SpawnScripts/QueensColony/Groak.lua | 33 + .../QueensColony/HannaDeeppockets.lua | 26 + .../QueensColony/HelmsmanNyles.lua | 25 + .../QueensColony/HighChieftainGrexx.lua | 109 ++ Lua/SpawnScripts/QueensColony/Ingrid.lua | 27 + Lua/SpawnScripts/QueensColony/Leebo.lua | 12 + .../QueensColony/LieutenantWestfall.lua | 13 + .../QueensColony/MaylinMeadowlark.lua | 12 + .../QueensColony/MenderMannus.lua | 24 + Lua/SpawnScripts/QueensColony/MeriBogfoot.lua | 24 + Lua/SpawnScripts/QueensColony/MurrarShar.lua | 357 +++++ .../QueensColony/NebbleUnderroot.lua | 25 + Lua/SpawnScripts/QueensColony/Patroller1.lua | 36 + Lua/SpawnScripts/QueensColony/PaulaMarx.lua | 76 + .../QueensColony/PredatorShadur.lua | 116 ++ .../QueensColony/SapswillVillageDancer.lua | 54 + .../QueensColony/SapswillVillageDrunk.lua | 26 + .../QueensColony/SapswillVillageHappy.lua | 33 + .../QueensColony/SapswillVillageMusician.lua | 52 + .../QueensColony/SapswillVillageSitting.lua | 55 + .../QueensColony/SapswillvillagerRunner.lua | 27 + .../QueensColony/SergeantHaggus.lua | 84 ++ Lua/SpawnScripts/QueensColony/Shirra.lua | 13 + .../QueensColony/SorcererOofala.lua | 175 +++ .../QueensColony/TheForestKeeper.lua | 81 + .../QueensColony/TimboAlefirst.lua | 12 + .../QueensColony/TrainerBordaGemseeker.lua | 76 + .../TrainerCharleneStoutmuffin.lua | 142 ++ .../QueensColony/TrainerCheyeSeawind.lua | 104 ++ .../QueensColony/TrainerGregoryCollins.lua | 88 ++ .../QueensColony/TrainerGurgaTrueheart.lua | 122 ++ .../QueensColony/TrainerHaylMcGuinness.lua | 328 +++++ .../QueensColony/TrainerMarlaGilliam.lua | 163 +++ .../QueensColony/TrainerMyrrintheMagnific.lua | 188 +++ .../QueensColony/TrainerVerrinGlimmertide.lua | 158 ++ .../QueensColony/TrainerZidgetSprogrudder.lua | 87 ++ Lua/SpawnScripts/QueensColony/Vim.lua | 27 + .../QueensColony/VisageoftheQueen.lua | 71 + Lua/SpawnScripts/QueensColony/Waulon.lua | 25 + .../QueensColony/aMorakdevourer_halfling.lua | 35 + .../QueensColony/aQeynosianscout(rescue).lua | 36 + .../QueensColony/aQeynosianscout(rescued).lua | 114 ++ .../QueensColony/aSapswillsoothsayer.lua | 154 ++ .../QueensColony/adeadsoldier.lua | 36 + .../QueensColony/afallenassassin.lua | 35 + .../QueensColony/alostscout(Ghost).lua | 38 + Lua/SpawnScripts/QueensColony/alostscout.lua | 42 + .../QueensColony/arazortoothshark.lua | 25 + .../QueensColony/asmallcoastalcrab430717.lua | 34 + .../QueensColony/asmallcoastalcrab430718.lua | 40 + .../QueensColony/asmallcoastalcrab430719.lua | 36 + .../QueensColony/asmallcoastalcrab430721.lua | 47 + .../QueensColony/asmallcoastalcrab430722.lua | 42 + .../QueensColony/asmallcoastalcrab430744.lua | 47 + .../QueensColony/asmallcoastalcrab430767.lua | 38 + .../QueensColony/asmallcoastalcrab430768.lua | 35 + .../QueensColony/asmallcoastalcrab430769.lua | 36 + .../QueensColony/asmallcoastalcrab430770.lua | 36 + .../QueensColony/asmallcoastalcrab430771.lua | 42 + .../QueensColony/asmallcoastalcrab430773.lua | 40 + .../QueensColony/asmallcoastalcrab430774.lua | 47 + .../QueensColony/asmallcoastalcrab430775.lua | 40 + .../QueensColony/asmallcoastalcrab430792.lua | 42 + .../QueensColony/asmallcoastalcrab430813.lua | 52 + .../QueensColony/asmallcoastalcrab430814.lua | 47 + .../QueensColony/asmallcoastalcrab430815.lua | 46 + .../QueensColony/asmallcoastalcrab430816.lua | 34 + .../QueensColony/asmallcoastalcrab430817.lua | 38 + .../QueensColony/asmallcoastalcrab430823.lua | 37 + .../QueensColony/ataintedSapswillambusher.lua | 35 + .../QueensColony/ataintedSapswillinvader.lua | 26 + .../QueensColony/ebiksclunker.lua | 23 + .../QueensColony/ebiksspinner.lua | 23 + .../QueensColony/ebiksspringer.lua | 23 + Lua/SpawnScripts/QueensColony/eviltotem.lua | 26 + .../QueensColony/goodbookfeedingtheguurok.lua | 23 + .../QueensColony/statuewidget.lua | 20 + Lua/SpawnScripts/Ruins/ArmsdealerNylzs.lua | 43 + Lua/SpawnScripts/Ruins/CaptainArellius.lua | 444 ++++++ Lua/SpawnScripts/Ruins/LieutenantArgosian.lua | 624 ++++++++ .../Ruins/LieutenantImperidus.lua | 351 +++++ Lua/SpawnScripts/Ruins/LonetuskVoiceOvers.lua | 40 + Lua/SpawnScripts/Ruins/MardypPrunt.lua | 222 +++ Lua/SpawnScripts/Ruins/Pitrova.lua | 40 + Lua/SpawnScripts/Ruins/Talia.lua | 23 + .../Ruins/VisageoftheOverlord.lua | 69 + .../Ruins/Widget_orc_document_box.lua | 18 + .../Ruins/Widgetorcdocumentbox.lua | 33 + .../Ruins/aBrokentuskchampion.lua | 52 + Lua/SpawnScripts/Ruins/aBrokentuskcrusher.lua | 52 + .../Ruins/aBrokentuskdefender.lua | 52 + Lua/SpawnScripts/Ruins/aBrokentuskguard.lua | 164 +++ .../Ruins/aBrokentuskoverseer.lua | 56 + Lua/SpawnScripts/Ruins/aBrokentuskpawn.lua | 109 ++ Lua/SpawnScripts/Ruins/aBrokentuskpounder.lua | 52 + Lua/SpawnScripts/Ruins/aBrokentuskprophet.lua | 52 + Lua/SpawnScripts/Ruins/aBrokentuskravager.lua | 52 + Lua/SpawnScripts/Ruins/aBrokentusksentry.lua | 52 + Lua/SpawnScripts/Ruins/aBrokentuskshaman.lua | 52 + Lua/SpawnScripts/Ruins/aBrokentuskwarrior.lua | 120 ++ Lua/SpawnScripts/Ruins/aLonetuskBloodseer.lua | 52 + Lua/SpawnScripts/Ruins/aLonetuskchampion.lua | 52 + Lua/SpawnScripts/Ruins/aLonetuskcrusher.lua | 52 + Lua/SpawnScripts/Ruins/aLonetuskdestroyer.lua | 52 + Lua/SpawnScripts/Ruins/aLonetuskpounder.lua | 52 + Lua/SpawnScripts/Ruins/aLonetuskprophet.lua | 52 + Lua/SpawnScripts/Ruins/aLonetusksentry.lua | 143 ++ Lua/SpawnScripts/Ruins/aLonetuskshaman.lua | 52 + Lua/SpawnScripts/Ruins/aLonetuskwarrior.lua | 83 ++ Lua/SpawnScripts/Ruins/aRujarkianadvisor.lua | 28 + Lua/SpawnScripts/Ruins/acapturedLonetusk.lua | 131 ++ .../Ruins/acourageousdefender.lua | 29 + .../Ruins/aharriedvagrantsquatter.lua | 22 + Lua/SpawnScripts/Ruins/aprisonerguard.lua | 23 + Lua/SpawnScripts/Ruins/aseasoneddefender.lua | 76 + Lua/SpawnScripts/Ruins/orc_cask.lua | 20 + Lua/SpawnScripts/Ruins/orc_cauldron.lua | 20 + Lua/SpawnScripts/Ruins/orc_idol.lua | 20 + Lua/SpawnScripts/Ruins/orc_knight_statue.lua | 20 + Lua/SpawnScripts/Ruins/orccask.lua | 29 + Lua/SpawnScripts/Ruins/orccauldron.lua | 29 + Lua/SpawnScripts/Ruins/orcidol.lua | 29 + Lua/SpawnScripts/Ruins/orcknightstatue.lua | 29 + Lua/SpawnScripts/ScaleYard/AnthonyGlavias.lua | 58 + .../ScaleYard/ArmsDealerShilza.lua | 13 + Lua/SpawnScripts/ScaleYard/BankerIzark.lua | 24 + .../ScaleYard/BarmaidFrostwind.lua | 13 + .../ScaleYard/BriacTundrafire.lua | 36 + .../ScaleYard/CalebBrazenroot.lua | 54 + Lua/SpawnScripts/ScaleYard/CaptainRonia.lua | 34 + .../ScaleYard/ClanChiefMalachiSleetspear.lua | 583 ++++++++ Lua/SpawnScripts/ScaleYard/ColinStoutfist.lua | 13 + Lua/SpawnScripts/ScaleYard/DunnColdbrow.lua | 13 + Lua/SpawnScripts/ScaleYard/DyerthShiraz.lua | 30 + .../ScaleYard/EvelynStoutfist.lua | 28 + .../ScaleYard/InnkeepFrosthome.lua | 27 + Lua/SpawnScripts/ScaleYard/IssikDethyr.lua | 46 + Lua/SpawnScripts/ScaleYard/Ithias.lua | 20 + .../ScaleYard/JondyCobbleblork.lua | 45 + Lua/SpawnScripts/ScaleYard/Kakriss.lua | 24 + Lua/SpawnScripts/ScaleYard/Lambert.lua | 139 ++ Lua/SpawnScripts/ScaleYard/LornMcHalford.lua | 20 + .../ScaleYard/LucasMacCormick.lua | 13 + Lua/SpawnScripts/ScaleYard/MegenOKeel.lua | 21 + Lua/SpawnScripts/ScaleYard/MelvinDunford.lua | 87 ++ Lua/SpawnScripts/ScaleYard/MerchantZiraak.lua | 32 + Lua/SpawnScripts/ScaleYard/MirinZilishia.lua | 24 + .../ScaleYard/NithaskSyrthiss.lua | 137 ++ Lua/SpawnScripts/ScaleYard/NotFound.lua | 16 + .../ScaleYard/OlinBarkstripper.lua | 13 + Lua/SpawnScripts/ScaleYard/PlotterNicolai.lua | 20 + Lua/SpawnScripts/ScaleYard/SavasDranak.lua | 23 + .../ScaleYard/ScribeColdquill.lua | 13 + Lua/SpawnScripts/ScaleYard/SkalVethiz.lua | 33 + Lua/SpawnScripts/ScaleYard/Sypp.lua | 24 + Lua/SpawnScripts/ScaleYard/Tabitha.lua | 75 + Lua/SpawnScripts/ScaleYard/TeganFrostfist.lua | 12 + Lua/SpawnScripts/ScaleYard/Thaguk.lua | 13 + Lua/SpawnScripts/ScaleYard/TristanORilley.lua | 66 + Lua/SpawnScripts/ScaleYard/UgarinFarwind.lua | 84 ++ Lua/SpawnScripts/ScaleYard/Valseth.lua | 22 + Lua/SpawnScripts/ScaleYard/VerinIthelz.lua | 13 + Lua/SpawnScripts/ScaleYard/VleskeVylkle.lua | 47 + .../ScaleYard/WeaponsmithXass.lua | 13 + .../ScaleYard/WesleyTundrafoot.lua | 61 + Lua/SpawnScripts/ScaleYard/ZeverTzizzink.lua | 28 + Lua/SpawnScripts/ScaleYard/aShissarianasp.lua | 27 + .../ScaleYard/aShissarianvase.lua | 27 + Lua/SpawnScripts/ScaleYard/anIksarskull.lua | 20 + Lua/SpawnScripts/ScaleYard/arat.lua | 74 + Lua/SpawnScripts/ScaleYard/doorwidget10.lua | 16 + .../ScaleYard/quest_iksar_shackles.lua | 26 + .../ScaleYard/questiksarskull.lua | 34 + .../ScaleYard/questmalachichair.lua | 25 + .../ScaleYard/questmalachidesk.lua | 25 + .../ScaleYard/questmalachiwasphive.lua | 28 + .../ScaleYard/questmalachiweaponrack.lua | 26 + Lua/SpawnScripts/ScaleYard/questvrimbox.lua | 31 + Lua/SpawnScripts/ScaleYard/unnamed.lua | 16 + Lua/SpawnScripts/ScaleYard/zonetosprawl.lua | 16 + Lua/SpawnScripts/SourceEvil/VithLTar.lua | 41 + Lua/SpawnScripts/SourceEvil/evil_totem.lua | 30 + Lua/SpawnScripts/SourceEvil/eviltotem.lua | 68 + Lua/SpawnScripts/SourceEvil/goblins.lua | 35 + .../SourceEvil/goodnecromancerpoison.lua | 15 + Lua/SpawnScripts/Sprawl/ArcanistTikkeri.lua | 87 ++ Lua/SpawnScripts/Sprawl/BrutemasterTarden.lua | 148 ++ Lua/SpawnScripts/Sprawl/CrispinLuvinius.lua | 148 ++ Lua/SpawnScripts/Sprawl/EnforcerKurdek.lua | 577 ++++++++ Lua/SpawnScripts/Sprawl/GatekeeperMalora.lua | 24 + Lua/SpawnScripts/Sprawl/GatekeeperMalren.lua | 68 + Lua/SpawnScripts/Sprawl/Gorgo.lua | 28 + Lua/SpawnScripts/Sprawl/LUnt.lua | 28 + Lua/SpawnScripts/Sprawl/LiegeAquila.lua | 321 ++++ Lua/SpawnScripts/Sprawl/Loria.lua | 28 + Lua/SpawnScripts/Sprawl/Sasha.lua | 32 + Lua/SpawnScripts/Sprawl/Talmudius.lua | 28 + Lua/SpawnScripts/Sprawl/TrainerDurbok.lua | 230 +++ .../Sprawl/aGiantslayerbasher.lua | 34 + Lua/SpawnScripts/Sprawl/aGiantslayerbrute.lua | 34 + Lua/SpawnScripts/Sprawl/aGiantslayerthug.lua | 34 + Lua/SpawnScripts/Sprawl/adistraughtfarmer.lua | 28 + Lua/SpawnScripts/Starcrest/AndorQuist.lua | 12 + .../Starcrest/AnevayaStarchaser.lua | 20 + Lua/SpawnScripts/Starcrest/AngeliaClayton.lua | 12 + Lua/SpawnScripts/Starcrest/Barrik.lua | 12 + Lua/SpawnScripts/Starcrest/Bermo.lua | 104 ++ Lua/SpawnScripts/Starcrest/Binkum.lua | 29 + Lua/SpawnScripts/Starcrest/BurtEverett.lua | 12 + Lua/SpawnScripts/Starcrest/CayanSable.lua | 249 ++++ .../Starcrest/ElliasenkaCroosinaden.lua | 23 + Lua/SpawnScripts/Starcrest/ErianSeaver.lua | 31 + .../Starcrest/FarnsbyDunworth.lua | 12 + Lua/SpawnScripts/Starcrest/FawnStarstone.lua | 23 + Lua/SpawnScripts/Starcrest/GracenDocks.lua | 20 + Lua/SpawnScripts/Starcrest/Grekin.lua | 12 + Lua/SpawnScripts/Starcrest/Harstead.lua | 19 + .../Starcrest/InnkeeperJerbenSleepwell.lua | 29 + .../Starcrest/KnightCaptainSantis.lua | 75 + Lua/SpawnScripts/Starcrest/LuvileBinlee.lua | 23 + .../Starcrest/MaareonaLudimintium.lua | 485 ++++++ Lua/SpawnScripts/Starcrest/Ommanoden.lua | 12 + .../Starcrest/OolimeminosoPindiliana.lua | 23 + Lua/SpawnScripts/Starcrest/Oomitelmora.lua | 24 + Lua/SpawnScripts/Starcrest/PiersIsplock.lua | 22 + .../Starcrest/ProprietorBlagard.lua | 23 + Lua/SpawnScripts/Starcrest/RedSunBerries.lua | 19 + Lua/SpawnScripts/Starcrest/Renea.lua | 29 + .../Starcrest/ScholarObidudyn.lua | 12 + .../Starcrest/TagganBrookrich.lua | 26 + Lua/SpawnScripts/Starcrest/Tanaira.lua | 22 + Lua/SpawnScripts/Starcrest/Torbin.lua | 29 + Lua/SpawnScripts/Starcrest/Trinoonae.lua | 29 + Lua/SpawnScripts/Starcrest/Unuesh.lua | 20 + Lua/SpawnScripts/Starcrest/Vandis.lua | 23 + .../Starcrest/VelderothMalraen.lua | 49 + Lua/SpawnScripts/Starcrest/Vondorinsarnoo.lua | 55 + .../Starcrest/ZentomaronCroosinaden.lua | 12 + .../Starcrest/ZinunLoospakina.lua | 20 + .../questclimbingbenchmaareonacayan.lua | 21 + .../questcrawlingbushmaareonacayan.lua | 21 + .../Starcrest/questrelicboxmaareona.lua | 46 + Lua/SpawnScripts/Starcrest/soulspike.lua | 42 + Lua/SpawnScripts/Starcrest/soulspikerack1.lua | 35 + Lua/SpawnScripts/Steamfont/SisterSam.lua | 8 + Lua/SpawnScripts/Stonestair/FeleinHerbs.lua | 22 + Lua/SpawnScripts/Stonestair/SevriIlBethod.lua | 146 ++ Lua/SpawnScripts/Stonestair/VessAlIshni.lua | 605 ++++++++ .../Stonestair/aneruditepestle.lua | 27 + Lua/SpawnScripts/SunkenCity/Dugar.lua | 27 + .../SunkenCity/GerbardtheSnitch.lua | 110 ++ .../SunkenCity/InquisitorThorson.lua | 658 +++++++++ .../SunkenCity/InvestigatorCurfeld.lua | 310 ++++ Lua/SpawnScripts/SunkenCity/Lukur.lua | 61 + Lua/SpawnScripts/SunkenCity/ManiusGalla.lua | 81 + Lua/SpawnScripts/SunkenCity/SaydithYarr.lua | 65 + Lua/SpawnScripts/SunkenCity/Teleth.lua | 27 + Lua/SpawnScripts/SunkenCity/TilzakNLim.lua | 62 + .../SunkenCity/aBlackshieldmarauder.lua | 200 +++ .../SunkenCity/aBlackshieldpillager.lua | 200 +++ .../SunkenCity/aBlackshieldpirate.lua | 200 +++ .../SunkenCity/aBlackshieldplunderer.lua | 200 +++ .../SunkenCity/aBlackshieldraider.lua | 200 +++ .../SunkenCity/aBlackshieldravager.lua | 200 +++ Lua/SpawnScripts/SunkenCity/abrinesifter.lua | 27 + .../SunkenCity/abulkybrinesifter.lua | 97 ++ .../SunkenCity/acursedcorpsman.lua | 104 ++ .../SunkenCity/acursedcutthroat.lua | 104 ++ Lua/SpawnScripts/SunkenCity/acursedscout.lua | 104 ++ Lua/SpawnScripts/SunkenCity/aduskshark.lua | 32 + .../SunkenCity/aforgottenresident.lua | 79 + .../anexcavatorofPrexianartifacts.lua | 116 ++ .../aninvestigatorofPrexianartifacts.lua | 108 ++ Lua/SpawnScripts/SunkenCity/arustmonster.lua | 27 + .../SunkenCity/asmallrustmonster.lua | 27 + .../SunkenCity/asmallscorpion.lua | 27 + .../SunkenCity/aspectraldenizen.lua | 58 + .../SunkenCity/aspectralresident.lua | 79 + .../SunkenCity/curfeld_quest_barrel.lua | 27 + Lua/SpawnScripts/SunkenCity/widget_box.lua | 44 + .../TenebrousTangle/FlightCloud.lua | 157 ++ .../TenebrousTangle/adraconicidol.lua | 160 ++ .../TenebrousTangle/ahulkinggorg.lua | 162 ++ .../TenebrousTangle/aswoopserpent.lua | 162 ++ .../ThievesWay/ASewerSlime391945.lua | 42 + .../ThievesWay/ASewerSlime391946.lua | 47 + .../ThievesWay/ASewerSlime391948.lua | 39 + .../ThievesWay/ASewerSlime391949.lua | 51 + .../ThievesWay/ASewerSlime391950.lua | 51 + .../ThievesWay/ASewerSlime391951.lua | 56 + .../ThievesWay/ASewerSlime391952.lua | 52 + .../ThievesWay/ASewerSlime391954.lua | 52 + .../ThievesWay/ASewerSlime391957.lua | 51 + .../ThievesWay/ASewerSlime391962.lua | 32 + .../ThievesWay/ASewerSlime391963.lua | 42 + .../ThievesWay/ASewerSlime391990.lua | 46 + .../ThievesWay/ASewerSlime391991.lua | 72 + .../ThievesWay/ASewerSlime391997.lua | 67 + .../ThievesWay/ASewerSlime391999.lua | 46 + .../ThievesWay/ASewerSlime392004.lua | 71 + .../ThievesWay/ASewerSlime392007.lua | 40 + .../ThievesWay/ASewerSlime392013.lua | 50 + .../ThievesWay/ASewerSlime392016.lua | 46 + .../ThievesWay/ASewerSlime392019.lua | 33 + .../ThievesWay/ASewerSlime392020.lua | 52 + .../ThievesWay/ASewerSlime392021.lua | 41 + .../ThievesWay/ASewerSlime392023.lua | 48 + .../ThievesWay/ASewerSlime392025.lua | 52 + .../ThievesWay/ASewerSlime392027.lua | 53 + .../ThievesWay/ASewerSlime392028.lua | 56 + .../ThievesWay/ASewerSlime392029.lua | 56 + .../ThievesWay/ASewerSlime392030.lua | 31 + .../ThievesWay/ASewerSlime392032.lua | 43 + .../ThievesWay/ASewerSlime392033.lua | 50 + .../ThievesWay/ASewerSlime392036.lua | 32 + .../ThievesWay/ASewerSlime392037.lua | 32 + .../ThievesWay/ASewerSlime392039.lua | 43 + .../ThievesWay/ASewerSlime392044.lua | 52 + .../ThievesWay/ASewerSlime392052.lua | 32 + .../ThievesWay/ASewerSlime392053.lua | 46 + .../ThievesWay/ASewerSlime392054.lua | 40 + .../ThievesWay/ASewerSlime392057.lua | 42 + .../ThievesWay/ASewerSlime392061.lua | 52 + .../ThievesWay/ASewerSlime392063.lua | 45 + .../ThievesWay/ASewerSlime392064.lua | 52 + .../ThievesWay/ASewerSlime392083.lua | 48 + .../ThievesWay/ASewerSlime392089.lua | 43 + .../ThievesWay/ASewerSlime392092.lua | 36 + .../ThievesWay/ASewerSlime392093.lua | 50 + .../ThievesWay/ASewerSlime392096.lua | 45 + .../ThievesWay/ASewerSlime392138.lua | 49 + .../ThievesWay/ASewerSlime392139.lua | 50 + .../ThievesWay/ASewerSlime392141.lua | 63 + .../ThievesWay/ASewerSlime392142.lua | 41 + .../ThievesWay/ASewerSlime392145.lua | 45 + .../ThievesWay/ASewerSlime392151.lua | 47 + .../ThievesWay/adiseasedratonga1540072.lua | 20 + .../ThievesWay/adiseasedratonga1586512.lua | 35 + .../ThievesWay/adiseasedratonga1586513.lua | 85 ++ .../ThievesWay/adiseasedratonga1586517.lua | 35 + .../ThievesWay/adiseasedratonga1586518.lua | 62 + .../ThievesWay/adiseasedratonga1586522.lua | 33 + .../ThievesWay/adiseasedratonga1586524.lua | 57 + .../ThievesWay/adiseasedratonga1586525.lua | 48 + .../ThievesWay/adiseasedratonga1586526.lua | 47 + .../ThievesWay/adiseasedratonga1586527.lua | 50 + .../ThievesWay/adiseasedratonga1586528.lua | 54 + .../ThievesWay/adiseasedratonga1586532.lua | 73 + .../ThievesWay/adiseasedratonga1586533.lua | 49 + .../ThievesWay/adiseasedratonga1586534.lua | 68 + .../ThievesWay/adiseasedratonga1586535.lua | 47 + .../ThievesWay/adiseasedratonga1586547.lua | 42 + .../ThievesWay/adiseasedratonga1586587.lua | 58 + .../ThievesWay/adiseasedratonga1586594.lua | 44 + .../ThievesWay/adiseasedratonga1586595.lua | 47 + .../ThievesWay/adiseasedratonga1586596.lua | 56 + .../ThievesWay/adiseasedratonga1586597.lua | 43 + .../ThievesWay/adiseasedratonga1586598.lua | 39 + .../ThievesWay/adiseasedratonga1586599.lua | 43 + .../ThievesWay/adiseasedratonga1586600.lua | 56 + .../ThievesWay/adiseasedratonga1586601.lua | 42 + .../ThievesWay/adiseasedratonga1586602.lua | 42 + .../ThievesWay/adiseasedratonga1586603.lua | 41 + .../ThievesWay/adiseasedratonga1586604.lua | 42 + .../ThievesWay/adiseasedratonga1586605.lua | 44 + .../ThievesWay/adiseasedratonga391865.lua | 57 + .../ThievesWay/adiseasedratonga391866.lua | 50 + .../ThievesWay/adiseasedratonga391867.lua | 52 + .../ThievesWay/adiseasedratonga391869.lua | 46 + .../ThievesWay/adiseasedratonga391870.lua | 39 + .../ThievesWay/adiseasedratonga391871.lua | 28 + .../ThievesWay/adiseasedratonga391877.lua | 49 + .../ThievesWay/adiseasedratonga391883.lua | 41 + .../ThievesWay/adiseasedratonga391884.lua | 36 + .../ThievesWay/adiseasedratonga391886.lua | 37 + .../ThievesWay/adiseasedratonga391888.lua | 74 + .../ThievesWay/adiseasedratonga391907.lua | 48 + .../ThievesWay/adiseasedratonga391917.lua | 54 + .../ThievesWay/adiseasedratonga391919.lua | 35 + .../ThievesWay/adiseasedratonga391921.lua | 40 + .../ThievesWay/adiseasedratonga393348.lua | 49 + .../ThievesWay/adiseasedratonga393388.lua | 39 + .../ThievesWay/adiseasedratonga393410.lua | 54 + .../ThievesWay/adiseasedratonga393468.lua | 54 + .../ThievesWay/adiseasedratonga393692.lua | 49 + .../ThievesWay/adiseasedratonga393712.lua | 49 + .../ThievesWay/asewagerat392400.lua | 37 + .../ThievesWay/asewagerat392403.lua | 54 + .../ThievesWay/asewagerat392404.lua | 60 + .../ThievesWay/asewagerat392405.lua | 52 + .../ThievesWay/asewagerat392406.lua | 47 + .../ThievesWay/asewagerat392407.lua | 55 + .../ThievesWay/asewagerat392408.lua | 50 + .../ThievesWay/asewagerat392409.lua | 39 + .../ThievesWay/asewagerat392410.lua | 38 + .../ThievesWay/asewagerat392411.lua | 33 + .../ThievesWay/asewagerat392413.lua | 35 + .../ThievesWay/asewagerat392415.lua | 59 + .../ThievesWay/asewagerat392416.lua | 56 + .../ThievesWay/asewagerat392417.lua | 38 + .../ThievesWay/asewagerat392418.lua | 60 + .../ThievesWay/asewagerat392419.lua | 38 + .../ThievesWay/asewagerat392420.lua | 56 + .../ThievesWay/asewagerat392423.lua | 37 + .../ThievesWay/asewagerat392424.lua | 32 + .../ThievesWay/asewagerat392425.lua | 37 + .../ThievesWay/asewagerat392430.lua | 33 + .../ThievesWay/asewagerat392431.lua | 53 + .../ThievesWay/asewagerat392433.lua | 57 + .../asludgewalkerhatchling392585.lua | 57 + .../asludgewalkerhatchling392586.lua | 61 + .../asludgewalkerhatchling392587.lua | 64 + .../asludgewalkerhatchling392588.lua | 47 + .../asludgewalkerhatchling392591.lua | 48 + .../asludgewalkerhatchling392595.lua | 55 + .../asludgewalkerhatchling392596.lua | 39 + .../asludgewalkerhatchling392597.lua | 34 + .../asludgewalkerhatchling392598.lua | 46 + .../asludgewalkerhatchling392599.lua | 42 + .../asludgewalkerhatchling392600.lua | 40 + .../asludgewalkerhatchling392601.lua | 80 + .../asludgewalkerhatchling392602.lua | 64 + .../asludgewalkerhatchling392603.lua | 62 + .../asludgewalkerhatchling392604.lua | 44 + .../asludgewalkerhatchling392605.lua | 57 + .../asludgewalkerhatchling392606.lua | 35 + .../asludgewalkerhatchling392607.lua | 33 + .../asludgewalkerhatchling392608.lua | 38 + .../asludgewalkerhatchling392609.lua | 45 + .../asludgewalkerhatchling392610.lua | 51 + .../ThievesWay/atrashhopper393119.lua | 78 + .../ThievesWay/atrashhopper393120.lua | 88 ++ .../ThievesWay/atrashhopper393121.lua | 61 + .../ThievesWay/atrashhopper393122.lua | 56 + .../ThievesWay/atrashhopper393123.lua | 37 + .../ThievesWay/atrashhopper393124.lua | 54 + .../ThievesWay/atrashhopper393125.lua | 49 + .../ThievesWay/atrashhopper393126.lua | 52 + .../ThievesWay/atrashhopper393127.lua | 49 + .../ThievesWay/atrashhopper393128.lua | 32 + .../ThievesWay/atrashhopper393129.lua | 34 + .../ThievesWay/atrashhopper393130.lua | 31 + .../ThievesWay/atrashhopper393131.lua | 56 + .../ThievesWay/atrashhopper393132.lua | 49 + .../ThievesWay/atrashhopper393134.lua | 48 + .../ThievesWay/atrashhopper393135.lua | 35 + .../ThievesWay/atrashhopper393136.lua | 56 + .../ThievesWay/atrashhopper393142.lua | 58 + .../ThievesWay/atrashhopper393145.lua | 46 + .../ThievesWay/atrashhopper393146.lua | 50 + .../ThievesWay/atrashhopper393148.lua | 42 + .../ThievesWay/atrashhopper393149.lua | 36 + .../ThunderingSteppes/Blackjack.lua | 714 +++++++++ .../ThunderingSteppes/Blackjack2.lua | 715 +++++++++ .../ThunderingSteppes/BlertonBlumble.lua | 84 ++ .../ThunderingSteppes/Brianna.lua | 115 ++ .../ThunderingSteppes/BridgeDoors.lua | 22 + .../ThunderingSteppes/CaptainSturman.lua | 39 + .../ThunderingSteppes/GrennStiles.lua | 55 + .../ThunderingSteppes/Jacques.lua | 158 ++ .../ThunderingSteppes/OldenHighguard.lua | 23 + .../OutlandSentryLanders.lua | 49 + .../ThunderingSteppes/OutlandSentryVidhir.lua | 40 + .../SentryCaptainGarland.lua | 70 + .../ThunderingSteppes/TheWanderingAugur.lua | 141 ++ .../ThunderingSteppes/TishTickers.lua | 209 +++ .../ThunderingSteppes/TobiasGranville.lua | 104 ++ .../ThunderingSteppes/TrapperBorgus.lua | 64 + .../ThunderingSteppes/TwoFace.lua | 86 ++ .../ThunderingSteppes/Two_Face.lua | 86 ++ .../ThunderingSteppes/agriffintamer.lua | 207 +++ .../ThunderingSteppes/widgetsmallbarrel.lua | 38 + .../ThunderingSteppes/zonetotishsoloquest.lua | 24 + Lua/SpawnScripts/TimorousDeep/AlAmin.lua | 21 + .../TimorousDeep/ArazokalShairi.lua | 28 + Lua/SpawnScripts/TimorousDeep/ArozikSkyKi.lua | 309 ++++ .../TimorousDeep/BeziklaHirUul.lua | 25 + Lua/SpawnScripts/TimorousDeep/BezokMyliKi.lua | 68 + .../TimorousDeep/Bio-ParserZoDok.lua | 119 ++ .../TimorousDeep/BruggaWindsmight.lua | 26 + .../TimorousDeep/CaptainGretaGreiswite.lua | 87 ++ .../TimorousDeep/ChelzykGirul.lua | 117 ++ .../TimorousDeep/CholkonliZumLun.lua | 25 + .../TimorousDeep/ChollukMyliTok.lua | 26 + .../TimorousDeep/ChrykoriGuardsBackFence.lua | 30 + .../TimorousDeep/CitizenNibaOuz.lua | 152 ++ .../TimorousDeep/Civ-ParserDiXin.lua | 133 ++ .../TimorousDeep/ClozzykZumMok.lua | 26 + Lua/SpawnScripts/TimorousDeep/CraewenKuVi.lua | 119 ++ .../TimorousDeep/FirstMateBrendanStewart.lua | 70 + Lua/SpawnScripts/TimorousDeep/GerwenDiKi.lua | 64 + Lua/SpawnScripts/TimorousDeep/Meklin.lua | 33 + .../TimorousDeep/ParserErucheSkaEle.lua | 97 ++ .../TimorousDeep/PrimaryConzukZumHa.lua | 169 +++ Lua/SpawnScripts/TimorousDeep/Rashid.lua | 21 + Lua/SpawnScripts/TimorousDeep/TanMcNein.lua | 26 + .../TimorousDeep/TanziklaHirKi.lua | 119 ++ .../TimorousDeep/TarocheDryZok.lua | 98 ++ .../TimorousDeep/TarzyklaRizDok.lua | 25 + .../TimorousDeep/TertiaryDihHa.lua | 153 ++ .../TimorousDeep/TertiaryMakKi.lua | 90 ++ .../TimorousDeep/ThilzikDihTak.lua | 27 + .../TimorousDeep/TholchiMakDin.lua | 27 + .../TimorousDeep/TrainerByrkuriMyliLok.lua | 103 ++ .../TimorousDeep/TrainerCharkinMyliDok.lua | 84 ++ .../TimorousDeep/TrainerCharlokZumEle.lua | 147 ++ .../TimorousDeep/TrainerChorkanMokDn.lua | 147 ++ .../TimorousDeep/TrainerRolzyklaAlZi.lua | 169 +++ .../TimorousDeep/TrainerThelzaklaNibaDok.lua | 299 ++++ .../TimorousDeep/TrainerTleclukalSkyZin.lua | 73 + .../TimorousDeep/TrainerTorakRizTu.lua | 196 +++ .../TimorousDeep/TrainerTuzikHirXin.lua | 209 +++ .../TimorousDeep/Trythecroots.lua | 17 + Lua/SpawnScripts/TimorousDeep/TykorGiLok.lua | 148 ++ .../TimorousDeep/VarkoriRizLul.lua | 128 ++ .../TimorousDeep/VennGalewind.lua | 27 + .../TimorousDeep/VirzukMakLok.lua | 26 + .../TimorousDeep/ZelchykGirul.lua | 117 ++ .../TimorousDeep/ZeldikilGiSok.lua | 35 + .../aChrykoriguard_patroller1.lua | 38 + .../aChrykoriguard_patroller2.lua | 26 + .../TimorousDeep/aChrykorilookout.lua | 25 + .../TimorousDeep/aHaoaerandigger.lua | 35 + .../TimorousDeep/aHaoaeranexcavator.lua | 40 + .../TimorousDeep/aHaoaeranlightfoot.lua | 49 + .../TimorousDeep/aHaoaeranpoacher.lua | 102 ++ .../TimorousDeep/aHaoaeranritualist.lua | 22 + .../TimorousDeep/aHaoaerantasker1.lua | 19 + .../TimorousDeep/aHaoaerantasker2.lua | 19 + .../TimorousDeep/aHaoaeranturf-hunter.lua | 42 + .../TimorousDeep/acapturedsarnak.lua | 67 + .../TimorousDeep/adeadsarnakscout.lua | 24 + .../TimorousDeep/afilamentstrangler.lua | 30 + .../TimorousDeep/agriffontamer.lua | 117 ++ .../TimorousDeep/apowerinfusedHaoaeran.lua | 28 + .../TimorousDeep/arestingsoldier.lua | 29 + Lua/SpawnScripts/TimorousDeep/curiousore.lua | 17 + .../filamentencapsulatedmonitor.lua | 17 + .../TimorousDeep/qst_diki_weapons.lua | 17 + .../TimorousDeep/qst_hirki_x1_supplies.lua | 22 + Lua/SpawnScripts/TimorousDeep/tortoiseegg.lua | 18 + .../TimorousDeep/unearthedrelic.lua | 17 + Lua/SpawnScripts/WailingCaves/CogBurn.lua | 69 + .../WailingCaves/fallingrocks.lua | 20 + .../WestFreeport/Patrol_Follow_Panilia.lua | 52 + .../WestFreeport/Patrol_PaniliaLUn.lua | 151 ++ .../WillowWood/AeliaOakweaver.lua | 19 + Lua/SpawnScripts/WillowWood/Aelis.lua | 378 +++++ Lua/SpawnScripts/WillowWood/Baynor.lua | 14 + .../WillowWood/BrigetCrestmyst.lua | 21 + .../WillowWood/DaelynTwinstar.lua | 389 +++++ .../WillowWood/DavynThornbranch.lua | 286 ++++ Lua/SpawnScripts/WillowWood/Deephathom.lua | 23 + .../WillowWood/DrystanSeaside.lua | 38 + .../WillowWood/FeredirNaDuath.lua | 77 + Lua/SpawnScripts/WillowWood/GarSmolten.lua | 144 ++ .../WillowWood/HallieSummerglint.lua | 21 + Lua/SpawnScripts/WillowWood/Honeysuckle.lua | 19 + .../WillowWood/HunterLatharForestdeep.lua | 31 + Lua/SpawnScripts/WillowWood/HunterVannil.lua | 87 ++ .../WillowWood/InnkeeperYeoni.lua | 169 +++ .../WillowWood/JanaWindstream.lua | 86 ++ .../WillowWood/JendanGreenthorn.lua | 12 + Lua/SpawnScripts/WillowWood/Kelethin.lua | 41 + .../WillowWood/KualdinSwoonsong.lua | 40 + Lua/SpawnScripts/WillowWood/LiaSerene.lua | 127 ++ Lua/SpawnScripts/WillowWood/LyssiaDelnara.lua | 104 ++ Lua/SpawnScripts/WillowWood/MiloFaren.lua | 90 ++ .../WillowWood/OseofCrestryder.lua | 40 + Lua/SpawnScripts/WillowWood/Rainwander.lua | 21 + Lua/SpawnScripts/WillowWood/RebekaLori.lua | 25 + Lua/SpawnScripts/WillowWood/Salinor.lua | 29 + Lua/SpawnScripts/WillowWood/TavalZane.lua | 77 + .../WillowWood/ThayareFaystrider.lua | 185 +++ .../WillowWood/TheaWavecrasher.lua | 21 + .../WillowWood/TrellyGreenfoot.lua | 99 ++ Lua/SpawnScripts/WillowWood/Trueshot.lua | 28 + Lua/SpawnScripts/WillowWood/Walterson.lua | 26 + Lua/SpawnScripts/WillowWood/Windstep.lua | 29 + .../WillowWood/WoodsunFlowers.lua | 20 + .../WillowWood/ZanhassMossclean.lua | 23 + Lua/SpawnScripts/WillowWood/aDewdropbush.lua | 20 + Lua/SpawnScripts/WillowWood/acrate.lua | 49 + Lua/SpawnScripts/WillowWood/afallenegg.lua | 56 + .../WillowWood/aloosepieceofpaper.lua | 73 + .../WillowWood/qstunseenhandcrate1.lua | 27 + Lua/SpawnScripts/Zek/IsmenaCellus.lua | 117 ++ Lua/SpawnScripts/Zek/VigoCerebus.lua | 33 + Lua/SpawnScripts/Zek/astablemaster.lua | 266 ++++ Lua/SpawnScripts/Zek/transportmine.lua | 16 + Lua/Spells/AbsoluteZero.lua | 10 + Lua/Spells/Accelerando.lua | 11 + Lua/Spells/Adaptable.lua | 10 + Lua/Spells/AgileMovements.lua | 10 + Lua/Spells/AllyRevivification.lua | 10 + Lua/Spells/AuraofLeadership.lua | 14 + Lua/Spells/BindWound.lua | 15 + Lua/Spells/Commoner/ABasicFirework.lua | 14 + Lua/Spells/Commoner/AFancyFirework.lua | 13 + Lua/Spells/Commoner/BetaCarpet.lua | 25 + Lua/Spells/Commoner/BetaDamage.lua | 55 + Lua/Spells/Commoner/BetaGriffon.lua | 25 + Lua/Spells/Commoner/BetaHeal.lua | 40 + Lua/Spells/Commoner/BetaMount.lua | 25 + Lua/Spells/Commoner/BindWound.lua | 13 + Lua/Spells/Commoner/BoombasPickles.lua | 18 + Lua/Spells/Commoner/CalltoHome.lua | 20 + Lua/Spells/Commoner/Destroying.lua | 14 + Lua/Spells/Commoner/DrawUponHeart.lua | 19 + Lua/Spells/Commoner/DrawuponEssence.lua | 14 + .../Commoner/FireworkRosePetalShower.lua | 14 + .../Commoner/FireworkSwirlingSnowflakes.lua | 14 + .../Commoner/GigglegibberGiggleGiver.lua | 10 + Lua/Spells/Commoner/HolySteed.lua | 22 + Lua/Spells/Commoner/Hover.lua | 11 + Lua/Spells/Commoner/Knockdown.lua | 23 + Lua/Spells/Commoner/MoleratTest.lua | 19 + Lua/Spells/Commoner/Multitalented.lua | 21 + Lua/Spells/Commoner/NormalDrink.lua | 15 + Lua/Spells/Commoner/NormalMeal.lua | 15 + Lua/Spells/Commoner/Pathfinding.lua | 18 + Lua/Spells/Commoner/Pets.lua | 19 + Lua/Spells/Commoner/Refine.lua | 10 + Lua/Spells/Commoner/Salvage.lua | 10 + Lua/Spells/Commoner/SetRecallPoint.lua | 16 + Lua/Spells/Commoner/Sprint.lua | 63 + Lua/Spells/Commoner/StunsporeParalysis.lua | 15 + Lua/Spells/Commoner/SummonGazerPet.lua | 19 + Lua/Spells/Commoner/SummonMount.lua | 23 + .../Commoner/SummonaBitterGingerdreadPet.lua | 18 + Lua/Spells/Commoner/TouchoftheGray.lua | 20 + Lua/Spells/Commoner/Tracking.lua | 14 + Lua/Spells/Commoner/Transmute.lua | 12 + Lua/Spells/Commoner/flaskofwater.lua | 17 + Lua/Spells/Commoner/harvest.lua | 19 + Lua/Spells/Commoner/ration.lua | 18 + Lua/Spells/Fighter/Brawler/Bruiser/Abuse.lua | 20 + .../Fighter/Brawler/Bruiser/Beatdown.lua | 15 + .../Fighter/Brawler/Bruiser/BlazeKick.lua | 21 + .../Brawler/Bruiser/BlazingStrikes.lua | 55 + .../Fighter/Brawler/Bruiser/BobandWeave.lua | 25 + .../Fighter/Brawler/Bruiser/Bodyguard.lua | 46 + Lua/Spells/Fighter/Brawler/Bruiser/Brag.lua | 30 + .../Fighter/Brawler/Bruiser/BruisingFist.lua | 55 + .../Brawler/Bruiser/BruisingSpirit.lua | 16 + .../Fighter/Brawler/Bruiser/Brutality.lua | 27 + .../Fighter/Brawler/Bruiser/CloseMind.lua | 24 + .../Brawler/Bruiser/DivideandConquer.lua | 27 + .../Fighter/Brawler/Bruiser/EyeGouge.lua | 29 + .../Fighter/Brawler/Bruiser/FistofGorynn.lua | 38 + .../Fighter/Brawler/Bruiser/IgnoreBruises.lua | 18 + .../Fighter/Brawler/Bruiser/IgnorePain.lua | 15 + Lua/Spells/Fighter/Brawler/Bruiser/Impose.lua | 30 + .../Brawler/Bruiser/IndomitableWill.lua | 14 + .../Fighter/Brawler/Bruiser/Intimidate.lua | 14 + .../Brawler/Bruiser/KnockoutCombination.lua | 24 + .../Brawler/Bruiser/LightningFists.lua | 27 + .../Fighter/Brawler/Bruiser/Manhandle.lua | 12 + .../Brawler/Bruiser/MercilessStomp.lua | 33 + .../Fighter/Brawler/Bruiser/MeteorFist.lua | 16 + .../Brawler/Bruiser/OneHundredHandPunch.lua | 71 + Lua/Spells/Fighter/Brawler/Bruiser/Pummel.lua | 22 + .../Fighter/Brawler/Bruiser/RockSkin.lua | 24 + .../Fighter/Brawler/Bruiser/Roundhouse.lua | 16 + .../Fighter/Brawler/Bruiser/SavageAssault.lua | 39 + .../Brawler/Bruiser/ShoulderCharge.lua | 33 + .../Fighter/Brawler/Bruiser/ShrugOff.lua | 26 + .../Fighter/Brawler/Bruiser/SlurredInsult.lua | 17 + .../Brawler/Bruiser/SmolderingFists.lua | 35 + .../Fighter/Brawler/Bruiser/SonicPunch.lua | 11 + .../Fighter/Brawler/Bruiser/StoneDeaf.lua | 24 + .../Fighter/Brawler/Bruiser/SuckerPunch.lua | 33 + .../Brawler/Bruiser/UnyieldingResolve.lua | 30 + .../Fighter/Brawler/Bruiser/Uppercut.lua | 27 + Lua/Spells/Fighter/Brawler/BruisingStrike.lua | 11 + .../Fighter/Brawler/DevastationFist.lua | 27 + Lua/Spells/Fighter/Brawler/FeignDeath.lua | 25 + Lua/Spells/Fighter/Brawler/FlyingKick.lua | 14 + Lua/Spells/Fighter/Brawler/FocusedStrike.lua | 16 + Lua/Spells/Fighter/Brawler/InstillPanic.lua | 28 + Lua/Spells/Fighter/Brawler/MartialFocus.lua | 16 + .../Fighter/Brawler/Monk/ArcticTalon.lua | 24 + .../Fighter/Brawler/Monk/BodyLikeMountain.lua | 18 + .../Fighter/Brawler/Monk/CalmTranquility.lua | 19 + Lua/Spells/Fighter/Brawler/Monk/Challenge.lua | 21 + .../Fighter/Brawler/Monk/ChargingTiger.lua | 33 + .../Fighter/Brawler/Monk/CobraCircle.lua | 55 + Lua/Spells/Fighter/Brawler/Monk/ColdFist.lua | 55 + .../Fighter/Brawler/Monk/CrescentStrike.lua | 16 + .../Fighter/Brawler/Monk/CrouchingTiger.lua | 43 + .../Fighter/Brawler/Monk/DragonRage.lua | 11 + .../Fighter/Brawler/Monk/Dragonfire.lua | 20 + .../Fighter/Brawler/Monk/EverburningFlame.lua | 17 + .../Fighter/Brawler/Monk/FallofthePhoenix.lua | 24 + Lua/Spells/Fighter/Brawler/Monk/FiveRings.lua | 31 + .../Fighter/Brawler/Monk/FlowLikeWind.lua | 27 + Lua/Spells/Fighter/Brawler/Monk/Focus.lua | 18 + .../Fighter/Brawler/Monk/FrozenPalm.lua | 16 + Lua/Spells/Fighter/Brawler/Monk/InnerCalm.lua | 22 + .../Fighter/Brawler/Monk/LightningPalm.lua | 27 + Lua/Spells/Fighter/Brawler/Monk/Mend.lua | 17 + Lua/Spells/Fighter/Brawler/Monk/Mendpct.lua | 16 + .../Fighter/Brawler/Monk/MountainStance.lua | 21 + .../Fighter/Brawler/Monk/OutwardCalm.lua | 10 + Lua/Spells/Fighter/Brawler/Monk/Peel.lua | 16 + .../Fighter/Brawler/Monk/PerfectSerenity.lua | 33 + .../Fighter/Brawler/Monk/RisingDragon.lua | 24 + .../Fighter/Brawler/Monk/RisingPhoenix.lua | 29 + .../Fighter/Brawler/Monk/RoundhouseKick.lua | 16 + .../Fighter/Brawler/Monk/SilentPalm.lua | 26 + .../Fighter/Brawler/Monk/SilentThreat.lua | 16 + Lua/Spells/Fighter/Brawler/Monk/Stare.lua | 30 + .../Fighter/Brawler/Monk/StrikingCobra.lua | 20 + .../Fighter/Brawler/Monk/TranquilVision.lua | 11 + Lua/Spells/Fighter/Brawler/Monk/Tsunami.lua | 24 + .../Fighter/Brawler/Monk/WakingDragon.lua | 23 + .../Fighter/Brawler/Monk/WalkingDragon.lua | 55 + .../Fighter/Brawler/Monk/WilloftheHeavens.lua | 18 + Lua/Spells/Fighter/Brawler/Monk/WindWalk.lua | 21 + Lua/Spells/Fighter/Brawler/PowerStrike.lua | 23 + Lua/Spells/Fighter/Brawler/RapidSwings.lua | 21 + Lua/Spells/Fighter/Brawler/ShoulderCharge.lua | 28 + Lua/Spells/Fighter/Brawler/TauntingSlap.lua | 16 + Lua/Spells/Fighter/Brawler/ThrustKick.lua | 28 + .../Fighter/Brawler/ThunderingFists.lua | 23 + Lua/Spells/Fighter/Crusader/DoomJudgment.lua | 24 + .../Fighter/Crusader/Paladin/Amends.lua | 25 + .../Fighter/Crusader/Paladin/AncientWrath.lua | 29 + .../Crusader/Paladin/BlessedWeapon.lua | 44 + .../Crusader/Paladin/BlessingofthePaladin.lua | 27 + .../Fighter/Crusader/Paladin/Castigate.lua | 24 + .../Fighter/Crusader/Paladin/Clarion.lua | 22 + .../Fighter/Crusader/Paladin/Consecrate.lua | 11 + .../Fighter/Crusader/Paladin/Crusade.lua | 24 + .../Fighter/Crusader/Paladin/Decree.lua | 19 + .../Crusader/Paladin/DemonstrationofFaith.lua | 16 + .../Crusader/Paladin/DevoutSacrament.lua | 21 + .../Fighter/Crusader/Paladin/DivineFavor.lua | 24 + .../Crusader/Paladin/DivineInspiration.lua | 31 + .../Crusader/Paladin/DivineVengeance.lua | 35 + .../Paladin/ElixirofResuscitation.lua | 25 + .../Fighter/Crusader/Paladin/FaithStrike.lua | 22 + .../Fighter/Crusader/Paladin/HeroicDash.lua | 31 + .../Fighter/Crusader/Paladin/HolyAid.lua | 20 + .../Fighter/Crusader/Paladin/HolyAidT1.lua | 20 + .../Fighter/Crusader/Paladin/HolyAvenger.lua | 25 + .../Fighter/Crusader/Paladin/HolyCircle.lua | 32 + .../Fighter/Crusader/Paladin/HolyGround.lua | 24 + .../Fighter/Crusader/Paladin/HolyStrike.lua | 18 + .../Fighter/Crusader/Paladin/Incite.lua | 30 + .../Fighter/Crusader/Paladin/Judgment.lua | 19 + .../Crusader/Paladin/KnightsStance.lua | 16 + .../Fighter/Crusader/Paladin/LayonHands.lua | 24 + .../Fighter/Crusader/Paladin/MarrsFavor.lua | 31 + .../Fighter/Crusader/Paladin/PenitentKick.lua | 26 + .../Fighter/Crusader/Paladin/PowerCleave.lua | 16 + .../Crusader/Paladin/PrayerofHealing.lua | 25 + .../Crusader/Paladin/RefusalofAtonement.lua | 18 + .../Crusader/Paladin/ResoluteFaith.lua | 26 + .../Crusader/Paladin/Righteousness.lua | 23 + .../Crusader/Paladin/SigilofHeroism.lua | 24 + .../Fighter/Crusader/Paladin/WrathStance.lua | 25 + .../Fighter/Crusader/PledgeofArmament.lua | 26 + .../Crusader/Shadowknight/Blasphemy.lua | 26 + .../Crusader/Shadowknight/Bloodletter.lua | 24 + .../Crusader/Shadowknight/CleaveFlesh.lua | 23 + .../Crusader/Shadowknight/CondemningSmite.lua | 55 + .../Crusader/Shadowknight/DarkBlade.lua | 34 + .../Crusader/Shadowknight/DeathCloud.lua | 25 + .../Crusader/Shadowknight/DeathMarch.lua | 24 + .../Fighter/Crusader/Shadowknight/Decree.lua | 30 + .../Crusader/Shadowknight/DeviousEvasion.lua | 11 + .../Crusader/Shadowknight/DevourVitae.lua | 17 + .../Crusader/Shadowknight/DevouringMist.lua | 24 + .../Crusader/Shadowknight/DreadfulWrath.lua | 39 + .../Crusader/Shadowknight/GraveSacrament.lua | 30 + .../Crusader/Shadowknight/GrimHarbinger.lua | 28 + .../Crusader/Shadowknight/HarmTouch.lua | 16 + .../Crusader/Shadowknight/HatefulSlam.lua | 41 + .../Crusader/Shadowknight/InnoruuksCaress.lua | 30 + .../Shadowknight/InsidiousWhisper.lua | 48 + .../Crusader/Shadowknight/LucansPact.lua | 40 + .../Fighter/Crusader/Shadowknight/Malice.lua | 16 + .../Crusader/Shadowknight/ManaSieve.lua | 22 + .../Crusader/Shadowknight/MortalEmbrace.lua | 25 + .../Shadowknight/OffensivePresence.lua | 55 + .../Crusader/Shadowknight/Painbringer.lua | 40 + .../Crusader/Shadowknight/PainbringerPct.lua | 39 + .../Crusader/Shadowknight/Pestilence.lua | 15 + .../Crusader/Shadowknight/SeethingHatred.lua | 30 + .../Crusader/Shadowknight/ShadowCoil.lua | 25 + .../Crusader/Shadowknight/ShadowyElusion.lua | 11 + .../Crusader/Shadowknight/SickeningCircle.lua | 55 + .../Crusader/Shadowknight/SiphonStrength.lua | 23 + .../Crusader/Shadowknight/SiphonStrike.lua | 24 + .../Crusader/Shadowknight/Soulrend.lua | 34 + .../Crusader/Shadowknight/TapVeins.lua | 20 + .../Crusader/Shadowknight/TouchofDeath.lua | 26 + .../Crusader/Shadowknight/UnendingAgony.lua | 21 + .../Crusader/Shadowknight/UnholyBlessing.lua | 33 + .../Crusader/Shadowknight/UnholyHunger.lua | 30 + .../Crusader/Shadowknight/UnholyStrength.lua | 19 + Lua/Spells/Fighter/FightingChance.lua | 18 + Lua/Spells/Fighter/Intercept.lua | 28 + Lua/Spells/Fighter/Kick.lua | 55 + Lua/Spells/Fighter/MastersRage.lua | 23 + Lua/Spells/Fighter/Provoke.lua | 25 + Lua/Spells/Fighter/Recklessness.lua | 33 + Lua/Spells/Fighter/Rescue.lua | 26 + Lua/Spells/Fighter/Taunt.lua | 34 + Lua/Spells/Fighter/Warrior/Anger.lua | 21 + .../Warrior/Berserker/AbandonedFury.lua | 28 + .../Fighter/Warrior/Berserker/Adrenaline.lua | 29 + .../Warrior/Berserker/AggressiveDefense.lua | 16 + .../Fighter/Warrior/Berserker/BerserkRage.lua | 18 + .../Warrior/Berserker/BerserkerOnslaught.lua | 16 + .../Fighter/Warrior/Berserker/BloodRage.lua | 13 + .../Fighter/Warrior/Berserker/Bloodbath.lua | 15 + .../Fighter/Warrior/Berserker/Bloodlust.lua | 16 + .../Fighter/Warrior/Berserker/Bloodshower.lua | 55 + .../Fighter/Warrior/Berserker/BodyCheck.lua | 31 + .../Fighter/Warrior/Berserker/Chaos.lua | 20 + .../Warrior/Berserker/ControlledRage.lua | 30 + .../Fighter/Warrior/Berserker/Demolish.lua | 28 + .../Warrior/Berserker/DestructiveRage.lua | 17 + .../Fighter/Warrior/Berserker/Enrage.lua | 18 + .../Fighter/Warrior/Berserker/Frenzy.lua | 21 + .../Fighter/Warrior/Berserker/Growl.lua | 30 + .../Fighter/Warrior/Berserker/HeadCrush.lua | 20 + .../Fighter/Warrior/Berserker/Insolence.lua | 30 + .../Fighter/Warrior/Berserker/Juggernaut.lua | 31 + .../Fighter/Warrior/Berserker/KneeBreak.lua | 18 + Lua/Spells/Fighter/Warrior/Berserker/Maul.lua | 27 + Lua/Spells/Fighter/Warrior/Berserker/Mock.lua | 20 + .../Fighter/Warrior/Berserker/Mutilate.lua | 34 + .../Fighter/Warrior/Berserker/Offend.lua | 30 + .../Fighter/Warrior/Berserker/OpenWounds.lua | 28 + .../Fighter/Warrior/Berserker/RagingBlow.lua | 19 + .../Fighter/Warrior/Berserker/Rampage.lua | 27 + .../Warrior/Berserker/RecklessAide.lua | 26 + .../Fighter/Warrior/Berserker/Rupture.lua | 19 + .../Warrior/Berserker/StanceGreaterFury.lua | 28 + .../Warrior/Berserker/StanceUnbridledFury.lua | 28 + .../Warrior/Berserker/StunningRoar.lua | 23 + .../Warrior/Berserker/UnflinchingWill.lua | 35 + .../Warrior/Berserker/VisionofMadness.lua | 33 + .../Warrior/Berserker/WallofHatred.lua | 32 + .../Fighter/Warrior/Berserker/WallofRage.lua | 15 + .../Fighter/Warrior/Berserker/WarCry.lua | 33 + .../Warrior/Berserker/WeaponCounter.lua | 12 + .../Fighter/Warrior/Berserker/Whirl.lua | 24 + .../Fighter/Warrior/Berserker/Whirlwind.lua | 26 + .../Fighter/Warrior/Guardian/Armored.lua | 31 + .../Fighter/Warrior/Guardian/Assault.lua | 15 + Lua/Spells/Fighter/Warrior/Guardian/Bash.lua | 18 + .../Fighter/Warrior/Guardian/BattleCry.lua | 21 + .../Warrior/Guardian/BattleTactics.lua | 16 + .../Warrior/Guardian/CallofShielding.lua | 20 + .../Fighter/Warrior/Guardian/CalltoArms.lua | 21 + .../Fighter/Warrior/Guardian/Concussion.lua | 27 + .../Fighter/Warrior/Guardian/Decimate.lua | 28 + .../Warrior/Guardian/ForwardCharge.lua | 24 + .../Warrior/Guardian/GuardianSphere.lua | 30 + .../Fighter/Warrior/Guardian/GutKick.lua | 22 + .../Fighter/Warrior/Guardian/HoldtheLine.lua | 19 + .../Fighter/Warrior/Guardian/HunkerDown.lua | 34 + .../Fighter/Warrior/Guardian/IronWill.lua | 27 + .../Fighter/Warrior/Guardian/Moderate.lua | 26 + .../Warrior/Guardian/NeverSurrender.lua | 26 + .../Fighter/Warrior/Guardian/Overpower.lua | 18 + Lua/Spells/Fighter/Warrior/Guardian/Plant.lua | 14 + .../Warrior/Guardian/PreciseStrike.lua | 18 + .../Fighter/Warrior/Guardian/Provoke.lua | 21 + .../Fighter/Warrior/Guardian/Recapture.lua | 26 + .../Warrior/Guardian/Reinforcement.lua | 27 + .../Fighter/Warrior/Guardian/Retaliate.lua | 26 + Lua/Spells/Fighter/Warrior/Guardian/Ruin.lua | 35 + .../Fighter/Warrior/Guardian/Sentinel.lua | 28 + .../Fighter/Warrior/Guardian/SentryWatch.lua | 33 + Lua/Spells/Fighter/Warrior/Guardian/Sever.lua | 31 + .../Fighter/Warrior/Guardian/ShieldBash.lua | 20 + Lua/Spells/Fighter/Warrior/Guardian/Shout.lua | 21 + Lua/Spells/Fighter/Warrior/Guardian/Slam.lua | 16 + .../Warrior/Guardian/TauntingAssault.lua | 20 + .../Fighter/Warrior/Guardian/TauntingBlow.lua | 25 + .../Fighter/Warrior/Guardian/TowerofStone.lua | 26 + .../Warrior/Guardian/WrathofVelArek.lua | 37 + Lua/Spells/Fighter/Warrior/Mangle.lua | 25 + Lua/Spells/Fighter/Warrior/UnyieldingWill.lua | 30 + Lua/Spells/FurPluck.lua | 13 + Lua/Spells/KineticistsIntelligence.lua | 18 + Lua/Spells/Mage/AbsorbMagic.lua | 27 + Lua/Spells/Mage/ArcaneAugur.lua | 26 + Lua/Spells/Mage/CallServant.lua | 25 + Lua/Spells/Mage/CureMagic.lua | 20 + Lua/Spells/Mage/Enchanter/Blink.lua | 27 + Lua/Spells/Mage/Enchanter/Coercer/Amnesia.lua | 28 + Lua/Spells/Mage/Enchanter/Coercer/Asylum.lua | 40 + .../Mage/Enchanter/Coercer/Brainshock.lua | 33 + Lua/Spells/Mage/Enchanter/Coercer/Breeze.lua | 16 + .../Enchanter/Coercer/CannibalizeThoughts.lua | 26 + .../Mage/Enchanter/Coercer/CerebralShock.lua | 39 + Lua/Spells/Mage/Enchanter/Coercer/Channel.lua | 11 + Lua/Spells/Mage/Enchanter/Coercer/Charm.lua | 37 + .../Enchanter/Coercer/DestructiveMind.lua | 27 + .../Mage/Enchanter/Coercer/EgoShock.lua | 26 + .../Enchanter/Coercer/EnragingDemeanor.lua | 24 + .../Enchanter/Coercer/ForcedHesitation.lua | 35 + .../Mage/Enchanter/Coercer/Hemorrhage.lua | 21 + .../Mage/Enchanter/Coercer/HemorrhageX.lua | 26 + Lua/Spells/Mage/Enchanter/Coercer/Hostage.lua | 27 + .../Mage/Enchanter/Coercer/LashingGaze.lua | 39 + .../Mage/Enchanter/Coercer/MedusaGaze.lua | 26 + .../Mage/Enchanter/Coercer/Mesmerize.lua | 22 + .../Mage/Enchanter/Coercer/MindBlast.lua | 30 + .../Mage/Enchanter/Coercer/Mindbend.lua | 28 + .../Mage/Enchanter/Coercer/MindsEye.lua | 10 + .../Enchanter/Coercer/ObliteratedPsyche.lua | 18 + .../Mage/Enchanter/Coercer/PeacefulLink.lua | 27 + .../Mage/Enchanter/Coercer/PossessEssence.lua | 24 + .../Mage/Enchanter/Coercer/PowerofMind.lua | 19 + .../Mage/Enchanter/Coercer/Puppetmaster.lua | 26 + Lua/Spells/Mage/Enchanter/Coercer/PureAwe.lua | 14 + .../Mage/Enchanter/Coercer/ReekofTerror.lua | 28 + .../Mage/Enchanter/Coercer/ShiftMana.lua | 16 + .../Mage/Enchanter/Coercer/ShockWave.lua | 24 + .../Enchanter/Coercer/SignetofIntellect.lua | 21 + Lua/Spells/Mage/Enchanter/Coercer/Silence.lua | 35 + .../Mage/Enchanter/Coercer/SimpleMinds.lua | 29 + .../Mage/Enchanter/Coercer/SirensGift.lua | 30 + .../Mage/Enchanter/Coercer/SirensStare.lua | 25 + .../Mage/Enchanter/Coercer/SpellCurse.lua | 27 + Lua/Spells/Mage/Enchanter/Coercer/Stupefy.lua | 19 + Lua/Spells/Mage/Enchanter/Coercer/Unveil.lua | 26 + .../Mage/Enchanter/Coercer/Velocity.lua | 16 + .../Mage/Enchanter/Illusionist/Aneurysm.lua | 21 + .../Enchanter/Illusionist/AspectofGenius.lua | 17 + .../Illusionist/BarrierofIntellect.lua | 29 + .../Enchanter/Illusionist/Bewilderment.lua | 19 + .../Mage/Enchanter/Illusionist/Brainburst.lua | 23 + .../Enchanter/Illusionist/ChromaticShower.lua | 13 + .../Enchanter/Illusionist/ChromaticStorm.lua | 26 + .../Mage/Enchanter/Illusionist/Dismay.lua | 24 + .../Enchanter/Illusionist/Doppelganger.lua | 25 + .../Mage/Enchanter/Illusionist/Entrance.lua | 14 + .../Mage/Enchanter/Illusionist/Epiphany.lua | 16 + .../Enchanter/Illusionist/ExtractMana.lua | 16 + .../Illusionist/FlashofBrilliance.lua | 28 + .../Enchanter/Illusionist/IllusoryAllies.lua | 28 + .../Enchanter/Illusionist/IllusoryMask.lua | 21 + .../Mage/Enchanter/Illusionist/Lockdown.lua | 53 + .../Mage/Enchanter/Illusionist/Manatap.lua | 34 + .../Mage/Enchanter/Illusionist/Migraine.lua | 31 + .../Enchanter/Illusionist/MirageMastery.lua | 32 + .../Mage/Enchanter/Illusionist/Nightmare.lua | 23 + .../Mage/Enchanter/Illusionist/Paranoia.lua | 23 + .../Illusionist/PersonaeReflection.lua | 10 + .../Enchanter/Illusionist/PhantasmalAwe.lua | 14 + .../Enchanter/Illusionist/PhantasmalBlast.lua | 55 + .../Mage/Enchanter/Illusionist/Phase.lua | 27 + .../Enchanter/Illusionist/PrismaticChaos.lua | 26 + .../Mage/Enchanter/Illusionist/Rapidity.lua | 20 + .../Mage/Enchanter/Illusionist/Regalia.lua | 29 + .../Enchanter/Illusionist/RuneofThought.lua | 20 + .../Mage/Enchanter/Illusionist/Savante.lua | 24 + .../Enchanter/Illusionist/ShiftVision.lua | 26 + .../Mage/Enchanter/Illusionist/Speechless.lua | 21 + .../Enchanter/Illusionist/Spellshield.lua | 24 + .../Enchanter/Illusionist/StormofColors.lua | 39 + .../Mage/Enchanter/Illusionist/Synergism.lua | 28 + .../Mage/Enchanter/Illusionist/Theorems.lua | 12 + .../Enchanter/Illusionist/UltravioletBeam.lua | 16 + .../Illusionist/UltravioletBeamX.lua | 25 + Lua/Spells/Mage/Enchanter/ManaCloak.lua | 24 + Lua/Spells/Mage/Enchanter/VeiloftheUnseen.lua | 26 + Lua/Spells/Mage/LightningBurst.lua | 18 + Lua/Spells/Mage/MagisShielding.lua | 24 + Lua/Spells/Mage/MastersStrike.lua | 55 + Lua/Spells/Mage/SeeInvisibility.lua | 25 + Lua/Spells/Mage/ShrinkServant.lua | 26 + .../Mage/Sorcerer/SummonAnimatedTome.lua | 20 + Lua/Spells/Mage/Sorcerer/SummonShadows.lua | 24 + .../Mage/Sorcerer/Warlock/Absolution.lua | 16 + Lua/Spells/Mage/Sorcerer/Warlock/Acid.lua | 24 + Lua/Spells/Mage/Sorcerer/Warlock/AcidRain.lua | 30 + .../Mage/Sorcerer/Warlock/AcidStorm.lua | 15 + .../Mage/Sorcerer/Warlock/Apocalypse.lua | 27 + .../Sorcerer/Warlock/AspectofDarkness.lua | 20 + .../Mage/Sorcerer/Warlock/AuraofVoid.lua | 27 + .../Mage/Sorcerer/Warlock/BoonoftheDamned.lua | 18 + .../Mage/Sorcerer/Warlock/Cataclysm.lua | 40 + .../Mage/Sorcerer/Warlock/CorrosiveBlast.lua | 55 + .../Mage/Sorcerer/Warlock/CurseofDarkness.lua | 11 + .../Mage/Sorcerer/Warlock/CurseofVoid.lua | 21 + .../Mage/Sorcerer/Warlock/DarkInfestation.lua | 29 + .../Mage/Sorcerer/Warlock/DarkNebula.lua | 26 + Lua/Spells/Mage/Sorcerer/Warlock/DarkPact.lua | 20 + Lua/Spells/Mage/Sorcerer/Warlock/DarkPyre.lua | 25 + .../Mage/Sorcerer/Warlock/DarkSiphoning.lua | 55 + Lua/Spells/Mage/Sorcerer/Warlock/Dissolve.lua | 16 + .../Mage/Sorcerer/Warlock/DissolveX.lua | 16 + .../Mage/Sorcerer/Warlock/Distortion.lua | 17 + Lua/Spells/Mage/Sorcerer/Warlock/Encase.lua | 27 + Lua/Spells/Mage/Sorcerer/Warlock/Erupt.lua | 39 + Lua/Spells/Mage/Sorcerer/Warlock/GasCloud.lua | 30 + .../Sorcerer/Warlock/GiftofBertoxxulous.lua | 26 + .../Sorcerer/Warlock/GraspofBertoxxulous.lua | 15 + .../Mage/Sorcerer/Warlock/ManaTrickle.lua | 21 + .../Mage/Sorcerer/Warlock/NegativeVoid.lua | 10 + .../Mage/Sorcerer/Warlock/Netherealm.lua | 13 + .../Mage/Sorcerer/Warlock/Netherlord.lua | 17 + .../Mage/Sorcerer/Warlock/NetherousBind.lua | 38 + .../Mage/Sorcerer/Warlock/NullCaress.lua | 24 + Lua/Spells/Mage/Sorcerer/Warlock/Nullify.lua | 26 + Lua/Spells/Mage/Sorcerer/Warlock/Nullmail.lua | 30 + Lua/Spells/Mage/Sorcerer/Warlock/Rift.lua | 19 + .../Mage/Sorcerer/Warlock/Shadowsight.lua | 26 + .../Sorcerer/Warlock/ShroudofBertoxxulous.lua | 26 + .../Mage/Sorcerer/Warlock/SkeletalGrasp.lua | 13 + .../Mage/Sorcerer/Warlock/VacuumField.lua | 16 + .../Mage/Sorcerer/Warlock/VoidContract.lua | 13 + Lua/Spells/Mage/Sorcerer/Wizard/Aurora.lua | 15 + .../Mage/Sorcerer/Wizard/BallofFire.lua | 20 + Lua/Spells/Mage/Sorcerer/Wizard/Cease.lua | 26 + Lua/Spells/Mage/Sorcerer/Wizard/Converge.lua | 14 + Lua/Spells/Mage/Sorcerer/Wizard/Depart.lua | 12 + Lua/Spells/Mage/Sorcerer/Wizard/Engulf.lua | 39 + .../Mage/Sorcerer/Wizard/FireChamber.lua | 30 + Lua/Spells/Mage/Sorcerer/Wizard/Firestorm.lua | 17 + .../Mage/Sorcerer/Wizard/FocusedMind.lua | 31 + .../Mage/Sorcerer/Wizard/FortifyElements.lua | 19 + .../Mage/Sorcerer/Wizard/FrigidGift.lua | 24 + .../Mage/Sorcerer/Wizard/FurnaceofRo.lua | 24 + Lua/Spells/Mage/Sorcerer/Wizard/Fusion.lua | 15 + .../Mage/Sorcerer/Wizard/GlacialWind.lua | 30 + .../Mage/Sorcerer/Wizard/HarvestMana.lua | 25 + Lua/Spells/Mage/Sorcerer/Wizard/IceComet.lua | 23 + Lua/Spells/Mage/Sorcerer/Wizard/IceSpears.lua | 28 + Lua/Spells/Mage/Sorcerer/Wizard/Iceshield.lua | 27 + .../Mage/Sorcerer/Wizard/Immolation.lua | 31 + .../Mage/Sorcerer/Wizard/Incinerate.lua | 30 + .../Mage/Sorcerer/Wizard/LightningShock.lua | 55 + .../Mage/Sorcerer/Wizard/MagmaChamber.lua | 27 + .../Mage/Sorcerer/Wizard/MailofFrost.lua | 27 + .../Mage/Sorcerer/Wizard/ManaIntromission.lua | 13 + .../Mage/Sorcerer/Wizard/NumbingCold.lua | 24 + Lua/Spells/Mage/Sorcerer/Wizard/Portal.lua | 11 + .../Mage/Sorcerer/Wizard/Protoflame.lua | 25 + .../Sorcerer/Wizard/RaysofDisintegration.lua | 17 + Lua/Spells/Mage/Sorcerer/Wizard/RingofIce.lua | 32 + Lua/Spells/Mage/Sorcerer/Wizard/RosBlade.lua | 11 + Lua/Spells/Mage/Sorcerer/Wizard/Shackle.lua | 43 + .../Mage/Sorcerer/Wizard/Snow-filledSteps.lua | 26 + .../Mage/Sorcerer/Wizard/SolarFlare.lua | 15 + .../Mage/Sorcerer/Wizard/SolarFlareX.lua | 15 + .../Mage/Sorcerer/Wizard/StormingTempest.lua | 30 + .../Mage/Sorcerer/Wizard/StormofLightning.lua | 27 + Lua/Spells/Mage/Sorcerer/Wizard/SurgeofRo.lua | 26 + .../Mage/Sorcerer/Wizard/TyrantsPact.lua | 17 + .../Mage/Sorcerer/Wizard/VitalTransfer.lua | 14 + Lua/Spells/Mage/Summoner/AqueousSoul.lua | 18 + .../Mage/Summoner/Conjuror/AeryHunter.lua | 24 + .../Mage/Summoner/Conjuror/Antagonize.lua | 30 + .../Mage/Summoner/Conjuror/AqueousSwarm.lua | 18 + .../Mage/Summoner/Conjuror/BlazingAvatar.lua | 24 + Lua/Spells/Mage/Summoner/Conjuror/Burn.lua | 55 + .../Mage/Summoner/Conjuror/CallofTheHero.lua | 26 + Lua/Spells/Mage/Summoner/Conjuror/CatsEye.lua | 26 + .../Mage/Summoner/Conjuror/Communion.lua | 25 + .../Mage/Summoner/Conjuror/ConjurorsPact.lua | 38 + .../Mage/Summoner/Conjuror/CrystalBlast.lua | 18 + .../Mage/Summoner/Conjuror/CrystalBlastX.lua | 25 + .../Mage/Summoner/Conjuror/DefensiveHaven.lua | 49 + .../Mage/Summoner/Conjuror/EarthenAvatar.lua | 10 + .../Mage/Summoner/Conjuror/Earthquake.lua | 33 + .../Summoner/Conjuror/ElementalAspect.lua | 19 + .../Summoner/Conjuror/ElementalMastery.lua | 34 + .../Mage/Summoner/Conjuror/ElementalUnity.lua | 24 + .../Mage/Summoner/Conjuror/EssenceShift.lua | 15 + .../Summoner/Conjuror/FieryAnnihilation.lua | 17 + .../Mage/Summoner/Conjuror/FieryMagician.lua | 24 + .../Mage/Summoner/Conjuror/FireSeed.lua | 14 + .../Mage/Summoner/Conjuror/Flameshield.lua | 24 + .../Mage/Summoner/Conjuror/GeoticRune.lua | 23 + .../Mage/Summoner/Conjuror/HealServant.lua | 18 + .../Mage/Summoner/Conjuror/IceStorm.lua | 24 + .../Summoner/Conjuror/MastersIntervention.lua | 24 + .../Conjuror/NajenasEssenceSummoning.lua | 14 + Lua/Spells/Mage/Summoner/Conjuror/Petrify.lua | 29 + .../Mage/Summoner/Conjuror/PlaneShift.lua | 24 + .../Mage/Summoner/Conjuror/Quicksand.lua | 41 + .../Mage/Summoner/Conjuror/RoaringFlames.lua | 25 + .../Mage/Summoner/Conjuror/Sacrifice.lua | 13 + .../Mage/Summoner/Conjuror/SandBlast.lua | 55 + .../Mage/Summoner/Conjuror/ShardofEssence.lua | 14 + .../Mage/Summoner/Conjuror/ShatteredEarth.lua | 28 + Lua/Spells/Mage/Summoner/Conjuror/Sleet.lua | 42 + .../Mage/Summoner/Conjuror/Stoneskin.lua | 28 + .../Mage/Summoner/Conjuror/VehementSkin.lua | 24 + .../Mage/Summoner/Conjuror/WindsofVelious.lua | 27 + Lua/Spells/Mage/Summoner/Invisibility.lua | 32 + .../Mage/Summoner/MinionTranslocation.lua | 25 + .../Mage/Summoner/Necromancer/AwakenGrave.lua | 25 + .../Summoner/Necromancer/BlightedHorde.lua | 19 + .../Mage/Summoner/Necromancer/Bloodcloud.lua | 15 + .../Mage/Summoner/Necromancer/Bloodcoil.lua | 25 + .../Summoner/Necromancer/BloodyRitual.lua | 20 + .../Summoner/Necromancer/ChainsofTorment.lua | 45 + Lua/Spells/Mage/Summoner/Necromancer/Coil.lua | 39 + .../Mage/Summoner/Necromancer/Consumption.lua | 24 + .../Summoner/Necromancer/ControlUndead.lua | 28 + .../Mage/Summoner/Necromancer/DarkHeart.lua | 15 + .../Summoner/Necromancer/DeathlyPallor.lua | 16 + .../Summoner/Necromancer/DoomingDarkness.lua | 19 + Lua/Spells/Mage/Summoner/Necromancer/Fear.lua | 13 + .../Summoner/Necromancer/FeastingSoul.lua | 25 + .../Mage/Summoner/Necromancer/FlayersSoul.lua | 12 + .../Summoner/Necromancer/GraspingBones.lua | 19 + .../Mage/Summoner/Necromancer/GreaterRot.lua | 39 + .../Summoner/Necromancer/GrimSorcerer.lua | 21 + .../Summoner/Necromancer/GrislyProtection.lua | 59 + .../Summoner/Necromancer/HowloftheDamned.lua | 35 + Lua/Spells/Mage/Summoner/Necromancer/Lich.lua | 24 + .../Mage/Summoner/Necromancer/Lifetap.lua | 15 + .../Mage/Summoner/Necromancer/Locusts.lua | 39 + .../MiragulsDarkHeartSummoning.lua | 15 + .../Summoner/Necromancer/MortalityMark.lua | 14 + .../Summoner/Necromancer/NecromanticPact.lua | 34 + .../Necromancer/NecroticReconstruction.lua | 23 + .../Mage/Summoner/Necromancer/Nightshade.lua | 24 + .../Mage/Summoner/Necromancer/Pandemic.lua | 25 + .../Summoner/Necromancer/PestilentSoul.lua | 13 + .../Mage/Summoner/Necromancer/Rending.lua | 19 + .../Summoner/Necromancer/Revivication.lua | 22 + .../Necromancer/SecretsofVazaelle.lua | 34 + .../Mage/Summoner/Necromancer/ServileSoul.lua | 17 + .../Summoner/Necromancer/SiphoningofSouls.lua | 27 + .../Summoner/Necromancer/SoothingSoul.lua | 17 + .../Mage/Summoner/Necromancer/Soulrot.lua | 24 + .../Mage/Summoner/Necromancer/SoulrotX.lua | 25 + .../Necromancer/TeachingsoftheUnderworld.lua | 19 + .../Summoner/Necromancer/TransferLife.lua | 14 + .../Mage/Summoner/Necromancer/UndeadHorde.lua | 26 + .../Summoner/Necromancer/UndeadKnight.lua | 10 + .../Summoner/Necromancer/UnholyCovenant.lua | 19 + .../Summoner/Necromancer/UnlivingEyes.lua | 11 + .../Summoner/Necromancer/UnstoppableSoul.lua | 26 + .../Mage/Summoner/Necromancer/Vampirism.lua | 25 + Lua/Spells/Mage/Summoner/SootheServant.lua | 14 + Lua/Spells/Mage/Summoner/VampireBats.lua | 33 + Lua/Spells/Priest/Cleric/AdmonishingSmite.lua | 24 + Lua/Spells/Priest/Cleric/DivineAwakening.lua | 26 + .../Priest/Cleric/Inquisitor/Absolution.lua | 31 + .../Priest/Cleric/Inquisitor/ActofWar.lua | 24 + .../Inquisitor/AdmonishingInvocation.lua | 30 + .../Priest/Cleric/Inquisitor/Alleviation.lua | 12 + .../Cleric/Inquisitor/CleansingoftheSoul.lua | 27 + .../Cleric/Inquisitor/CombatTreatment.lua | 18 + .../Priest/Cleric/Inquisitor/Condemn.lua | 19 + .../Cleric/Inquisitor/ConversionoftheSoul.lua | 31 + Lua/Spells/Priest/Cleric/Inquisitor/Deny.lua | 19 + .../Cleric/Inquisitor/Disorientation.lua | 24 + Lua/Spells/Priest/Cleric/Inquisitor/Dogma.lua | 24 + .../Cleric/Inquisitor/EvidenceofFaith.lua | 26 + .../Cleric/Inquisitor/FanaticalHealing.lua | 11 + .../Priest/Cleric/Inquisitor/Fanaticism.lua | 24 + .../Cleric/Inquisitor/FanaticsFaith.lua | 20 + .../Priest/Cleric/Inquisitor/FerventFaith.lua | 24 + .../Cleric/Inquisitor/ForcedObedience.lua | 19 + .../Priest/Cleric/Inquisitor/Heresy.lua | 17 + .../Priest/Cleric/Inquisitor/HereticsDoom.lua | 18 + .../Priest/Cleric/Inquisitor/Incarcerate.lua | 30 + .../Priest/Cleric/Inquisitor/Inquest.lua | 24 + .../Priest/Cleric/Inquisitor/Inquisition.lua | 24 + .../Priest/Cleric/Inquisitor/Invocation.lua | 22 + .../Priest/Cleric/Inquisitor/Litany.lua | 15 + .../Cleric/Inquisitor/MalevolentDiatribe.lua | 25 + .../Priest/Cleric/Inquisitor/Ministration.lua | 12 + .../Cleric/Inquisitor/MinistrationX.lua | 24 + .../Cleric/Inquisitor/MinorRecovery.lua | 18 + .../Priest/Cleric/Inquisitor/Penance.lua | 28 + .../Cleric/Inquisitor/PurifyingFlames.lua | 25 + .../Priest/Cleric/Inquisitor/Redemption.lua | 24 + .../Cleric/Inquisitor/ReformingSoul.lua | 41 + .../Priest/Cleric/Inquisitor/Repentance.lua | 39 + .../Cleric/Inquisitor/ResoluteFlagellant.lua | 14 + .../Priest/Cleric/Inquisitor/Resurgence.lua | 41 + .../Priest/Cleric/Inquisitor/SacredArmor.lua | 16 + Lua/Spells/Priest/Cleric/Inquisitor/Shame.lua | 54 + Lua/Spells/Priest/Cleric/Inquisitor/Swill.lua | 26 + .../Priest/Cleric/Inquisitor/Tenacity.lua | 16 + .../Priest/Cleric/Inquisitor/Torment.lua | 24 + .../Inquisitor/TormentingConversion.lua | 34 + .../Priest/Cleric/Inquisitor/Vengeance.lua | 12 + .../Priest/Cleric/Inquisitor/Verdict.lua | 41 + .../Priest/Cleric/Inquisitor/Weakness.lua | 54 + .../Priest/Cleric/Inquisitor/Writhe.lua | 79 + Lua/Spells/Priest/Cleric/Odyssey.lua | 28 + Lua/Spells/Priest/Cleric/Radiance.lua | 27 + Lua/Spells/Priest/Cleric/SmiteCorruption.lua | 26 + Lua/Spells/Priest/Cleric/Soothe.lua | 28 + Lua/Spells/Priest/Cleric/Templar/Aegolism.lua | 19 + .../Priest/Cleric/Templar/Awestruck.lua | 28 + .../Priest/Cleric/Templar/BattlesReprieve.lua | 40 + .../Priest/Cleric/Templar/Beneficence.lua | 26 + .../Priest/Cleric/Templar/BlazeofFaith.lua | 12 + .../Priest/Cleric/Templar/BlazonLife.lua | 40 + .../Priest/Cleric/Templar/DevotedResolve.lua | 14 + .../Cleric/Templar/DivineArbitration.lua | 24 + .../Priest/Cleric/Templar/DivineLight.lua | 25 + .../Priest/Cleric/Templar/DivineSmite.lua | 15 + .../Priest/Cleric/Templar/DivineStrike.lua | 15 + .../Cleric/Templar/FocusedIntervention.lua | 24 + Lua/Spells/Priest/Cleric/Templar/Glory.lua | 24 + Lua/Spells/Priest/Cleric/Templar/Harmony.lua | 15 + .../Priest/Cleric/Templar/HealingFate.lua | 26 + .../Priest/Cleric/Templar/HolyArmor.lua | 15 + .../Cleric/Templar/HolyIntercession.lua | 24 + .../Priest/Cleric/Templar/HolySalvation.lua | 24 + .../Cleric/Templar/ImpenetrableFaith.lua | 29 + .../Priest/Cleric/Templar/InvoluntaryGift.lua | 27 + .../Priest/Cleric/Templar/MarkofDivinity.lua | 12 + .../Priest/Cleric/Templar/Meliorate.lua | 14 + .../Priest/Cleric/Templar/MeliorateX.lua | 24 + Lua/Spells/Priest/Cleric/Templar/Rebuke.lua | 15 + Lua/Spells/Priest/Cleric/Templar/Repent.lua | 25 + .../Priest/Cleric/Templar/Restoration.lua | 14 + .../Priest/Cleric/Templar/Resurrect.lua | 28 + .../Priest/Cleric/Templar/Reverence.lua | 26 + .../Priest/Cleric/Templar/Sanctuary.lua | 24 + .../Priest/Cleric/Templar/ShieldofFaith.lua | 11 + .../Cleric/Templar/SignofPacification.lua | 16 + .../Priest/Cleric/Templar/SymbolofMarzin.lua | 17 + .../Cleric/Templar/UnswervingHammer.lua | 24 + .../Cleric/Templar/UnyieldingBenediction.lua | 24 + Lua/Spells/Priest/Cleric/Templar/Virtue.lua | 28 + .../Cleric/Templar/VitalIntercession.lua | 26 + .../Priest/Cleric/Templar/WarringDeities.lua | 22 + .../Priest/Cleric/Templar/WateryRespite.lua | 26 + .../Cleric/Templar/WordofRedemption.lua | 15 + Lua/Spells/Priest/Cure.lua | 19 + Lua/Spells/Priest/CureCurse.lua | 26 + Lua/Spells/Priest/CureNoxious.lua | 13 + Lua/Spells/Priest/DivineProvidence.lua | 26 + Lua/Spells/Priest/Druid/CircleofGrowth.lua | 24 + Lua/Spells/Priest/Druid/FavorofthePhoenix.lua | 26 + Lua/Spells/Priest/Druid/Fury/Abolishment.lua | 13 + .../Priest/Druid/Fury/ArmorofNature.lua | 17 + Lua/Spells/Priest/Druid/Fury/AutumnsKiss.lua | 24 + .../Priest/Druid/Fury/BackintotheFray.lua | 24 + .../Priest/Druid/Fury/BallLightning.lua | 24 + Lua/Spells/Priest/Druid/Fury/Brambles.lua | 37 + Lua/Spells/Priest/Druid/Fury/CallofStorms.lua | 17 + .../Priest/Druid/Fury/CalloftheHunt.lua | 39 + Lua/Spells/Priest/Druid/Fury/DeathSwarm.lua | 39 + Lua/Spells/Priest/Druid/Fury/FaeFire.lua | 24 + Lua/Spells/Priest/Druid/Fury/Feast.lua | 17 + Lua/Spells/Priest/Druid/Fury/FeralPulse.lua | 26 + .../Priest/Druid/Fury/FeralTenacity.lua | 24 + .../Priest/Druid/Fury/FerocityoftheEel.lua | 26 + .../Priest/Druid/Fury/FierceRousing.lua | 35 + Lua/Spells/Priest/Druid/Fury/ForestSpirit.lua | 22 + Lua/Spells/Priest/Druid/Fury/Hibernation.lua | 11 + Lua/Spells/Priest/Druid/Fury/Intimidation.lua | 17 + Lua/Spells/Priest/Druid/Fury/KaranasHold.lua | 31 + Lua/Spells/Priest/Druid/Fury/Lucidity.lua | 19 + .../Priest/Druid/Fury/MaddeningSwarm.lua | 25 + .../Priest/Druid/Fury/MasteroftheHunt.lua | 19 + Lua/Spells/Priest/Druid/Fury/MinorElixir.lua | 18 + .../Priest/Druid/Fury/NaturesElixir.lua | 16 + Lua/Spells/Priest/Druid/Fury/NaturesSalve.lua | 17 + .../Priest/Druid/Fury/NaturesSalveX.lua | 20 + Lua/Spells/Priest/Druid/Fury/NaturesWrath.lua | 32 + .../Priest/Druid/Fury/PactoftheCheetah.lua | 24 + .../Priest/Druid/Fury/PeerlessPredator.lua | 35 + Lua/Spells/Priest/Druid/Fury/Porcupine.lua | 27 + Lua/Spells/Priest/Druid/Fury/PrimalFury.lua | 24 + .../Priest/Druid/Fury/PrimevalAwakening.lua | 47 + Lua/Spells/Priest/Druid/Fury/Regrowth.lua | 24 + Lua/Spells/Priest/Druid/Fury/RingofFire.lua | 24 + Lua/Spells/Priest/Druid/Fury/Salve.lua | 18 + Lua/Spells/Priest/Druid/Fury/Squall.lua | 39 + Lua/Spells/Priest/Druid/Fury/Starnova.lua | 19 + .../Priest/Druid/Fury/StingingSwarm.lua | 79 + Lua/Spells/Priest/Druid/Fury/Tempest.lua | 33 + Lua/Spells/Priest/Druid/Fury/Thornskin.lua | 27 + Lua/Spells/Priest/Druid/Fury/Thunderbolt.lua | 19 + .../Priest/Druid/Fury/UntamedRegeneration.lua | 16 + .../Priest/Druid/Fury/UntamedShroud.lua | 28 + .../Priest/Druid/Fury/WrathsBlessing.lua | 25 + Lua/Spells/Priest/Druid/Snare.lua | 26 + Lua/Spells/Priest/Druid/SpiritoftheBat.lua | 24 + Lua/Spells/Priest/Druid/SpiritoftheWolf.lua | 19 + Lua/Spells/Priest/Druid/SylvanTouch.lua | 22 + .../Priest/Druid/Warden/ArmorofSeasons.lua | 23 + .../Priest/Druid/Warden/AspectoftheForest.lua | 23 + Lua/Spells/Priest/Druid/Warden/Bloom.lua | 42 + Lua/Spells/Priest/Druid/Warden/Cold.lua | 24 + Lua/Spells/Priest/Druid/Warden/Dawnstrike.lua | 12 + Lua/Spells/Priest/Druid/Warden/Equinox.lua | 39 + .../Druid/Warden/EssenceoftheGreatBear.lua | 18 + Lua/Spells/Priest/Druid/Warden/FaerieAlly.lua | 24 + .../Priest/Druid/Warden/FavoroftheWild.lua | 21 + Lua/Spells/Priest/Druid/Warden/Frostbite.lua | 26 + .../Priest/Druid/Warden/GreaterFire.lua | 55 + .../Priest/Druid/Warden/HealingGrove.lua | 24 + Lua/Spells/Priest/Druid/Warden/Healstorm.lua | 19 + .../Druid/Warden/HierophanticGenesis.lua | 22 + Lua/Spells/Priest/Druid/Warden/Icefall.lua | 23 + .../Priest/Druid/Warden/InfuriatingThorns.lua | 29 + Lua/Spells/Priest/Druid/Warden/Instinct.lua | 20 + .../Priest/Druid/Warden/MinorFlorescence.lua | 42 + .../Priest/Druid/Warden/NaturesEmbrace.lua | 24 + .../Priest/Druid/Warden/NaturesPack.lua | 25 + .../Priest/Druid/Warden/NaturesRenewal.lua | 24 + .../Druid/Warden/NaturesRestoration.lua | 29 + .../Priest/Druid/Warden/NaturesTouch.lua | 24 + .../Priest/Druid/Warden/NereidsBoon.lua | 26 + .../Priest/Druid/Warden/Photosynthesis.lua | 20 + .../Druid/Warden/RegeneratingSpores.lua | 24 + .../Priest/Druid/Warden/Reincarnation.lua | 45 + Lua/Spells/Priest/Druid/Warden/Root.lua | 36 + Lua/Spells/Priest/Druid/Warden/Sandstorm.lua | 24 + .../Priest/Druid/Warden/SylvanBloom.lua | 22 + .../Priest/Druid/Warden/SylvanBloomX.lua | 24 + .../Priest/Druid/Warden/SylvanEmbrace.lua | 26 + Lua/Spells/Priest/Druid/Warden/Thorncoat.lua | 30 + .../Priest/Druid/Warden/Tranquility.lua | 17 + .../Priest/Druid/Warden/TunaresWatch.lua | 24 + .../Priest/Druid/Warden/Undergrowth.lua | 20 + .../Priest/Druid/Warden/VerdantWhisper.lua | 13 + .../Priest/Druid/Warden/VerdurousJourney.lua | 12 + .../Priest/Druid/Warden/WardenoftheForest.lua | 28 + .../Priest/Druid/Warden/WardoftheUntamed.lua | 24 + Lua/Spells/Priest/Druid/Warden/WillowWisp.lua | 14 + .../Priest/Druid/Warden/WindsofHealing.lua | 21 + .../Priest/Druid/Warden/WindsofPermafrost.lua | 27 + .../Priest/Druid/Warden/WintersBite.lua | 19 + .../Priest/Druid/Warden/WintersSting.lua | 18 + Lua/Spells/Priest/EnduringBreath.lua | 16 + Lua/Spells/Priest/MastersSmite.lua | 47 + Lua/Spells/Priest/Revive.lua | 41 + .../Priest/Shaman/Defiler/AbhorrentSeal.lua | 25 + .../Priest/Shaman/Defiler/Abomination.lua | 22 + Lua/Spells/Priest/Shaman/Defiler/Abominus.lua | 24 + .../Shaman/Defiler/AbsoluteCorruption.lua | 28 + .../Shaman/Defiler/AncestralAvenger.lua | 24 + .../Priest/Shaman/Defiler/AncientShroud.lua | 16 + .../Priest/Shaman/Defiler/AncientTerror.lua | 13 + Lua/Spells/Priest/Shaman/Defiler/Atrophy.lua | 19 + Lua/Spells/Priest/Shaman/Defiler/Balm.lua | 18 + .../Priest/Shaman/Defiler/BaneofWarding.lua | 11 + .../Priest/Shaman/Defiler/CarrionWarding.lua | 16 + .../Priest/Shaman/Defiler/CrystallizeSoul.lua | 24 + Lua/Spells/Priest/Shaman/Defiler/Curse.lua | 54 + .../Priest/Shaman/Defiler/Deathward.lua | 25 + Lua/Spells/Priest/Shaman/Defiler/Defile.lua | 30 + Lua/Spells/Priest/Shaman/Defiler/DireBalm.lua | 12 + .../Priest/Shaman/Defiler/DireBalmX.lua | 12 + .../Priest/Shaman/Defiler/FuliginousWhip.lua | 22 + .../Shaman/Defiler/GreaterImprecation.lua | 47 + .../Priest/Shaman/Defiler/Harbinger.lua | 19 + .../Priest/Shaman/Defiler/Imprecate.lua | 25 + .../Priest/Shaman/Defiler/Invective.lua | 12 + .../Priest/Shaman/Defiler/Maelstrom.lua | 13 + .../Priest/Shaman/Defiler/MailofSouls.lua | 13 + Lua/Spells/Priest/Shaman/Defiler/Malaise.lua | 79 + .../Shaman/Defiler/MinorSacrificialHeal.lua | 18 + .../Priest/Shaman/Defiler/Nightmares.lua | 26 + .../Priest/Shaman/Defiler/NoxiousEfflux.lua | 19 + .../Priest/Shaman/Defiler/Purulence.lua | 25 + Lua/Spells/Priest/Shaman/Defiler/Putrefy.lua | 24 + .../Priest/Shaman/Defiler/Reanimate.lua | 42 + .../Shaman/Defiler/SacrificialRestoration.lua | 12 + .../Priest/Shaman/Defiler/Senescence.lua | 42 + .../Priest/Shaman/Defiler/ShroudofArmor.lua | 28 + .../Shaman/Defiler/SinisterCountenance.lua | 30 + .../Priest/Shaman/Defiler/SoulCannibalize.lua | 21 + .../Priest/Shaman/Defiler/SpiritualCircle.lua | 24 + .../Shaman/Defiler/TendrilsofHorror.lua | 24 + .../Priest/Shaman/Defiler/TerrorChant.lua | 33 + .../Priest/Shaman/Defiler/TribalSpirit.lua | 31 + .../Priest/Shaman/Defiler/Vehemence.lua | 19 + .../Priest/Shaman/Defiler/Vivication.lua | 28 + .../Shaman/Defiler/VoiceoftheAncestors.lua | 11 + .../Priest/Shaman/Defiler/WildAccretion.lua | 12 + Lua/Spells/Priest/Shaman/EidolicWard.lua | 25 + Lua/Spells/Priest/Shaman/Mystic/Aid.lua | 47 + .../Priest/Shaman/Mystic/AncestralAvatar.lua | 24 + .../Priest/Shaman/Mystic/AncestralBalm.lua | 31 + .../Priest/Shaman/Mystic/AncestralMettle.lua | 19 + .../Priest/Shaman/Mystic/AncestralSavior.lua | 24 + .../Priest/Shaman/Mystic/AncestralSentry.lua | 25 + .../Priest/Shaman/Mystic/AncestralWard.lua | 18 + Lua/Spells/Priest/Shaman/Mystic/Bolster.lua | 26 + Lua/Spells/Priest/Shaman/Mystic/ColdWind.lua | 42 + .../Priest/Shaman/Mystic/Deteriorate.lua | 17 + .../Priest/Shaman/Mystic/EbbingSpirit.lua | 13 + .../Shaman/Mystic/EchoesoftheAncients.lua | 27 + Lua/Spells/Priest/Shaman/Mystic/Fever.lua | 39 + .../Priest/Shaman/Mystic/FieldsoftheGrey.lua | 39 + .../Priest/Shaman/Mystic/GlacialFlames.lua | 25 + Lua/Spells/Priest/Shaman/Mystic/Haze.lua | 24 + .../Priest/Shaman/Mystic/LamentingSoul.lua | 10 + Lua/Spells/Priest/Shaman/Mystic/Lethargy.lua | 25 + .../Priest/Shaman/Mystic/LunarAttendant.lua | 24 + .../Priest/Shaman/Mystic/MinorRitual.lua | 47 + Lua/Spells/Priest/Shaman/Mystic/Oberon.lua | 24 + .../Priest/Shaman/Mystic/PathoftheGrey.lua | 39 + Lua/Spells/Priest/Shaman/Mystic/Plague.lua | 30 + .../Priest/Shaman/Mystic/Premonition.lua | 19 + .../Priest/Shaman/Mystic/PropheticWard.lua | 11 + .../Priest/Shaman/Mystic/RecalloftheGrey.lua | 40 + .../Priest/Shaman/Mystic/Rejuvenation.lua | 29 + .../Priest/Shaman/Mystic/RejuvenationX.lua | 29 + .../Priest/Shaman/Mystic/RitualHealing.lua | 23 + .../Priest/Shaman/Mystic/RunicArmor.lua | 34 + .../Priest/Shaman/Mystic/SlothfulSpirit.lua | 28 + Lua/Spells/Priest/Shaman/Mystic/SpiritTap.lua | 25 + .../Shaman/Mystic/SpiritoftheMammoth.lua | 17 + Lua/Spells/Priest/Shaman/Mystic/Spirits.lua | 24 + .../Priest/Shaman/Mystic/SpiritualWarding.lua | 29 + Lua/Spells/Priest/Shaman/Mystic/Torpor.lua | 28 + .../Priest/Shaman/Mystic/Transcendence.lua | 24 + .../Priest/Shaman/Mystic/UmbralWarding.lua | 16 + .../Priest/Shaman/Mystic/UrsineAvatar.lua | 30 + .../Priest/Shaman/Mystic/VeliumWinds.lua | 20 + .../Shaman/Mystic/WardsoftheEidolon.lua | 25 + .../Priest/Shaman/Mystic/WaterSpirit.lua | 12 + .../Shaman/Mystic/WrathoftheAncients.lua | 18 + Lua/Spells/Priest/Shaman/SpiritGuide.lua | 26 + Lua/Spells/Priest/Shaman/UmbralTrap.lua | 25 + .../Priest/Shaper/Channeler/ShadowBind.lua | 11 + .../Priest/Shaper/Channeler/VengefulArrow.lua | 21 + Lua/Spells/Priest/SummonFoodandWater.lua | 22 + Lua/Spells/Priest/Wrath.lua | 18 + Lua/Spells/Scout/Ambush.lua | 26 + .../Animist/Beastlord/AstralRavaging.lua | 28 + .../Animist/Beastlord/AstralSoulsiphon.lua | 29 + .../Scout/Animist/Beastlord/Beastsoul.lua | 29 + .../Animist/Beastlord/BestialVehemence.lua | 28 + .../Animist/Beastlord/BrutalBeatdown.lua | 28 + .../Scout/Animist/Beastlord/CallWarder.lua | 25 + .../Animist/Beastlord/CallousFerocity.lua | 27 + .../Scout/Animist/Beastlord/Chillbarrier.lua | 27 + .../Scout/Animist/Beastlord/ChillingClaws.lua | 26 + .../Animist/Beastlord/ClawofKhatiSha.lua | 27 + .../Animist/Beastlord/CourageousScarring.lua | 28 + .../Animist/Beastlord/DraconicBreath.lua | 28 + .../Animist/Beastlord/EnchantedBarrier.lua | 29 + .../Animist/Beastlord/EnergizingAssault.lua | 28 + .../Scout/Animist/Beastlord/FeralPounce.lua | 28 + .../Scout/Animist/Beastlord/FeralRending.lua | 28 + .../Scout/Animist/Beastlord/FeralStance.lua | 27 + .../Scout/Animist/Beastlord/FerociousRoar.lua | 27 + .../Scout/Animist/Beastlord/FlurryofClaws.lua | 29 + .../Animist/Beastlord/FrigidFortification.lua | 27 + .../Scout/Animist/Beastlord/GlacialLance.lua | 26 + .../Scout/Animist/Beastlord/GlacialLanceX.lua | 26 + .../Animist/Beastlord/GlacialLanceXI.lua | 26 + .../Scout/Animist/Beastlord/GlacialRoar.lua | 27 + .../Animist/Beastlord/GrinningOnslaught.lua | 28 + .../Scout/Animist/Beastlord/HawkEyes.lua | 27 + .../Beastlord/KaldrahirsLeadership.lua | 28 + .../Scout/Animist/Beastlord/LuclinsPain.lua | 27 + .../Animist/Beastlord/NeurotoxicVenom.lua | 29 + .../Animist/Beastlord/NoxiousAssault.lua | 28 + .../Scout/Animist/Beastlord/NoxiousGrasp.lua | 29 + .../Scout/Animist/Beastlord/QuickSwipe.lua | 30 + .../Scout/Animist/Beastlord/QuickSwipeX.lua | 27 + .../Scout/Animist/Beastlord/QuickSwipeXI.lua | 27 + .../Scout/Animist/Beastlord/RapidFlurry.lua | 28 + .../Beastlord/RestorationofMarishaKur.lua | 28 + Lua/Spells/Scout/Animist/Beastlord/Rush.lua | 22 + Lua/Spells/Scout/Animist/Beastlord/RushX.lua | 29 + Lua/Spells/Scout/Animist/Beastlord/RushXI.lua | 29 + .../Animist/Beastlord/SalivaryExcretion.lua | 30 + .../Animist/Beastlord/SavageRavaging.lua | 28 + .../Animist/Beastlord/SavageResilience.lua | 30 + .../Scout/Animist/Beastlord/SavageRuin.lua | 27 + .../Scout/Animist/Beastlord/ShadowLeap.lua | 28 + .../Animist/Beastlord/ShalihMarsMandate.lua | 28 + .../Animist/Beastlord/ShiverbackEndemic.lua | 28 + .../Scout/Animist/Beastlord/SilentTalon.lua | 29 + .../Scout/Animist/Beastlord/SonicScreech.lua | 28 + .../Animist/Beastlord/SpinechillerBlood.lua | 20 + .../Animist/Beastlord/SpinechillerBloodX.lua | 26 + .../Scout/Animist/Beastlord/Spiritshroud.lua | 17 + .../Animist/Beastlord/SpiritualFeast.lua | 28 + .../Animist/Beastlord/SpiritualStance.lua | 33 + .../Beastlord/SummonWarderAmphibian.lua | 25 + .../Animist/Beastlord/SummonWarderAquatic.lua | 25 + .../Animist/Beastlord/SummonWarderAvian.lua | 25 + .../Animist/Beastlord/SummonWarderBat.lua | 25 + .../Animist/Beastlord/SummonWarderBear.lua | 25 + .../Animist/Beastlord/SummonWarderBoar.lua | 25 + .../Animist/Beastlord/SummonWarderBovid.lua | 25 + .../Animist/Beastlord/SummonWarderCanine.lua | 25 + .../Animist/Beastlord/SummonWarderDire.lua | 26 + .../Animist/Beastlord/SummonWarderDrake.lua | 26 + .../Beastlord/SummonWarderEnchanted.lua | 26 + .../Animist/Beastlord/SummonWarderFeline.lua | 25 + .../Animist/Beastlord/SummonWarderInsect.lua | 25 + .../Beastlord/SummonWarderMystical.lua | 26 + .../Animist/Beastlord/SummonWarderReptile.lua | 10 + .../Animist/Beastlord/SummonWarderRodent.lua | 25 + .../Animist/Beastlord/SummonWarderSimian.lua | 25 + .../Animist/Beastlord/SummonWarderWarboar.lua | 25 + .../Animist/Beastlord/TameInsectWarder.lua | 31 + .../Scout/Animist/Beastlord/TameWarder.lua | 31 + .../Beastlord/TestSpiritualStancebr.lua | 10 + .../Animist/Beastlord/TruespiritClaws.lua | 27 + .../Animist/Beastlord/TruespiritVenom.lua | 28 + .../Animist/Beastlord/UllasResolution.lua | 30 + .../Scout/Animist/Beastlord/VenomFangs.lua | 29 + .../Scout/Animist/Beastlord/VineNet.lua | 29 + .../Scout/Animist/Beastlord/WildGoring.lua | 28 + Lua/Spells/Scout/Animist/MasterofBeasts.lua | 31 + Lua/Spells/Scout/Animist/SharpenedClaws.lua | 29 + Lua/Spells/Scout/Animist/ShrinkWarder.lua | 26 + Lua/Spells/Scout/Animist/Spiritshroud.lua | 26 + Lua/Spells/Scout/Animist/StareDown.lua | 30 + Lua/Spells/Scout/Assail.lua | 26 + .../Scout/Bard/BriasInspiringBallad.lua | 18 + .../Scout/Bard/Dirge/CacophonyofBlades.lua | 27 + .../Bard/Dirge/ClarasChaoticCacophony.lua | 13 + Lua/Spells/Scout/Bard/Dirge/DarksongBlade.lua | 34 + .../Scout/Bard/Dirge/DarosDullBlade.lua | 30 + .../Scout/Bard/Dirge/DarosSorrowfulDirge.lua | 11 + Lua/Spells/Scout/Bard/Dirge/DeadCalm.lua | 11 + Lua/Spells/Scout/Bard/Dirge/DeathsDoor.lua | 32 + .../Scout/Bard/Dirge/ElegyatDeathsDoor.lua | 39 + .../Scout/Bard/Dirge/ElegyofAwakening.lua | 39 + .../Scout/Bard/Dirge/GarsinsFuneralMarch.lua | 13 + Lua/Spells/Scout/Bard/Dirge/Gravitas.lua | 26 + .../Scout/Bard/Dirge/HarlsRousingTune.lua | 18 + .../Scout/Bard/Dirge/HauntingStrike.lua | 47 + Lua/Spells/Scout/Bard/Dirge/HowlofDeath.lua | 24 + Lua/Spells/Scout/Bard/Dirge/HymnofHorror.lua | 31 + .../Scout/Bard/Dirge/HyransSeethingSonata.lua | 11 + .../Bard/Dirge/JaelsDreadfulDeprivation.lua | 15 + .../Bard/Dirge/JaelsMysteriousMettle.lua | 17 + .../Bard/Dirge/JarolsSorrowfulRequiem.lua | 17 + .../Bard/Dirge/LanetsExcruciatingScream.lua | 24 + .../Scout/Bard/Dirge/LudasNefariousWail.lua | 15 + Lua/Spells/Scout/Bard/Dirge/MarchofBlades.lua | 16 + .../Scout/Bard/Dirge/MisfortunesKiss.lua | 31 + .../Scout/Bard/Dirge/NoxiousSymphony.lua | 17 + .../Scout/Bard/Dirge/OrationofSacrifice.lua | 26 + .../Scout/Bard/Dirge/PercussionofStone.lua | 11 + .../Scout/Bard/Dirge/RianasRelentlessTune.lua | 17 + Lua/Spells/Scout/Bard/Dirge/ScreamofDeath.lua | 17 + Lua/Spells/Scout/Bard/Dirge/Shriek.lua | 55 + Lua/Spells/Scout/Bard/Dirge/SideBlade.lua | 47 + Lua/Spells/Scout/Bard/Dirge/SingingBlade.lua | 56 + Lua/Spells/Scout/Bard/Dirge/SongstersLuck.lua | 20 + .../Bard/Dirge/TarvensCripplingCrescendo.lua | 22 + .../Scout/Bard/Dirge/ThurisDolefulThrust.lua | 21 + .../Bard/Dirge/VerliensKeenofDespair.lua | 22 + Lua/Spells/Scout/Bard/Dirge/WailingStrike.lua | 47 + .../Scout/Bard/Dirge/WailoftheBanshee.lua | 19 + .../Scout/Bard/DishearteningDescant.lua | 18 + Lua/Spells/Scout/Bard/SelosAccelerando.lua | 16 + Lua/Spells/Scout/Bard/Shroud.lua | 18 + .../Bard/Troubador/AlinsSereneSerenade.lua | 29 + .../Scout/Bard/Troubador/Allegretto.lua | 17 + .../Scout/Bard/Troubador/ArcaneSymphony.lua | 21 + .../Scout/Bard/Troubador/AriaofMagic.lua | 11 + .../Bard/Troubador/AyonicInspiration.lua | 31 + .../Bard/Troubador/BreathtakingBellow.lua | 31 + .../Bard/Troubador/BriasEntrancingSonnet.lua | 28 + .../Scout/Bard/Troubador/BrilliantBlade.lua | 47 + .../Scout/Bard/Troubador/CeremonialBlade.lua | 21 + .../Scout/Bard/Troubador/ChaosAnthem.lua | 22 + .../Scout/Bard/Troubador/Countersong.lua | 26 + .../Bard/Troubador/DaelisDanceofBlades.lua | 39 + .../Scout/Bard/Troubador/DancingBlade.lua | 31 + .../Troubador/DemoralizingProcessional.lua | 14 + .../Scout/Bard/Troubador/DepressingChant.lua | 23 + .../Bard/Troubador/ElementalConcerto.lua | 23 + .../Bard/Troubador/GracefulAvoidance.lua | 17 + .../Scout/Bard/Troubador/JestersCap.lua | 25 + Lua/Spells/Scout/Bard/Troubador/Lullaby.lua | 29 + .../Scout/Bard/Troubador/MidnightBlade.lua | 47 + .../Scout/Bard/Troubador/NightStrike.lua | 29 + .../Bard/Troubador/PainfulLamentations.lua | 15 + .../Scout/Bard/Troubador/PerfectShrill.lua | 17 + .../Bard/Troubador/PerfectionoftheMaestro.lua | 12 + .../Bard/Troubador/RaxxylsRousingTune.lua | 23 + .../Troubador/RejuvenatingCelebration.lua | 23 + .../Bard/Troubador/RequiemofReflection.lua | 24 + .../Bard/Troubador/SandrasDeafeningStrike.lua | 35 + Lua/Spells/Scout/Bard/Troubador/Shrill.lua | 55 + .../Scout/Bard/Troubador/SingingShot.lua | 36 + .../Scout/Bard/Troubador/SongofMagic.lua | 26 + .../Scout/Bard/Troubador/TapEssence.lua | 14 + .../Bard/Troubador/ThunderousOverture.lua | 18 + .../Scout/Bard/Troubador/VexingVerses.lua | 25 + Lua/Spells/Scout/Bard/ZandersChoralRebuff.lua | 25 + Lua/Spells/Scout/CheapShot.lua | 32 + Lua/Spells/Scout/DirtyTricks.lua | 26 + Lua/Spells/Scout/Ensnare.lua | 29 + Lua/Spells/Scout/Escape.lua | 13 + Lua/Spells/Scout/Evade.lua | 16 + Lua/Spells/Scout/FastStrike.lua | 25 + Lua/Spells/Scout/HiltStrike.lua | 28 + Lua/Spells/Scout/LuckyBreak.lua | 26 + Lua/Spells/Scout/Pathfinding.lua | 20 + Lua/Spells/Scout/Predator/Assassin/Ambush.lua | 26 + .../Scout/Predator/Assassin/ApplyPoison.lua | 24 + Lua/Spells/Scout/Predator/Assassin/Assail.lua | 55 + .../Scout/Predator/Assassin/Assassinate.lua | 28 + .../Predator/Assassin/AssassinsFlurry.lua | 31 + .../Scout/Predator/Assassin/Caltrops.lua | 33 + .../Scout/Predator/Assassin/Concealment.lua | 24 + .../Predator/Assassin/CripplingStrike.lua | 33 + .../Predator/Assassin/CunningDefense.lua | 30 + .../Scout/Predator/Assassin/DeadlyFocus.lua | 12 + .../Scout/Predator/Assassin/DeadlyShot.lua | 38 + .../Scout/Predator/Assassin/DeathBlow.lua | 29 + .../Scout/Predator/Assassin/DeathMark.lua | 28 + .../Scout/Predator/Assassin/Eviscerate.lua | 32 + .../Scout/Predator/Assassin/Exacting.lua | 24 + .../Scout/Predator/Assassin/FastStrike.lua | 55 + .../Scout/Predator/Assassin/FatalFollowup.lua | 26 + Lua/Spells/Scout/Predator/Assassin/Gash.lua | 31 + .../Scout/Predator/Assassin/GushingWound.lua | 32 + .../Scout/Predator/Assassin/HeadShot.lua | 39 + Lua/Spells/Scout/Predator/Assassin/Impale.lua | 32 + .../Predator/Assassin/ImprovisedWeapon.lua | 18 + .../Scout/Predator/Assassin/JugularSlice.lua | 38 + .../Scout/Predator/Assassin/MaskedStrike.lua | 33 + .../Scout/Predator/Assassin/Massacre.lua | 26 + .../Scout/Predator/Assassin/MortalBlade.lua | 28 + .../Predator/Assassin/MurderousDesign.lua | 10 + .../Predator/Assassin/ParalyzingStrike.lua | 29 + .../Scout/Predator/Assassin/QuickStrike.lua | 28 + .../Predator/Assassin/ShroudedAttack.lua | 55 + .../Scout/Predator/Assassin/SlipAway.lua | 28 + .../Scout/Predator/Assassin/SpineShot.lua | 33 + .../Predator/Assassin/StealthAssault.lua | 12 + .../Scout/Predator/Assassin/Torture.lua | 20 + .../Scout/Predator/Assassin/Villainy.lua | 30 + .../Predator/Assassin/WhirlingBlades.lua | 35 + Lua/Spells/Scout/Predator/HonedReflexes.lua | 24 + .../Scout/Predator/Ranger/ArchersFury.lua | 34 + Lua/Spells/Scout/Predator/Ranger/ArrowRip.lua | 26 + .../Scout/Predator/Ranger/BlazingStrike.lua | 55 + .../Scout/Predator/Ranger/BloodyReminder.lua | 24 + Lua/Spells/Scout/Predator/Ranger/Coverage.lua | 24 + .../Scout/Predator/Ranger/CripplingArrow.lua | 37 + .../Scout/Predator/Ranger/EaglesTalon.lua | 32 + .../Scout/Predator/Ranger/Emberstrike.lua | 26 + Lua/Spells/Scout/Predator/Ranger/Ensnare.lua | 23 + Lua/Spells/Scout/Predator/Ranger/FocusAim.lua | 21 + .../Scout/Predator/Ranger/HawkAttack.lua | 24 + .../Scout/Predator/Ranger/HiddenShot.lua | 35 + .../Scout/Predator/Ranger/HuntersInstinct.lua | 35 + .../Predator/Ranger/ImmobilizingLunge.lua | 26 + .../Scout/Predator/Ranger/KillingInstinct.lua | 24 + .../Scout/Predator/Ranger/LightningStrike.lua | 16 + .../Scout/Predator/Ranger/MakeshiftArrows.lua | 27 + .../Scout/Predator/Ranger/MiracleShot.lua | 34 + .../Predator/Ranger/NaturalSelection.lua | 32 + .../Scout/Predator/Ranger/PrimalReflexes.lua | 10 + .../Scout/Predator/Ranger/RangersBlade.lua | 32 + Lua/Spells/Scout/Predator/Ranger/RearShot.lua | 45 + .../Scout/Predator/Ranger/SearingShot.lua | 36 + .../Scout/Predator/Ranger/Shadowfire.lua | 55 + .../Scout/Predator/Ranger/SnaringShot.lua | 28 + .../Scout/Predator/Ranger/SneakAttack.lua | 33 + Lua/Spells/Scout/Predator/Ranger/Snipe.lua | 16 + .../Scout/Predator/Ranger/SniperShot.lua | 17 + .../Scout/Predator/Ranger/StalkerStrike.lua | 55 + .../Scout/Predator/Ranger/StormofArrows.lua | 28 + .../Scout/Predator/Ranger/StreamofArrows.lua | 25 + .../Predator/Ranger/SurvivalInstincts.lua | 30 + .../Scout/Predator/Ranger/ThornyTrap.lua | 24 + .../Scout/Predator/Ranger/TrickShot.lua | 29 + .../Scout/Predator/Ranger/TripleShot.lua | 28 + Lua/Spells/Scout/Predator/Stalk.lua | 27 + Lua/Spells/Scout/Predator/Stealth.lua | 17 + Lua/Spells/Scout/QuickStrike.lua | 25 + Lua/Spells/Scout/Rogue/Brigand/BackAttack.lua | 25 + Lua/Spells/Scout/Rogue/Brigand/Backstab.lua | 29 + .../Rogue/Brigand/BarroomNegotiation.lua | 16 + .../Scout/Rogue/Brigand/BatteryandAssault.lua | 18 + Lua/Spells/Scout/Rogue/Brigand/Befuddle.lua | 11 + .../Scout/Rogue/Brigand/BegforMercy.lua | 30 + Lua/Spells/Scout/Rogue/Brigand/BlackJack.lua | 15 + Lua/Spells/Scout/Rogue/Brigand/Blackguard.lua | 31 + Lua/Spells/Scout/Rogue/Brigand/Bruise.lua | 20 + Lua/Spells/Scout/Rogue/Brigand/BumRush.lua | 23 + Lua/Spells/Scout/Rogue/Brigand/Cuss.lua | 19 + Lua/Spells/Scout/Rogue/Brigand/Debilitate.lua | 26 + Lua/Spells/Scout/Rogue/Brigand/Deceit.lua | 24 + .../Scout/Rogue/Brigand/DesperateThrust.lua | 24 + Lua/Spells/Scout/Rogue/Brigand/Dispatch.lua | 44 + .../Scout/Rogue/Brigand/DiversionBlade.lua | 17 + .../Scout/Rogue/Brigand/DoubleBlast.lua | 43 + .../Scout/Rogue/Brigand/DoubleDagger.lua | 20 + Lua/Spells/Scout/Rogue/Brigand/Entangle.lua | 30 + Lua/Spells/Scout/Rogue/Brigand/Gouge.lua | 29 + Lua/Spells/Scout/Rogue/Brigand/Holdup.lua | 32 + Lua/Spells/Scout/Rogue/Brigand/Mug.lua | 17 + .../Scout/Rogue/Brigand/MurderousRake.lua | 31 + Lua/Spells/Scout/Rogue/Brigand/Puncture.lua | 17 + Lua/Spells/Scout/Rogue/Brigand/Rob.lua | 26 + Lua/Spells/Scout/Rogue/Brigand/Shank.lua | 33 + .../Scout/Rogue/Brigand/Shenanigans.lua | 15 + Lua/Spells/Scout/Rogue/Brigand/Skew.lua | 47 + .../Scout/Rogue/Brigand/StreetSmarts.lua | 26 + .../Scout/Rogue/Brigand/StunningBlow.lua | 31 + Lua/Spells/Scout/Rogue/Brigand/Thrust.lua | 47 + Lua/Spells/Scout/Rogue/Brigand/Whack.lua | 26 + Lua/Spells/Scout/Rogue/CircularStrike.lua | 20 + Lua/Spells/Scout/Rogue/DaringAdvance.lua | 36 + Lua/Spells/Scout/Rogue/RuthlessCunning.lua | 24 + Lua/Spells/Scout/Rogue/ShadowSlip.lua | 18 + Lua/Spells/Scout/Rogue/Smuggle.lua | 23 + Lua/Spells/Scout/Rogue/Sneak.lua | 21 + .../Scout/Rogue/Swashbuckler/ArcticBlast.lua | 50 + .../Scout/Rogue/Swashbuckler/AvoidBlame.lua | 23 + .../Scout/Rogue/Swashbuckler/Bladeweaver.lua | 31 + .../Scout/Rogue/Swashbuckler/CircleAttack.lua | 55 + .../Rogue/Swashbuckler/DashingSwathe.lua | 32 + .../Scout/Rogue/Swashbuckler/DeviousBlade.lua | 28 + .../Rogue/Swashbuckler/DisarmingGrin.lua | 29 + .../Scout/Rogue/Swashbuckler/Double-Cross.lua | 26 + .../Scout/Rogue/Swashbuckler/DoubleCross.lua | 20 + .../Scout/Rogue/Swashbuckler/EnGarde.lua | 25 + .../Rogue/Swashbuckler/FancyFootwork.lua | 30 + .../Rogue/Swashbuckler/FlamboyantStrike.lua | 30 + .../Scout/Rogue/Swashbuckler/FlashofSteel.lua | 21 + .../Rogue/Swashbuckler/FlurryofBlades.lua | 28 + .../Scout/Rogue/Swashbuckler/Hamstring.lua | 23 + .../Rogue/Swashbuckler/HangmansNoose.lua | 23 + .../Scout/Rogue/Swashbuckler/Hurricane.lua | 24 + .../Rogue/Swashbuckler/InspiredDaring.lua | 24 + .../Scout/Rogue/Swashbuckler/KidneyStab.lua | 28 + .../Scout/Rogue/Swashbuckler/LuckyGambit.lua | 16 + .../Scout/Rogue/Swashbuckler/LungPuncture.lua | 34 + .../Rogue/Swashbuckler/PerfectFinesse.lua | 24 + .../Scout/Rogue/Swashbuckler/RazorEdge.lua | 29 + .../Scout/Rogue/Swashbuckler/Shanghai.lua | 39 + .../Rogue/Swashbuckler/SleightofHand.lua | 24 + Lua/Spells/Scout/Rogue/Swashbuckler/Slice.lua | 47 + .../Rogue/Swashbuckler/SnapoftheWrist.lua | 25 + .../Scout/Rogue/Swashbuckler/SpineAttack.lua | 47 + .../Rogue/Swashbuckler/SpuriousBravado.lua | 28 + .../Scout/Rogue/Swashbuckler/SteelSwipe.lua | 47 + .../Scout/Rogue/Swashbuckler/StormofSteel.lua | 30 + .../Rogue/Swashbuckler/SwarthyDeception.lua | 17 + .../Scout/Rogue/Swashbuckler/SwarthyWays.lua | 32 + Lua/Spells/Scout/Rogue/Swashbuckler/Tease.lua | 22 + .../Scout/Rogue/Swashbuckler/Viscerate.lua | 33 + Lua/Spells/Scout/SinisterStrike.lua | 29 + Lua/Spells/Scout/SneakAttack.lua | 26 + Lua/Spells/Scout/Tracking.lua | 19 + Lua/Spells/SummonAnimatedTome.lua | 23 + Lua/Spells/SummonDrake.lua | 24 + Lua/Spells/SummonFamiliar.lua | 14 + Lua/Spells/SummonGargoyle.lua | 27 + Lua/Spells/Tradeskills/DurabilityAdd.lua | 15 + .../Tradeskills/DurabilityAddProgressAdd.lua | 16 + .../Tradeskills/DurabilityModProgressAdd.lua | 16 + .../Tradeskills/DurabilityModSuccessAdd.lua | 21 + Lua/Spells/Tradeskills/ProgressAdd.lua | 15 + .../Tradeskills/ProgressModDurabilityAdd.lua | 16 + .../Tradeskills/ProgressModSuccessAdd.lua | 21 + .../Tradeskills/SuccessModDurabilityAdd.lua | 16 + .../Tradeskills/SuccessModProgressAdd.lua | 16 + Lua/Spells/Traditions/AHalflingsFeast.lua | 12 + Lua/Spells/Traditions/AerialDodging.lua | 12 + Lua/Spells/Traditions/AggressiveStrike.lua | 12 + Lua/Spells/Traditions/AkanonsInnovation.lua | 12 + Lua/Spells/Traditions/Antidote.lua | 12 + Lua/Spells/Traditions/ArasaiFlight.lua | 12 + Lua/Spells/Traditions/ArasaiSavvy.lua | 12 + Lua/Spells/Traditions/ArasaisEndurance.lua | 12 + Lua/Spells/Traditions/ArcaneKnowledge.lua | 12 + Lua/Spells/Traditions/ArcofLightning.lua | 12 + Lua/Spells/Traditions/ArmoroftheFeerrott.lua | 12 + .../Traditions/Attribute/AgileMight.lua | 16 + .../Traditions/Attribute/AgileMovements.lua | 16 + .../Attribute/AkanonsInnovation.lua | 16 + .../Traditions/Attribute/ArasaiSavvy.lua | 16 + .../Traditions/Attribute/BruteForce.lua | 16 + .../Attribute/CazicsEnduringHold.lua | 16 + .../Traditions/Attribute/Countenance.lua | 16 + .../Traditions/Attribute/DarkenedAgility.lua | 16 + .../Traditions/Attribute/DwarvenFortitude.lua | 16 + .../Traditions/Attribute/ElvenWisdom.lua | 16 + .../Attribute/EnduranceOfEarthAndWater.lua | 16 + .../Attribute/EnhancedIntellect.lua | 16 + .../Traditions/Attribute/EternalLearning.lua | 16 + .../Attribute/FaydarkChampionsAgility.lua | 16 + .../Traditions/Attribute/FleetFooted.lua | 16 + .../Attribute/FocusedDetermination.lua | 16 + .../Attribute/HalfElfQuickThinking.lua | 16 + .../Attribute/HeartyConstitution.lua | 16 + Lua/Spells/Traditions/Attribute/Insight.lua | 16 + .../Attribute/IntellectOfTheSage.lua | 16 + .../Attribute/IntellecualStudies.lua | 16 + .../Attribute/IntelligentDesigns.lua | 16 + .../Attribute/KejaansInspiration.lua | 16 + .../Traditions/Attribute/LastOneStanding.lua | 16 + .../Traditions/Attribute/MarrsInsight.lua | 16 + .../Attribute/MechanicalVambraces.lua | 16 + .../Attribute/PresumedBrilliance.lua | 16 + .../Attribute/PursuitOfKnowledge.lua | 16 + .../Traditions/Attribute/SathirianLegacy.lua | 16 + .../Attribute/SpiritOfVahKerrath.lua | 16 + .../Traditions/Attribute/StubbornButWise.lua | 16 + .../Attribute/TheMightOfBristlebane.lua | 16 + .../Traditions/Attribute/TunaresGuidance.lua | 16 + .../Traditions/Attribute/UncommonInsight.lua | 16 + .../Traditions/Attribute/VampiricReflexes.lua | 16 + .../Attribute/WisdomOfExperience.lua | 16 + .../Attribute/WisdomOfRivervale.lua | 16 + .../Traditions/Attribute/WisdomOfTheAges.lua | 16 + .../Attribute/WisdomOfTheOldOak.lua | 16 + Lua/Spells/Traditions/Ayr`DalAdornment.lua | 12 + Lua/Spells/Traditions/BarbaricRage.lua | 12 + Lua/Spells/Traditions/BattleReprieve.lua | 12 + Lua/Spells/Traditions/BattleRest.lua | 12 + Lua/Spells/Traditions/Blizzard.lua | 12 + Lua/Spells/Traditions/BodybyButcherblock.lua | 12 + Lua/Spells/Traditions/BogBully.lua | 12 + Lua/Spells/Traditions/Brewmaster.lua | 12 + Lua/Spells/Traditions/BruteStrength.lua | 12 + Lua/Spells/Traditions/Camo.lua | 12 + Lua/Spells/Traditions/Camouflage.lua | 12 + Lua/Spells/Traditions/CarpentersTouch.lua | 12 + Lua/Spells/Traditions/CastingFury.lua | 12 + Lua/Spells/Traditions/CazicThulesGift.lua | 12 + .../Traditions/ChemicalCalculations.lua | 12 + Lua/Spells/Traditions/Chemist.lua | 12 + Lua/Spells/Traditions/ClearMind.lua | 12 + Lua/Spells/Traditions/ClockworkArmy.lua | 12 + Lua/Spells/Traditions/Clothier.lua | 12 + Lua/Spells/Traditions/Combat/Adoration.lua | 14 + .../Combat/AidOfTheStouthearted.lua | 14 + Lua/Spells/Traditions/Combat/AncestralIre.lua | 14 + .../Traditions/Combat/BlessingTouch.lua | 14 + .../Traditions/Combat/BlockingExpertise.lua | 16 + Lua/Spells/Traditions/Combat/Bloodletting.lua | 14 + Lua/Spells/Traditions/Combat/Brainy.lua | 14 + .../Traditions/Combat/BravefootTenacity.lua | 14 + Lua/Spells/Traditions/Combat/BrellsFocus.lua | 14 + Lua/Spells/Traditions/Combat/CastingFury.lua | 14 + .../Traditions/Combat/ClarityDuringBattle.lua | 14 + .../Traditions/Combat/ClawedStrikes.lua | 14 + .../Traditions/Combat/CombatHealing.lua | 14 + .../Traditions/Combat/CriticalDeflection.lua | 14 + .../Traditions/Combat/CriticalShielding.lua | 14 + Lua/Spells/Traditions/Combat/DarkCelerity.lua | 14 + .../Traditions/Combat/DefensiveMight.lua | 14 + Lua/Spells/Traditions/Combat/DemonicFocus.lua | 14 + .../Traditions/Combat/DevotionToTheArts.lua | 14 + .../Traditions/Combat/DivineCasting.lua | 14 + .../Combat/DleresFightingStance.lua | 14 + Lua/Spells/Traditions/Combat/DodgingBlows.lua | 14 + .../Traditions/Combat/FaeQuickThinking.lua | 19 + .../Traditions/Combat/FocusOfTunare.lua | 14 + .../Traditions/Combat/FocusedProwess.lua | 14 + .../Traditions/Combat/FormidableTraining.lua | 14 + Lua/Spells/Traditions/Combat/GoodBlocking.lua | 14 + Lua/Spells/Traditions/Combat/GraceOfFear.lua | 14 + .../Traditions/Combat/GuidanceOfMarr.lua | 14 + .../Traditions/Combat/HastyDecisions.lua | 14 + Lua/Spells/Traditions/Combat/HealingGrace.lua | 14 + Lua/Spells/Traditions/Combat/HealingTouch.lua | 14 + .../Traditions/Combat/HendisFortitude.lua | 14 + .../Traditions/Combat/HighPriestsGuidance.lua | 14 + Lua/Spells/Traditions/Combat/HoldStrong.lua | 14 + .../Traditions/Combat/MarshalsSkill.lua | 14 + .../Traditions/Combat/MasterfulSorcery.lua | 15 + .../Traditions/Combat/MechanizedPierces.lua | 14 + .../Traditions/Combat/MemoriesOfGuk.lua | 14 + .../Traditions/Combat/MentalDomination.lua | 14 + Lua/Spells/Traditions/Combat/Merciless.lua | 14 + .../Combat/MightOfTheLeatherfoot.lua | 14 + .../Traditions/Combat/MindOverMatter.lua | 14 + .../Traditions/Combat/MurrarSharsGuidance.lua | 14 + Lua/Spells/Traditions/Combat/NimblePaws.lua | 14 + .../Traditions/Combat/NimbleStriking.lua | 14 + .../Traditions/Combat/NobilityOfFaith.lua | 14 + .../Traditions/Combat/OffensivelySkilled.lua | 14 + .../Combat/PaladinsShieldTraining.lua | 14 + .../Traditions/Combat/PiercingArrows.lua | 14 + .../Traditions/Combat/ProficientSwipe.lua | 14 + .../Traditions/Combat/PunctureWounds.lua | 14 + .../Traditions/Combat/QuickBanishing.lua | 14 + .../Traditions/Combat/QuickThinking.lua | 14 + Lua/Spells/Traditions/Combat/QuietStorm.lua | 14 + .../Combat/RallosianArmyTraining.lua | 14 + .../Traditions/Combat/RallosianReflexes.lua | 14 + .../Traditions/Combat/RatongaReflexes.lua | 14 + Lua/Spells/Traditions/Combat/RootedMind.lua | 14 + Lua/Spells/Traditions/Combat/SharpWitted.lua | 15 + .../Traditions/Combat/SkilledDefender.lua | 18 + .../Combat/SoldiersOfTunaresAlacrity.lua | 14 + Lua/Spells/Traditions/Combat/SpeedyPaws.lua | 14 + Lua/Spells/Traditions/Combat/SpikedShoes.lua | 14 + Lua/Spells/Traditions/Combat/Stabby.lua | 14 + .../Traditions/Combat/SteadfastDefender.lua | 14 + Lua/Spells/Traditions/Combat/StoutDefense.lua | 14 + Lua/Spells/Traditions/Combat/Stubbornness.lua | 14 + .../Traditions/Combat/SupernaturalSpeed.lua | 14 + Lua/Spells/Traditions/Combat/SwiftSwings.lua | 14 + .../Traditions/Combat/TeachingsOfBayle.lua | 14 + .../Combat/TheoreticalImprovements.lua | 14 + Lua/Spells/Traditions/Combat/TinyStings.lua | 14 + Lua/Spells/Traditions/Combat/ToolsOfFear.lua | 14 + .../Traditions/Combat/TrueshotsAura.lua | 14 + Lua/Spells/Traditions/Combat/Victory.lua | 14 + .../Traditions/Combat/WiggingWhiskers.lua | 14 + Lua/Spells/Traditions/Combat/WordsOfHonor.lua | 14 + .../Traditions/ConnoisseurofFineWines.lua | 12 + Lua/Spells/Traditions/DarkAgenda.lua | 12 + Lua/Spells/Traditions/DarkEnvy.lua | 12 + Lua/Spells/Traditions/DefenderofEverfrost.lua | 12 + Lua/Spells/Traditions/DefenderofKaladim.lua | 12 + Lua/Spells/Traditions/DefensiveColoration.lua | 12 + Lua/Spells/Traditions/Diplomacy.lua | 12 + Lua/Spells/Traditions/Diversity.lua | 12 + Lua/Spells/Traditions/DwarvenFortitude.lua | 12 + Lua/Spells/Traditions/ElvenHeritage.lua | 12 + Lua/Spells/Traditions/ElvenReflexes.lua | 12 + Lua/Spells/Traditions/ElvenWisdom.lua | 12 + Lua/Spells/Traditions/ElvishSpirits.lua | 12 + .../Traditions/EnvironmentalAdaptability.lua | 12 + Lua/Spells/Traditions/ErudsTeachings.lua | 12 + Lua/Spells/Traditions/EscapingDive.lua | 12 + Lua/Spells/Traditions/EsotericStudy.lua | 12 + Lua/Spells/Traditions/FaeDexterity.lua | 12 + Lua/Spells/Traditions/FaeFlight.lua | 12 + Lua/Spells/Traditions/FallingGrace.lua | 12 + Lua/Spells/Traditions/FaydarksChampion.lua | 12 + Lua/Spells/Traditions/FaydwerFashions.lua | 12 + Lua/Spells/Traditions/Featherfall.lua | 12 + Lua/Spells/Traditions/FlashofInsight.lua | 12 + Lua/Spells/Traditions/ForestFire.lua | 12 + Lua/Spells/Traditions/ForestKnowledge.lua | 12 + Lua/Spells/Traditions/ForestNavigation.lua | 12 + Lua/Spells/Traditions/ForgeInvention.lua | 12 + Lua/Spells/Traditions/FueledByHate.lua | 12 + Lua/Spells/Traditions/FuryofFelwithe.lua | 12 + Lua/Spells/Traditions/FuryofInnoruuk.lua | 12 + Lua/Spells/Traditions/GiftoftheFaydark.lua | 12 + Lua/Spells/Traditions/GiftoftheInnothule.lua | 12 + Lua/Spells/Traditions/GildingofFelwithe.lua | 12 + Lua/Spells/Traditions/Gills.lua | 15 + Lua/Spells/Traditions/Glide.lua | 12 + Lua/Spells/Traditions/GracefulMovements.lua | 12 + Lua/Spells/Traditions/HalasianAuthority.lua | 12 + Lua/Spells/Traditions/Hardiness.lua | 12 + Lua/Spells/Traditions/HarmoniousMind.lua | 12 + Lua/Spells/Traditions/HatefulMind.lua | 12 + Lua/Spells/Traditions/HealthyAppetite.lua | 12 + .../Traditions/HerbalSupplementation.lua | 12 + Lua/Spells/Traditions/Herbology.lua | 12 + Lua/Spells/Traditions/Hover.lua | 12 + Lua/Spells/Traditions/HuntersFury.lua | 12 + Lua/Spells/Traditions/IllusionClockwork.lua | 12 + Lua/Spells/Traditions/ImpenetrableWill.lua | 12 + Lua/Spells/Traditions/Infravision.lua | 14 + .../Traditions/Innate/KeeperOfTheForest.lua | 19 + Lua/Spells/Traditions/InnoruuksGift.lua | 12 + Lua/Spells/Traditions/InnothulesBlessing.lua | 12 + .../Traditions/InstrumentsoftheUnderfoot.lua | 12 + Lua/Spells/Traditions/IntellectoftheSage.lua | 12 + .../Traditions/IntellectualFeasting.lua | 12 + Lua/Spells/Traditions/IntricateCreations.lua | 12 + Lua/Spells/Traditions/Junglewalk.lua | 12 + Lua/Spells/Traditions/KeeperoftheForest.lua | 12 + Lua/Spells/Traditions/LightFooted.lua | 12 + Lua/Spells/Traditions/LostintheCrowd.lua | 12 + Lua/Spells/Traditions/MagicProtection.lua | 12 + Lua/Spells/Traditions/MagicalProtection.lua | 12 + Lua/Spells/Traditions/MagicalTeachings.lua | 12 + Lua/Spells/Traditions/MagicoftheFae.lua | 12 + Lua/Spells/Traditions/ManiacalMadness.lua | 12 + Lua/Spells/Traditions/ManyMarches.lua | 12 + Lua/Spells/Traditions/MasteroftheShadows.lua | 12 + .../Traditions/MasteroftheTumpyTonic.lua | 12 + Lua/Spells/Traditions/MeldrathsTeachings.lua | 12 + Lua/Spells/Traditions/MenderoftheMire.lua | 12 + Lua/Spells/Traditions/MiningExpertise.lua | 12 + Lua/Spells/Traditions/MisfitsTrickery.lua | 12 + Lua/Spells/Traditions/MixedKnowledge.lua | 12 + Lua/Spells/Traditions/Multitalented.lua | 12 + Lua/Spells/Traditions/NaturalRecovery.lua | 12 + Lua/Spells/Traditions/NeriakPrecision.lua | 12 + .../Noncombat/AncestralBlessing.lua | 15 + .../Traditions/Noncombat/AnotherRound.lua | 15 + .../Noncombat/AsceticDiscipline.lua | 15 + .../Noncombat/AutomatedPoisonDispenser.lua | 15 + .../Traditions/Noncombat/BattleReady.lua | 15 + Lua/Spells/Traditions/Noncombat/BindWound.lua | 18 + .../Noncombat/BlessingOfTheMeal.lua | 15 + .../Noncombat/BristlebanesBlessing.lua | 15 + .../Traditions/Noncombat/ChargeIntoBattle.lua | 15 + .../Traditions/Noncombat/CloakOfDarkness.lua | 15 + .../Traditions/Noncombat/CloakingDevice.lua | 15 + .../Noncombat/ConnoisseurOfFineWines.lua | 15 + .../Traditions/Noncombat/DelayedThirst.lua | 15 + .../Traditions/Noncombat/ElvishSpirits.lua | 15 + Lua/Spells/Traditions/Noncombat/Empowered.lua | 15 + .../Traditions/Noncombat/EternalYouth.lua | 15 + .../Traditions/Noncombat/ExpertChemistry.lua | 15 + .../Traditions/Noncombat/ExtendedMarch.lua | 15 + .../Traditions/Noncombat/FastTwitched.lua | 15 + .../Traditions/Noncombat/ForestNavigation.lua | 15 + .../Traditions/Noncombat/FrostedAles.lua | 15 + .../Traditions/Noncombat/GatherMana.lua | 15 + .../Traditions/Noncombat/GracefulLanding.lua | 15 + .../Traditions/Noncombat/HastenedStudy.lua | 15 + .../Traditions/Noncombat/IrefulWill.lua | 17 + .../Traditions/Noncombat/KerraSpeed.lua | 15 + .../Traditions/Noncombat/LastSecondHop.lua | 15 + .../Noncombat/MasterOfTheShadows.lua | 16 + .../Noncombat/MeditativeContemplation.lua | 15 + Lua/Spells/Traditions/Noncombat/NapTime.lua | 15 + .../Traditions/Noncombat/NaturalAthlete.lua | 15 + .../Traditions/Noncombat/NobleGallop.lua | 15 + .../Traditions/Noncombat/NomadicHealing.lua | 17 + .../Noncombat/OnlyTheFinestIngredients.lua | 15 + .../Traditions/Noncombat/OptimumDosage.lua | 15 + Lua/Spells/Traditions/Noncombat/PixieDust.lua | 15 + .../Traditions/Noncombat/PoisonExpertise.lua | 16 + .../Traditions/Noncombat/PoisonousPlants.lua | 15 + .../Traditions/Noncombat/ProtectiveSkin.lua | 15 + .../Traditions/Noncombat/QuickGetaway.lua | 15 + .../Traditions/Noncombat/QuickRecovery.lua | 15 + .../Noncombat/QuickRecuperation.lua | 15 + .../Traditions/Noncombat/QuitSittinAround.lua | 15 + .../Traditions/Noncombat/RationWater.lua | 15 + .../Traditions/Noncombat/ReflexiveLanding.lua | 15 + Lua/Spells/Traditions/Noncombat/Restore.lua | 15 + .../Noncombat/ReturnToFormation.lua | 15 + .../Noncombat/SecretsOfTheUnderfoot.lua | 15 + .../Traditions/Noncombat/ShadowStalker.lua | 15 + .../Traditions/Noncombat/Shadowlurker.lua | 15 + .../Noncombat/ShamanisticFasting.lua | 15 + .../Traditions/Noncombat/SlowMetabolism.lua | 15 + .../Traditions/Noncombat/SmokedMeats.lua | 15 + .../Traditions/Noncombat/SoftLandings.lua | 16 + .../Noncombat/StealthyAcrobatics.lua | 15 + .../Traditions/Noncombat/StrongAdditives.lua | 15 + .../Traditions/Noncombat/SturdyBones.lua | 15 + .../Traditions/Noncombat/SturdyFeet.lua | 15 + Lua/Spells/Traditions/Noncombat/SwampFeet.lua | 15 + .../Traditions/Noncombat/SwiftRecovery.lua | 15 + Lua/Spells/Traditions/Noncombat/TastyBrew.lua | 15 + .../Traditions/Noncombat/ToxicFinesse.lua | 15 + .../Noncombat/TrainingTechniques.lua | 15 + .../Noncombat/UnderCoverOfTheVale.lua | 15 + .../Noncombat/VitalityOfTheSwamp.lua | 15 + Lua/Spells/Traditions/Noncombat/WalkItOff.lua | 15 + .../Noncombat/WillfulPersistence.lua | 15 + .../Noncombat/WoodlandRegeneration.lua | 15 + Lua/Spells/Traditions/OggokianAggression.lua | 12 + Lua/Spells/Traditions/OggokianTrade.lua | 12 + Lua/Spells/Traditions/Perserverance.lua | 12 + Lua/Spells/Traditions/PitifulPlea.lua | 12 + Lua/Spells/Traditions/PoisonCrafter.lua | 12 + Lua/Spells/Traditions/PoisonExpertise.lua | 12 + Lua/Spells/Traditions/PoisonPlay.lua | 12 + .../Traditions/Pools/ArcaneKnowledge.lua | 17 + Lua/Spells/Traditions/Pools/BashersWill.lua | 17 + Lua/Spells/Traditions/Pools/Bloodthirsty.lua | 17 + .../Traditions/Pools/ClockworkArmor.lua | 17 + Lua/Spells/Traditions/Pools/CoatedWings.lua | 17 + .../Traditions/Pools/CollectiveThoughts.lua | 17 + Lua/Spells/Traditions/Pools/DubiousFocus.lua | 17 + .../Traditions/Pools/EnhancedIntellect.lua | 17 + .../Traditions/Pools/FlashOfInsight.lua | 17 + .../Traditions/Pools/FocusOfTheValorous.lua | 17 + Lua/Spells/Traditions/Pools/GiftOfTunare.lua | 17 + Lua/Spells/Traditions/Pools/HatefulMind.lua | 17 + .../Traditions/Pools/HonorOfInsight.lua | 17 + Lua/Spells/Traditions/Pools/InnerFocus.lua | 17 + Lua/Spells/Traditions/Pools/JumjumRegimen.lua | 17 + Lua/Spells/Traditions/Pools/LegacyOfBrell.lua | 17 + .../Traditions/Pools/LegacyOfTheShissar.lua | 17 + .../Traditions/Pools/LegendaryTenacity.lua | 17 + .../Traditions/Pools/LegionnairesFocus.lua | 17 + .../Traditions/Pools/MagicOfTheArasai.lua | 17 + Lua/Spells/Traditions/Pools/MagicOfTheFae.lua | 17 + .../Traditions/Pools/ManiacalMadness.lua | 17 + .../Traditions/Pools/MeditativeStae.lua | 17 + Lua/Spells/Traditions/Pools/MiddaySnack.lua | 17 + .../Traditions/Pools/RallosZeksBlessing.lua | 17 + .../Pools/ResilianceOfTheUnderfoot.lua | 17 + Lua/Spells/Traditions/Pools/ResilientMind.lua | 17 + .../Traditions/Pools/RuggedFortitude.lua | 17 + Lua/Spells/Traditions/Pools/Ruggedness.lua | 17 + .../Traditions/Pools/ShortButStrong.lua | 17 + Lua/Spells/Traditions/Pools/SpiritualBoon.lua | 17 + .../Pools/SpontaneousMetamorphosis.lua | 17 + .../Pools/TheoreticalImprovements.lua | 17 + .../Traditions/Pools/ThoughtsOfFelwithe.lua | 17 + .../Traditions/Pools/TribalKnowledge.lua | 17 + .../Traditions/Pools/TribalStrength.lua | 17 + Lua/Spells/Traditions/Pools/VampiricWill.lua | 17 + .../Traditions/Pools/VitalityOfTheFeirDal.lua | 17 + .../Traditions/Pools/WillOfTheAnchored.lua | 17 + Lua/Spells/Traditions/ProficientSwimmer.lua | 12 + Lua/Spells/Traditions/PursuitoftheArcane.lua | 12 + Lua/Spells/Traditions/RallosZeksBlessing.lua | 12 + Lua/Spells/Traditions/RallosianReadiness.lua | 12 + Lua/Spells/Traditions/RebelliousSpirit.lua | 12 + Lua/Spells/Traditions/ReflexiveLanding.lua | 12 + Lua/Spells/Traditions/ReptilianAncestry.lua | 12 + Lua/Spells/Traditions/Resists/Adaptable.lua | 17 + Lua/Spells/Traditions/Resists/Antidote.lua | 17 + .../Traditions/Resists/ArcanicFortitude.lua | 17 + .../Traditions/Resists/ArmorOfTheFeerrott.lua | 17 + Lua/Spells/Traditions/Resists/DefyMagic.lua | 17 + .../Traditions/Resists/DevoutBarrier.lua | 17 + .../Traditions/Resists/DidntEvenFeelIt.lua | 17 + .../Traditions/Resists/ElementalBarrier.lua | 17 + .../Traditions/Resists/ElementalDefiance.lua | 17 + .../Resists/ElementalDurability.lua | 17 + .../Traditions/Resists/ElementalFortitude.lua | 17 + .../Traditions/Resists/ElementalMastery.lua | 17 + .../Resists/EnvironmentalAdaptability.lua | 17 + .../Traditions/Resists/FocusOfWarfare.lua | 17 + Lua/Spells/Traditions/Resists/FurCoat.lua | 17 + .../Traditions/Resists/HardenedScales.lua | 17 + .../Traditions/Resists/HiddenTracks.lua | 17 + Lua/Spells/Traditions/Resists/LeatherSkin.lua | 17 + .../Resists/LightbringersProtection.lua | 17 + Lua/Spells/Traditions/Resists/MagicPah.lua | 17 + .../Traditions/Resists/MagicalProtection.lua | 17 + .../Resists/OggokianStubbornness.lua | 17 + .../Traditions/Resists/ProtectiveEyewear.lua | 17 + Lua/Spells/Traditions/Resists/PutridHide.lua | 17 + .../Traditions/Resists/RemedialWill.lua | 17 + .../Resists/RivervalesProtection.lua | 17 + Lua/Spells/Traditions/Resists/RobustMight.lua | 17 + .../Traditions/Resists/ShieldOfBark.lua | 17 + .../Traditions/Resists/ShieldOfNature.lua | 17 + .../Traditions/Resists/SlipperyHide.lua | 17 + .../Traditions/Resists/Spirituality.lua | 17 + Lua/Spells/Traditions/Resists/StrongBlood.lua | 17 + .../Traditions/Resists/TenetOfTakishHiz.lua | 17 + Lua/Spells/Traditions/Resists/ToughScales.lua | 17 + .../Traditions/Resists/ToxicIntimacy.lua | 17 + .../Traditions/Resists/ToxicProtection.lua | 17 + .../Traditions/Resists/TundraRuggedness.lua | 17 + .../Traditions/Resists/UndeadResilience.lua | 17 + Lua/Spells/Traditions/RockThrower.lua | 12 + Lua/Spells/Traditions/RodentReflexes.lua | 12 + Lua/Spells/Traditions/RushintoBattle.lua | 12 + Lua/Spells/Traditions/ShadowLurker.lua | 12 + Lua/Spells/Traditions/ShieldofNature.lua | 12 + Lua/Spells/Traditions/ShoulderSlam.lua | 12 + Lua/Spells/Traditions/SoulMending.lua | 12 + Lua/Spells/Traditions/Spirituality.lua | 12 + Lua/Spells/Traditions/SprintIntoBattle.lua | 12 + .../Traditions/SteamfontsMagicalBarrier.lua | 12 + Lua/Spells/Traditions/StreetThug.lua | 12 + Lua/Spells/Traditions/Stride.lua | 12 + Lua/Spells/Traditions/StrongHeart.lua | 12 + Lua/Spells/Traditions/SummonFilthyWater.lua | 12 + Lua/Spells/Traditions/SummonHalasianBrew.lua | 12 + Lua/Spells/Traditions/SwampBreath.lua | 12 + Lua/Spells/Traditions/TastyThings.lua | 12 + Lua/Spells/Traditions/TendWounds.lua | 12 + Lua/Spells/Traditions/TenetofTakish`Hiz.lua | 12 + .../Traditions/TheFocisMagicalProtection.lua | 12 + Lua/Spells/Traditions/ThulesGuidance.lua | 12 + Lua/Spells/Traditions/ToxicProtection.lua | 12 + .../Traditions/Tradeskill/AgileCreations.lua | 15 + .../Tradeskill/AlchemicIngenuity.lua | 15 + .../Tradeskill/ArcaneUnderstanding.lua | 15 + .../Tradeskill/AttentionToDetails.lua | 15 + .../Traditions/Tradeskill/AyrDalAdornment.lua | 15 + .../Tradeskill/BreakingDownTheTrash.lua | 15 + .../Traditions/Tradeskill/BrellsBlessing.lua | 15 + .../Traditions/Tradeskill/Brewmaster.lua | 15 + .../Traditions/Tradeskill/CarpentersTouch.lua | 15 + .../Tradeskill/ChasingBallsOfYarn.lua | 15 + .../Tradeskill/ChemicalCalculations.lua | 15 + Lua/Spells/Traditions/Tradeskill/Chemist.lua | 15 + Lua/Spells/Traditions/Tradeskill/Clothier.lua | 15 + .../Tradeskill/CraftyConcentrations.lua | 15 + .../Traditions/Tradeskill/DarkArmament.lua | 15 + .../Traditions/Tradeskill/DarkMedicine.lua | 15 + .../Tradeskill/DarkPerfectionist.lua | 15 + .../Tradeskill/DexterousCreations.lua | 15 + .../Traditions/Tradeskill/Diversity.lua | 15 + .../Traditions/Tradeskill/DurableGoods.lua | 15 + .../Tradeskill/DwarvenCraftsmanship.lua | 15 + .../Tradeskill/DwarvenDurability.lua | 15 + .../Traditions/Tradeskill/EsotericStudy.lua | 15 + .../Traditions/Tradeskill/Excellence.lua | 15 + .../Tradeskill/ExperimentalTechnique.lua | 15 + .../Traditions/Tradeskill/FaydwerFashions.lua | 15 + .../Traditions/Tradeskill/FervorOfMarr.lua | 15 + .../Traditions/Tradeskill/FieldRepairs.lua | 15 + .../Traditions/Tradeskill/FinestCreations.lua | 15 + .../Tradeskill/FinestRobesAround.lua | 15 + .../Traditions/Tradeskill/ForestKnowledge.lua | 15 + .../Traditions/Tradeskill/ForgeInvention.lua | 15 + .../Tradeskill/FortuneOfTheFeerrott.lua | 15 + .../Tradeskill/GemcraftingExcellence.lua | 15 + .../Tradeskill/GiftOfTheFaydark.lua | 15 + .../Traditions/Tradeskill/GiftOfTheLand.lua | 15 + .../Tradeskill/GildingOfFelwithe.lua | 15 + .../Tradeskill/GnomishIngenuity.lua | 15 + .../Tradeskill/GracefulAssembly.lua | 15 + .../Tradeskill/HalasianArtistry.lua | 15 + .../Traditions/Tradeskill/Herbology.lua | 15 + .../HypotheticalExperimentation.lua | 15 + .../Traditions/Tradeskill/IngeniousTrades.lua | 15 + .../Tradeskill/InstrumentsOfTheUnderfoot.lua | 15 + .../Tradeskill/IntricateCreations.lua | 15 + .../Tradeskill/IntricateDesigns.lua | 15 + .../Traditions/Tradeskill/KruzzsLuck.lua | 15 + .../Tradeskill/LegionsQuatermaster.lua | 15 + .../Tradeskill/MagicalTeachings.lua | 15 + .../Traditions/Tradeskill/ManderOfTheMire.lua | 15 + .../Tradeskill/MasterOfTheTumpyTonic.lua | 15 + .../Tradeskill/MeticulousCraftsmanship.lua | 15 + Lua/Spells/Traditions/Tradeskill/Mithril.lua | 15 + .../Tradeskill/MooshgasTutelage.lua | 15 + Lua/Spells/Traditions/Tradeskill/MoreGlue.lua | 15 + .../Traditions/Tradeskill/NaimisTutelage.lua | 15 + .../Tradeskill/NaturalPrgression.lua | 15 + .../Traditions/Tradeskill/NeriakPrecision.lua | 15 + .../Traditions/Tradeskill/NobleCrafting.lua | 15 + .../Tradeskill/OggokianDurability.lua | 15 + .../Traditions/Tradeskill/OkkokianTrade.lua | 15 + .../Traditions/Tradeskill/PantsPatcher.lua | 15 + .../Traditions/Tradeskill/PoisonCrafter.lua | 15 + .../Traditions/Tradeskill/PoisonPlay.lua | 15 + .../Tradeskill/PracticedTinkering.lua | 15 + .../Traditions/Tradeskill/PrehelsileTail.lua | 15 + .../Traditions/Tradeskill/PristineWork.lua | 15 + .../Traditions/Tradeskill/ProfoundFocus.lua | 15 + .../Tradeskill/PursuitOfTheArcane.lua | 15 + .../Traditions/Tradeskill/QuickAssembly.lua | 15 + .../Tradeskill/RallosianReadiness.lua | 15 + .../Traditions/Tradeskill/RubTheMuddOff.lua | 15 + .../Tradeskill/SaplingKnowledge.lua | 15 + .../Traditions/Tradeskill/Scalesmith.lua | 15 + .../Tradeskill/ScholarlyPursuit.lua | 15 + .../Tradeskill/ScribingsOfThePious.lua | 15 + .../Traditions/Tradeskill/SkilledArtistry.lua | 15 + .../Tradeskill/SkillfulCreations.lua | 15 + .../Traditions/Tradeskill/SkillfulPaws.lua | 15 + .../Traditions/Tradeskill/SkillfulTriumph.lua | 15 + .../Tradeskill/SuccessfulCreations.lua | 15 + .../Traditions/Tradeskill/SwiftScamper.lua | 15 + .../Tradeskill/TeachingsOfBrell.lua | 15 + .../Traditions/Tradeskill/TimberShaper.lua | 15 + .../Traditions/Tradeskill/TinkeredFocus.lua | 15 + .../Traditions/Tradeskill/TrainedFocus.lua | 15 + .../Traditions/Tradeskill/Transmography.lua | 15 + .../Traditions/Tradeskill/TrollGourmet.lua | 15 + .../Traditions/Tradeskill/TwiddysArtistry.lua | 15 + .../Traditions/Tradeskill/TwiddysInsight.lua | 15 + .../Tradeskill/UnflinchingFocus.lua | 15 + .../Tradeskill/UnyieldingDetermination.lua | 15 + .../Tradeskill/VerifiedHypothesis.lua | 15 + .../Traditions/Tradeskill/WeaponForger.lua | 15 + .../Tradeskill/WeaponProduction.lua | 15 + .../Traditions/Tradeskill/Whipstich.lua | 15 + .../Traditions/Tradeskill/ZealotryOfMarr.lua | 15 + .../Traditions/TrainingoftheKoada`Dal.lua | 12 + Lua/Spells/Traditions/Transmography.lua | 12 + Lua/Spells/Traditions/TrollGourmet.lua | 12 + Lua/Spells/Traditions/TundraEndurance.lua | 11 + Lua/Spells/Traditions/UrbanSprawl.lua | 20 + Lua/Spells/Traditions/Versatility.lua | 12 + .../Traditions/VitalityoftheFier`Dal.lua | 12 + Lua/Spells/Traditions/WarWounds.lua | 12 + Lua/Spells/Traditions/WardofGlyphs.lua | 12 + Lua/Spells/Traditions/WeaponForger.lua | 12 + Lua/Spells/Traditions/WeaponProduction.lua | 12 + Lua/Spells/Traditions/WilltoSurvive.lua | 12 + Lua/Spells/Traditions/WindWalker.lua | 12 + Lua/Spells/Traditions/WisdomoftheFaydark.lua | 12 + Lua/Spells/Traditions/dome.bat | 153 ++ Lua/Spells/Traits/Agile.lua | 14 + Lua/Spells/Traits/Attentive.lua | 14 + Lua/Spells/Traits/Brawny.lua | 14 + Lua/Spells/Traits/Brilliant.lua | 14 + Lua/Spells/Traits/Cabalistic.lua | 14 + Lua/Spells/Traits/Calm.lua | 14 + Lua/Spells/Traits/Centered.lua | 16 + Lua/Spells/Traits/Clever.lua | 14 + Lua/Spells/Traits/ColdBlooded.lua | 14 + Lua/Spells/Traits/Concentration.lua | 14 + Lua/Spells/Traits/Cryptic.lua | 14 + Lua/Spells/Traits/Dauntless.lua | 16 + Lua/Spells/Traits/Deft.lua | 14 + Lua/Spells/Traits/Devout.lua | 14 + Lua/Spells/Traits/Dexterous.lua | 14 + Lua/Spells/Traits/Durable.lua | 14 + Lua/Spells/Traits/Enduring.lua | 14 + Lua/Spells/Traits/Enlightened.lua | 14 + Lua/Spells/Traits/Fireborn.lua | 14 + Lua/Spells/Traits/Focused.lua | 16 + Lua/Spells/Traits/Force.lua | 14 + Lua/Spells/Traits/Frostborn.lua | 14 + Lua/Spells/Traits/Halcyon.lua | 16 + Lua/Spells/Traits/Hardened.lua | 14 + Lua/Spells/Traits/Hardy.lua | 14 + Lua/Spells/Traits/Healthy.lua | 14 + Lua/Spells/Traits/Hygienic.lua | 14 + Lua/Spells/Traits/Insightful.lua | 14 + Lua/Spells/Traits/Intelligent.lua | 14 + Lua/Spells/Traits/Intent.lua | 14 + Lua/Spells/Traits/Intrepid.lua | 14 + Lua/Spells/Traits/Lively.lua | 14 + Lua/Spells/Traits/Lucid.lua | 14 + Lua/Spells/Traits/Muscular.lua | 14 + Lua/Spells/Traits/Nimble.lua | 14 + Lua/Spells/Traits/Perceptive.lua | 14 + Lua/Spells/Traits/Powerful.lua | 14 + Lua/Spells/Traits/Pristine.lua | 14 + Lua/Spells/Traits/Purity.lua | 14 + Lua/Spells/Traits/Recondite.lua | 14 + Lua/Spells/Traits/Resilient.lua | 14 + Lua/Spells/Traits/Resistant.lua | 14 + Lua/Spells/Traits/Resolute.lua | 14 + Lua/Spells/Traits/Rigid.lua | 14 + Lua/Spells/Traits/Robust.lua | 16 + Lua/Spells/Traits/Sanitary.lua | 14 + Lua/Spells/Traits/Savvy.lua | 14 + Lua/Spells/Traits/Serene.lua | 16 + Lua/Spells/Traits/Sharp.lua | 14 + Lua/Spells/Traits/Spry.lua | 14 + Lua/Spells/Traits/Stalwart.lua | 14 + Lua/Spells/Traits/Stout.lua | 16 + Lua/Spells/Traits/Strong.lua | 14 + Lua/Spells/Traits/Sturdy.lua | 16 + Lua/Spells/Traits/Tough.lua | 14 + Lua/Spells/Traits/Transcendent.lua | 14 + Lua/Spells/Traits/Untainted.lua | 14 + Lua/Spells/Traits/Unyielding.lua | 14 + Lua/Spells/Traits/Vigorous.lua | 14 + Lua/Spells/Traits/Visionary.lua | 14 + Lua/Spells/Traits/Vital.lua | 14 + Lua/Spells/Traits/WarmBlooded.lua | 14 + Lua/Spells/Traits/Weathered.lua | 14 + Lua/Spells/Traits/Willed.lua | 14 + Lua/Spells/Traits/Wise.lua | 14 + Lua/Spells/blank.lua | 4 + Lua/Spells/commands.lua | 121 ++ Lua/Spells/gm_spells.lua | 17 + Lua/ZoneScripts/Antonica.lua | 40 + Lua/ZoneScripts/BeggarsCourt.lua | 58 + Lua/ZoneScripts/Caves.lua | 22 + Lua/ZoneScripts/Commonlands.lua | 40 + Lua/ZoneScripts/CrustaceanCave.lua | 25 + Lua/ZoneScripts/EnchantedLands.lua | 26 + Lua/ZoneScripts/Feerrott.lua | 38 + Lua/ZoneScripts/ForestRuins.lua | 35 + Lua/ZoneScripts/FrostfangSea.lua | 135 ++ Lua/ZoneScripts/GMHall.lua | 16 + Lua/ZoneScripts/Graveyard.lua | 31 + Lua/ZoneScripts/HoldOfPrexus.lua | 0 Lua/ZoneScripts/NektroposCastle.lua | 146 ++ Lua/ZoneScripts/Nektulos.lua | 39 + Lua/ZoneScripts/Nettleville.lua | 42 + Lua/ZoneScripts/Oakmyst.lua | 59 + Lua/ZoneScripts/OutpostOverlord.lua | 24 + Lua/ZoneScripts/PeatBog.lua | 89 ++ Lua/ZoneScripts/QCD.lua | 0 Lua/ZoneScripts/QeynosCapitalDistrict.lua | 25 + Lua/ZoneScripts/QeynosHarbor.lua | 25 + Lua/ZoneScripts/QueensColony.lua | 41 + Lua/ZoneScripts/ScaleYard.lua | 55 + Lua/ZoneScripts/Sprawl.lua | 29 + Lua/ZoneScripts/SunkenCity.lua | 25 + Lua/ZoneScripts/ThunderingSteppes.lua | 74 + Lua/ZoneScripts/WillowWood.lua | 32 + Lua/ZoneScripts/Zek.lua | 38 + 4434 files changed, 213951 insertions(+) create mode 100755 Lua/ItemScripts/ABookOfGnollishOrders.lua create mode 100755 Lua/ItemScripts/AFancyFirework.lua create mode 100755 Lua/ItemScripts/ANoteFromTheQeynosQuartermaster.lua create mode 100755 Lua/ItemScripts/ATwitchingCrabClaw.lua create mode 100755 Lua/ItemScripts/AyrDalLanguagePrimer.lua create mode 100755 Lua/ItemScripts/BetaVoucher.lua create mode 100755 Lua/ItemScripts/Bogchild's_Iced_Trap.lua create mode 100755 Lua/ItemScripts/BowlOfTerratrodderChuck.lua create mode 100755 Lua/ItemScripts/BundleofSpiritWards.lua create mode 100755 Lua/ItemScripts/CrustoseRepellentPrototype.lua create mode 100755 Lua/ItemScripts/Darkheart.lua create mode 100755 Lua/ItemScripts/DisassembledStorageBox.lua create mode 100755 Lua/ItemScripts/DrawingRay.lua create mode 100755 Lua/ItemScripts/DwarvenLanguagePrimer.lua create mode 100755 Lua/ItemScripts/ErudianLanguagePrimer.lua create mode 100755 Lua/ItemScripts/FabricPatch.lua create mode 100755 Lua/ItemScripts/FeirDalLanguagePrimer.lua create mode 100755 Lua/ItemScripts/FireworkConfettiShower.lua create mode 100755 Lua/ItemScripts/FireworkPrismaticBurst.lua create mode 100755 Lua/ItemScripts/FireworkRosePetalShower.lua create mode 100755 Lua/ItemScripts/FireworkSwirlingSnowflakes.lua create mode 100755 Lua/ItemScripts/FoldingStand.lua create mode 100755 Lua/ItemScripts/FriendlyGazerRunt.lua create mode 100755 Lua/ItemScripts/FrondensFinest.lua create mode 100755 Lua/ItemScripts/GeldranisVial.lua create mode 100755 Lua/ItemScripts/GerlasElementalLullaby.lua create mode 100755 Lua/ItemScripts/GnomishLanguagePrimer.lua create mode 100755 Lua/ItemScripts/Griz.lua create mode 100755 Lua/ItemScripts/Guestroomkey01.lua create mode 100755 Lua/ItemScripts/GuktanLanguagePrimer.lua create mode 100755 Lua/ItemScripts/HalasianLanguagePrimer.lua create mode 100755 Lua/ItemScripts/HawkBait.lua create mode 100755 Lua/ItemScripts/IcemaneLeash.lua create mode 100755 Lua/ItemScripts/KerranLanguangePrimer.lua create mode 100755 Lua/ItemScripts/KoadaDalLanguagePrimer.lua create mode 100755 Lua/ItemScripts/LaserGoggles.lua create mode 100755 Lua/ItemScripts/MakeshiftBarricade.lua create mode 100755 Lua/ItemScripts/MavsStone.lua create mode 100755 Lua/ItemScripts/NeezersQuestions.lua create mode 100755 Lua/ItemScripts/OverflowManifest.lua create mode 100755 Lua/ItemScripts/ParchmentScrap.lua create mode 100755 Lua/ItemScripts/Poultice.lua create mode 100755 Lua/ItemScripts/PrankPreparednessKit.lua create mode 100755 Lua/ItemScripts/RyGorrExplosiveMiningBarrel.lua create mode 100755 Lua/ItemScripts/ShardofEssence.lua create mode 100755 Lua/ItemScripts/SilverTweezers.lua create mode 100755 Lua/ItemScripts/SpiritReaper.lua create mode 100755 Lua/ItemScripts/StoutLanguagePrimer.lua create mode 100755 Lua/ItemScripts/T1Pickles.lua create mode 100755 Lua/ItemScripts/T2Pickles.lua create mode 100755 Lua/ItemScripts/T3Pickles.lua create mode 100755 Lua/ItemScripts/T4Pickles.lua create mode 100755 Lua/ItemScripts/T5Pickles.lua create mode 100755 Lua/ItemScripts/T6Pickles.lua create mode 100755 Lua/ItemScripts/T7Pickles.lua create mode 100755 Lua/ItemScripts/T8Pickles.lua create mode 100755 Lua/ItemScripts/UrnFilledWithAshes.lua create mode 100755 Lua/ItemScripts/WaterFlask.lua create mode 100755 Lua/ItemScripts/WorthlessBronzeStatuette.lua create mode 100755 Lua/ItemScripts/aNeriakrecruitbadge.lua create mode 100755 Lua/ItemScripts/a_locked_chest.lua create mode 100755 Lua/ItemScripts/a_mystical_sphere.lua create mode 100755 Lua/ItemScripts/abasicfirework.lua create mode 100755 Lua/ItemScripts/an_old_darkblade_dagger.lua create mode 100755 Lua/ItemScripts/anoldnote.lua create mode 100755 Lua/ItemScripts/awellspringcubleash.lua create mode 100755 Lua/ItemScripts/cadavers_dram.lua create mode 100755 Lua/ItemScripts/flaskofwater.lua create mode 100755 Lua/ItemScripts/goblishtranslationnotes.lua create mode 100755 Lua/ItemScripts/guiderobes.lua create mode 100755 Lua/ItemScripts/mysteriousbracers.lua create mode 100755 Lua/ItemScripts/pouchofstunsporepowder.lua create mode 100755 Lua/ItemScripts/ration.lua create mode 100755 Lua/ItemScripts/runedacorn.lua create mode 100755 Lua/ItemScripts/scarwurmpheromone.lua create mode 100755 Lua/ItemScripts/smolderingtrout.lua create mode 100755 Lua/ItemScripts/trappedspirits.lua create mode 100755 Lua/Quests/Antonica/ACaptainsCommunique.lua create mode 100755 Lua/Quests/Antonica/Achoo!AntonicanPepper.lua.lua create mode 100755 Lua/Quests/Antonica/Blub,Blub-SomethingSmellsFishy.lua create mode 100755 Lua/Quests/Antonica/CarePackageforBlarton.lua create mode 100755 Lua/Quests/Antonica/GnollReport.lua create mode 100755 Lua/Quests/Antonica/KillingwithKindness,OneBarbarianataTime.lua create mode 100755 Lua/Quests/Antonica/LuckyLure.lua create mode 100755 Lua/Quests/Antonica/MailDeliveryforMatsy.lua create mode 100755 Lua/Quests/Antonica/SpicyMeatPie.lua create mode 100755 Lua/Quests/Antonica/TheKeepOfTheArdentNeedle.lua create mode 100755 Lua/Quests/Antonica/history_of_the_ayrdal_part_i.lua create mode 100755 Lua/Quests/Antonica/history_of_the_barbarians_part_i.lua create mode 100755 Lua/Quests/Antonica/once_upon_an_isle_dreary.lua create mode 100755 Lua/Quests/Antonica/qeynosian_civil_service.lua create mode 100755 Lua/Quests/Antonica/there_mite_be_trouble.lua create mode 100755 Lua/Quests/Baubbleshire/a_budding_prankster.lua create mode 100755 Lua/Quests/Baubbleshire/badger_pelts_for_diggs.lua create mode 100755 Lua/Quests/Baubbleshire/embers_for_xoort.lua create mode 100755 Lua/Quests/Baubbleshire/fight_the_forgotten_guardians.lua create mode 100755 Lua/Quests/Baubbleshire/getting_to_know_poko.lua create mode 100755 Lua/Quests/Baubbleshire/helping_a_friend.lua create mode 100755 Lua/Quests/Baubbleshire/helping_a_friend_again.lua create mode 100755 Lua/Quests/Baubbleshire/helping_some_friends.lua create mode 100755 Lua/Quests/Baubbleshire/neezers_survey.lua create mode 100755 Lua/Quests/Baubbleshire/nogginspark_reactors.lua create mode 100755 Lua/Quests/Baubbleshire/paying_off_a_sweet_debt.lua create mode 100755 Lua/Quests/Baubbleshire/scraptastic.lua create mode 100755 Lua/Quests/BeggarsCourt/a_delivery.lua create mode 100755 Lua/Quests/BeggarsCourt/dirty_work.lua create mode 100755 Lua/Quests/BeggarsCourt/one_last_request.lua create mode 100755 Lua/Quests/BeggarsCourt/reel_him_in.lua create mode 100755 Lua/Quests/BeggarsCourt/saving_history.lua create mode 100755 Lua/Quests/BeggarsCourt/thaen_sevellos.lua create mode 100755 Lua/Quests/BlumblesHalflingHole/SearchForGrandmaBlumble.lua create mode 100755 Lua/Quests/ButcherblockMountains/ADimLight.lua create mode 100755 Lua/Quests/ButcherblockMountains/AMindOfMyOwn.lua create mode 100755 Lua/Quests/ButcherblockMountains/AStrangeMix.lua create mode 100755 Lua/Quests/ButcherblockMountains/CaptainSays.lua create mode 100755 Lua/Quests/ButcherblockMountains/CoinForTheCaptain.lua create mode 100755 Lua/Quests/ButcherblockMountains/DarkTides.lua create mode 100755 Lua/Quests/ButcherblockMountains/DiggingInTheYard.lua create mode 100755 Lua/Quests/ButcherblockMountains/DockDelinquency.lua create mode 100755 Lua/Quests/ButcherblockMountains/FeathersForGherrana.lua create mode 100755 Lua/Quests/ButcherblockMountains/FletchMeMore.lua create mode 100755 Lua/Quests/ButcherblockMountains/ForTheDogs.lua create mode 100755 Lua/Quests/ButcherblockMountains/GriffinStationsButcherblock.lua create mode 100755 Lua/Quests/ButcherblockMountains/IrontoeBrigadeRequisitionLists.lua create mode 100755 Lua/Quests/ButcherblockMountains/MuckflickMessageIntercepted.lua create mode 100755 Lua/Quests/ButcherblockMountains/NauticalDisaster.lua create mode 100755 Lua/Quests/ButcherblockMountains/NecessaryPrecautions.lua create mode 100755 Lua/Quests/ButcherblockMountains/SarnakSympathizerPart1.lua create mode 100755 Lua/Quests/ButcherblockMountains/SchmittysSandals.lua create mode 100755 Lua/Quests/ButcherblockMountains/SeekingBrultenHiltstill.lua create mode 100755 Lua/Quests/ButcherblockMountains/SeekingTheKilnkors.lua create mode 100755 Lua/Quests/ButcherblockMountains/StockComponents.lua create mode 100755 Lua/Quests/ButcherblockMountains/StraightAndToThePoint.lua create mode 100755 Lua/Quests/ButcherblockMountains/TeirDalTimer.lua create mode 100755 Lua/Quests/ButcherblockMountains/TheKoboldAndTheBeautiful.lua create mode 100755 Lua/Quests/ButcherblockMountains/TheManyUsesOfCarapace.lua create mode 100755 Lua/Quests/ButcherblockMountains/TheNumberOneThreatInButcherblock.lua create mode 100755 Lua/Quests/ButcherblockMountains/TheYarpsnarls.lua create mode 100755 Lua/Quests/ButcherblockMountains/ThievingRunts.lua create mode 100755 Lua/Quests/ButcherblockMountains/UnusualPalate.lua create mode 100755 Lua/Quests/Castleview/components_of_growth.lua create mode 100755 Lua/Quests/Castleview/faeadaens_dinner_message.lua create mode 100755 Lua/Quests/Castleview/sending_the_word.lua create mode 100755 Lua/Quests/Castleview/sowing_beauty.lua create mode 100755 Lua/Quests/Castleview/targeting_corruption.lua create mode 100755 Lua/Quests/Castleview/the_commune.lua create mode 100755 Lua/Quests/Caves/ALackofInformation.lua create mode 100755 Lua/Quests/Caves/a_lack_of_information.lua create mode 100755 Lua/Quests/Caves/a_note_from_the_qeynos_quartermaster.lua create mode 100755 Lua/Quests/Caves/an_explosive_idea.lua create mode 100755 Lua/Quests/Caves/destroying_the_foundation.lua create mode 100755 Lua/Quests/Caves/elements_of_a_ritual.lua create mode 100755 Lua/Quests/Caves/high_shaman_of_the_rockpaw.lua create mode 100755 Lua/Quests/Caves/hit_them_where_it_hurts.lua create mode 100755 Lua/Quests/Caves/studies_in_speciation.lua create mode 100755 Lua/Quests/Caves/the_gnollish_menace.lua create mode 100755 Lua/Quests/Commonlands/AFriendinNeed.lua create mode 100755 Lua/Quests/Commonlands/AHardMantoPlease.lua create mode 100755 Lua/Quests/Commonlands/AHuntersTool.lua create mode 100755 Lua/Quests/Commonlands/ALostPackage.lua create mode 100755 Lua/Quests/Commonlands/AMeetingInterrupted.lua create mode 100755 Lua/Quests/Commonlands/ARatDivided.lua create mode 100755 Lua/Quests/Commonlands/AnAcquisition.lua create mode 100755 Lua/Quests/Commonlands/ArmadilloHides.lua create mode 100755 Lua/Quests/Commonlands/BanditSashBounty.lua create mode 100755 Lua/Quests/Commonlands/BeetleShells.lua create mode 100755 Lua/Quests/Commonlands/BigGameHunting.lua create mode 100755 Lua/Quests/Commonlands/BloodskullDisruption.lua create mode 100755 Lua/Quests/Commonlands/BloodskullIntentions.lua create mode 100755 Lua/Quests/Commonlands/BrokenEquipment.lua create mode 100755 Lua/Quests/Commonlands/CantWeAllJustGetAlong.lua create mode 100755 Lua/Quests/Commonlands/CaptainFeralis.lua create mode 100755 Lua/Quests/Commonlands/CollectingOnWhatIsEarned.lua create mode 100755 Lua/Quests/Commonlands/CommonlandsCreatureCataloging.lua create mode 100755 Lua/Quests/Commonlands/ConfusionistheKey.lua create mode 100755 Lua/Quests/Commonlands/CrackPot.lua create mode 100755 Lua/Quests/Commonlands/CratesontheNerves.lua create mode 100755 Lua/Quests/Commonlands/DealingwiththeBloodskulls.lua create mode 100755 Lua/Quests/Commonlands/DirtySneakyRats.lua create mode 100755 Lua/Quests/Commonlands/FillingtheCoffers.lua create mode 100755 Lua/Quests/Commonlands/FinishingtheNegotiations.lua create mode 100755 Lua/Quests/Commonlands/GiftsfromtheEarth.lua create mode 100755 Lua/Quests/Commonlands/GrizzlefangsMane.lua create mode 100755 Lua/Quests/Commonlands/HyenaJerky.lua create mode 100755 Lua/Quests/Commonlands/MorethanMeetstheEye.lua create mode 100755 Lua/Quests/Commonlands/MushroomMadness.lua create mode 100755 Lua/Quests/Commonlands/OMugwumpWhereArtThou.lua create mode 100755 Lua/Quests/Commonlands/OneFinalTask.lua create mode 100755 Lua/Quests/Commonlands/OrcsandGhosts.lua create mode 100755 Lua/Quests/Commonlands/OrcsoftheRee.lua create mode 100755 Lua/Quests/Commonlands/OverlordsOmelet.lua create mode 100755 Lua/Quests/Commonlands/PachydermPunch.lua create mode 100755 Lua/Quests/Commonlands/PlainOleDisease.lua create mode 100755 Lua/Quests/Commonlands/PotionMaking.lua create mode 100755 Lua/Quests/Commonlands/ProofisinthePudding.lua create mode 100755 Lua/Quests/Commonlands/ProvingYourWorth.lua create mode 100755 Lua/Quests/Commonlands/Rainus.lua create mode 100755 Lua/Quests/Commonlands/ReturningtoCaptainFeralis.lua create mode 100755 Lua/Quests/Commonlands/Rhinorific.lua create mode 100755 Lua/Quests/Commonlands/SeafoodSurprise.lua create mode 100755 Lua/Quests/Commonlands/SmugglersSecrets.lua create mode 100755 Lua/Quests/Commonlands/StartingtheNegotiations.lua create mode 100755 Lua/Quests/Commonlands/TeceraValnos.lua create mode 100755 Lua/Quests/Commonlands/TheBloodskullThreat.lua create mode 100755 Lua/Quests/Commonlands/TheFrenzyoftheBloodskulls.lua create mode 100755 Lua/Quests/Commonlands/TheLovebirdsRoost.lua create mode 100755 Lua/Quests/Commonlands/TheMysteriousMissingShipment.lua create mode 100755 Lua/Quests/Commonlands/TheSkeletonKey.lua create mode 100755 Lua/Quests/Commonlands/TroubleAbout.lua create mode 100755 Lua/Quests/Commonlands/VentarTKal.lua create mode 100755 Lua/Quests/Commonlands/Wispersweetnothings.lua create mode 100755 Lua/Quests/Commonlands/ZaZasLittleProblem.lua create mode 100755 Lua/Quests/Commonlands/ZarvonnsLegacy.lua create mode 100755 Lua/Quests/Commonlands/speckled_rattler_venom.lua create mode 100755 Lua/Quests/Darklight/AFerociousInconvenience.lua create mode 100755 Lua/Quests/Darklight/AFriendlyReminder.lua create mode 100755 Lua/Quests/Darklight/AGuardInsignia.lua create mode 100755 Lua/Quests/Darklight/ASnakeMadeSerum.lua create mode 100755 Lua/Quests/Darklight/ASolidifiedFront.lua create mode 100755 Lua/Quests/Darklight/AnAuthorityonHate.lua create mode 100755 Lua/Quests/Darklight/AnotherProblem.lua create mode 100755 Lua/Quests/Darklight/ComparisonstotheHarrowglade.lua create mode 100755 Lua/Quests/Darklight/Condemned.lua create mode 100755 Lua/Quests/Darklight/ContinuingAssistance.lua create mode 100755 Lua/Quests/Darklight/DiggingDeeper_Darkligh.lua create mode 100755 Lua/Quests/Darklight/DusttoDust.lua create mode 100755 Lua/Quests/Darklight/ElementalEncroachment.lua create mode 100755 Lua/Quests/Darklight/HopefulNetReturns.lua create mode 100755 Lua/Quests/Darklight/InfantileIngredients.lua create mode 100755 Lua/Quests/Darklight/MoreReagents.lua create mode 100755 Lua/Quests/Darklight/NoUndeadGoesUnturned.lua create mode 100755 Lua/Quests/Darklight/OneMan'sWaste....lua create mode 100755 Lua/Quests/Darklight/OtherMaterials.lua create mode 100755 Lua/Quests/Darklight/PickingUpSlack.lua create mode 100755 Lua/Quests/Darklight/PotentialThreats.lua create mode 100755 Lua/Quests/Darklight/PreparingARitual.lua create mode 100755 Lua/Quests/Darklight/ProwlerAnnoyance.lua create mode 100755 Lua/Quests/Darklight/PublicService.lua create mode 100755 Lua/Quests/Darklight/PurposefulTrinkets.lua create mode 100755 Lua/Quests/Darklight/Reagents.lua create mode 100755 Lua/Quests/Darklight/Reaping.lua create mode 100755 Lua/Quests/Darklight/ReapingTheBenefitsOfAMonopoly.lua create mode 100755 Lua/Quests/Darklight/ReclaimingtheSableveinTear.lua create mode 100755 Lua/Quests/Darklight/ReporttoZezas.lua create mode 100755 Lua/Quests/Darklight/ResonanceCapture.lua create mode 100755 Lua/Quests/Darklight/Revenge.lua create mode 100755 Lua/Quests/Darklight/RichFishFlesh.lua create mode 100755 Lua/Quests/Darklight/RottingScum.lua create mode 100755 Lua/Quests/Darklight/SableveinRubble.lua create mode 100755 Lua/Quests/Darklight/SealingtheRift.lua create mode 100755 Lua/Quests/Darklight/SearchingforSigils.lua create mode 100755 Lua/Quests/Darklight/SmokingTheCompetition.lua create mode 100755 Lua/Quests/Darklight/SoHotYouCatchThemCooked.lua create mode 100755 Lua/Quests/Darklight/SorcerousNecessities.lua create mode 100755 Lua/Quests/Darklight/StoptheProblemattheSource.lua create mode 100755 Lua/Quests/Darklight/StunningRevelation.lua create mode 100755 Lua/Quests/Darklight/TheBigOne.lua create mode 100755 Lua/Quests/Darklight/TheMissingRecruit.lua create mode 100755 Lua/Quests/Darklight/TheMotherLode.lua create mode 100755 Lua/Quests/Darklight/TheSummoning.lua create mode 100755 Lua/Quests/Darklight/TheSummoningCatalyst.lua create mode 100755 Lua/Quests/Darklight/TheWarpfontSpire.lua create mode 100755 Lua/Quests/Darklight/ThexianTaint.lua create mode 100755 Lua/Quests/Darklight/TippingtheScalesofPower.lua create mode 100755 Lua/Quests/Darklight/ToDrawUponWellsprings.lua create mode 100755 Lua/Quests/Darklight/UsefulMaterials.lua create mode 100755 Lua/Quests/Darklight/WhatsinDemand.lua create mode 100755 Lua/Quests/Darklight/a_ferocious_inconvenience.lua create mode 100755 Lua/Quests/Darklight/a_friendly_reminder.lua create mode 100755 Lua/Quests/Darklight/a_strange_find.lua create mode 100755 Lua/Quests/Darklight/danyas_order.lua create mode 100755 Lua/Quests/Darklight/dirzdias_order.lua create mode 100755 Lua/Quests/Darklight/elemental_encroachment.lua create mode 100755 Lua/Quests/Darklight/luxuries_for_the_rich.lua create mode 100755 Lua/Quests/Darklight/malkaen_weed.lua create mode 100755 Lua/Quests/Darklight/more_luxuries.lua create mode 100755 Lua/Quests/Darklight/one_mans_waste.lua create mode 100755 Lua/Quests/Darklight/picking_up_slack.lua create mode 100755 Lua/Quests/Darklight/prowler_annoyance.lua create mode 100755 Lua/Quests/Darklight/prowler_pelts.lua create mode 100755 Lua/Quests/Darklight/public_service.lua create mode 100755 Lua/Quests/Darklight/purposeful_trinkets.lua create mode 100755 Lua/Quests/Darklight/reaping_the_benefits_of_a_monopoly.lua create mode 100755 Lua/Quests/Darklight/reclaiming_the_sablevein_tear.lua create mode 100755 Lua/Quests/Darklight/rotting_scum.lua create mode 100755 Lua/Quests/Darklight/sablevein_rubble.lua create mode 100755 Lua/Quests/Darklight/smoking_the_competition.lua create mode 100755 Lua/Quests/Darklight/so_hot_you_catch_them_cooked.lua create mode 100755 Lua/Quests/Darklight/the_big_one.lua create mode 100755 Lua/Quests/Darklight/the_first_step.lua create mode 100755 Lua/Quests/Darklight/the_mother_lode.lua create mode 100755 Lua/Quests/Darklight/thexian_taint.lua create mode 100755 Lua/Quests/Darklight/trinkets.lua create mode 100755 Lua/Quests/Darklight/useful_materials.lua create mode 100755 Lua/Quests/Darklight/wanted_ithari_kxyrae.lua create mode 100755 Lua/Quests/Darklight/whats_in_demand.lua create mode 100755 Lua/Quests/EnchantedLands/Drodo'sGoodies.lua create mode 100755 Lua/Quests/EnchantedLands/HelpingSarmaSingebellows.lua create mode 100755 Lua/Quests/EnchantedLands/LousyFairies.lua create mode 100755 Lua/Quests/EnchantedLands/ThreeMeaningsOfLife.lua create mode 100755 Lua/Quests/Everfrost/a_pioneer_without_a_wagon.lua create mode 100755 Lua/Quests/Everfrost/cull_the_threat_to_the_pioneers.lua create mode 100755 Lua/Quests/Everfrost/fish_for_grunthor.lua create mode 100755 Lua/Quests/Everfrost/further_culling.lua create mode 100755 Lua/Quests/Everfrost/marta_terrilons_fur_hunt.lua create mode 100755 Lua/Quests/Everfrost/scouting_the_jagged_plains.lua create mode 100755 Lua/Quests/Everfrost/supplies_for_the_pioneers.lua create mode 100755 Lua/Quests/Everfrost/the_stories_of_everfrost.lua create mode 100755 Lua/Quests/ForestRuins/magnificent_machinery.lua create mode 100755 Lua/Quests/ForestRuins/news_for_germain.lua create mode 100755 Lua/Quests/FrostfangSea/a_fine_halasian_welcome.lua create mode 100755 Lua/Quests/FrostfangSea/a_good_distraction.lua create mode 100755 Lua/Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua create mode 100755 Lua/Quests/FrostfangSea/a_scattering_of_ashes.lua create mode 100755 Lua/Quests/FrostfangSea/all_that_remains.lua create mode 100755 Lua/Quests/FrostfangSea/an_essential_ingredient.lua create mode 100755 Lua/Quests/FrostfangSea/an_unbearable_problem.lua create mode 100755 Lua/Quests/FrostfangSea/arcane_elements.lua create mode 100755 Lua/Quests/FrostfangSea/bartering_crystals.lua create mode 100755 Lua/Quests/FrostfangSea/bear_bottoms.lua create mode 100755 Lua/Quests/FrostfangSea/becoming_another_orcbane.lua create mode 100755 Lua/Quests/FrostfangSea/beets_the_alternative.lua create mode 100755 Lua/Quests/FrostfangSea/below_the_frozen_waves.lua create mode 100755 Lua/Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua create mode 100755 Lua/Quests/FrostfangSea/boatload_of_work.lua create mode 100755 Lua/Quests/FrostfangSea/call_to_arms.lua create mode 100755 Lua/Quests/FrostfangSea/calling_them_back.lua create mode 100755 Lua/Quests/FrostfangSea/campside_spores.lua create mode 100755 Lua/Quests/FrostfangSea/clan_of_the_cave_imps.lua create mode 100755 Lua/Quests/FrostfangSea/cod_and_chips.lua create mode 100755 Lua/Quests/FrostfangSea/crustose_removal.lua create mode 100755 Lua/Quests/FrostfangSea/disarming_the_rygorr.lua create mode 100755 Lua/Quests/FrostfangSea/displaced_and_discouraged,lua create mode 100755 Lua/Quests/FrostfangSea/displaced_and_discouraged.lua create mode 100755 Lua/Quests/FrostfangSea/domestication_is_the_new_survivalism.lua create mode 100755 Lua/Quests/FrostfangSea/fewer_orcs_to_worry_about.lua create mode 100755 Lua/Quests/FrostfangSea/field_testing.lua create mode 100755 Lua/Quests/FrostfangSea/field_testing_part_two.lua create mode 100755 Lua/Quests/FrostfangSea/flame_on.lua create mode 100755 Lua/Quests/FrostfangSea/flawless_core_chore.lua create mode 100755 Lua/Quests/FrostfangSea/foiling_the_flank.lua create mode 100755 Lua/Quests/FrostfangSea/forsaking_the_grave.lua create mode 100755 Lua/Quests/FrostfangSea/frigid_fishing.lua create mode 100755 Lua/Quests/FrostfangSea/frozen_pincer_chowder.lua create mode 100755 Lua/Quests/FrostfangSea/geode_caching.lua create mode 100755 Lua/Quests/FrostfangSea/green_mystery.lua create mode 100755 Lua/Quests/FrostfangSea/ham_and_beans.lua create mode 100755 Lua/Quests/FrostfangSea/highly_flammable_materials.lua create mode 100755 Lua/Quests/FrostfangSea/if_i_had_a_hammer.lua create mode 100755 Lua/Quests/FrostfangSea/impish_threats.lua create mode 100755 Lua/Quests/FrostfangSea/kestrel_pot_pie.lua create mode 100755 Lua/Quests/FrostfangSea/little_lost_froglok.lua create mode 100755 Lua/Quests/FrostfangSea/loosening_their_grip.lua create mode 100755 Lua/Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua create mode 100755 Lua/Quests/FrostfangSea/nap_time_for_evigis.lua create mode 100755 Lua/Quests/FrostfangSea/no_substitute_for_shard_work.lua create mode 100755 Lua/Quests/FrostfangSea/nothing_to_waste.lua create mode 100755 Lua/Quests/FrostfangSea/off_to_the_ossuary.lua create mode 100755 Lua/Quests/FrostfangSea/pelted.lua create mode 100755 Lua/Quests/FrostfangSea/perfectly_missing.lua create mode 100755 Lua/Quests/FrostfangSea/pilgrim_pathfinder.lua create mode 100755 Lua/Quests/FrostfangSea/pilgrim_pelts.lua create mode 100755 Lua/Quests/FrostfangSea/pilgrim_scout.lua create mode 100755 Lua/Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua create mode 100755 Lua/Quests/FrostfangSea/reclaiming_their_honor.lua create mode 100755 Lua/Quests/FrostfangSea/repelling_little_critters.lua create mode 100755 Lua/Quests/FrostfangSea/report_to_cragged_spine.lua create mode 100755 Lua/Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua create mode 100755 Lua/Quests/FrostfangSea/roughing_up_the_reinforcements.lua create mode 100755 Lua/Quests/FrostfangSea/rygorr_mining_operations.lua create mode 100755 Lua/Quests/FrostfangSea/rygorr_tool_taking.lua create mode 100755 Lua/Quests/FrostfangSea/scraggly_foodstuffs.lua create mode 100755 Lua/Quests/FrostfangSea/seeking_elemental_education.lua create mode 100755 Lua/Quests/FrostfangSea/severing_the_head.lua create mode 100755 Lua/Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua create mode 100755 Lua/Quests/FrostfangSea/skulls_for_the_taking.lua create mode 100755 Lua/Quests/FrostfangSea/sleetfoot_search_party.lua create mode 100755 Lua/Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua create mode 100755 Lua/Quests/FrostfangSea/spider_puffs.lua create mode 100755 Lua/Quests/FrostfangSea/stonefists_art_of_combat.lua create mode 100755 Lua/Quests/FrostfangSea/tackling_the_basilisks.lua create mode 100755 Lua/Quests/FrostfangSea/the_absent_effigy.lua create mode 100755 Lua/Quests/FrostfangSea/the_charge.lua create mode 100755 Lua/Quests/FrostfangSea/the_demand_for_supplies.lua create mode 100755 Lua/Quests/FrostfangSea/the_gauntlet.lua create mode 100755 Lua/Quests/FrostfangSea/the_glimmer_orc.lua create mode 100755 Lua/Quests/FrostfangSea/the_icemanes_cometh.lua create mode 100755 Lua/Quests/FrostfangSea/the_last_ingredient.lua create mode 100755 Lua/Quests/FrostfangSea/the_nightmare_is_over.lua create mode 100755 Lua/Quests/FrostfangSea/the_siege_is_not_over.lua create mode 100755 Lua/Quests/FrostfangSea/through_thine_eyes.lua create mode 100755 Lua/Quests/FrostfangSea/tis_most_unnatural.lua create mode 100755 Lua/Quests/FrostfangSea/to_the_great_shelf.lua create mode 100755 Lua/Quests/FrostfangSea/totem_annihilation.lua create mode 100755 Lua/Quests/FrostfangSea/trust_issues.lua create mode 100755 Lua/Quests/FrostfangSea/trusted_referral.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_alchemical_experiments.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_countering_problems.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_essential_outfitting.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_forging_ahead.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_learning_to_cook.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_learning_to_harvest.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_scribing_scrolls.lua create mode 100755 Lua/Quests/FrostfangSea/tutorial_the_art_of_weapons.lua create mode 100755 Lua/Quests/FrostfangSea/watch_out_below.lua create mode 100755 Lua/Quests/FrostfangSea/weapon_of_choice.lua create mode 100755 Lua/Quests/FrostfangSea/whirling_ice_time.lua create mode 100755 Lua/Quests/GMHall/TestQuest.lua create mode 100755 Lua/Quests/Graveyard/bringing_out_your_souls.lua create mode 100755 Lua/Quests/Graveyard/finding_the_pages.lua create mode 100755 Lua/Quests/Graveyard/obtaining_an_ancient_staff.lua create mode 100755 Lua/Quests/Graveyard/paying_a_visit.lua create mode 100755 Lua/Quests/Graveyard/repairing_the_ward.lua create mode 100755 Lua/Quests/Graveyard/reporting_to_the_ruins.lua create mode 100755 Lua/Quests/Graveyard/soothing_the_spirits_of_marr.lua create mode 100755 Lua/Quests/Graveyard/testing_the_ward.lua create mode 100755 Lua/Quests/Graveyard/the_book_of_the_dead.lua create mode 100755 Lua/Quests/Graveyard/the_door_knocker.lua create mode 100755 Lua/Quests/Graystone/a_family_recipe.lua create mode 100755 Lua/Quests/Graystone/a_missing_husband.lua create mode 100755 Lua/Quests/Graystone/a_package.lua create mode 100755 Lua/Quests/Graystone/a_stone_from_home.lua create mode 100755 Lua/Quests/Graystone/a_time_for_fighting.lua create mode 100755 Lua/Quests/Graystone/cheers.lua create mode 100755 Lua/Quests/Graystone/finding_bait.lua create mode 100755 Lua/Quests/Graystone/in_the_drink.lua create mode 100755 Lua/Quests/Graystone/late_shipment.lua create mode 100755 Lua/Quests/Graystone/visiting_a_friend.lua create mode 100755 Lua/Quests/GreaterFaydark/bee_swatter.lua create mode 100755 Lua/Quests/GreaterFaydark/broken_buttons.lua create mode 100755 Lua/Quests/GreaterFaydark/dollnapping.lua create mode 100755 Lua/Quests/GreaterFaydark/dyer_mycoria.lua create mode 100755 Lua/Quests/GreaterFaydark/grobin_trouble_at_the_pond.lua create mode 100755 Lua/Quests/GreaterFaydark/growler_pelts_for_brink.lua create mode 100755 Lua/Quests/GreaterFaydark/herbs_of_healing_and_growth.lua create mode 100755 Lua/Quests/GreaterFaydark/infestation.lua create mode 100755 Lua/Quests/GreaterFaydark/message_from_the_matron.lua create mode 100755 Lua/Quests/GreaterFaydark/running_off_the_grobin_scouts.lua create mode 100755 Lua/Quests/GreaterFaydark/sentry_trillis_report.lua create mode 100755 Lua/Quests/GreaterFaydark/shells_of_protection.lua create mode 100755 Lua/Quests/GreaterFaydark/spider_silk_for_brink.lua create mode 100755 Lua/Quests/GreaterFaydark/unwelcome_guests.lua create mode 100755 Lua/Quests/LongshadowAlley/a_clear_understanding.lua create mode 100755 Lua/Quests/LongshadowAlley/a_lesson_learned.lua create mode 100755 Lua/Quests/LongshadowAlley/a_lesson_to_learn.lua create mode 100755 Lua/Quests/LongshadowAlley/brewing_trouble.lua create mode 100755 Lua/Quests/LongshadowAlley/meet_the_custodian.lua create mode 100755 Lua/Quests/NektroposCastle/FairWarningsIgnored.lua create mode 100755 Lua/Quests/NektroposCastle/TheBoarsHead.lua create mode 100755 Lua/Quests/NektroposCastle/TheEverlingLockets.lua create mode 100755 Lua/Quests/NektroposCastle/TheRedMarble.lua create mode 100755 Lua/Quests/NektroposCastle/TrinketsOfTheDead.lua create mode 100755 Lua/Quests/NektroposCastle/VisionsOfHatred.lua create mode 100755 Lua/Quests/Nettleville/CaptainElgrondethsDilemma.lua create mode 100755 Lua/Quests/Nettleville/a_budding_hunter.lua create mode 100755 Lua/Quests/Nettleville/book_bound_to_bring_knowldege.lua create mode 100755 Lua/Quests/Nettleville/crate_and_barrel.lua create mode 100755 Lua/Quests/Nettleville/curious_findings.lua create mode 100755 Lua/Quests/Nettleville/looking_for_work_is_hard_work.lua create mode 100755 Lua/Quests/Nettleville/refill_the_oakmyst_spider_silk_jars.lua create mode 100755 Lua/Quests/Nettleville/required_components.lua create mode 100755 Lua/Quests/Nettleville/restocking_bog_faerie_wings.lua create mode 100755 Lua/Quests/Nettleville/ritual_of_hearth.lua create mode 100755 Lua/Quests/Nettleville/to_the_source.lua create mode 100755 Lua/Quests/Nettleville/toxic_glands_for_erollisis_bane.lua create mode 100755 Lua/Quests/Nettleville/unfortunate_mistakes.lua create mode 100755 Lua/Quests/Nettleville/vida_needs_a_new_broom.lua create mode 100755 Lua/Quests/Nettleville/wind_blown_brell_serilis.lua create mode 100755 Lua/Quests/Oakmyst/a_citizens_request.lua create mode 100755 Lua/Quests/Oakmyst/an_important_meeting.lua create mode 100755 Lua/Quests/Oakmyst/an_ode_to_oakmyst.lua create mode 100755 Lua/Quests/Oakmyst/booze_in_the_drink.lua create mode 100755 Lua/Quests/Oakmyst/cause_for_investigation.lua create mode 100755 Lua/Quests/Oakmyst/clean_up.lua create mode 100755 Lua/Quests/Oakmyst/destroy_the_corruption.lua create mode 100755 Lua/Quests/Oakmyst/druids_legacy.lua create mode 100755 Lua/Quests/Oakmyst/far_seas_requisition_okf050.lua create mode 100755 Lua/Quests/Oakmyst/far_seas_requisition_okf063.lua create mode 100755 Lua/Quests/Oakmyst/feed_the_sapling.lua create mode 100755 Lua/Quests/Oakmyst/glowmyst_juice.lua create mode 100755 Lua/Quests/Oakmyst/judgement_of_the_dryads.lua create mode 100755 Lua/Quests/Oakmyst/natural_causes.lua create mode 100755 Lua/Quests/Oakmyst/proof_of_poachers.lua create mode 100755 Lua/Quests/Oakmyst/regrowth.lua create mode 100755 Lua/Quests/Oakmyst/reinforcements.lua create mode 100755 Lua/Quests/Oakmyst/runed_acorn.lua create mode 100755 Lua/Quests/Oakmyst/that_cheating_gnome.lua create mode 100755 Lua/Quests/Oakmyst/the_patchwork_tapestry.lua create mode 100755 Lua/Quests/OutpostOverlord/WelcometoNorrath.lua create mode 100755 Lua/Quests/OutpostOverlord/disruption_for_distraction.lua create mode 100755 Lua/Quests/OutpostOverlord/preventative_maintenance.lua create mode 100755 Lua/Quests/OutpostOverlord/the_art_of_combat_evil.lua create mode 100755 Lua/Quests/OutpostOverlord/the_final_assault.lua create mode 100755 Lua/Quests/PeatBog/a_final_foe.lua create mode 100755 Lua/Quests/PeatBog/ambushed.lua create mode 100755 Lua/Quests/PeatBog/muck_slime.lua create mode 100755 Lua/Quests/PeatBog/mysterious_machine.lua create mode 100755 Lua/Quests/PeatBog/on_the_move.lua create mode 100755 Lua/Quests/PeatBog/reclaiming_the_bog.lua create mode 100755 Lua/Quests/PeatBog/reinforcements.lua create mode 100755 Lua/Quests/QueensColny/welcome_to_norrath.lua create mode 100755 Lua/Quests/QueensColony/LasydiasCall.lua create mode 100755 Lua/Quests/QueensColony/a_diplomatic_mission.lua create mode 100755 Lua/Quests/QueensColony/a_presence_of_evil.lua create mode 100755 Lua/Quests/QueensColony/a_sandy_bone_shard.lua create mode 100755 Lua/Quests/QueensColony/doggone_it.lua create mode 100755 Lua/Quests/QueensColony/ebiks_missing_parts.lua create mode 100755 Lua/Quests/QueensColony/ghosts_and_goblins.lua create mode 100755 Lua/Quests/QueensColony/into_the_tainted_forest.lua create mode 100755 Lua/Quests/QueensColony/joining_the_forward_ranks.lua create mode 100755 Lua/Quests/QueensColony/seaside_stew.lua create mode 100755 Lua/Quests/QueensColony/tainted.lua create mode 100755 Lua/Quests/QueensColony/the_art_of_combat.lua create mode 100755 Lua/Quests/QueensColony/the_source_of_evil.lua create mode 100755 Lua/Quests/Ruins/anger_fang.lua create mode 100755 Lua/Quests/Ruins/file_a_final_report.lua create mode 100755 Lua/Quests/Ruins/identifying_the_lonetusk_ally.lua create mode 100755 Lua/Quests/Ruins/knock_the_fight_out_of_em.lua create mode 100755 Lua/Quests/Ruins/pawns_in_the_game.lua create mode 100755 Lua/Quests/Ruins/pounding_the_enemy.lua create mode 100755 Lua/Quests/Ruins/prophet_and_loss.lua create mode 100755 Lua/Quests/Ruins/reporting_for_duty.lua create mode 100755 Lua/Quests/Ruins/requesting_further_orders.lua create mode 100755 Lua/Quests/Ruins/stepping_up_the_offense.lua create mode 100755 Lua/Quests/Ruins/vengeance_for_shoreside.lua create mode 100755 Lua/Quests/ScaleYard/a_puppy_for_your_potion.lua create mode 100755 Lua/Quests/ScaleYard/battle_on_the_home_front.lua create mode 100755 Lua/Quests/ScaleYard/go_visit_the_sprawl.lua create mode 100755 Lua/Quests/ScaleYard/he_said_he_said.lua create mode 100755 Lua/Quests/ScaleYard/kill_or_be_killed.lua create mode 100755 Lua/Quests/ScaleYard/paying_homage_to_the_past.lua create mode 100755 Lua/Quests/ScaleYard/report_to_enforcer_kurdek.lua create mode 100755 Lua/Quests/ScaleYard/sound_off.lua create mode 100755 Lua/Quests/ScaleYard/wasp_what_i_can_do.lua create mode 100755 Lua/Quests/ScaleYard/what_happens_in_the_scale_yard_stays.lua create mode 100755 Lua/Quests/Sprawl/advanced_problem_solving.lua create mode 100755 Lua/Quests/Sprawl/bullying_the_bully.lua create mode 100755 Lua/Quests/Sprawl/dominating_the_dervish.lua create mode 100755 Lua/Quests/Sprawl/driving_back_the_dervish.lua create mode 100755 Lua/Quests/Sprawl/heading_to_the_ruins.lua create mode 100755 Lua/Quests/Sprawl/investigating_the_black_magi.lua create mode 100755 Lua/Quests/Sprawl/problem_solving.lua create mode 100755 Lua/Quests/Sprawl/show_em_whos_boss.lua create mode 100755 Lua/Quests/Sprawl/training_will_get_you_everywhere.lua create mode 100755 Lua/Quests/StarcrestCommune/AngeliasCorrespondence.lua create mode 100755 Lua/Quests/StarcrestCommune/BogSludgeHunt.lua create mode 100755 Lua/Quests/StarcrestCommune/BuildingFawnsGarden.lua create mode 100755 Lua/Quests/StarcrestCommune/EruditeDebate.lua create mode 100755 Lua/Quests/StarcrestCommune/FarnsbysNewAxe.lua create mode 100755 Lua/Quests/StarcrestCommune/GatheringGlowmyst.lua create mode 100755 Lua/Quests/StarcrestCommune/KittyWantstoPlay.lua create mode 100755 Lua/Quests/StarcrestCommune/SoberingRemedy.lua create mode 100755 Lua/Quests/StarcrestCommune/confrontation.lua create mode 100755 Lua/Quests/StarcrestCommune/delivering_news.lua create mode 100755 Lua/Quests/StarcrestCommune/hidden_treasures.lua create mode 100755 Lua/Quests/StarcrestCommune/information_merchants.lua create mode 100755 Lua/Quests/StarcrestCommune/meeting_with_cayan.lua create mode 100755 Lua/Quests/Stonestair/abolishing_curiosity.lua create mode 100755 Lua/Quests/Stonestair/erudite_adventures.lua create mode 100755 Lua/Quests/Stonestair/erudite_alchemy.lua create mode 100755 Lua/Quests/Stonestair/incantation_oration.lua create mode 100755 Lua/Quests/Stonestair/tweezing_kerra.lua create mode 100755 Lua/Quests/SunkenCity/a_flowing_conversation.lua create mode 100755 Lua/Quests/SunkenCity/back_to_the_inquisitor.lua create mode 100755 Lua/Quests/SunkenCity/cataloging_local_critters.lua create mode 100755 Lua/Quests/SunkenCity/exacting_revenge_on_the_crabs.lua create mode 100755 Lua/Quests/SunkenCity/exotic_soups.lua create mode 100755 Lua/Quests/SunkenCity/finding_the_investigator.lua create mode 100755 Lua/Quests/SunkenCity/finding_the_shrine.lua create mode 100755 Lua/Quests/SunkenCity/gerbards_coins.lua create mode 100755 Lua/Quests/SunkenCity/jezranazs_hideous_locket.lua create mode 100755 Lua/Quests/SunkenCity/joining_the_gang.lua create mode 100755 Lua/Quests/SunkenCity/lukurs_antiques.lua create mode 100755 Lua/Quests/SunkenCity/searching_for_the_ruins.lua create mode 100755 Lua/Quests/SunkenCity/spirits_of_the_night.lua create mode 100755 Lua/Quests/SunkenCity/taking_back_from_the_blackshields.lua create mode 100755 Lua/Quests/SunkenCity/time_to_stop_a_madman.lua create mode 100755 Lua/Quests/TheFeerrott/history_of_the_ayrdal_part_iii.lua create mode 100755 Lua/Quests/TheRuins/AJourneyOutsidetheCity create mode 100755 Lua/Quests/TheRuins/AngerFang.lua create mode 100755 Lua/Quests/TheRuins/FileaFinalReport.lua create mode 100755 Lua/Quests/TheRuins/IdentifyingtheLonetuskAlly.lua create mode 100755 Lua/Quests/TheRuins/IfIHadAHammer.lua create mode 100755 Lua/Quests/TheRuins/KnocktheFightOutofEm.lua create mode 100755 Lua/Quests/TheRuins/PawnsInTheGame.lua create mode 100755 Lua/Quests/TheRuins/PoundingTheEnemy.lua create mode 100755 Lua/Quests/TheRuins/ProphetAndLoss.lua create mode 100755 Lua/Quests/TheRuins/ReportingForDuty.lua create mode 100755 Lua/Quests/TheRuins/RequestingFurtherOrders.lua create mode 100755 Lua/Quests/TheRuins/SteppingUpTheOffensive.lua create mode 100755 Lua/Quests/TheRuins/VengeanceforShoreside.lua create mode 100755 Lua/Quests/TheSprawl/TrainingWillGetYouEverywhere.lua create mode 100755 Lua/Quests/ThievesWay/TheStolenChest.lua create mode 100755 Lua/Quests/ThievesWay/chuggles_toolbox.lua create mode 100755 Lua/Quests/ThievesWay/the_darkblade_dagger.lua create mode 100755 Lua/Quests/ThievesWay/the_spirits_release.lua create mode 100755 Lua/Quests/ThunderingSteppes/AScryingShame.lua create mode 100755 Lua/Quests/ThunderingSteppes/BlumbleBlunder.lua create mode 100755 Lua/Quests/ThunderingSteppes/DesperatelySeekingAnts.lua create mode 100755 Lua/Quests/ThunderingSteppes/DesperatelySeekingButterflies.lua create mode 100755 Lua/Quests/ThunderingSteppes/DesperatelySeekingMoths.lua create mode 100755 Lua/Quests/ThunderingSteppes/GranvillesRestaurantAntonica.lua create mode 100755 Lua/Quests/ThunderingSteppes/GriffinEggForTheSteppesTowerStations.lua create mode 100755 Lua/Quests/ThunderingSteppes/HidesForBrianna.lua create mode 100755 Lua/Quests/ThunderingSteppes/HuntingForTrapperBorgus.lua create mode 100755 Lua/Quests/ThunderingSteppes/HuntingtheHuntresses.lua create mode 100755 Lua/Quests/ThunderingSteppes/MysteriousAssailants.lua create mode 100755 Lua/Quests/ThunderingSteppes/OutlandBrigadeReports.lua create mode 100755 Lua/Quests/ThunderingSteppes/StopTheElementals.lua create mode 100755 Lua/Quests/ThunderingSteppes/SuppliesForBrianna.lua create mode 100755 Lua/Quests/ThunderingSteppes/TheGnollCave.lua create mode 100755 Lua/Quests/ThunderingSteppes/TheWanderersThreeMeaningsOfLife.lua create mode 100755 Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartI.lua create mode 100755 Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartII.lua create mode 100755 Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIII.lua create mode 100755 Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIV.lua create mode 100755 Lua/Quests/ThunderingSteppes/history_of_the_ayrdal_part_ii.lua create mode 100755 Lua/Quests/ThunderingSteppes/recycling_the_old-fashioned_way.lua create mode 100755 Lua/Quests/TimorousDeep/a_reverse_supply_run.lua create mode 100755 Lua/Quests/TimorousDeep/bigger_fish_to_fry.lua create mode 100755 Lua/Quests/TimorousDeep/chrykori_relics.lua create mode 100755 Lua/Quests/TimorousDeep/curious_ore.lua create mode 100755 Lua/Quests/TimorousDeep/decoder_glyph.lua create mode 100755 Lua/Quests/TimorousDeep/delivery_to_a_veteran.lua create mode 100755 Lua/Quests/TimorousDeep/disrupting_haoaeran_rituals.lua create mode 100755 Lua/Quests/TimorousDeep/disrupting_haoaeran_studies.lua create mode 100755 Lua/Quests/TimorousDeep/dont_get_it_in_aroziks_eyes.lua create mode 100755 Lua/Quests/TimorousDeep/dont_get_it_in_your_eyes.lua create mode 100755 Lua/Quests/TimorousDeep/fish_of_the_chrykori_island.lua create mode 100755 Lua/Quests/TimorousDeep/further_assistance_to_chrykori_island.lua create mode 100755 Lua/Quests/TimorousDeep/haoaeran_orders.lua create mode 100755 Lua/Quests/TimorousDeep/haoaeran_poisons.lua create mode 100755 Lua/Quests/TimorousDeep/hopefully_the_meat_isnt_timeworn.lua create mode 100755 Lua/Quests/TimorousDeep/it_cant_all_be_interesting_work.lua create mode 100755 Lua/Quests/TimorousDeep/killing_the_advance.lua create mode 100755 Lua/Quests/TimorousDeep/kuvis_vengeance.lua create mode 100755 Lua/Quests/TimorousDeep/pluck_them_of_their_pride.lua create mode 100755 Lua/Quests/TimorousDeep/poaching_the_poachers.lua create mode 100755 Lua/Quests/TimorousDeep/prison_break.lua create mode 100755 Lua/Quests/TimorousDeep/report_to_the_primary.lua create mode 100755 Lua/Quests/TimorousDeep/sandy_eggs.lua create mode 100755 Lua/Quests/TimorousDeep/scout_scouting.lua create mode 100755 Lua/Quests/TimorousDeep/stealing_their_steel.lua create mode 100755 Lua/Quests/TimorousDeep/stuffed_gorger_claws.lua create mode 100755 Lua/Quests/TimorousDeep/the_ends_justify_the_means.lua create mode 100755 Lua/Quests/TimorousDeep/the_filament_strangler.lua create mode 100755 Lua/Quests/TimorousDeep/war.lua create mode 100755 Lua/Quests/TimorousDeep/weapon_break.lua create mode 100755 Lua/Quests/WailingCaves/CombustibleGnome.lua create mode 100755 Lua/Quests/WailingCaves/GroaningBracers.lua create mode 100755 Lua/Quests/WillowWood/a_joined_heritage.lua create mode 100755 Lua/Quests/WillowWood/a_split_heritage.lua create mode 100755 Lua/Quests/WillowWood/a_task_for_daelyn.lua create mode 100755 Lua/Quests/WillowWood/a_task_for_davyn.lua create mode 100755 Lua/Quests/WillowWood/a_tribute_to_ulinir.lua create mode 100755 Lua/Quests/WillowWood/offering_help.lua create mode 100755 Lua/Quests/WillowWood/snake_slaying.lua create mode 100755 Lua/Quests/WillowWood/tribute_flowers.lua create mode 100755 Lua/Quests/WillowWood/tribute_leaves.lua create mode 100755 Lua/Quests/WillowWood/wisdom_in_the_wild.lua create mode 100755 Lua/Quests/Zek/reliving_the_past.lua create mode 100755 Lua/SpawnScripts/Antonica/AGriffonTamer.lua create mode 100755 Lua/SpawnScripts/Antonica/AroofWolfchaser.lua create mode 100755 Lua/SpawnScripts/Antonica/BlartonBlumble.lua create mode 100755 Lua/SpawnScripts/Antonica/CaptainBeltho.lua create mode 100755 Lua/SpawnScripts/Antonica/CaptainEitoa.lua create mode 100755 Lua/SpawnScripts/Antonica/CorporalBatton.lua create mode 100755 Lua/SpawnScripts/Antonica/CorporalPeckett.lua create mode 100755 Lua/SpawnScripts/Antonica/CruNaseto.lua create mode 100755 Lua/SpawnScripts/Antonica/CurysKasin.lua create mode 100755 Lua/SpawnScripts/Antonica/Dancer.lua create mode 100755 Lua/SpawnScripts/Antonica/DarmenSproutmore.lua create mode 100755 Lua/SpawnScripts/Antonica/Duffy.lua create mode 100755 Lua/SpawnScripts/Antonica/FarmerHelver.lua create mode 100755 Lua/SpawnScripts/Antonica/FarmerWalcott.lua create mode 100755 Lua/SpawnScripts/Antonica/Flores.lua create mode 100755 Lua/SpawnScripts/Antonica/GhilVentur.lua create mode 100755 Lua/SpawnScripts/Antonica/GolMTun.lua create mode 100755 Lua/SpawnScripts/Antonica/HaddekVimki.lua create mode 100755 Lua/SpawnScripts/Antonica/HarbormasterLarra.lua create mode 100755 Lua/SpawnScripts/Antonica/HollyWindstalker.lua create mode 100755 Lua/SpawnScripts/Antonica/HucklethinGorsefoot.lua create mode 100755 Lua/SpawnScripts/Antonica/IgnarSteadirt.lua create mode 100755 Lua/SpawnScripts/Antonica/Jenkins.lua create mode 100755 Lua/SpawnScripts/Antonica/KinamerGalemaul.lua create mode 100755 Lua/SpawnScripts/Antonica/Knight-LieutenantAlesso.lua create mode 100755 Lua/SpawnScripts/Antonica/KnightCaptainAntillin.lua create mode 100755 Lua/SpawnScripts/Antonica/LandwynVelamir.lua create mode 100755 Lua/SpawnScripts/Antonica/MatsyRollingpin.lua create mode 100755 Lua/SpawnScripts/Antonica/Novak.lua create mode 100755 Lua/SpawnScripts/Antonica/Quallium.lua create mode 100755 Lua/SpawnScripts/Antonica/SelindaWhispersong.lua create mode 100755 Lua/SpawnScripts/Antonica/SoldierHomrie.lua create mode 100755 Lua/SpawnScripts/Antonica/SoldierPellenos.lua create mode 100755 Lua/SpawnScripts/Antonica/TaskmasterLynette.lua create mode 100755 Lua/SpawnScripts/Antonica/TylliaNavar.lua create mode 100755 Lua/SpawnScripts/Antonica/Vishra.lua create mode 100755 Lua/SpawnScripts/Antonica/aGigglegibberGoblinGamblinGameVendor.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/AlganTinmizer.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/ArbuthnotJumroller.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/BizrinnClamorclang.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/BoloBrassharp.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/ByrtleBobblepeg.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/DeputyCliffordson.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/DeputySplitshin.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/DigginDiggs.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/DondlFuzzlecutter.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/Drizzcopper.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/DrundoParn.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/FillzerFuzzle.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/Fullgrin.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/GanlaDindlenod.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/GeologistQuardifle.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/InnkeeperMillbanks.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/JaylaMidhop.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/JumJum.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/MaelaMeadows.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/ManglerXII.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/ManglerXIII.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/MarshalSurefoot.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/MirfGuinders.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/Misty.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/NeezerGrund.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/NylaDiggs.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/Oatheaver.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/PeonaToughins.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/PirnookValewine.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/RalaEurocarry.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/RebikSprocketrock.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/RemoZigg.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/RondoTheBellyRoundstew.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/SageXoort.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/SmithyFindlebop.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/TawliWhiskwind.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/TinkererSpindlecog.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/Wazzleburn.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/YolaSindlefop.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/ZipiffClamorclang.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/aMistyThicketShadebloom.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/aduck1.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/aduck2.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/beehive.lua create mode 100755 Lua/SpawnScripts/Baubbleshire/scrapmetal.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/AdjunctCaptainRommuls.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/BankerVoranius.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/Beggars_Court_Wanderers.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/DelcairnSebastian.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/Kith.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/LieutenantCervaen.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/MarcusLevidius.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/Ro.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/RommulsShipment.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/ThaenSevellos.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/ThavianDestrus.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/aBrotherhoodcache.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer1.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer2.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer3.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/aRommulsloyalist.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/aRommulsloyalistNoTalk.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/a_rat_a.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/muffledvoices.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/mugtopoison.lua create mode 100755 Lua/SpawnScripts/BeggarsCourt/mugtopoison2.lua create mode 100755 Lua/SpawnScripts/Blumbles/GrandpaBlumble.lua create mode 100755 Lua/SpawnScripts/Butcherblock/AlmarShiiz.lua create mode 100755 Lua/SpawnScripts/Butcherblock/ArgroDurthor.lua create mode 100755 Lua/SpawnScripts/Butcherblock/AssistantDeldry.lua create mode 100755 Lua/SpawnScripts/Butcherblock/BiminiBowchaser.lua create mode 100755 Lua/SpawnScripts/Butcherblock/BrultenHiltstill.lua create mode 100755 Lua/SpawnScripts/Butcherblock/CaptainStonnacky.lua create mode 100755 Lua/SpawnScripts/Butcherblock/DockmasterWaulon.lua create mode 100755 Lua/SpawnScripts/Butcherblock/DockworkerAlesford.lua create mode 100755 Lua/SpawnScripts/Butcherblock/DockworkerBrawley.lua create mode 100755 Lua/SpawnScripts/Butcherblock/DockworkerKelson.lua create mode 100755 Lua/SpawnScripts/Butcherblock/DockworkerOgilby.lua create mode 100755 Lua/SpawnScripts/Butcherblock/DockworkerSeeley.lua create mode 100755 Lua/SpawnScripts/Butcherblock/GeldraniAZhiTel.lua create mode 100755 Lua/SpawnScripts/Butcherblock/GherranaCobbleblork.lua create mode 100755 Lua/SpawnScripts/Butcherblock/GrissBrumbaugh.lua create mode 100755 Lua/SpawnScripts/Butcherblock/GuardBanning.lua create mode 100755 Lua/SpawnScripts/Butcherblock/GuardDaarwyn.lua create mode 100755 Lua/SpawnScripts/Butcherblock/GuardGasden.lua create mode 100755 Lua/SpawnScripts/Butcherblock/GuardTellik.lua create mode 100755 Lua/SpawnScripts/Butcherblock/HessekThornton.lua create mode 100755 Lua/SpawnScripts/Butcherblock/IrontoeForeman.lua create mode 100755 Lua/SpawnScripts/Butcherblock/IrontoeForemanOne.lua create mode 100755 Lua/SpawnScripts/Butcherblock/IrontoeForewoman.lua create mode 100755 Lua/SpawnScripts/Butcherblock/MizzenStaysail.lua create mode 100755 Lua/SpawnScripts/Butcherblock/NinoinDsyl.lua create mode 100755 Lua/SpawnScripts/Butcherblock/PhilosopherRhimes.lua create mode 100755 Lua/SpawnScripts/Butcherblock/Raghunatha.lua create mode 100755 Lua/SpawnScripts/Butcherblock/ResearcherEruwun.lua create mode 100755 Lua/SpawnScripts/Butcherblock/SchmittyMcEricson.lua create mode 100755 Lua/SpawnScripts/Butcherblock/TallyTopgallant.lua create mode 100755 Lua/SpawnScripts/Butcherblock/TalvraeTZyth.lua create mode 100755 Lua/SpawnScripts/Butcherblock/ThayvlUlthonis.lua create mode 100755 Lua/SpawnScripts/Butcherblock/TrapperCoalbear.lua create mode 100755 Lua/SpawnScripts/Butcherblock/afaetailor.lua create mode 100755 Lua/SpawnScripts/Butcherblock/agriffintamer.lua create mode 100755 Lua/SpawnScripts/Butcherblock/agriffontamer.lua create mode 100755 Lua/SpawnScripts/Butcherblock/apatchofpuresoil.lua create mode 100755 Lua/SpawnScripts/Butcherblock/qsttalvraesbowl.lua create mode 100755 Lua/SpawnScripts/Butcherblock/questhighpebbletome.lua create mode 100755 Lua/SpawnScripts/Castleview/AadalianFarenair.lua create mode 100755 Lua/SpawnScripts/Castleview/ApprenticeBoggi.lua create mode 100755 Lua/SpawnScripts/Castleview/ArmsdealerFroptub.lua create mode 100755 Lua/SpawnScripts/Castleview/Bhalastia.lua create mode 100755 Lua/SpawnScripts/Castleview/Bleemeb.lua create mode 100755 Lua/SpawnScripts/Castleview/Bubbler.lua create mode 100755 Lua/SpawnScripts/Castleview/Bulurg.lua create mode 100755 Lua/SpawnScripts/Castleview/BupipaGuryup.lua create mode 100755 Lua/SpawnScripts/Castleview/CarpenterGoroop.lua create mode 100755 Lua/SpawnScripts/Castleview/Cilindari.lua create mode 100755 Lua/SpawnScripts/Castleview/Cinaldar.lua create mode 100755 Lua/SpawnScripts/Castleview/CorruptedGreenWisp.lua create mode 100755 Lua/SpawnScripts/Castleview/Dalonalis.lua create mode 100755 Lua/SpawnScripts/Castleview/DaylenaTelanthis.lua create mode 100755 Lua/SpawnScripts/Castleview/DolthyryrHelyanwe.lua create mode 100755 Lua/SpawnScripts/Castleview/EireneithAlannia.lua create mode 100755 Lua/SpawnScripts/Castleview/EntertainerFaeadaen.lua create mode 100755 Lua/SpawnScripts/Castleview/Fevalin.lua create mode 100755 Lua/SpawnScripts/Castleview/Fibrone.lua create mode 100755 Lua/SpawnScripts/Castleview/FoorogGallantblade.lua create mode 100755 Lua/SpawnScripts/Castleview/GilcirithElensar.lua create mode 100755 Lua/SpawnScripts/Castleview/GlumpMarrblade.lua create mode 100755 Lua/SpawnScripts/Castleview/GraacJustheart.lua create mode 100755 Lua/SpawnScripts/Castleview/GreenWisp.lua create mode 100755 Lua/SpawnScripts/Castleview/GrommlukOognee.lua create mode 100755 Lua/SpawnScripts/Castleview/InnkeeperValean.lua create mode 100755 Lua/SpawnScripts/Castleview/KethelinShadowcross.lua create mode 100755 Lua/SpawnScripts/Castleview/KnightCaptainGerathalas.lua create mode 100755 Lua/SpawnScripts/Castleview/Kruuprum.lua create mode 100755 Lua/SpawnScripts/Castleview/ListalaniaVainederian.lua create mode 100755 Lua/SpawnScripts/Castleview/PaygeMenedor.lua create mode 100755 Lua/SpawnScripts/Castleview/RrakBoldfist.lua create mode 100755 Lua/SpawnScripts/Castleview/ShaeAhla.lua create mode 100755 Lua/SpawnScripts/Castleview/Sinanyala.lua create mode 100755 Lua/SpawnScripts/Castleview/SirAntylusTeraeth.lua create mode 100755 Lua/SpawnScripts/Castleview/TaneranthalisNedaiveren.lua create mode 100755 Lua/SpawnScripts/Castleview/Valinar.lua create mode 100755 Lua/SpawnScripts/Castleview/VindainGreenfaith.lua create mode 100755 Lua/SpawnScripts/Castleview/WaitressBrooak.lua create mode 100755 Lua/SpawnScripts/Castleview/YanariCyellann.lua create mode 100755 Lua/SpawnScripts/Castleview/adevioussunshimmerspritespirit.lua create mode 100755 Lua/SpawnScripts/Castleview/barrelwithenrichedsoil.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_1.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_2.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_3.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_4.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_5.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_6.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_7.lua create mode 100755 Lua/SpawnScripts/Castleview/planter_8.lua create mode 100755 Lua/SpawnScripts/Caves/ConsulBree.lua create mode 100755 Lua/SpawnScripts/Caves/EmmaTorque.lua create mode 100755 Lua/SpawnScripts/Caves/FulkoirHaggleton.lua create mode 100755 Lua/SpawnScripts/Caves/GuardBelaire.lua create mode 100755 Lua/SpawnScripts/Caves/HighShamanZenDurath.lua create mode 100755 Lua/SpawnScripts/Caves/KahlaUlno.lua create mode 100755 Lua/SpawnScripts/Caves/LieutenantDelsun.lua create mode 100755 Lua/SpawnScripts/Caves/Slaverjaw.lua create mode 100755 Lua/SpawnScripts/Caves/aDustpawarmorer.lua create mode 100755 Lua/SpawnScripts/Caves/aMudpawguard.lua create mode 100755 Lua/SpawnScripts/Caves/aMudpawlookout.lua create mode 100755 Lua/SpawnScripts/Caves/aRockpawguard.lua create mode 100755 Lua/SpawnScripts/Caves/aRockpawscout.lua create mode 100755 Lua/SpawnScripts/Caves/aRockpawstriker.lua create mode 100755 Lua/SpawnScripts/Caves/adustpawguard.lua create mode 100755 Lua/SpawnScripts/Caves/agnollishbook.lua create mode 100755 Lua/SpawnScripts/Caves/analabasterbehemoth.lua create mode 100755 Lua/SpawnScripts/Caves/analabastergolem(388539).lua create mode 100755 Lua/SpawnScripts/Caves/analabastergolem.lua create mode 100755 Lua/SpawnScripts/Caves/ariverbehemoth.lua create mode 100755 Lua/SpawnScripts/Caves/arockpawstonemaster.lua create mode 100755 Lua/SpawnScripts/Caves/awhitespider.lua create mode 100755 Lua/SpawnScripts/Caves/digging_machine.lua create mode 100755 Lua/SpawnScripts/Caves/digging_machine_1.lua create mode 100755 Lua/SpawnScripts/Caves/digging_machine_2.lua create mode 100755 Lua/SpawnScripts/Caves/incantationdust.lua create mode 100755 Lua/SpawnScripts/Caves/powderedminerals.lua create mode 100755 Lua/SpawnScripts/Caves/qey_blacksmith_oven001.lua create mode 100755 Lua/SpawnScripts/Caves/qst_shaman_spawner_skull.lua create mode 100755 Lua/SpawnScripts/Caves/riverbehemothremains.lua create mode 100755 Lua/SpawnScripts/Caves/spare_machine_parts.lua create mode 100755 Lua/SpawnScripts/Commonlands/AmuliusRamio.lua create mode 100755 Lua/SpawnScripts/Commonlands/Arconicus.lua create mode 100755 Lua/SpawnScripts/Commonlands/CaptainIsta.lua create mode 100755 Lua/SpawnScripts/Commonlands/GerunPontian.lua create mode 100755 Lua/SpawnScripts/Commonlands/Graverobber.lua create mode 100755 Lua/SpawnScripts/Commonlands/MadamVi.lua create mode 100755 Lua/SpawnScripts/Commonlands/OgofRunner.lua create mode 100755 Lua/SpawnScripts/Commonlands/VtalNarin.lua create mode 100755 Lua/SpawnScripts/Commonlands/aBloodskullpriest.lua create mode 100755 Lua/SpawnScripts/Commonlands/aBloodskullwarrior.lua create mode 100755 Lua/SpawnScripts/Commonlands/aFesteringCadaver.lua create mode 100755 Lua/SpawnScripts/Commonlands/aGateCallerscion.lua create mode 100755 Lua/SpawnScripts/Commonlands/abrittleskeleton.lua create mode 100755 Lua/SpawnScripts/Commonlands/abullrhinoceros.lua create mode 100755 Lua/SpawnScripts/Commonlands/aburlyarmadillo.lua create mode 100755 Lua/SpawnScripts/Commonlands/acarrionhound.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallenapostle.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallenblackguard.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallencaptain.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallencrusader.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallendefender.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallendiplomat.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallendisciple.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallenguardian.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallenorc.lua create mode 100755 Lua/SpawnScripts/Commonlands/afallenorclieutenant.lua create mode 100755 Lua/SpawnScripts/Commonlands/afarmer.lua create mode 100755 Lua/SpawnScripts/Commonlands/afiercecarrionhound.lua create mode 100755 Lua/SpawnScripts/Commonlands/afreshwatercrab.lua create mode 100755 Lua/SpawnScripts/Commonlands/aghostlyorc.lua create mode 100755 Lua/SpawnScripts/Commonlands/aghostlyorcmessenger.lua create mode 100755 Lua/SpawnScripts/Commonlands/agiantgrovewisp.lua create mode 100755 Lua/SpawnScripts/Commonlands/agiantspider.lua create mode 100755 Lua/SpawnScripts/Commonlands/agiantvulrich.lua create mode 100755 Lua/SpawnScripts/Commonlands/agriffintamer.lua create mode 100755 Lua/SpawnScripts/Commonlands/agriffontamer.lua create mode 100755 Lua/SpawnScripts/Commonlands/agrovewisp.lua create mode 100755 Lua/SpawnScripts/Commonlands/agruntofRee.lua create mode 100755 Lua/SpawnScripts/Commonlands/ahopelessmercenary.lua create mode 100755 Lua/SpawnScripts/Commonlands/ahulkingfirebeetle.lua create mode 100755 Lua/SpawnScripts/Commonlands/ahuntsman.lua create mode 100755 Lua/SpawnScripts/Commonlands/akerranrogue.lua create mode 100755 Lua/SpawnScripts/Commonlands/akerranvagrant.lua create mode 100755 Lua/SpawnScripts/Commonlands/alostsoul.lua create mode 100755 Lua/SpawnScripts/Commonlands/amarrowsapper.lua create mode 100755 Lua/SpawnScripts/Commonlands/amassiveemeraldbeetle.lua create mode 100755 Lua/SpawnScripts/Commonlands/amereguardian.lua create mode 100755 Lua/SpawnScripts/Commonlands/amoltingscorpion.lua create mode 100755 Lua/SpawnScripts/Commonlands/amonitorbehemoth.lua create mode 100755 Lua/SpawnScripts/Commonlands/amonitorlizard.lua create mode 100755 Lua/SpawnScripts/Commonlands/anearthenrumbler.lua create mode 100755 Lua/SpawnScripts/Commonlands/anearthentumbler.lua create mode 100755 Lua/SpawnScripts/Commonlands/anelephant.lua create mode 100755 Lua/SpawnScripts/Commonlands/anelephantcalf.lua create mode 100755 Lua/SpawnScripts/Commonlands/anorcrunner.lua create mode 100755 Lua/SpawnScripts/Commonlands/ascourgerat.lua create mode 100755 Lua/SpawnScripts/Commonlands/ascrubrat.lua create mode 100755 Lua/SpawnScripts/Commonlands/asmallemeraldbeetle.lua create mode 100755 Lua/SpawnScripts/Commonlands/aspeckledrattler.lua create mode 100755 Lua/SpawnScripts/Commonlands/aspectraldefender.lua create mode 100755 Lua/SpawnScripts/Commonlands/ayoungvulrich.lua create mode 100755 Lua/SpawnScripts/Commonlands/darkseepage.lua create mode 100755 Lua/SpawnScripts/CrustaceanCave/Bonesnapper.lua create mode 100755 Lua/SpawnScripts/DarkBargainers/SasitSoroth.lua create mode 100755 Lua/SpawnScripts/Darklight/Aunthrae.lua create mode 100755 Lua/SpawnScripts/Darklight/CalnozzJMelvirr.lua create mode 100755 Lua/SpawnScripts/Darklight/DalvosDNar.lua create mode 100755 Lua/SpawnScripts/Darklight/DanyaHalfmoon.lua create mode 100755 Lua/SpawnScripts/Darklight/DirzdiaTZauvirr.lua create mode 100755 Lua/SpawnScripts/Darklight/DrizasNRyt.lua create mode 100755 Lua/SpawnScripts/Darklight/FileylAlyylharil.lua create mode 100755 Lua/SpawnScripts/Darklight/GaussnitraVKilana.lua create mode 100755 Lua/SpawnScripts/Darklight/GeldaxXalylharil.lua create mode 100755 Lua/SpawnScripts/Darklight/GhaunatarTrearn.lua create mode 100755 Lua/SpawnScripts/Darklight/GinryneXTreval.lua create mode 100755 Lua/SpawnScripts/Darklight/GinwyssDArkenett.lua create mode 100755 Lua/SpawnScripts/Darklight/GuardDonidas.lua create mode 100755 Lua/SpawnScripts/Darklight/GuardTiboen.lua create mode 100755 Lua/SpawnScripts/Darklight/HarnenTaptha.lua create mode 100755 Lua/SpawnScripts/Darklight/IlmtarDViervs.lua create mode 100755 Lua/SpawnScripts/Darklight/IthariKXyrae.lua create mode 100755 Lua/SpawnScripts/Darklight/JhanaDoZyth.lua create mode 100755 Lua/SpawnScripts/Darklight/LaexyraYBarriath.lua create mode 100755 Lua/SpawnScripts/Darklight/Maelixia.lua create mode 100755 Lua/SpawnScripts/Darklight/MalkaenWeed.lua create mode 100755 Lua/SpawnScripts/Darklight/MalylNVazin.lua create mode 100755 Lua/SpawnScripts/Darklight/MarlaKStane.lua create mode 100755 Lua/SpawnScripts/Darklight/Nemain.lua create mode 100755 Lua/SpawnScripts/Darklight/OpalDarkbriar.lua create mode 100755 Lua/SpawnScripts/Darklight/PellandraDXatyl.lua create mode 100755 Lua/SpawnScripts/Darklight/ReverendValac.lua create mode 100755 Lua/SpawnScripts/Darklight/Sableveinrubble.lua create mode 100755 Lua/SpawnScripts/Darklight/Sableveinrubblenode.lua create mode 100755 Lua/SpawnScripts/Darklight/SirJaronVar.lua create mode 100755 Lua/SpawnScripts/Darklight/Soltrinscorpse.lua create mode 100755 Lua/SpawnScripts/Darklight/SselnylDoZyth.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerChalciceZZylZarin.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerDrisaceDoArkenarn.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerDurvenKXyth.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerKelvyllJXarae.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerLaebrynDTekenar.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerMourndrilKTekenzin.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerNhilzyneBMyar.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerYasnaVVath.lua create mode 100755 Lua/SpawnScripts/Darklight/TrainerZaktarDZheVirae.lua create mode 100755 Lua/SpawnScripts/Darklight/UdiyitasXKilrae.lua create mode 100755 Lua/SpawnScripts/Darklight/VerexNZa.lua create mode 100755 Lua/SpawnScripts/Darklight/VornlinBVytyl.lua create mode 100755 Lua/SpawnScripts/Darklight/aBriarstoneslayer.lua create mode 100755 Lua/SpawnScripts/Darklight/aCaptiveCub.lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(1).lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(2).lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(3).lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(4).lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(5).lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(6).lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(7).lua create mode 100755 Lua/SpawnScripts/Darklight/aCommonerPanicked_(8).lua create mode 100755 Lua/SpawnScripts/Darklight/aConcordiumPupilAdept.lua create mode 100755 Lua/SpawnScripts/Darklight/aMiner_(1).lua create mode 100755 Lua/SpawnScripts/Darklight/aMiner_(2).lua create mode 100755 Lua/SpawnScripts/Darklight/aNeriandrake.lua create mode 100755 Lua/SpawnScripts/Darklight/aSableveinDestroyer.lua create mode 100755 Lua/SpawnScripts/Darklight/aSableveincrumbler_attack.lua create mode 100755 Lua/SpawnScripts/Darklight/aSableveindigger_attack.lua create mode 100755 Lua/SpawnScripts/Darklight/aSableveinpulverizer.lua create mode 100755 Lua/SpawnScripts/Darklight/aTRethirthinblood.lua create mode 100755 Lua/SpawnScripts/Darklight/ababysnake.lua create mode 100755 Lua/SpawnScripts/Darklight/acommoner_female.lua create mode 100755 Lua/SpawnScripts/Darklight/acommoner_male.lua create mode 100755 Lua/SpawnScripts/Darklight/acuriouscitizen.lua create mode 100755 Lua/SpawnScripts/Darklight/adiscardedweapon.lua create mode 100755 Lua/SpawnScripts/Darklight/adocileslitherer.lua create mode 100755 Lua/SpawnScripts/Darklight/afracturedlyricist.lua create mode 100755 Lua/SpawnScripts/Darklight/aghoulishNerian.lua create mode 100755 Lua/SpawnScripts/Darklight/aminer.lua create mode 100755 Lua/SpawnScripts/Darklight/aminer_female.lua create mode 100755 Lua/SpawnScripts/Darklight/aminer_male.lua create mode 100755 Lua/SpawnScripts/Darklight/amolderingsoldier.lua create mode 100755 Lua/SpawnScripts/Darklight/anArcaneScienceapprentice.lua create mode 100755 Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_01.lua create mode 100755 Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_02.lua create mode 100755 Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_01.lua create mode 100755 Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_02.lua create mode 100755 Lua/SpawnScripts/Darklight/anagitatedslitherer.lua create mode 100755 Lua/SpawnScripts/Darklight/anuntamedspirit.lua create mode 100755 Lua/SpawnScripts/Darklight/anuntamedspirit_female.lua create mode 100755 Lua/SpawnScripts/Darklight/anuntamedspirit_male.lua create mode 100755 Lua/SpawnScripts/Darklight/apurespirit.lua create mode 100755 Lua/SpawnScripts/Darklight/ascarwurm.lua create mode 100755 Lua/SpawnScripts/Darklight/astrangeplant.lua create mode 100755 Lua/SpawnScripts/Darklight/astunsporemushroom.lua create mode 100755 Lua/SpawnScripts/Darklight/awellspringcub.lua create mode 100755 Lua/SpawnScripts/Darklight/discardedwood.lua create mode 100755 Lua/SpawnScripts/Darklight/invisiblecuberiftparticle.lua create mode 100755 Lua/SpawnScripts/Darklight/qst_wanted_poster.lua create mode 100755 Lua/SpawnScripts/Darklight/remainsthexiandragoongeneral.lua create mode 100755 Lua/SpawnScripts/Darklight/searingtrout.lua create mode 100755 Lua/SpawnScripts/Darklight/soldierstrinket.lua create mode 100755 Lua/SpawnScripts/Darklight/wellspringremainstoss.lua create mode 100755 Lua/SpawnScripts/Darklight/widgetriftboulder.lua create mode 100755 Lua/SpawnScripts/Darklight/widgetriftpebble.lua create mode 100755 Lua/SpawnScripts/EastFreeport/EFGuards.lua create mode 100755 Lua/SpawnScripts/EastFreeport/Odyssneu.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Adrianna.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Aerinleaf.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/ArthurWaterway.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/BreenoMesspie.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Bryson.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/DelmaMesspie.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Duvo.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/ElendiaStarleaf.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/ElgornBirchgrove.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/FayeDawnsinger.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/FlizzleCogplume.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GildasCedartree.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GilpJadefist.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GregorEarthstride.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GuardKaladenth.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GuardMorlo.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GuardStonefist.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GuardTolar.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/GuardValmont.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/InitiateLunaru.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/InitiateTara.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Junala.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/KaelarriIvyshae.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Kaemon.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/KaylelleStarchaser.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Kethelrune.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/KhaiLightfall.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Knight-CaptainPercius.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Lambent.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/LieoonliooCroosinian.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/LookoutVenylle.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/MadrethalSummerspeak.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/MasterArcherNightbow.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/MasterRysianGladewalker.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Mina.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Mirthmire.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/MusicianZwena.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/NalonMesspie.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/NaturalistTummyfill.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/PallaJhal.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/PathfinderOakheart.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/PatrolmanEdward.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/PatrolmanLy`stan.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/PatrolwomanVarna.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/PelleShinkicker.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/PreservationistReynolds.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/RaskHelstot.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/SeniorInitiateDelvin.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/ShakanNotebend.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/ShepherdSell`ar.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/SolomenStormwatch.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/TairielOakshade.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/TakaraMaiya.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Telandra.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/ThomasBoatmend.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/TowserFlizgibbert.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/TransportTreeLift.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/TrayloLeafsway.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/Trillium.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/VelisarrMorningdew.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/WandererGreencoast.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/WandererRaegenTruthshadow.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/WarbleWildmane.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/WesaelanBrookshadow.lua create mode 100755 Lua/SpawnScripts/ElddarGrove/slidingdoor.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/AuginDrodo.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/BiddyBobick.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/CaptainScreewoggins.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/GimbleFeatherfinger.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/Grix.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/GubboChaley.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/HoppertBarbinsteel.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/RoseliaGoldencrust.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/SarmaSingebellows.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/TheCuriousAugur.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/TobelPatadash.lua create mode 100755 Lua/SpawnScripts/EnchantedLands/astablemaster.lua create mode 100755 Lua/SpawnScripts/Everfrost/BrahnaganMacLahnan.lua create mode 100755 Lua/SpawnScripts/Everfrost/BurmGrunthor.lua create mode 100755 Lua/SpawnScripts/Everfrost/GinnieStonestoe.lua create mode 100755 Lua/SpawnScripts/Everfrost/JinVentur.lua create mode 100755 Lua/SpawnScripts/Everfrost/LiNingVentur.lua create mode 100755 Lua/SpawnScripts/Everfrost/MaiVentur.lua create mode 100755 Lua/SpawnScripts/Everfrost/MartaTerrilon.lua create mode 100755 Lua/SpawnScripts/Everfrost/NedSwellswaker.lua create mode 100755 Lua/SpawnScripts/Everfrost/NewlynIcebreaker.lua create mode 100755 Lua/SpawnScripts/Everfrost/ThyrStormhammer.lua create mode 100755 Lua/SpawnScripts/Everfrost/apioneerwithoutawagonquestcrate.lua create mode 100755 Lua/SpawnScripts/Everfrost/snowtearcabbage.lua create mode 100755 Lua/SpawnScripts/FallenGate/ABlightedWarmonger_A.lua create mode 100755 Lua/SpawnScripts/FallenGate/AMeatStripper_A.lua create mode 100755 Lua/SpawnScripts/FallenGate/ASuspendedWatcher_A.lua create mode 100755 Lua/SpawnScripts/FallenGate/ASuspendedWatcher_B.lua create mode 100755 Lua/SpawnScripts/FallenGate/aThexianDragoon_A.lua create mode 100755 Lua/SpawnScripts/FallenGate/aThexianDragoon_B1.lua create mode 100755 Lua/SpawnScripts/FallenGate/aThexianDragoon_B2.lua create mode 100755 Lua/SpawnScripts/FallenGate/aThexianDragoon_B3.lua create mode 100755 Lua/SpawnScripts/FallenGate/aThexianDragoon_C.lua create mode 100755 Lua/SpawnScripts/FallenGate/aThexianOverseer_A.lua create mode 100755 Lua/SpawnScripts/FallenGate/aThexianOverseer_B.lua create mode 100755 Lua/SpawnScripts/FallenGate/atormentedbattlemage_A.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/Anikra.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/CaptainVarlos.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/Geredo.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/Ingrid.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/Valik.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/Vim.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/Waulon.lua create mode 100755 Lua/SpawnScripts/FarJourneyFreeport/tutorialdrake.lua create mode 100755 Lua/SpawnScripts/Feerrott/Turtle.lua create mode 100755 Lua/SpawnScripts/Feerrott/astablemaster.lua create mode 100755 Lua/SpawnScripts/FensNathsar/asokokartamer.lua create mode 100755 Lua/SpawnScripts/ForestRuins/ActingLieutenantGermain.lua create mode 100755 Lua/SpawnScripts/ForestRuins/Aedre.lua create mode 100755 Lua/SpawnScripts/ForestRuins/Dockins.lua create mode 100755 Lua/SpawnScripts/ForestRuins/ElvicGarrett.lua create mode 100755 Lua/SpawnScripts/ForestRuins/FindleGimblesled.lua create mode 100755 Lua/SpawnScripts/ForestRuins/IlaenLilac.lua create mode 100755 Lua/SpawnScripts/ForestRuins/OutlanderVaughn.lua create mode 100755 Lua/SpawnScripts/ForestRuins/PokoZing.lua create mode 100755 Lua/SpawnScripts/ForestRuins/RemmyTumbub.lua create mode 100755 Lua/SpawnScripts/ForestRuins/SergeantatArmsUthros.lua create mode 100755 Lua/SpawnScripts/ForestRuins/SleebleGimblesled.lua create mode 100755 Lua/SpawnScripts/ForestRuins/ThenatrenLightarrow.lua create mode 100755 Lua/SpawnScripts/ForestRuins/ThervenSenshun.lua create mode 100755 Lua/SpawnScripts/ForestRuins/Winterburn.lua create mode 100755 Lua/SpawnScripts/ForestRuins/afieryforgottenguardian.lua create mode 100755 Lua/SpawnScripts/ForestRuins/quest_germain_scout_bush.lua create mode 100755 Lua/SpawnScripts/ForestRuins/quest_germain_scout_tree.lua create mode 100755 Lua/SpawnScripts/ForestRuins/ulinir_gravestone01.lua create mode 100755 Lua/SpawnScripts/ForestRuins/ulinir_tribute.lua create mode 100755 Lua/SpawnScripts/ForestRuins/ulinirgravestone01.lua create mode 100755 Lua/SpawnScripts/Freeport/BankerGaviusHerenus.lua create mode 100755 Lua/SpawnScripts/Freeport/Odyssneu.lua create mode 100755 Lua/SpawnScripts/Freeport/PrivateerTwitchwhisker.lua create mode 100755 Lua/SpawnScripts/Freeport/RennyParvat.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/AgdaDonillson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/AliceSwamprunner.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ArrinClelland.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BadenMoonheart.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BarkerGordon.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BattlemasterGolben.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BattlepriestHerga.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BelkaThunderheart.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BerguffFullbeard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BertaIsholm.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BinnyShortwand.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BlibbaNugrud.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BorgardGoldenswill.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BoryaStonehide.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BroganMacLellan.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BronlaStonehide.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BrropGloryblade.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/BulltheCrafty.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/CatherineBowne.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/CornaKilgour.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/CorwinFrostbeard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/Crushinator.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/DagbartFalkren.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/DandiMcCarren.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/DefenderDetmer.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/DolurAxebeard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/DrallinCaelthis.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/EidnarAartsson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/EvigistheAncient.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/FilnnShatterhand.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GalindaGoodfaith.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GarrotNuesoon.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GerlaMeltwater.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GertaFrostbeard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GilnaGlorysong.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GlinHammerhelm.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GlippitGreenmuck.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GrokkaHopson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GruuFairbairn.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GurthaMcPherson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/GwenevynII.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/Hagley.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/HalikPathstalker.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/HelfreckLundgren.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/HillfredKinloch.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/JaisenTutwhittle.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/JalfaEiskairn.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/JardaSilverstaff.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/KnutOrcbane.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/LedvinAxethrower.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/LibbitSwampchild.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/Lionpost.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/LondiarInygad.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/MikhailEiskroft.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/MistressThora.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/MoragMcMarrin.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/NarielAldaeme.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/NohrFlamel.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/NorfrydBrisbane.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OdhildGoblinblade.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OdonScourgeson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OlgaMacleod.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OlioSaphatho.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OreColdstein.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OricaDeadshot.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/OrnIceheart.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/PadraigMcDougal.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/PlurppBogthumb.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/PretchonIronstein.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/RakanRockbreaker.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/RibbitHopson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/RickaStonehide.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/RyGorrweaponrack.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SanaStrongbellow.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ScionofDiscord.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ScionofDiscord_(victory).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/Scourgesonarrow.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SigbrithMacInnes.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SisterAalarya.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SisterThogMacGilly.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/SuhubaVankedisi.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TadHopson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TadIronstein.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TarynHighsea.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TergjerdGoreblade.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TimelessChronomage.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TorliBlackbow.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TornalHaymaker.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TorvilBeastamer.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TovaGilbride.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/TundraBeet.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ValdJerngard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/VerienSkysigh.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/VillgerdGregorson.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/WardenBretta.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.luaa create mode 100755 Lua/SpawnScripts/FrostfangSea/WolcottChillborn.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/WolfomBonetooth.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/WreganFirebeard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/YashaRedblade.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aBlizzardGrizzly_(572511).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aFarSeasdockhand.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrambusher.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrcenturion.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrinvader.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrinvader2.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrinvader3.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrpatroller.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrtunneler.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aRyGorrweapon.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/a_necromancer_totem.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/acrudepitoncannon.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/acrustosesporetender.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/adamesrocket.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/adisreputableboatman.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aformidablesparringpartner.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aguarddog.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ahalasianreedplant.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/alazyRyGorrorc.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anIcemaneCub.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anaveragesparringpartner.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anicelily.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).luandom_pattern_small.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aniceshroom.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/anicywhirlstorm.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aplankofwood.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/araidingsporetender.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/areanimatedRyGorr.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arebelliousrockroller.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arguing.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arisenRyGorr.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arumblinggeode.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/arustypiton.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ascragglyshrub.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aslaincoldain.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/asnowpack.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aspiritward.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/asprintingRyGorrgatecaller.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/astrangeicecrystal.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/avelinoidseeker.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/avigilantgauntletdefender_(archer).lua create mode 100755 Lua/SpawnScripts/FrostfangSea/aweaksparringpartner.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/bar_fight.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/beans.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/callingthembackcube.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/caverubbish.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/discarded_sack.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/dock_fight1.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/dock_fight2.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/frostbiteregg.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/frozen_pincer_chowder.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/halas_bar_patrons.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/halas_proximity_cheer.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/halas_three_barrels_snow.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/ham.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/opentreasurechest.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/orc_summon_portal.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/orcnecromancerpet.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/orcpickaxe.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/pie.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/pileofRyGorrbones.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_axebeard_totem.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_redblade_x3_revamp_barricade.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/respawngraveswregan.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/rolling_rocks.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/sackofcoal.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/shardofglowingvelium.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/sign_coldain_house03.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/signalfire.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/spider_puffs.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/valorian_bloom.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/veliumshard.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua create mode 100755 Lua/SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua create mode 100755 Lua/SpawnScripts/GMHall/GuideFreddums.lua create mode 100755 Lua/SpawnScripts/GMHall/TeleporterGMHall.lua create mode 100755 Lua/SpawnScripts/GMHall/TeleporterSecretPlace.lua create mode 100755 Lua/SpawnScripts/GMHall/Toad.lua create mode 100755 Lua/SpawnScripts/GMHall/TrainingDummy.lua create mode 100755 Lua/SpawnScripts/GMHall/Wizzy.lua create mode 100755 Lua/SpawnScripts/GMHall/abankvault.lua create mode 100755 Lua/SpawnScripts/Generic/ADarkbladeAssassin.lua create mode 100755 Lua/SpawnScripts/Generic/AMarshalMoppet.lua create mode 100755 Lua/SpawnScripts/Generic/AlexaLockets.lua create mode 100755 Lua/SpawnScripts/Generic/AnimalTrainers.lua create mode 100755 Lua/SpawnScripts/Generic/BrokentuskVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/CaptianOgof.lua create mode 100755 Lua/SpawnScripts/Generic/DialogModule.lua create mode 100755 Lua/SpawnScripts/Generic/GearBot.lua create mode 100755 Lua/SpawnScripts/Generic/GenericAlchemistVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericArmorsmithVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericBakerVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericBartenderVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericCraftingTrainer.lua create mode 100755 Lua/SpawnScripts/Generic/GenericFayfolk.lua create mode 100755 Lua/SpawnScripts/Generic/GenericGuardVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericScribeVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericTradeskillTutor.lua create mode 100755 Lua/SpawnScripts/Generic/GenericVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/GenericWeaponsmithVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/Geredo.lua create mode 100755 Lua/SpawnScripts/Generic/HelmsmanNyles.lua create mode 100755 Lua/SpawnScripts/Generic/Ingrid.lua create mode 100755 Lua/SpawnScripts/Generic/MovementCircleSmall.lua create mode 100755 Lua/SpawnScripts/Generic/OgofMystic1.lua create mode 100755 Lua/SpawnScripts/Generic/Pig.lua create mode 100755 Lua/SpawnScripts/Generic/PlayerHistory.lua create mode 100755 Lua/SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Generic/SparringPartners.lua create mode 100755 Lua/SpawnScripts/Generic/SparringPartnersGFay.lua create mode 100755 Lua/SpawnScripts/Generic/SpawnGroups.lua create mode 100755 Lua/SpawnScripts/Generic/Vim.lua create mode 100755 Lua/SpawnScripts/Generic/Waulon.lua create mode 100755 Lua/SpawnScripts/Generic/aDuskProwler_(1).lua create mode 100755 Lua/SpawnScripts/Generic/aDuskProwler_(2).lua create mode 100755 Lua/SpawnScripts/Generic/aDuskProwler_(3).lua create mode 100755 Lua/SpawnScripts/Generic/aGigglegibberGoblinGamblinGameVendor.lua create mode 100755 Lua/SpawnScripts/Generic/circle_air_clockwise_small.lua create mode 100755 Lua/SpawnScripts/Generic/circle_clockwise_small_01.lua create mode 100755 Lua/SpawnScripts/Generic/circle_clockwise_small_02.lua create mode 100755 Lua/SpawnScripts/Generic/circle_counterclockwise_small_01.lua create mode 100755 Lua/SpawnScripts/Generic/circle_counterclockwise_small_02.lua create mode 100755 Lua/SpawnScripts/Generic/dancing_script.lua create mode 100755 Lua/SpawnScripts/Generic/generic_fish_movement.lua create mode 100755 Lua/SpawnScripts/Generic/hailed_facetarget.lua create mode 100755 Lua/SpawnScripts/Generic/hello_emote.lua create mode 100755 Lua/SpawnScripts/Generic/magic_door.lua create mode 100755 Lua/SpawnScripts/Generic/movement_circle_medium.lua create mode 100755 Lua/SpawnScripts/Generic/movement_circle_small.lua create mode 100755 Lua/SpawnScripts/Generic/private_spawn.lua create mode 100755 Lua/SpawnScripts/Generic/random_pattern_small.lua create mode 100755 Lua/SpawnScripts/Generic/tiny_movement_loop.lua create mode 100755 Lua/SpawnScripts/Graveyard/CustodianZaddarSullissia.lua create mode 100755 Lua/SpawnScripts/Graveyard/GravestoneofSirAckmin.lua create mode 100755 Lua/SpawnScripts/Graveyard/GravestoneofSirArlin.lua create mode 100755 Lua/SpawnScripts/Graveyard/GravestoneofSirBreel.lua create mode 100755 Lua/SpawnScripts/Graveyard/GravestoneofSirHaligan.lua create mode 100755 Lua/SpawnScripts/Graveyard/GravestoneofSirPenan.lua create mode 100755 Lua/SpawnScripts/Graveyard/GravestoneofSirXantille.lua create mode 100755 Lua/SpawnScripts/Graveyard/GuardLSek.lua create mode 100755 Lua/SpawnScripts/Graveyard/GuardTCrit.lua create mode 100755 Lua/SpawnScripts/Graveyard/KeeperVaracusTKur.lua create mode 100755 Lua/SpawnScripts/Graveyard/RTok.lua create mode 100755 Lua/SpawnScripts/Graveyard/SirHaligan,CaptainoftheKnightsofTruth.lua create mode 100755 Lua/SpawnScripts/Graveyard/UnholyRelic.lua create mode 100755 Lua/SpawnScripts/Graveyard/ZekvilaDizelk.lua create mode 100755 Lua/SpawnScripts/Graveyard/acrumblingskeleton.lua create mode 100755 Lua/SpawnScripts/Graveyard/anEthernereguard.lua create mode 100755 Lua/SpawnScripts/Graveyard/anamateurgraverobber.lua create mode 100755 Lua/SpawnScripts/Graveyard/anovicegraverobber.lua create mode 100755 Lua/SpawnScripts/Graveyard/atatteredpieceofpaper.lua create mode 100755 Lua/SpawnScripts/Graveyard/qst_haligan_tomb.lua create mode 100755 Lua/SpawnScripts/Graveyard/ward_particle_cube.lua create mode 100755 Lua/SpawnScripts/Graystone/AngusFallowfur.lua create mode 100755 Lua/SpawnScripts/Graystone/AssistantJalan.lua create mode 100755 Lua/SpawnScripts/Graystone/AssistantTillheel.lua create mode 100755 Lua/SpawnScripts/Graystone/BarmaidViolet.lua create mode 100755 Lua/SpawnScripts/Graystone/BarryViceheart.lua create mode 100755 Lua/SpawnScripts/Graystone/Beerocks.lua create mode 100755 Lua/SpawnScripts/Graystone/BoninBroadhammer.lua create mode 100755 Lua/SpawnScripts/Graystone/BriceStrongmend.lua create mode 100755 Lua/SpawnScripts/Graystone/BurkStoneshatter.lua create mode 100755 Lua/SpawnScripts/Graystone/CarpenterJorgieIcearmor.lua create mode 100755 Lua/SpawnScripts/Graystone/Coppershot.lua create mode 100755 Lua/SpawnScripts/Graystone/DaneSteelfist.lua create mode 100755 Lua/SpawnScripts/Graystone/Deadeye.lua create mode 100755 Lua/SpawnScripts/Graystone/DorakEverstock.lua create mode 100755 Lua/SpawnScripts/Graystone/Dori.lua create mode 100755 Lua/SpawnScripts/Graystone/DundaFrostgrip.lua create mode 100755 Lua/SpawnScripts/Graystone/Fenris.lua create mode 100755 Lua/SpawnScripts/Graystone/Fiercecry.lua create mode 100755 Lua/SpawnScripts/Graystone/Frerin.lua create mode 100755 Lua/SpawnScripts/Graystone/Friskit.lua create mode 100755 Lua/SpawnScripts/Graystone/GnorFarven.lua create mode 100755 Lua/SpawnScripts/Graystone/GolanPanicward.lua create mode 100755 Lua/SpawnScripts/Graystone/GraystoneCourierDirvel.lua create mode 100755 Lua/SpawnScripts/Graystone/GruffinGoldtooth.lua create mode 100755 Lua/SpawnScripts/Graystone/Guile.lua create mode 100755 Lua/SpawnScripts/Graystone/GurnaHadel.lua create mode 100755 Lua/SpawnScripts/Graystone/HarganIcethaw.lua create mode 100755 Lua/SpawnScripts/Graystone/InnkeeperRothskild.lua create mode 100755 Lua/SpawnScripts/Graystone/Ironmallet.lua create mode 100755 Lua/SpawnScripts/Graystone/Jenison.lua create mode 100755 Lua/SpawnScripts/Graystone/Jodi.lua create mode 100755 Lua/SpawnScripts/Graystone/KargIcemoore.lua create mode 100755 Lua/SpawnScripts/Graystone/Kaya.lua create mode 100755 Lua/SpawnScripts/Graystone/KeldraFrosthaven.lua create mode 100755 Lua/SpawnScripts/Graystone/KnightCaptainSalomar.lua create mode 100755 Lua/SpawnScripts/Graystone/LarsSilverbrace.lua create mode 100755 Lua/SpawnScripts/Graystone/MarusDonoval.lua create mode 100755 Lua/SpawnScripts/Graystone/MavBoilfist.lua create mode 100755 Lua/SpawnScripts/Graystone/McGuiggen.lua create mode 100755 Lua/SpawnScripts/Graystone/Oakfist.lua create mode 100755 Lua/SpawnScripts/Graystone/PathfinderSilentstride.lua create mode 100755 Lua/SpawnScripts/Graystone/Rafki.lua create mode 100755 Lua/SpawnScripts/Graystone/ShippingCoordinatorHando.lua create mode 100755 Lua/SpawnScripts/Graystone/Snowboot.lua create mode 100755 Lua/SpawnScripts/Graystone/Soulforge.lua create mode 100755 Lua/SpawnScripts/Graystone/Steelvein.lua create mode 100755 Lua/SpawnScripts/Graystone/TacklemasterMoyna.lua create mode 100755 Lua/SpawnScripts/Graystone/Takk.lua create mode 100755 Lua/SpawnScripts/Graystone/Ubani.lua create mode 100755 Lua/SpawnScripts/Graystone/WatcherCurmoglielKarthal.lua create mode 100755 Lua/SpawnScripts/Graystone/arat1.lua create mode 100755 Lua/SpawnScripts/Graystone/arat2.lua create mode 100755 Lua/SpawnScripts/Graystone/brew_barrel.lua create mode 100755 Lua/SpawnScripts/Graystone/crate_large_long_001.lua create mode 100755 Lua/SpawnScripts/Graystone/dock_barrel_1.lua create mode 100755 Lua/SpawnScripts/Graystone/dock_barrel_correct.lua create mode 100755 Lua/SpawnScripts/Graystone/dock_crate_1.lua create mode 100755 Lua/SpawnScripts/Graystone/frozen_cherries_1.lua create mode 100755 Lua/SpawnScripts/Graystone/frozen_cherries_2.lua create mode 100755 Lua/SpawnScripts/Graystone/frozen_cherries_3.lua create mode 100755 Lua/SpawnScripts/Graystone/honey_1.lua create mode 100755 Lua/SpawnScripts/Graystone/honey_2.lua create mode 100755 Lua/SpawnScripts/Graystone/honey_3.lua create mode 100755 Lua/SpawnScripts/Graystone/honey_4.lua create mode 100755 Lua/SpawnScripts/Graystone/qstunseenhandcrate1.lua create mode 100755 Lua/SpawnScripts/Graystone/qstunseenhandcrate2.lua create mode 100755 Lua/SpawnScripts/Graystone/quest_shipment_1.lua create mode 100755 Lua/SpawnScripts/Graystone/quest_shipment_2.lua create mode 100755 Lua/SpawnScripts/Graystone/quest_shipment_3.lua create mode 100755 Lua/SpawnScripts/Graystone/yeast_1.lua create mode 100755 Lua/SpawnScripts/Graystone/yeast_2.lua create mode 100755 Lua/SpawnScripts/Graystone/yeast_3.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AeliaNaeni.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Agarighus.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AllikaatjaPiimarik.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AlmillaSumac.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AlodieSilverleaf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AltanBrownwing.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AmiAugren.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AmmaIlaari.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AmyRecolo.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AnaajGreenblade.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/AthinaePanteraas.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BarkChiselchin.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BettinaMeriaan.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BlinikBelestro.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Breezebloom.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BresiyaTuuri.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BrinkTrudger.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BrodoGillywump.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BurgefSteelwright.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/BuzzVitikka.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/CaptainR.K.Irontoe.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/CaptainSteelforge.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/CeftStoutarm.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/CelinistaRyannalis.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/CommanderMarcusTraeis.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/CorrigStonecutter.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Cucumber.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/DanariaRedvine.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/DarukGraniteNoseDobbson.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/DerekTravllor.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/DhalaVeera.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/DirkiGerika.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/EagereyeMayweed.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/EbnixCogsworth.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/EleoonaFaleisinae.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/EloncaNusback.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/EvaCorunnothes.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GibrienMarsden.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GioiaGreenvale.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GlavariusMarud.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Glitterpuff.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GlurieStonegrip.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Gomphum.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GrandmasterFeldmanus.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Grepurp.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GrimplySniffwistle.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GrullSilverstump.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Grum.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GuardYlivaan.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/GundaFirehammer.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/HamnalTeolofin.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/IbidEsslibris.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/IhieerScytheleaf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/IkileHarmonia.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/IllaskoSilktree.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ImmeNaime.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/InnkeeperTwiggy.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/JalmariKeletana.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/JeleetaAriaata.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/JenthisViridar.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/JiaanaKaalikka.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Jilaen.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/JysolinNerala.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KaaleeInimaari.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KalamarVesinger.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KaleVilaaka.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KaljaSongstress.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KarinaMulberry.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KatrynLitewing.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KieloNoronen.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/KiirkinFelendril.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Kresp.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/LadyAileetaReila.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/LadyAletheaJyleel.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/LadyAstaarEvinien.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/LadyKatriEloranta.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/LadyMilikaVikaarinen.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/LarkMeadowswoon.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/LyytiEloranta.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MasterBowyerMossberge.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MatstyrAlesmith.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MeehaPekko-Maarit.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MeliinaCopperleaf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MenthaHaora.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MerchantFallulah.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MerchantMelilah.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MiahTanglebranch.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MiellaMaarsitotts.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MissantratheStylist.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Morganellus.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/MulusViinikka.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/NimessSessi.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/NixiaCogsworth.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/NooraMaki.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PaanalaFlutterleaf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PaivaKapanen.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PhilosopherYubee.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PickleVelvetleaf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PirgettaMaarit.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PoggleFizzpop.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PrestonPepperpicker.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/PrincessSaphronia.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ProfessorEbenezerCogsworthVI.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/QueenAmree.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/RaimoHeinila.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/RalikaMekkila.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/RanduKvan.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/RelcTulin.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/RestauranteurBrizeylMyrika.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/RooleeanFelodaan.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SadeMaki.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SaelirVarryn.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SannorVilika.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SassirahFallenleaf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ScoutSpelunkle.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ScribeEljasAravirta.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SentryTrillis.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SirBaydenCauldthorn.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SuaAugren.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/SunnevaNepenthes.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TheGrenderGuardian.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ThekelaGillywump.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TraegerVerdegreen.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerArillaLarivaara.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerEivarraLaceleaf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerModjiVilivarinen.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerRafelaKosimo.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerValtteriYliveri.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TrainerVantanPerikato.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TuathilLaeds.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TunaresSaplingAcornLift.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/TurgoBargedown.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/VargorntheHistorian.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/VenlaVaara.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/VestinaPinaarian.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/Whittier.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/YarinSkystride.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/YstanaMirefaith.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ZeegoMiemo.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ZemketheWolf.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ZephyreViolethair.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ZilendarPilimaartu.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aCrushboneemissary.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aCrushbonepawn.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aGigglegibberGoblinGamblinGameVendor.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aShroombacultivator1.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aShroombacultivator2.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aShroombacultivator3.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aShroombacultivator4.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aShroombacultivator5.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/afaesoldier.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aformidablesparringpartner.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/agrobindigger.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/agrobineggkeeper.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/agrobinpolluter.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/agrobinscout.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/agrobinsentry.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/agrobinsporeharvester.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/amininglookout(female).lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/amininglookout.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/anaveragesparringpartner.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/anexpeditionguard.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/apunishedmagiapprentice.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalapprentice.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalwizard.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/astablemaster.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/aweaksparringpartner.lua create mode 100755 Lua/SpawnScripts/GreaterFaydark/grobins.lua create mode 100755 Lua/SpawnScripts/Haven/GrabbyGigglegibber.lua create mode 100755 Lua/SpawnScripts/IllbodingDark1/OrugDeathmaker.lua create mode 100755 Lua/SpawnScripts/IllbodingDark1/blackshard.lua create mode 100755 Lua/SpawnScripts/JarsathWastes/asokokartamer.lua create mode 100755 Lua/SpawnScripts/KunzarJungle/asokokartamer.lua create mode 100755 Lua/SpawnScripts/KylongPlains/asokokartamer.lua create mode 100755 Lua/SpawnScripts/Lavastorm/VulcanuSlayer.lua create mode 100755 Lua/SpawnScripts/Lavastorm/najenaelevatorcontrol.lua create mode 100755 Lua/SpawnScripts/Lavastorm/woes_elevator.lua create mode 100755 Lua/SpawnScripts/LesserFaydark/astablemaster.lua create mode 100755 Lua/SpawnScripts/Longshadow/AlanaramalZAste.lua create mode 100755 Lua/SpawnScripts/Longshadow/AlderaVExxa.lua create mode 100755 Lua/SpawnScripts/Longshadow/ArmsdealerTNyvez.lua create mode 100755 Lua/SpawnScripts/Longshadow/CaptainLNek.lua create mode 100755 Lua/SpawnScripts/Longshadow/CizraJYax.lua create mode 100755 Lua/SpawnScripts/Longshadow/DBeph.lua create mode 100755 Lua/SpawnScripts/Longshadow/EzriaMLinar.lua create mode 100755 Lua/SpawnScripts/Longshadow/ImnatDVren.lua create mode 100755 Lua/SpawnScripts/Longshadow/InnkeeperTMel.lua create mode 100755 Lua/SpawnScripts/Longshadow/InnuraeVTarris.lua create mode 100755 Lua/SpawnScripts/Longshadow/JuturnaPostumus.lua create mode 100755 Lua/SpawnScripts/Longshadow/KTolia.lua create mode 100755 Lua/SpawnScripts/Longshadow/KalraathLVin.lua create mode 100755 Lua/SpawnScripts/Longshadow/KylanithDLar.lua create mode 100755 Lua/SpawnScripts/Longshadow/LDor.lua create mode 100755 Lua/SpawnScripts/Longshadow/LotniKIria.lua create mode 100755 Lua/SpawnScripts/Longshadow/LynsiaTKanix.lua create mode 100755 Lua/SpawnScripts/Longshadow/MalizTRaan.lua create mode 100755 Lua/SpawnScripts/Longshadow/ModianKJarr.lua create mode 100755 Lua/SpawnScripts/Longshadow/NezzkaSTai.lua create mode 100755 Lua/SpawnScripts/Longshadow/OrianDRak.lua create mode 100755 Lua/SpawnScripts/Longshadow/PThek.lua create mode 100755 Lua/SpawnScripts/Longshadow/ShNra.lua create mode 100755 Lua/SpawnScripts/Longshadow/ShadowsKiss.lua create mode 100755 Lua/SpawnScripts/Longshadow/TGask.lua create mode 100755 Lua/SpawnScripts/Longshadow/TNarra.lua create mode 100755 Lua/SpawnScripts/Longshadow/TVal.lua create mode 100755 Lua/SpawnScripts/Longshadow/TVek.lua create mode 100755 Lua/SpawnScripts/Longshadow/TeahJNar.lua create mode 100755 Lua/SpawnScripts/Longshadow/VDyhn.lua create mode 100755 Lua/SpawnScripts/Longshadow/VTun.lua create mode 100755 Lua/SpawnScripts/Longshadow/VorsharLFaz.lua create mode 100755 Lua/SpawnScripts/Longshadow/YaranaDVen.lua create mode 100755 Lua/SpawnScripts/Longshadow/ZelinaTVon.lua create mode 100755 Lua/SpawnScripts/LopingPlains/aNightmarehandler.lua create mode 100755 Lua/SpawnScripts/Nektropos1/ASwineFiend.lua create mode 100755 Lua/SpawnScripts/Nektropos1/Alexa.lua create mode 100755 Lua/SpawnScripts/Nektropos1/AlexaBasement.lua create mode 100755 Lua/SpawnScripts/Nektropos1/AlexaLockets.lua create mode 100755 Lua/SpawnScripts/Nektropos1/AlexaOllix.lua create mode 100755 Lua/SpawnScripts/Nektropos1/AlexaRamparts.lua create mode 100755 Lua/SpawnScripts/Nektropos1/ArchfiendIzzoroth.lua create mode 100755 Lua/SpawnScripts/Nektropos1/BalconyDoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/BarracksDoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/BarracksDoor2.lua create mode 100755 Lua/SpawnScripts/Nektropos1/BasementSecretDoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/CaptainGavinBook.lua create mode 100755 Lua/SpawnScripts/Nektropos1/Crystashandmaiden.lua create mode 100755 Lua/SpawnScripts/Nektropos1/ElisesDiary.lua create mode 100755 Lua/SpawnScripts/Nektropos1/EverlingLocketDoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/EverlingQuartersDoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/EverlingSisters.lua create mode 100755 Lua/SpawnScripts/Nektropos1/GameRoomDoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/GuardCaptainGavin.lua create mode 100755 Lua/SpawnScripts/Nektropos1/InquisitorofUllkorruuk.lua create mode 100755 Lua/SpawnScripts/Nektropos1/JenniEverling.lua create mode 100755 Lua/SpawnScripts/Nektropos1/JennisTeacher.lua create mode 100755 Lua/SpawnScripts/Nektropos1/LibraryDoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/MaltusEverling.lua create mode 100755 Lua/SpawnScripts/Nektropos1/MasterEldinNecrosis.lua create mode 100755 Lua/SpawnScripts/Nektropos1/NektroposBarracksLockbox.lua create mode 100755 Lua/SpawnScripts/Nektropos1/NektroposMountedBoarsHead.lua create mode 100755 Lua/SpawnScripts/Nektropos1/NektroposMountedSwineshead.lua create mode 100755 Lua/SpawnScripts/Nektropos1/OllixEverling.lua create mode 100755 Lua/SpawnScripts/Nektropos1/aDecayingCorpse.lua create mode 100755 Lua/SpawnScripts/Nektropos1/aPatchworkLaborer1.lua create mode 100755 Lua/SpawnScripts/Nektropos1/aPatchworkLaborer2.lua create mode 100755 Lua/SpawnScripts/Nektropos1/aPriestessOfUllkorruuk.lua create mode 100755 Lua/SpawnScripts/Nektropos1/aWineRack.lua create mode 100755 Lua/SpawnScripts/Nektropos1/anEverlingstableboy.lua create mode 100755 Lua/SpawnScripts/Nektropos1/deirdrewallscontztrap.lua create mode 100755 Lua/SpawnScripts/Nektropos1/deirdrewallscotnz.lua create mode 100755 Lua/SpawnScripts/Nektropos1/elisewallscotnz.lua create mode 100755 Lua/SpawnScripts/Nektropos1/everlingsquartersdoor2.lua create mode 100755 Lua/SpawnScripts/Nektropos1/exitportal.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorKey.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorScontz.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p34sheiladresser.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p47swordholder.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p49beddiarysearch.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p53scrollofopening.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p53secretdooropener.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p59alanatrigger.lua create mode 100755 Lua/SpawnScripts/Nektropos1/p59sarcophogustrap.lua create mode 100755 Lua/SpawnScripts/Nektropos1/secretlaboratoryentrancesecretdoor.lua create mode 100755 Lua/SpawnScripts/Nektropos1/widgetbadbook.lua create mode 100755 Lua/SpawnScripts/Nektulos/agriffintamer.lua create mode 100755 Lua/SpawnScripts/Nektulos/agriffontamer.lua create mode 100755 Lua/SpawnScripts/Neriak/AlaunnoluDXaate.lua create mode 100755 Lua/SpawnScripts/Neriak/Brute.lua create mode 100755 Lua/SpawnScripts/Neriak/DocksideMarketGuardA.lua create mode 100755 Lua/SpawnScripts/Neriak/DocksideMarketGuardB.lua create mode 100755 Lua/SpawnScripts/Neriak/DreadGuard1.lua create mode 100755 Lua/SpawnScripts/Neriak/DreadGuardNewForeignQuarter.lua create mode 100755 Lua/SpawnScripts/Neriak/DreadGuard_Warg_mount.lua create mode 100755 Lua/SpawnScripts/Neriak/DreadGuard_nightmare_mount.lua create mode 100755 Lua/SpawnScripts/Neriak/EthedraRVinival.lua create mode 100755 Lua/SpawnScripts/Neriak/MKaiNFaer.lua create mode 100755 Lua/SpawnScripts/Neriak/NewForeignQuaterGuard.lua create mode 100755 Lua/SpawnScripts/Neriak/PhyravinDVaar.lua create mode 100755 Lua/SpawnScripts/Neriak/RaksharBucha.lua create mode 100755 Lua/SpawnScripts/Neriak/SDreadGuard2.lua create mode 100755 Lua/SpawnScripts/Neriak/TTraeneXXxtar.lua create mode 100755 Lua/SpawnScripts/Neriak/Ultra.lua create mode 100755 Lua/SpawnScripts/Neriak/acourtesan1.lua create mode 100755 Lua/SpawnScripts/Neriak/acourtesan2.lua create mode 100755 Lua/SpawnScripts/Nettleville/Ajarn.lua create mode 100755 Lua/SpawnScripts/Nettleville/AmazuKharliko.lua create mode 100755 Lua/SpawnScripts/Nettleville/AndretSurtees.lua create mode 100755 Lua/SpawnScripts/Nettleville/Aves.lua create mode 100755 Lua/SpawnScripts/Nettleville/BahatiLinnxar.lua create mode 100755 Lua/SpawnScripts/Nettleville/BarikaIjumaa.lua create mode 100755 Lua/SpawnScripts/Nettleville/BarmaidLollaCotgrove.lua create mode 100755 Lua/SpawnScripts/Nettleville/BowyerFesante.lua create mode 100755 Lua/SpawnScripts/Nettleville/CarynSwell.lua create mode 100755 Lua/SpawnScripts/Nettleville/CaylessChambers.lua create mode 100755 Lua/SpawnScripts/Nettleville/ConstableArathur.lua create mode 100755 Lua/SpawnScripts/Nettleville/DarianWells.lua create mode 100755 Lua/SpawnScripts/Nettleville/DirkVagrin.lua create mode 100755 Lua/SpawnScripts/Nettleville/EhuraaRotherham.lua create mode 100755 Lua/SpawnScripts/Nettleville/Fallsworth.lua create mode 100755 Lua/SpawnScripts/Nettleville/FosterGraham.lua create mode 100755 Lua/SpawnScripts/Nettleville/FriarMontego.lua create mode 100755 Lua/SpawnScripts/Nettleville/GarionDunam.lua create mode 100755 Lua/SpawnScripts/Nettleville/Gunta.lua create mode 100755 Lua/SpawnScripts/Nettleville/HelainConyers.lua create mode 100755 Lua/SpawnScripts/Nettleville/InnkeeperBailyDowden.lua create mode 100755 Lua/SpawnScripts/Nettleville/JohfritGythell.lua create mode 100755 Lua/SpawnScripts/Nettleville/KarrieClayton.lua create mode 100755 Lua/SpawnScripts/Nettleville/KatheyBrewsher.lua create mode 100755 Lua/SpawnScripts/Nettleville/KumbufuAri.lua create mode 100755 Lua/SpawnScripts/Nettleville/LakoshaMaera.lua create mode 100755 Lua/SpawnScripts/Nettleville/LaudineShardalow.lua create mode 100755 Lua/SpawnScripts/Nettleville/LoganMacAdie.lua create mode 100755 Lua/SpawnScripts/Nettleville/MarjaniKenan.lua create mode 100755 Lua/SpawnScripts/Nettleville/NawalTahri.lua create mode 100755 Lua/SpawnScripts/Nettleville/NiaJaja.lua create mode 100755 Lua/SpawnScripts/Nettleville/RalkeshOrto.lua create mode 100755 Lua/SpawnScripts/Nettleville/SelkieMushroom.lua create mode 100755 Lua/SpawnScripts/Nettleville/SpiritistLaharnRahai.lua create mode 100755 Lua/SpawnScripts/Nettleville/Tanglmayn.lua create mode 100755 Lua/SpawnScripts/Nettleville/VarionSmitelin.lua create mode 100755 Lua/SpawnScripts/Nettleville/Verth.lua create mode 100755 Lua/SpawnScripts/Nettleville/VidaSweeps.lua create mode 100755 Lua/SpawnScripts/Nettleville/WillimBarclay.lua create mode 100755 Lua/SpawnScripts/Nettleville/abookpage.lua create mode 100755 Lua/SpawnScripts/Nettleville/awaterloggedcrate.lua create mode 100755 Lua/SpawnScripts/Nettleville/awaterproofbarrel.lua create mode 100755 Lua/SpawnScripts/Nettleville/inspect_reagentshelf01.lua create mode 100755 Lua/SpawnScripts/Nettleville/loosesoil.lua create mode 100755 Lua/SpawnScripts/NorthFreeport/HectorAlpalor.lua create mode 100755 Lua/SpawnScripts/NorthFreeport/Lrak.lua create mode 100755 Lua/SpawnScripts/NorthFreeport/NFreeportWanders.lua create mode 100755 Lua/SpawnScripts/NorthFreeport/transportacademy0.lua create mode 100755 Lua/SpawnScripts/NorthFreeport/transportacademy1.lua create mode 100755 Lua/SpawnScripts/Oakmyst/AdalinEmerael.lua create mode 100755 Lua/SpawnScripts/Oakmyst/AkeeraSneakshot.lua create mode 100755 Lua/SpawnScripts/Oakmyst/AundorSingingsword.lua create mode 100755 Lua/SpawnScripts/Oakmyst/BardrianVorsuth.lua create mode 100755 Lua/SpawnScripts/Oakmyst/CaileeBluesheaf.lua create mode 100755 Lua/SpawnScripts/Oakmyst/EmpressAnassa.lua create mode 100755 Lua/SpawnScripts/Oakmyst/FluwkowirHaggleton.lua create mode 100755 Lua/SpawnScripts/Oakmyst/FulkoirHaggleton.lua create mode 100755 Lua/SpawnScripts/Oakmyst/Gilrix.lua create mode 100755 Lua/SpawnScripts/Oakmyst/HuntmasterKrell.lua create mode 100755 Lua/SpawnScripts/Oakmyst/Jemila.lua create mode 100755 Lua/SpawnScripts/Oakmyst/JornSorefoot.lua create mode 100755 Lua/SpawnScripts/Oakmyst/JudgeEunomia.lua create mode 100755 Lua/SpawnScripts/Oakmyst/LieutenantCharlin.lua create mode 100755 Lua/SpawnScripts/Oakmyst/LulienLeafven.lua create mode 100755 Lua/SpawnScripts/Oakmyst/Madeline.lua create mode 100755 Lua/SpawnScripts/Oakmyst/MarvBoilfist.lua create mode 100755 Lua/SpawnScripts/Oakmyst/MontehFurthread.lua create mode 100755 Lua/SpawnScripts/Oakmyst/ObserverGaladn.lua create mode 100755 Lua/SpawnScripts/Oakmyst/RinduilFlintflight.lua create mode 100755 Lua/SpawnScripts/Oakmyst/RotweedThistle.lua create mode 100755 Lua/SpawnScripts/Oakmyst/ScholarNeola.lua create mode 100755 Lua/SpawnScripts/Oakmyst/Solas.lua create mode 100755 Lua/SpawnScripts/Oakmyst/StewardTredo.lua create mode 100755 Lua/SpawnScripts/Oakmyst/Stormbrace.lua create mode 100755 Lua/SpawnScripts/Oakmyst/ToppaDoppster.lua create mode 100755 Lua/SpawnScripts/Oakmyst/TrackerGalera.lua create mode 100755 Lua/SpawnScripts/Oakmyst/TrackerKelnis.lua create mode 100755 Lua/SpawnScripts/Oakmyst/Truesteel.lua create mode 100755 Lua/SpawnScripts/Oakmyst/aclearwaterfrog606.lua create mode 100755 Lua/SpawnScripts/Oakmyst/acorrupteddryad.lua create mode 100755 Lua/SpawnScripts/Oakmyst/anOakmystspider.lua create mode 100755 Lua/SpawnScripts/Oakmyst/asunkenkeg.lua create mode 100755 Lua/SpawnScripts/Oakmyst/atreantsapling.lua create mode 100755 Lua/SpawnScripts/Oakmyst/fulkoir.lua create mode 100755 Lua/SpawnScripts/Oakmyst/inspect_rock_poem.lua create mode 100755 Lua/SpawnScripts/Oakmyst/mysterious_machine_quest.lua create mode 100755 Lua/SpawnScripts/Oakmyst/unearthedsoil.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/APudgyMoleRat.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/AniusOakwind.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Ashir.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/AssassinVamir.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/AsylLysarz.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/CallusMagnus.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/CaptainPinious.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/CaptainTyreth.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/CharlesArker.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/ChefGorga.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/CoercerZlith.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Droog.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/EbbTide.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/FalconerLithkeen.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Geredo.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/GetheHuggs.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Greshar.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/HelmsmanNyles.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/HoggaIrongut.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Ingrid.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/JonasRollings.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Kibbs.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/KurgleFrogbane.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Laena.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/MurgLeechtongue.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/OolarOmafa.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/PrukSkullpound.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/SarylScarscale.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/SirsiRissar.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TayilNVelex.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TheGreatHawk.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerAnnaWinston.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerArthurMerrin.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerCorxKnickknack.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerDargFrostwind.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerJaylaSurfrider.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerKashaYitski.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerNoggDreadscar.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerSythortheAllSeeing.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerVellaNDur.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/TrainerVissaSathliss.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Vim.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Waulon.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/Whizratchet.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/WixWimblewick.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/ZitoGraban.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A_Follower.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/aTrainedWolf.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/aTunareWolfmaster.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/aTunarianWolfmaster.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/aTunarianhorsesentry.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/aTunarianscout1.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/acliffdiverhawk.lua create mode 100755 Lua/SpawnScripts/OutpostOverlord/beehive03.lua create mode 100755 Lua/SpawnScripts/PeatBog/BotanistLith.lua create mode 100755 Lua/SpawnScripts/PeatBog/FeriusMentus.lua create mode 100755 Lua/SpawnScripts/PeatBog/GuardAndrews.lua create mode 100755 Lua/SpawnScripts/PeatBog/GuardBlack.lua create mode 100755 Lua/SpawnScripts/PeatBog/GuardDierdra.lua create mode 100755 Lua/SpawnScripts/PeatBog/GuardMoor.lua create mode 100755 Lua/SpawnScripts/PeatBog/GuardNander.lua create mode 100755 Lua/SpawnScripts/PeatBog/GuardVivian.lua create mode 100755 Lua/SpawnScripts/PeatBog/LieutenantDawson.lua create mode 100755 Lua/SpawnScripts/PeatBog/Oakvil.lua create mode 100755 Lua/SpawnScripts/PeatBog/qst_ambush_site_1.lua create mode 100755 Lua/SpawnScripts/PeatBog/qst_ambush_site_2.lua create mode 100755 Lua/SpawnScripts/PeatBog/qst_ambush_site_3.lua create mode 100755 Lua/SpawnScripts/PeatBog/quest_machine_in_water.lua create mode 100755 Lua/SpawnScripts/PeatBog/quest_shipment_1.lua create mode 100755 Lua/SpawnScripts/PillarsFlame/anomadiccarpetkeeper.lua create mode 100755 Lua/SpawnScripts/Qeynos/acaninewatcher.lua create mode 100755 Lua/SpawnScripts/QeynosHarbor/Aliindar.lua create mode 100755 Lua/SpawnScripts/QeynosHarbor/IanCathlan.lua create mode 100755 Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen.lua create mode 100755 Lua/SpawnScripts/QueensColony/BankerBogfoot.lua create mode 100755 Lua/SpawnScripts/QueensColony/BarthMignus.lua create mode 100755 Lua/SpawnScripts/QueensColony/CaptainVarlos.lua create mode 100755 Lua/SpawnScripts/QueensColony/CaptainWarrik.lua create mode 100755 Lua/SpawnScripts/QueensColony/ClericMaraVaen.lua create mode 100755 Lua/SpawnScripts/QueensColony/DefenderBristlebrow.lua create mode 100755 Lua/SpawnScripts/QueensColony/DefenderKuglup.lua create mode 100755 Lua/SpawnScripts/QueensColony/Deianeira.lua create mode 100755 Lua/SpawnScripts/QueensColony/Durg.lua create mode 100755 Lua/SpawnScripts/QueensColony/EbikWobblecog.lua create mode 100755 Lua/SpawnScripts/QueensColony/GalanCrestrider.lua create mode 100755 Lua/SpawnScripts/QueensColony/Geredo.lua create mode 100755 Lua/SpawnScripts/QueensColony/GogginCogspring.lua create mode 100755 Lua/SpawnScripts/QueensColony/Gonk.lua create mode 100755 Lua/SpawnScripts/QueensColony/GrakusStonemallet.lua create mode 100755 Lua/SpawnScripts/QueensColony/Groak.lua create mode 100755 Lua/SpawnScripts/QueensColony/HannaDeeppockets.lua create mode 100755 Lua/SpawnScripts/QueensColony/HelmsmanNyles.lua create mode 100755 Lua/SpawnScripts/QueensColony/HighChieftainGrexx.lua create mode 100755 Lua/SpawnScripts/QueensColony/Ingrid.lua create mode 100755 Lua/SpawnScripts/QueensColony/Leebo.lua create mode 100755 Lua/SpawnScripts/QueensColony/LieutenantWestfall.lua create mode 100755 Lua/SpawnScripts/QueensColony/MaylinMeadowlark.lua create mode 100755 Lua/SpawnScripts/QueensColony/MenderMannus.lua create mode 100755 Lua/SpawnScripts/QueensColony/MeriBogfoot.lua create mode 100755 Lua/SpawnScripts/QueensColony/MurrarShar.lua create mode 100755 Lua/SpawnScripts/QueensColony/NebbleUnderroot.lua create mode 100755 Lua/SpawnScripts/QueensColony/Patroller1.lua create mode 100755 Lua/SpawnScripts/QueensColony/PaulaMarx.lua create mode 100755 Lua/SpawnScripts/QueensColony/PredatorShadur.lua create mode 100755 Lua/SpawnScripts/QueensColony/SapswillVillageDancer.lua create mode 100755 Lua/SpawnScripts/QueensColony/SapswillVillageDrunk.lua create mode 100755 Lua/SpawnScripts/QueensColony/SapswillVillageHappy.lua create mode 100755 Lua/SpawnScripts/QueensColony/SapswillVillageMusician.lua create mode 100755 Lua/SpawnScripts/QueensColony/SapswillVillageSitting.lua create mode 100755 Lua/SpawnScripts/QueensColony/SapswillvillagerRunner.lua create mode 100755 Lua/SpawnScripts/QueensColony/SergeantHaggus.lua create mode 100755 Lua/SpawnScripts/QueensColony/Shirra.lua create mode 100755 Lua/SpawnScripts/QueensColony/SorcererOofala.lua create mode 100755 Lua/SpawnScripts/QueensColony/TheForestKeeper.lua create mode 100755 Lua/SpawnScripts/QueensColony/TimboAlefirst.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerBordaGemseeker.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerCharleneStoutmuffin.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerCheyeSeawind.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerGregoryCollins.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerGurgaTrueheart.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerHaylMcGuinness.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerMarlaGilliam.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerMyrrintheMagnific.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerVerrinGlimmertide.lua create mode 100755 Lua/SpawnScripts/QueensColony/TrainerZidgetSprogrudder.lua create mode 100755 Lua/SpawnScripts/QueensColony/Vim.lua create mode 100755 Lua/SpawnScripts/QueensColony/VisageoftheQueen.lua create mode 100755 Lua/SpawnScripts/QueensColony/Waulon.lua create mode 100755 Lua/SpawnScripts/QueensColony/aMorakdevourer_halfling.lua create mode 100755 Lua/SpawnScripts/QueensColony/aQeynosianscout(rescue).lua create mode 100755 Lua/SpawnScripts/QueensColony/aQeynosianscout(rescued).lua create mode 100755 Lua/SpawnScripts/QueensColony/aSapswillsoothsayer.lua create mode 100755 Lua/SpawnScripts/QueensColony/adeadsoldier.lua create mode 100755 Lua/SpawnScripts/QueensColony/afallenassassin.lua create mode 100755 Lua/SpawnScripts/QueensColony/alostscout(Ghost).lua create mode 100755 Lua/SpawnScripts/QueensColony/alostscout.lua create mode 100755 Lua/SpawnScripts/QueensColony/arazortoothshark.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430717.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430718.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430719.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430721.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430722.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430744.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430767.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430768.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430769.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430770.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430771.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430773.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430774.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430775.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430792.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430813.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430814.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430815.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430816.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430817.lua create mode 100755 Lua/SpawnScripts/QueensColony/asmallcoastalcrab430823.lua create mode 100755 Lua/SpawnScripts/QueensColony/ataintedSapswillambusher.lua create mode 100755 Lua/SpawnScripts/QueensColony/ataintedSapswillinvader.lua create mode 100755 Lua/SpawnScripts/QueensColony/ebiksclunker.lua create mode 100755 Lua/SpawnScripts/QueensColony/ebiksspinner.lua create mode 100755 Lua/SpawnScripts/QueensColony/ebiksspringer.lua create mode 100755 Lua/SpawnScripts/QueensColony/eviltotem.lua create mode 100755 Lua/SpawnScripts/QueensColony/goodbookfeedingtheguurok.lua create mode 100755 Lua/SpawnScripts/QueensColony/statuewidget.lua create mode 100755 Lua/SpawnScripts/Ruins/ArmsdealerNylzs.lua create mode 100755 Lua/SpawnScripts/Ruins/CaptainArellius.lua create mode 100755 Lua/SpawnScripts/Ruins/LieutenantArgosian.lua create mode 100755 Lua/SpawnScripts/Ruins/LieutenantImperidus.lua create mode 100755 Lua/SpawnScripts/Ruins/LonetuskVoiceOvers.lua create mode 100755 Lua/SpawnScripts/Ruins/MardypPrunt.lua create mode 100755 Lua/SpawnScripts/Ruins/Pitrova.lua create mode 100755 Lua/SpawnScripts/Ruins/Talia.lua create mode 100755 Lua/SpawnScripts/Ruins/VisageoftheOverlord.lua create mode 100755 Lua/SpawnScripts/Ruins/Widget_orc_document_box.lua create mode 100755 Lua/SpawnScripts/Ruins/Widgetorcdocumentbox.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskchampion.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskcrusher.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskdefender.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskguard.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskoverseer.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskpawn.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskpounder.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskprophet.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskravager.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentusksentry.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskshaman.lua create mode 100755 Lua/SpawnScripts/Ruins/aBrokentuskwarrior.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskBloodseer.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskchampion.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskcrusher.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskdestroyer.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskpounder.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskprophet.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetusksentry.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskshaman.lua create mode 100755 Lua/SpawnScripts/Ruins/aLonetuskwarrior.lua create mode 100755 Lua/SpawnScripts/Ruins/aRujarkianadvisor.lua create mode 100755 Lua/SpawnScripts/Ruins/acapturedLonetusk.lua create mode 100755 Lua/SpawnScripts/Ruins/acourageousdefender.lua create mode 100755 Lua/SpawnScripts/Ruins/aharriedvagrantsquatter.lua create mode 100755 Lua/SpawnScripts/Ruins/aprisonerguard.lua create mode 100755 Lua/SpawnScripts/Ruins/aseasoneddefender.lua create mode 100755 Lua/SpawnScripts/Ruins/orc_cask.lua create mode 100755 Lua/SpawnScripts/Ruins/orc_cauldron.lua create mode 100755 Lua/SpawnScripts/Ruins/orc_idol.lua create mode 100755 Lua/SpawnScripts/Ruins/orc_knight_statue.lua create mode 100755 Lua/SpawnScripts/Ruins/orccask.lua create mode 100755 Lua/SpawnScripts/Ruins/orccauldron.lua create mode 100755 Lua/SpawnScripts/Ruins/orcidol.lua create mode 100755 Lua/SpawnScripts/Ruins/orcknightstatue.lua create mode 100755 Lua/SpawnScripts/ScaleYard/AnthonyGlavias.lua create mode 100755 Lua/SpawnScripts/ScaleYard/ArmsDealerShilza.lua create mode 100755 Lua/SpawnScripts/ScaleYard/BankerIzark.lua create mode 100755 Lua/SpawnScripts/ScaleYard/BarmaidFrostwind.lua create mode 100755 Lua/SpawnScripts/ScaleYard/BriacTundrafire.lua create mode 100755 Lua/SpawnScripts/ScaleYard/CalebBrazenroot.lua create mode 100755 Lua/SpawnScripts/ScaleYard/CaptainRonia.lua create mode 100755 Lua/SpawnScripts/ScaleYard/ClanChiefMalachiSleetspear.lua create mode 100755 Lua/SpawnScripts/ScaleYard/ColinStoutfist.lua create mode 100755 Lua/SpawnScripts/ScaleYard/DunnColdbrow.lua create mode 100755 Lua/SpawnScripts/ScaleYard/DyerthShiraz.lua create mode 100755 Lua/SpawnScripts/ScaleYard/EvelynStoutfist.lua create mode 100755 Lua/SpawnScripts/ScaleYard/InnkeepFrosthome.lua create mode 100755 Lua/SpawnScripts/ScaleYard/IssikDethyr.lua create mode 100755 Lua/SpawnScripts/ScaleYard/Ithias.lua create mode 100755 Lua/SpawnScripts/ScaleYard/JondyCobbleblork.lua create mode 100755 Lua/SpawnScripts/ScaleYard/Kakriss.lua create mode 100755 Lua/SpawnScripts/ScaleYard/Lambert.lua create mode 100755 Lua/SpawnScripts/ScaleYard/LornMcHalford.lua create mode 100755 Lua/SpawnScripts/ScaleYard/LucasMacCormick.lua create mode 100755 Lua/SpawnScripts/ScaleYard/MegenOKeel.lua create mode 100755 Lua/SpawnScripts/ScaleYard/MelvinDunford.lua create mode 100755 Lua/SpawnScripts/ScaleYard/MerchantZiraak.lua create mode 100755 Lua/SpawnScripts/ScaleYard/MirinZilishia.lua create mode 100755 Lua/SpawnScripts/ScaleYard/NithaskSyrthiss.lua create mode 100755 Lua/SpawnScripts/ScaleYard/NotFound.lua create mode 100755 Lua/SpawnScripts/ScaleYard/OlinBarkstripper.lua create mode 100755 Lua/SpawnScripts/ScaleYard/PlotterNicolai.lua create mode 100755 Lua/SpawnScripts/ScaleYard/SavasDranak.lua create mode 100755 Lua/SpawnScripts/ScaleYard/ScribeColdquill.lua create mode 100755 Lua/SpawnScripts/ScaleYard/SkalVethiz.lua create mode 100755 Lua/SpawnScripts/ScaleYard/Sypp.lua create mode 100755 Lua/SpawnScripts/ScaleYard/Tabitha.lua create mode 100755 Lua/SpawnScripts/ScaleYard/TeganFrostfist.lua create mode 100755 Lua/SpawnScripts/ScaleYard/Thaguk.lua create mode 100755 Lua/SpawnScripts/ScaleYard/TristanORilley.lua create mode 100755 Lua/SpawnScripts/ScaleYard/UgarinFarwind.lua create mode 100755 Lua/SpawnScripts/ScaleYard/Valseth.lua create mode 100755 Lua/SpawnScripts/ScaleYard/VerinIthelz.lua create mode 100755 Lua/SpawnScripts/ScaleYard/VleskeVylkle.lua create mode 100755 Lua/SpawnScripts/ScaleYard/WeaponsmithXass.lua create mode 100755 Lua/SpawnScripts/ScaleYard/WesleyTundrafoot.lua create mode 100755 Lua/SpawnScripts/ScaleYard/ZeverTzizzink.lua create mode 100755 Lua/SpawnScripts/ScaleYard/aShissarianasp.lua create mode 100755 Lua/SpawnScripts/ScaleYard/aShissarianvase.lua create mode 100755 Lua/SpawnScripts/ScaleYard/anIksarskull.lua create mode 100755 Lua/SpawnScripts/ScaleYard/arat.lua create mode 100755 Lua/SpawnScripts/ScaleYard/doorwidget10.lua create mode 100755 Lua/SpawnScripts/ScaleYard/quest_iksar_shackles.lua create mode 100755 Lua/SpawnScripts/ScaleYard/questiksarskull.lua create mode 100755 Lua/SpawnScripts/ScaleYard/questmalachichair.lua create mode 100755 Lua/SpawnScripts/ScaleYard/questmalachidesk.lua create mode 100755 Lua/SpawnScripts/ScaleYard/questmalachiwasphive.lua create mode 100755 Lua/SpawnScripts/ScaleYard/questmalachiweaponrack.lua create mode 100755 Lua/SpawnScripts/ScaleYard/questvrimbox.lua create mode 100755 Lua/SpawnScripts/ScaleYard/unnamed.lua create mode 100755 Lua/SpawnScripts/ScaleYard/zonetosprawl.lua create mode 100755 Lua/SpawnScripts/SourceEvil/VithLTar.lua create mode 100755 Lua/SpawnScripts/SourceEvil/evil_totem.lua create mode 100755 Lua/SpawnScripts/SourceEvil/eviltotem.lua create mode 100755 Lua/SpawnScripts/SourceEvil/goblins.lua create mode 100755 Lua/SpawnScripts/SourceEvil/goodnecromancerpoison.lua create mode 100755 Lua/SpawnScripts/Sprawl/ArcanistTikkeri.lua create mode 100755 Lua/SpawnScripts/Sprawl/BrutemasterTarden.lua create mode 100755 Lua/SpawnScripts/Sprawl/CrispinLuvinius.lua create mode 100755 Lua/SpawnScripts/Sprawl/EnforcerKurdek.lua create mode 100755 Lua/SpawnScripts/Sprawl/GatekeeperMalora.lua create mode 100755 Lua/SpawnScripts/Sprawl/GatekeeperMalren.lua create mode 100755 Lua/SpawnScripts/Sprawl/Gorgo.lua create mode 100755 Lua/SpawnScripts/Sprawl/LUnt.lua create mode 100755 Lua/SpawnScripts/Sprawl/LiegeAquila.lua create mode 100755 Lua/SpawnScripts/Sprawl/Loria.lua create mode 100755 Lua/SpawnScripts/Sprawl/Sasha.lua create mode 100755 Lua/SpawnScripts/Sprawl/Talmudius.lua create mode 100755 Lua/SpawnScripts/Sprawl/TrainerDurbok.lua create mode 100755 Lua/SpawnScripts/Sprawl/aGiantslayerbasher.lua create mode 100755 Lua/SpawnScripts/Sprawl/aGiantslayerbrute.lua create mode 100755 Lua/SpawnScripts/Sprawl/aGiantslayerthug.lua create mode 100755 Lua/SpawnScripts/Sprawl/adistraughtfarmer.lua create mode 100755 Lua/SpawnScripts/Starcrest/AndorQuist.lua create mode 100755 Lua/SpawnScripts/Starcrest/AnevayaStarchaser.lua create mode 100755 Lua/SpawnScripts/Starcrest/AngeliaClayton.lua create mode 100755 Lua/SpawnScripts/Starcrest/Barrik.lua create mode 100755 Lua/SpawnScripts/Starcrest/Bermo.lua create mode 100755 Lua/SpawnScripts/Starcrest/Binkum.lua create mode 100755 Lua/SpawnScripts/Starcrest/BurtEverett.lua create mode 100755 Lua/SpawnScripts/Starcrest/CayanSable.lua create mode 100755 Lua/SpawnScripts/Starcrest/ElliasenkaCroosinaden.lua create mode 100755 Lua/SpawnScripts/Starcrest/ErianSeaver.lua create mode 100755 Lua/SpawnScripts/Starcrest/FarnsbyDunworth.lua create mode 100755 Lua/SpawnScripts/Starcrest/FawnStarstone.lua create mode 100755 Lua/SpawnScripts/Starcrest/GracenDocks.lua create mode 100755 Lua/SpawnScripts/Starcrest/Grekin.lua create mode 100755 Lua/SpawnScripts/Starcrest/Harstead.lua create mode 100755 Lua/SpawnScripts/Starcrest/InnkeeperJerbenSleepwell.lua create mode 100755 Lua/SpawnScripts/Starcrest/KnightCaptainSantis.lua create mode 100755 Lua/SpawnScripts/Starcrest/LuvileBinlee.lua create mode 100755 Lua/SpawnScripts/Starcrest/MaareonaLudimintium.lua create mode 100755 Lua/SpawnScripts/Starcrest/Ommanoden.lua create mode 100755 Lua/SpawnScripts/Starcrest/OolimeminosoPindiliana.lua create mode 100755 Lua/SpawnScripts/Starcrest/Oomitelmora.lua create mode 100755 Lua/SpawnScripts/Starcrest/PiersIsplock.lua create mode 100755 Lua/SpawnScripts/Starcrest/ProprietorBlagard.lua create mode 100755 Lua/SpawnScripts/Starcrest/RedSunBerries.lua create mode 100755 Lua/SpawnScripts/Starcrest/Renea.lua create mode 100755 Lua/SpawnScripts/Starcrest/ScholarObidudyn.lua create mode 100755 Lua/SpawnScripts/Starcrest/TagganBrookrich.lua create mode 100755 Lua/SpawnScripts/Starcrest/Tanaira.lua create mode 100755 Lua/SpawnScripts/Starcrest/Torbin.lua create mode 100755 Lua/SpawnScripts/Starcrest/Trinoonae.lua create mode 100755 Lua/SpawnScripts/Starcrest/Unuesh.lua create mode 100755 Lua/SpawnScripts/Starcrest/Vandis.lua create mode 100755 Lua/SpawnScripts/Starcrest/VelderothMalraen.lua create mode 100755 Lua/SpawnScripts/Starcrest/Vondorinsarnoo.lua create mode 100755 Lua/SpawnScripts/Starcrest/ZentomaronCroosinaden.lua create mode 100755 Lua/SpawnScripts/Starcrest/ZinunLoospakina.lua create mode 100755 Lua/SpawnScripts/Starcrest/questclimbingbenchmaareonacayan.lua create mode 100755 Lua/SpawnScripts/Starcrest/questcrawlingbushmaareonacayan.lua create mode 100755 Lua/SpawnScripts/Starcrest/questrelicboxmaareona.lua create mode 100755 Lua/SpawnScripts/Starcrest/soulspike.lua create mode 100755 Lua/SpawnScripts/Starcrest/soulspikerack1.lua create mode 100755 Lua/SpawnScripts/Steamfont/SisterSam.lua create mode 100755 Lua/SpawnScripts/Stonestair/FeleinHerbs.lua create mode 100755 Lua/SpawnScripts/Stonestair/SevriIlBethod.lua create mode 100755 Lua/SpawnScripts/Stonestair/VessAlIshni.lua create mode 100755 Lua/SpawnScripts/Stonestair/aneruditepestle.lua create mode 100755 Lua/SpawnScripts/SunkenCity/Dugar.lua create mode 100755 Lua/SpawnScripts/SunkenCity/GerbardtheSnitch.lua create mode 100755 Lua/SpawnScripts/SunkenCity/InquisitorThorson.lua create mode 100755 Lua/SpawnScripts/SunkenCity/InvestigatorCurfeld.lua create mode 100755 Lua/SpawnScripts/SunkenCity/Lukur.lua create mode 100755 Lua/SpawnScripts/SunkenCity/ManiusGalla.lua create mode 100755 Lua/SpawnScripts/SunkenCity/SaydithYarr.lua create mode 100755 Lua/SpawnScripts/SunkenCity/Teleth.lua create mode 100755 Lua/SpawnScripts/SunkenCity/TilzakNLim.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aBlackshieldmarauder.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aBlackshieldpillager.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aBlackshieldpirate.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aBlackshieldplunderer.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aBlackshieldraider.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aBlackshieldravager.lua create mode 100755 Lua/SpawnScripts/SunkenCity/abrinesifter.lua create mode 100755 Lua/SpawnScripts/SunkenCity/abulkybrinesifter.lua create mode 100755 Lua/SpawnScripts/SunkenCity/acursedcorpsman.lua create mode 100755 Lua/SpawnScripts/SunkenCity/acursedcutthroat.lua create mode 100755 Lua/SpawnScripts/SunkenCity/acursedscout.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aduskshark.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aforgottenresident.lua create mode 100755 Lua/SpawnScripts/SunkenCity/anexcavatorofPrexianartifacts.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aninvestigatorofPrexianartifacts.lua create mode 100755 Lua/SpawnScripts/SunkenCity/arustmonster.lua create mode 100755 Lua/SpawnScripts/SunkenCity/asmallrustmonster.lua create mode 100755 Lua/SpawnScripts/SunkenCity/asmallscorpion.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aspectraldenizen.lua create mode 100755 Lua/SpawnScripts/SunkenCity/aspectralresident.lua create mode 100755 Lua/SpawnScripts/SunkenCity/curfeld_quest_barrel.lua create mode 100755 Lua/SpawnScripts/SunkenCity/widget_box.lua create mode 100755 Lua/SpawnScripts/TenebrousTangle/FlightCloud.lua create mode 100755 Lua/SpawnScripts/TenebrousTangle/adraconicidol.lua create mode 100755 Lua/SpawnScripts/TenebrousTangle/ahulkinggorg.lua create mode 100755 Lua/SpawnScripts/TenebrousTangle/aswoopserpent.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391945.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391946.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391948.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391949.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391950.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391951.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391952.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391954.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391957.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391962.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391963.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391990.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391991.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391997.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime391999.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392004.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392007.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392013.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392016.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392019.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392020.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392021.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392023.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392025.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392027.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392028.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392029.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392030.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392032.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392033.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392036.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392037.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392039.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392044.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392052.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392053.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392054.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392057.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392061.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392063.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392064.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392083.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392089.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392092.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392093.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392096.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392138.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392139.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392141.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392142.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392145.lua create mode 100755 Lua/SpawnScripts/ThievesWay/ASewerSlime392151.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1540072.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586512.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586513.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586517.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586518.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586522.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586524.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586525.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586526.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586527.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586528.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586532.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586533.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586534.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586535.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586547.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586587.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586594.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586595.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586596.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586597.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586598.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586599.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586600.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586601.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586602.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586603.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586604.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga1586605.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391865.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391866.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391867.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391869.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391870.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391871.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391877.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391883.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391884.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391886.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391888.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391907.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391917.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391919.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga391921.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga393348.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga393388.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga393410.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga393468.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga393692.lua create mode 100755 Lua/SpawnScripts/ThievesWay/adiseasedratonga393712.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392400.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392403.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392404.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392405.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392406.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392407.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392408.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392409.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392410.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392411.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392413.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392415.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392416.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392417.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392418.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392419.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392420.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392423.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392424.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392425.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392430.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392431.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asewagerat392433.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392585.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392586.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392587.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392588.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392591.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392595.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392596.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392597.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392598.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392599.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392600.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392601.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392602.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392603.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392604.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392605.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392606.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392607.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392608.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392609.lua create mode 100755 Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392610.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393119.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393120.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393121.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393122.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393123.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393124.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393125.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393126.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393127.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393128.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393129.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393130.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393131.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393132.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393134.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393135.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393136.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393142.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393145.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393146.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393148.lua create mode 100755 Lua/SpawnScripts/ThievesWay/atrashhopper393149.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/Blackjack.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/Blackjack2.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/BlertonBlumble.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/Brianna.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/BridgeDoors.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/CaptainSturman.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/GrennStiles.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/Jacques.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/OldenHighguard.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/OutlandSentryLanders.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/OutlandSentryVidhir.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/SentryCaptainGarland.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/TheWanderingAugur.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/TishTickers.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/TobiasGranville.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/TrapperBorgus.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/TwoFace.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/Two_Face.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/agriffintamer.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/widgetsmallbarrel.lua create mode 100755 Lua/SpawnScripts/ThunderingSteppes/zonetotishsoloquest.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/AlAmin.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ArazokalShairi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ArozikSkyKi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/BeziklaHirUul.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/BezokMyliKi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/Bio-ParserZoDok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/BruggaWindsmight.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/CaptainGretaGreiswite.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ChelzykGirul.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/CholkonliZumLun.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ChollukMyliTok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ChrykoriGuardsBackFence.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/CitizenNibaOuz.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/Civ-ParserDiXin.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ClozzykZumMok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/CraewenKuVi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/FirstMateBrendanStewart.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/GerwenDiKi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/Meklin.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ParserErucheSkaEle.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/PrimaryConzukZumHa.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/Rashid.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TanMcNein.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TanziklaHirKi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TarocheDryZok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TarzyklaRizDok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TertiaryDihHa.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TertiaryMakKi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ThilzikDihTak.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TholchiMakDin.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerByrkuriMyliLok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerCharkinMyliDok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerCharlokZumEle.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerChorkanMokDn.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerRolzyklaAlZi.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerThelzaklaNibaDok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerTleclukalSkyZin.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerTorakRizTu.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TrainerTuzikHirXin.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/Trythecroots.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/TykorGiLok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/VarkoriRizLul.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/VennGalewind.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/VirzukMakLok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ZelchykGirul.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/ZeldikilGiSok.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aChrykoriguard_patroller1.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aChrykoriguard_patroller2.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aChrykorilookout.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaerandigger.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaeranexcavator.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaeranlightfoot.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaeranpoacher.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaeranritualist.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaerantasker1.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaerantasker2.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/aHaoaeranturf-hunter.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/acapturedsarnak.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/adeadsarnakscout.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/afilamentstrangler.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/agriffontamer.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/apowerinfusedHaoaeran.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/arestingsoldier.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/curiousore.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/filamentencapsulatedmonitor.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/qst_diki_weapons.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/qst_hirki_x1_supplies.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/tortoiseegg.lua create mode 100755 Lua/SpawnScripts/TimorousDeep/unearthedrelic.lua create mode 100755 Lua/SpawnScripts/WailingCaves/CogBurn.lua create mode 100755 Lua/SpawnScripts/WailingCaves/fallingrocks.lua create mode 100755 Lua/SpawnScripts/WestFreeport/Patrol_Follow_Panilia.lua create mode 100755 Lua/SpawnScripts/WestFreeport/Patrol_PaniliaLUn.lua create mode 100755 Lua/SpawnScripts/WillowWood/AeliaOakweaver.lua create mode 100755 Lua/SpawnScripts/WillowWood/Aelis.lua create mode 100755 Lua/SpawnScripts/WillowWood/Baynor.lua create mode 100755 Lua/SpawnScripts/WillowWood/BrigetCrestmyst.lua create mode 100755 Lua/SpawnScripts/WillowWood/DaelynTwinstar.lua create mode 100755 Lua/SpawnScripts/WillowWood/DavynThornbranch.lua create mode 100755 Lua/SpawnScripts/WillowWood/Deephathom.lua create mode 100755 Lua/SpawnScripts/WillowWood/DrystanSeaside.lua create mode 100755 Lua/SpawnScripts/WillowWood/FeredirNaDuath.lua create mode 100755 Lua/SpawnScripts/WillowWood/GarSmolten.lua create mode 100755 Lua/SpawnScripts/WillowWood/HallieSummerglint.lua create mode 100755 Lua/SpawnScripts/WillowWood/Honeysuckle.lua create mode 100755 Lua/SpawnScripts/WillowWood/HunterLatharForestdeep.lua create mode 100755 Lua/SpawnScripts/WillowWood/HunterVannil.lua create mode 100755 Lua/SpawnScripts/WillowWood/InnkeeperYeoni.lua create mode 100755 Lua/SpawnScripts/WillowWood/JanaWindstream.lua create mode 100755 Lua/SpawnScripts/WillowWood/JendanGreenthorn.lua create mode 100755 Lua/SpawnScripts/WillowWood/Kelethin.lua create mode 100755 Lua/SpawnScripts/WillowWood/KualdinSwoonsong.lua create mode 100755 Lua/SpawnScripts/WillowWood/LiaSerene.lua create mode 100755 Lua/SpawnScripts/WillowWood/LyssiaDelnara.lua create mode 100755 Lua/SpawnScripts/WillowWood/MiloFaren.lua create mode 100755 Lua/SpawnScripts/WillowWood/OseofCrestryder.lua create mode 100755 Lua/SpawnScripts/WillowWood/Rainwander.lua create mode 100755 Lua/SpawnScripts/WillowWood/RebekaLori.lua create mode 100755 Lua/SpawnScripts/WillowWood/Salinor.lua create mode 100755 Lua/SpawnScripts/WillowWood/TavalZane.lua create mode 100755 Lua/SpawnScripts/WillowWood/ThayareFaystrider.lua create mode 100755 Lua/SpawnScripts/WillowWood/TheaWavecrasher.lua create mode 100755 Lua/SpawnScripts/WillowWood/TrellyGreenfoot.lua create mode 100755 Lua/SpawnScripts/WillowWood/Trueshot.lua create mode 100755 Lua/SpawnScripts/WillowWood/Walterson.lua create mode 100755 Lua/SpawnScripts/WillowWood/Windstep.lua create mode 100755 Lua/SpawnScripts/WillowWood/WoodsunFlowers.lua create mode 100755 Lua/SpawnScripts/WillowWood/ZanhassMossclean.lua create mode 100755 Lua/SpawnScripts/WillowWood/aDewdropbush.lua create mode 100755 Lua/SpawnScripts/WillowWood/acrate.lua create mode 100755 Lua/SpawnScripts/WillowWood/afallenegg.lua create mode 100755 Lua/SpawnScripts/WillowWood/aloosepieceofpaper.lua create mode 100755 Lua/SpawnScripts/WillowWood/qstunseenhandcrate1.lua create mode 100755 Lua/SpawnScripts/Zek/IsmenaCellus.lua create mode 100755 Lua/SpawnScripts/Zek/VigoCerebus.lua create mode 100755 Lua/SpawnScripts/Zek/astablemaster.lua create mode 100755 Lua/SpawnScripts/Zek/transportmine.lua create mode 100755 Lua/Spells/AbsoluteZero.lua create mode 100755 Lua/Spells/Accelerando.lua create mode 100755 Lua/Spells/Adaptable.lua create mode 100755 Lua/Spells/AgileMovements.lua create mode 100755 Lua/Spells/AllyRevivification.lua create mode 100755 Lua/Spells/AuraofLeadership.lua create mode 100755 Lua/Spells/BindWound.lua create mode 100755 Lua/Spells/Commoner/ABasicFirework.lua create mode 100755 Lua/Spells/Commoner/AFancyFirework.lua create mode 100755 Lua/Spells/Commoner/BetaCarpet.lua create mode 100755 Lua/Spells/Commoner/BetaDamage.lua create mode 100755 Lua/Spells/Commoner/BetaGriffon.lua create mode 100755 Lua/Spells/Commoner/BetaHeal.lua create mode 100755 Lua/Spells/Commoner/BetaMount.lua create mode 100755 Lua/Spells/Commoner/BindWound.lua create mode 100755 Lua/Spells/Commoner/BoombasPickles.lua create mode 100755 Lua/Spells/Commoner/CalltoHome.lua create mode 100755 Lua/Spells/Commoner/Destroying.lua create mode 100755 Lua/Spells/Commoner/DrawUponHeart.lua create mode 100755 Lua/Spells/Commoner/DrawuponEssence.lua create mode 100755 Lua/Spells/Commoner/FireworkRosePetalShower.lua create mode 100755 Lua/Spells/Commoner/FireworkSwirlingSnowflakes.lua create mode 100755 Lua/Spells/Commoner/GigglegibberGiggleGiver.lua create mode 100755 Lua/Spells/Commoner/HolySteed.lua create mode 100755 Lua/Spells/Commoner/Hover.lua create mode 100755 Lua/Spells/Commoner/Knockdown.lua create mode 100755 Lua/Spells/Commoner/MoleratTest.lua create mode 100755 Lua/Spells/Commoner/Multitalented.lua create mode 100755 Lua/Spells/Commoner/NormalDrink.lua create mode 100755 Lua/Spells/Commoner/NormalMeal.lua create mode 100755 Lua/Spells/Commoner/Pathfinding.lua create mode 100755 Lua/Spells/Commoner/Pets.lua create mode 100755 Lua/Spells/Commoner/Refine.lua create mode 100755 Lua/Spells/Commoner/Salvage.lua create mode 100755 Lua/Spells/Commoner/SetRecallPoint.lua create mode 100755 Lua/Spells/Commoner/Sprint.lua create mode 100755 Lua/Spells/Commoner/StunsporeParalysis.lua create mode 100755 Lua/Spells/Commoner/SummonGazerPet.lua create mode 100755 Lua/Spells/Commoner/SummonMount.lua create mode 100755 Lua/Spells/Commoner/SummonaBitterGingerdreadPet.lua create mode 100755 Lua/Spells/Commoner/TouchoftheGray.lua create mode 100755 Lua/Spells/Commoner/Tracking.lua create mode 100755 Lua/Spells/Commoner/Transmute.lua create mode 100755 Lua/Spells/Commoner/flaskofwater.lua create mode 100755 Lua/Spells/Commoner/harvest.lua create mode 100755 Lua/Spells/Commoner/ration.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Abuse.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Beatdown.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/BlazeKick.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/BlazingStrikes.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/BobandWeave.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Bodyguard.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Brag.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/BruisingFist.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/BruisingSpirit.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Brutality.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/CloseMind.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/DivideandConquer.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/EyeGouge.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/FistofGorynn.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/IgnoreBruises.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/IgnorePain.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Impose.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/IndomitableWill.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Intimidate.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/KnockoutCombination.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/LightningFists.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Manhandle.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/MercilessStomp.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/MeteorFist.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/OneHundredHandPunch.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Pummel.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/RockSkin.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Roundhouse.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/SavageAssault.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/ShoulderCharge.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/ShrugOff.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/SlurredInsult.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/SmolderingFists.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/SonicPunch.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/StoneDeaf.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/SuckerPunch.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/UnyieldingResolve.lua create mode 100755 Lua/Spells/Fighter/Brawler/Bruiser/Uppercut.lua create mode 100755 Lua/Spells/Fighter/Brawler/BruisingStrike.lua create mode 100755 Lua/Spells/Fighter/Brawler/DevastationFist.lua create mode 100755 Lua/Spells/Fighter/Brawler/FeignDeath.lua create mode 100755 Lua/Spells/Fighter/Brawler/FlyingKick.lua create mode 100755 Lua/Spells/Fighter/Brawler/FocusedStrike.lua create mode 100755 Lua/Spells/Fighter/Brawler/InstillPanic.lua create mode 100755 Lua/Spells/Fighter/Brawler/MartialFocus.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/ArcticTalon.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/BodyLikeMountain.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/CalmTranquility.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Challenge.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/ChargingTiger.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/CobraCircle.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/ColdFist.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/CrescentStrike.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/CrouchingTiger.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/DragonRage.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Dragonfire.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/EverburningFlame.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/FallofthePhoenix.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/FiveRings.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/FlowLikeWind.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Focus.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/FrozenPalm.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/InnerCalm.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/LightningPalm.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Mend.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Mendpct.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/MountainStance.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/OutwardCalm.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Peel.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/PerfectSerenity.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/RisingDragon.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/RisingPhoenix.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/RoundhouseKick.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/SilentPalm.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/SilentThreat.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Stare.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/StrikingCobra.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/TranquilVision.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/Tsunami.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/WakingDragon.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/WalkingDragon.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/WilloftheHeavens.lua create mode 100755 Lua/Spells/Fighter/Brawler/Monk/WindWalk.lua create mode 100755 Lua/Spells/Fighter/Brawler/PowerStrike.lua create mode 100755 Lua/Spells/Fighter/Brawler/RapidSwings.lua create mode 100755 Lua/Spells/Fighter/Brawler/ShoulderCharge.lua create mode 100755 Lua/Spells/Fighter/Brawler/TauntingSlap.lua create mode 100755 Lua/Spells/Fighter/Brawler/ThrustKick.lua create mode 100755 Lua/Spells/Fighter/Brawler/ThunderingFists.lua create mode 100755 Lua/Spells/Fighter/Crusader/DoomJudgment.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Amends.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/AncientWrath.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/BlessedWeapon.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/BlessingofthePaladin.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Castigate.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Clarion.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Consecrate.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Crusade.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Decree.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/DemonstrationofFaith.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/DevoutSacrament.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/DivineFavor.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/DivineInspiration.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/DivineVengeance.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/ElixirofResuscitation.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/FaithStrike.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/HeroicDash.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/HolyAid.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/HolyAidT1.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/HolyAvenger.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/HolyCircle.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/HolyGround.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/HolyStrike.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Incite.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Judgment.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/KnightsStance.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/LayonHands.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/MarrsFavor.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/PenitentKick.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/PowerCleave.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/PrayerofHealing.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/RefusalofAtonement.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/ResoluteFaith.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/Righteousness.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/SigilofHeroism.lua create mode 100755 Lua/Spells/Fighter/Crusader/Paladin/WrathStance.lua create mode 100755 Lua/Spells/Fighter/Crusader/PledgeofArmament.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/Blasphemy.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/Bloodletter.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/CleaveFlesh.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/CondemningSmite.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/DarkBlade.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/DeathCloud.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/DeathMarch.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/Decree.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/DeviousEvasion.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/DevourVitae.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/DevouringMist.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/DreadfulWrath.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/GraveSacrament.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/GrimHarbinger.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/HarmTouch.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/HatefulSlam.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/InnoruuksCaress.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/InsidiousWhisper.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/LucansPact.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/Malice.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/ManaSieve.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/MortalEmbrace.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/OffensivePresence.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/Painbringer.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/PainbringerPct.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/Pestilence.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/SeethingHatred.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/ShadowCoil.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/ShadowyElusion.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/SickeningCircle.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/SiphonStrength.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/SiphonStrike.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/Soulrend.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/TapVeins.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/TouchofDeath.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/UnendingAgony.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/UnholyBlessing.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/UnholyHunger.lua create mode 100755 Lua/Spells/Fighter/Crusader/Shadowknight/UnholyStrength.lua create mode 100755 Lua/Spells/Fighter/FightingChance.lua create mode 100755 Lua/Spells/Fighter/Intercept.lua create mode 100755 Lua/Spells/Fighter/Kick.lua create mode 100755 Lua/Spells/Fighter/MastersRage.lua create mode 100755 Lua/Spells/Fighter/Provoke.lua create mode 100755 Lua/Spells/Fighter/Recklessness.lua create mode 100755 Lua/Spells/Fighter/Rescue.lua create mode 100755 Lua/Spells/Fighter/Taunt.lua create mode 100755 Lua/Spells/Fighter/Warrior/Anger.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/AbandonedFury.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Adrenaline.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/AggressiveDefense.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/BerserkRage.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/BerserkerOnslaught.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/BloodRage.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Bloodbath.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Bloodlust.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Bloodshower.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/BodyCheck.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Chaos.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/ControlledRage.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Demolish.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/DestructiveRage.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Enrage.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Frenzy.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Growl.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/HeadCrush.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Insolence.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Juggernaut.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/KneeBreak.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Maul.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Mock.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Mutilate.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Offend.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/OpenWounds.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/RagingBlow.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Rampage.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/RecklessAide.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Rupture.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/StanceGreaterFury.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/StanceUnbridledFury.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/StunningRoar.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/UnflinchingWill.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/VisionofMadness.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/WallofHatred.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/WallofRage.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/WarCry.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/WeaponCounter.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Whirl.lua create mode 100755 Lua/Spells/Fighter/Warrior/Berserker/Whirlwind.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Armored.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Assault.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Bash.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/BattleCry.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/BattleTactics.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/CallofShielding.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/CalltoArms.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Concussion.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Decimate.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/ForwardCharge.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/GuardianSphere.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/GutKick.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/HoldtheLine.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/HunkerDown.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/IronWill.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Moderate.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/NeverSurrender.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Overpower.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Plant.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/PreciseStrike.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Provoke.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Recapture.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Reinforcement.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Retaliate.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Ruin.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Sentinel.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/SentryWatch.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Sever.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/ShieldBash.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Shout.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/Slam.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/TauntingAssault.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/TauntingBlow.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/TowerofStone.lua create mode 100755 Lua/Spells/Fighter/Warrior/Guardian/WrathofVelArek.lua create mode 100755 Lua/Spells/Fighter/Warrior/Mangle.lua create mode 100755 Lua/Spells/Fighter/Warrior/UnyieldingWill.lua create mode 100755 Lua/Spells/FurPluck.lua create mode 100755 Lua/Spells/KineticistsIntelligence.lua create mode 100755 Lua/Spells/Mage/AbsorbMagic.lua create mode 100755 Lua/Spells/Mage/ArcaneAugur.lua create mode 100755 Lua/Spells/Mage/CallServant.lua create mode 100755 Lua/Spells/Mage/CureMagic.lua create mode 100755 Lua/Spells/Mage/Enchanter/Blink.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Amnesia.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Asylum.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Brainshock.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Breeze.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/CannibalizeThoughts.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/CerebralShock.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Channel.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Charm.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/DestructiveMind.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/EgoShock.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/EnragingDemeanor.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/ForcedHesitation.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Hemorrhage.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/HemorrhageX.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Hostage.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/LashingGaze.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/MedusaGaze.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Mesmerize.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/MindBlast.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Mindbend.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/MindsEye.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/ObliteratedPsyche.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/PeacefulLink.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/PossessEssence.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/PowerofMind.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Puppetmaster.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/PureAwe.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/ReekofTerror.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/ShiftMana.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/ShockWave.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/SignetofIntellect.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Silence.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/SimpleMinds.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/SirensGift.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/SirensStare.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/SpellCurse.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Stupefy.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Unveil.lua create mode 100755 Lua/Spells/Mage/Enchanter/Coercer/Velocity.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Aneurysm.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/AspectofGenius.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/BarrierofIntellect.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Bewilderment.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Brainburst.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/ChromaticShower.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/ChromaticStorm.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Dismay.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Doppelganger.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Entrance.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Epiphany.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/ExtractMana.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/FlashofBrilliance.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/IllusoryAllies.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/IllusoryMask.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Lockdown.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Manatap.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Migraine.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/MirageMastery.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Nightmare.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Paranoia.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/PersonaeReflection.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/PhantasmalAwe.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/PhantasmalBlast.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Phase.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/PrismaticChaos.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Rapidity.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Regalia.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/RuneofThought.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Savante.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/ShiftVision.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Speechless.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Spellshield.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/StormofColors.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Synergism.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/Theorems.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/UltravioletBeam.lua create mode 100755 Lua/Spells/Mage/Enchanter/Illusionist/UltravioletBeamX.lua create mode 100755 Lua/Spells/Mage/Enchanter/ManaCloak.lua create mode 100755 Lua/Spells/Mage/Enchanter/VeiloftheUnseen.lua create mode 100755 Lua/Spells/Mage/LightningBurst.lua create mode 100755 Lua/Spells/Mage/MagisShielding.lua create mode 100755 Lua/Spells/Mage/MastersStrike.lua create mode 100755 Lua/Spells/Mage/SeeInvisibility.lua create mode 100755 Lua/Spells/Mage/ShrinkServant.lua create mode 100755 Lua/Spells/Mage/Sorcerer/SummonAnimatedTome.lua create mode 100755 Lua/Spells/Mage/Sorcerer/SummonShadows.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Absolution.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Acid.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/AcidRain.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/AcidStorm.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Apocalypse.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/AspectofDarkness.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/AuraofVoid.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/BoonoftheDamned.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Cataclysm.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/CorrosiveBlast.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/CurseofDarkness.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/CurseofVoid.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/DarkInfestation.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/DarkNebula.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/DarkPact.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/DarkPyre.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/DarkSiphoning.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Dissolve.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/DissolveX.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Distortion.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Encase.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Erupt.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/GasCloud.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/GiftofBertoxxulous.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/GraspofBertoxxulous.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/ManaTrickle.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/NegativeVoid.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Netherealm.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Netherlord.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/NetherousBind.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/NullCaress.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Nullify.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Nullmail.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Rift.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/Shadowsight.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/ShroudofBertoxxulous.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/SkeletalGrasp.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/VacuumField.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Warlock/VoidContract.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Aurora.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/BallofFire.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Cease.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Converge.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Depart.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Engulf.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/FireChamber.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Firestorm.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/FocusedMind.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/FortifyElements.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/FrigidGift.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/FurnaceofRo.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Fusion.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/GlacialWind.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/HarvestMana.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/IceComet.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/IceSpears.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Iceshield.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Immolation.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Incinerate.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/LightningShock.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/MagmaChamber.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/MailofFrost.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/ManaIntromission.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/NumbingCold.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Portal.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Protoflame.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/RaysofDisintegration.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/RingofIce.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/RosBlade.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Shackle.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/Snow-filledSteps.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/SolarFlare.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/SolarFlareX.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/StormingTempest.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/StormofLightning.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/SurgeofRo.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/TyrantsPact.lua create mode 100755 Lua/Spells/Mage/Sorcerer/Wizard/VitalTransfer.lua create mode 100755 Lua/Spells/Mage/Summoner/AqueousSoul.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/AeryHunter.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Antagonize.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/AqueousSwarm.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/BlazingAvatar.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Burn.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/CallofTheHero.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/CatsEye.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Communion.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/ConjurorsPact.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/CrystalBlast.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/CrystalBlastX.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/DefensiveHaven.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/EarthenAvatar.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Earthquake.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/ElementalAspect.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/ElementalMastery.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/ElementalUnity.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/EssenceShift.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/FieryAnnihilation.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/FieryMagician.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/FireSeed.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Flameshield.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/GeoticRune.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/HealServant.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/IceStorm.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/MastersIntervention.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/NajenasEssenceSummoning.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Petrify.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/PlaneShift.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Quicksand.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/RoaringFlames.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Sacrifice.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/SandBlast.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/ShardofEssence.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/ShatteredEarth.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Sleet.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/Stoneskin.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/VehementSkin.lua create mode 100755 Lua/Spells/Mage/Summoner/Conjuror/WindsofVelious.lua create mode 100755 Lua/Spells/Mage/Summoner/Invisibility.lua create mode 100755 Lua/Spells/Mage/Summoner/MinionTranslocation.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/AwakenGrave.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/BlightedHorde.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Bloodcloud.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Bloodcoil.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/BloodyRitual.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/ChainsofTorment.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Coil.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Consumption.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/ControlUndead.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/DarkHeart.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/DeathlyPallor.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/DoomingDarkness.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Fear.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/FeastingSoul.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/FlayersSoul.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/GraspingBones.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/GreaterRot.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/GrimSorcerer.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/GrislyProtection.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/HowloftheDamned.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Lich.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Lifetap.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Locusts.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/MiragulsDarkHeartSummoning.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/MortalityMark.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/NecromanticPact.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/NecroticReconstruction.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Nightshade.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Pandemic.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/PestilentSoul.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Rending.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Revivication.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/SecretsofVazaelle.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/ServileSoul.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/SiphoningofSouls.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/SoothingSoul.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Soulrot.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/SoulrotX.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/TeachingsoftheUnderworld.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/TransferLife.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/UndeadHorde.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/UndeadKnight.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/UnholyCovenant.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/UnlivingEyes.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/UnstoppableSoul.lua create mode 100755 Lua/Spells/Mage/Summoner/Necromancer/Vampirism.lua create mode 100755 Lua/Spells/Mage/Summoner/SootheServant.lua create mode 100755 Lua/Spells/Mage/Summoner/VampireBats.lua create mode 100755 Lua/Spells/Priest/Cleric/AdmonishingSmite.lua create mode 100755 Lua/Spells/Priest/Cleric/DivineAwakening.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Absolution.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/ActofWar.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/AdmonishingInvocation.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Alleviation.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/CleansingoftheSoul.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/CombatTreatment.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Condemn.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/ConversionoftheSoul.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Deny.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Disorientation.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Dogma.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/EvidenceofFaith.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/FanaticalHealing.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Fanaticism.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/FanaticsFaith.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/FerventFaith.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/ForcedObedience.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Heresy.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/HereticsDoom.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Incarcerate.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Inquest.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Inquisition.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Invocation.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Litany.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/MalevolentDiatribe.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Ministration.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/MinistrationX.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/MinorRecovery.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Penance.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/PurifyingFlames.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Redemption.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/ReformingSoul.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Repentance.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/ResoluteFlagellant.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Resurgence.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/SacredArmor.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Shame.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Swill.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Tenacity.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Torment.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/TormentingConversion.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Vengeance.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Verdict.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Weakness.lua create mode 100755 Lua/Spells/Priest/Cleric/Inquisitor/Writhe.lua create mode 100755 Lua/Spells/Priest/Cleric/Odyssey.lua create mode 100755 Lua/Spells/Priest/Cleric/Radiance.lua create mode 100755 Lua/Spells/Priest/Cleric/SmiteCorruption.lua create mode 100755 Lua/Spells/Priest/Cleric/Soothe.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Aegolism.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Awestruck.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/BattlesReprieve.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Beneficence.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/BlazeofFaith.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/BlazonLife.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/DevotedResolve.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/DivineArbitration.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/DivineLight.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/DivineSmite.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/DivineStrike.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/FocusedIntervention.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Glory.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Harmony.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/HealingFate.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/HolyArmor.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/HolyIntercession.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/HolySalvation.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/ImpenetrableFaith.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/InvoluntaryGift.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/MarkofDivinity.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Meliorate.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/MeliorateX.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Rebuke.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Repent.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Restoration.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Resurrect.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Reverence.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Sanctuary.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/ShieldofFaith.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/SignofPacification.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/SymbolofMarzin.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/UnswervingHammer.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/UnyieldingBenediction.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/Virtue.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/VitalIntercession.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/WarringDeities.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/WateryRespite.lua create mode 100755 Lua/Spells/Priest/Cleric/Templar/WordofRedemption.lua create mode 100755 Lua/Spells/Priest/Cure.lua create mode 100755 Lua/Spells/Priest/CureCurse.lua create mode 100755 Lua/Spells/Priest/CureNoxious.lua create mode 100755 Lua/Spells/Priest/DivineProvidence.lua create mode 100755 Lua/Spells/Priest/Druid/CircleofGrowth.lua create mode 100755 Lua/Spells/Priest/Druid/FavorofthePhoenix.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Abolishment.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/ArmorofNature.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/AutumnsKiss.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/BackintotheFray.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/BallLightning.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Brambles.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/CallofStorms.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/CalloftheHunt.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/DeathSwarm.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/FaeFire.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Feast.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/FeralPulse.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/FeralTenacity.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/FerocityoftheEel.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/FierceRousing.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/ForestSpirit.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Hibernation.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Intimidation.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/KaranasHold.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Lucidity.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/MaddeningSwarm.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/MasteroftheHunt.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/MinorElixir.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/NaturesElixir.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/NaturesSalve.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/NaturesSalveX.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/NaturesWrath.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/PactoftheCheetah.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/PeerlessPredator.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Porcupine.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/PrimalFury.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/PrimevalAwakening.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Regrowth.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/RingofFire.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Salve.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Squall.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Starnova.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/StingingSwarm.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Tempest.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Thornskin.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/Thunderbolt.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/UntamedRegeneration.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/UntamedShroud.lua create mode 100755 Lua/Spells/Priest/Druid/Fury/WrathsBlessing.lua create mode 100755 Lua/Spells/Priest/Druid/Snare.lua create mode 100755 Lua/Spells/Priest/Druid/SpiritoftheBat.lua create mode 100755 Lua/Spells/Priest/Druid/SpiritoftheWolf.lua create mode 100755 Lua/Spells/Priest/Druid/SylvanTouch.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/ArmorofSeasons.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/AspectoftheForest.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Bloom.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Cold.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Dawnstrike.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Equinox.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/EssenceoftheGreatBear.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/FaerieAlly.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/FavoroftheWild.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Frostbite.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/GreaterFire.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/HealingGrove.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Healstorm.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/HierophanticGenesis.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Icefall.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/InfuriatingThorns.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Instinct.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/MinorFlorescence.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/NaturesEmbrace.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/NaturesPack.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/NaturesRenewal.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/NaturesRestoration.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/NaturesTouch.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/NereidsBoon.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Photosynthesis.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/RegeneratingSpores.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Reincarnation.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Root.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Sandstorm.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/SylvanBloom.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/SylvanBloomX.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/SylvanEmbrace.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Thorncoat.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Tranquility.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/TunaresWatch.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/Undergrowth.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/VerdantWhisper.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/VerdurousJourney.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/WardenoftheForest.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/WardoftheUntamed.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/WillowWisp.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/WindsofHealing.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/WindsofPermafrost.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/WintersBite.lua create mode 100755 Lua/Spells/Priest/Druid/Warden/WintersSting.lua create mode 100755 Lua/Spells/Priest/EnduringBreath.lua create mode 100755 Lua/Spells/Priest/MastersSmite.lua create mode 100755 Lua/Spells/Priest/Revive.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/AbhorrentSeal.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Abomination.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Abominus.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/AbsoluteCorruption.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/AncestralAvenger.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/AncientShroud.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/AncientTerror.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Atrophy.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Balm.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/BaneofWarding.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/CarrionWarding.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/CrystallizeSoul.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Curse.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Deathward.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Defile.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/DireBalm.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/DireBalmX.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/FuliginousWhip.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/GreaterImprecation.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Harbinger.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Imprecate.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Invective.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Maelstrom.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/MailofSouls.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Malaise.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/MinorSacrificialHeal.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Nightmares.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/NoxiousEfflux.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Purulence.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Putrefy.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Reanimate.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/SacrificialRestoration.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Senescence.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/ShroudofArmor.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/SinisterCountenance.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/SoulCannibalize.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/SpiritualCircle.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/TendrilsofHorror.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/TerrorChant.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/TribalSpirit.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Vehemence.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/Vivication.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/VoiceoftheAncestors.lua create mode 100755 Lua/Spells/Priest/Shaman/Defiler/WildAccretion.lua create mode 100755 Lua/Spells/Priest/Shaman/EidolicWard.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Aid.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/AncestralAvatar.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/AncestralBalm.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/AncestralMettle.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/AncestralSavior.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/AncestralSentry.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/AncestralWard.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Bolster.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/ColdWind.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Deteriorate.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/EbbingSpirit.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/EchoesoftheAncients.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Fever.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/FieldsoftheGrey.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/GlacialFlames.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Haze.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/LamentingSoul.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Lethargy.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/LunarAttendant.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/MinorRitual.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Oberon.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/PathoftheGrey.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Plague.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Premonition.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/PropheticWard.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/RecalloftheGrey.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Rejuvenation.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/RejuvenationX.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/RitualHealing.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/RunicArmor.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/SlothfulSpirit.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/SpiritTap.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/SpiritoftheMammoth.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Spirits.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/SpiritualWarding.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Torpor.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/Transcendence.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/UmbralWarding.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/UrsineAvatar.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/VeliumWinds.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/WardsoftheEidolon.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/WaterSpirit.lua create mode 100755 Lua/Spells/Priest/Shaman/Mystic/WrathoftheAncients.lua create mode 100755 Lua/Spells/Priest/Shaman/SpiritGuide.lua create mode 100755 Lua/Spells/Priest/Shaman/UmbralTrap.lua create mode 100755 Lua/Spells/Priest/Shaper/Channeler/ShadowBind.lua create mode 100755 Lua/Spells/Priest/Shaper/Channeler/VengefulArrow.lua create mode 100755 Lua/Spells/Priest/SummonFoodandWater.lua create mode 100755 Lua/Spells/Priest/Wrath.lua create mode 100755 Lua/Spells/Scout/Ambush.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/AstralRavaging.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/AstralSoulsiphon.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/Beastsoul.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/BestialVehemence.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/BrutalBeatdown.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/CallWarder.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/CallousFerocity.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/Chillbarrier.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/ChillingClaws.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/ClawofKhatiSha.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/CourageousScarring.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/DraconicBreath.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/EnchantedBarrier.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/EnergizingAssault.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/FeralPounce.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/FeralRending.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/FeralStance.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/FerociousRoar.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/FlurryofClaws.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/FrigidFortification.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/GlacialLance.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/GlacialLanceX.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/GlacialLanceXI.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/GlacialRoar.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/GrinningOnslaught.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/HawkEyes.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/KaldrahirsLeadership.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/LuclinsPain.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/NeurotoxicVenom.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/NoxiousAssault.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/NoxiousGrasp.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/QuickSwipe.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/QuickSwipeX.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/QuickSwipeXI.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/RapidFlurry.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/RestorationofMarishaKur.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/Rush.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/RushX.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/RushXI.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SalivaryExcretion.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SavageRavaging.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SavageResilience.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SavageRuin.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/ShadowLeap.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/ShalihMarsMandate.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/ShiverbackEndemic.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SilentTalon.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SonicScreech.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SpinechillerBlood.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SpinechillerBloodX.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/Spiritshroud.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SpiritualFeast.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SpiritualStance.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderAmphibian.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderAquatic.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderAvian.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderBat.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderBear.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderBoar.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderBovid.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderCanine.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderDire.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderDrake.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderEnchanted.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderFeline.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderInsect.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderMystical.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderReptile.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderRodent.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderSimian.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/SummonWarderWarboar.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/TameInsectWarder.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/TameWarder.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/TestSpiritualStancebr.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/TruespiritClaws.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/TruespiritVenom.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/UllasResolution.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/VenomFangs.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/VineNet.lua create mode 100755 Lua/Spells/Scout/Animist/Beastlord/WildGoring.lua create mode 100755 Lua/Spells/Scout/Animist/MasterofBeasts.lua create mode 100755 Lua/Spells/Scout/Animist/SharpenedClaws.lua create mode 100755 Lua/Spells/Scout/Animist/ShrinkWarder.lua create mode 100755 Lua/Spells/Scout/Animist/Spiritshroud.lua create mode 100755 Lua/Spells/Scout/Animist/StareDown.lua create mode 100755 Lua/Spells/Scout/Assail.lua create mode 100755 Lua/Spells/Scout/Bard/BriasInspiringBallad.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/CacophonyofBlades.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/ClarasChaoticCacophony.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/DarksongBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/DarosDullBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/DarosSorrowfulDirge.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/DeadCalm.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/DeathsDoor.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/ElegyatDeathsDoor.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/ElegyofAwakening.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/GarsinsFuneralMarch.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/Gravitas.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/HarlsRousingTune.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/HauntingStrike.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/HowlofDeath.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/HymnofHorror.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/HyransSeethingSonata.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/JaelsDreadfulDeprivation.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/JaelsMysteriousMettle.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/JarolsSorrowfulRequiem.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/LanetsExcruciatingScream.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/LudasNefariousWail.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/MarchofBlades.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/MisfortunesKiss.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/NoxiousSymphony.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/OrationofSacrifice.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/PercussionofStone.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/RianasRelentlessTune.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/ScreamofDeath.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/Shriek.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/SideBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/SingingBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/SongstersLuck.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/TarvensCripplingCrescendo.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/ThurisDolefulThrust.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/VerliensKeenofDespair.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/WailingStrike.lua create mode 100755 Lua/Spells/Scout/Bard/Dirge/WailoftheBanshee.lua create mode 100755 Lua/Spells/Scout/Bard/DishearteningDescant.lua create mode 100755 Lua/Spells/Scout/Bard/SelosAccelerando.lua create mode 100755 Lua/Spells/Scout/Bard/Shroud.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/AlinsSereneSerenade.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/Allegretto.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/ArcaneSymphony.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/AriaofMagic.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/AyonicInspiration.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/BreathtakingBellow.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/BriasEntrancingSonnet.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/BrilliantBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/CeremonialBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/ChaosAnthem.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/Countersong.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/DaelisDanceofBlades.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/DancingBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/DemoralizingProcessional.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/DepressingChant.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/ElementalConcerto.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/GracefulAvoidance.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/JestersCap.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/Lullaby.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/MidnightBlade.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/NightStrike.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/PainfulLamentations.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/PerfectShrill.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/PerfectionoftheMaestro.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/RaxxylsRousingTune.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/RejuvenatingCelebration.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/RequiemofReflection.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/SandrasDeafeningStrike.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/Shrill.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/SingingShot.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/SongofMagic.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/TapEssence.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/ThunderousOverture.lua create mode 100755 Lua/Spells/Scout/Bard/Troubador/VexingVerses.lua create mode 100755 Lua/Spells/Scout/Bard/ZandersChoralRebuff.lua create mode 100755 Lua/Spells/Scout/CheapShot.lua create mode 100755 Lua/Spells/Scout/DirtyTricks.lua create mode 100755 Lua/Spells/Scout/Ensnare.lua create mode 100755 Lua/Spells/Scout/Escape.lua create mode 100755 Lua/Spells/Scout/Evade.lua create mode 100755 Lua/Spells/Scout/FastStrike.lua create mode 100755 Lua/Spells/Scout/HiltStrike.lua create mode 100755 Lua/Spells/Scout/LuckyBreak.lua create mode 100755 Lua/Spells/Scout/Pathfinding.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Ambush.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/ApplyPoison.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Assail.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Assassinate.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/AssassinsFlurry.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Caltrops.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Concealment.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/CripplingStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/CunningDefense.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/DeadlyFocus.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/DeadlyShot.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/DeathBlow.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/DeathMark.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Eviscerate.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Exacting.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/FastStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/FatalFollowup.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Gash.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/GushingWound.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/HeadShot.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Impale.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/ImprovisedWeapon.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/JugularSlice.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/MaskedStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Massacre.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/MortalBlade.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/MurderousDesign.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/ParalyzingStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/QuickStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/ShroudedAttack.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/SlipAway.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/SpineShot.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/StealthAssault.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Torture.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/Villainy.lua create mode 100755 Lua/Spells/Scout/Predator/Assassin/WhirlingBlades.lua create mode 100755 Lua/Spells/Scout/Predator/HonedReflexes.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/ArchersFury.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/ArrowRip.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/BlazingStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/BloodyReminder.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/Coverage.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/CripplingArrow.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/EaglesTalon.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/Emberstrike.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/Ensnare.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/FocusAim.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/HawkAttack.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/HiddenShot.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/HuntersInstinct.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/ImmobilizingLunge.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/KillingInstinct.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/LightningStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/MakeshiftArrows.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/MiracleShot.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/NaturalSelection.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/PrimalReflexes.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/RangersBlade.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/RearShot.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/SearingShot.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/Shadowfire.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/SnaringShot.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/SneakAttack.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/Snipe.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/SniperShot.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/StalkerStrike.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/StormofArrows.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/StreamofArrows.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/SurvivalInstincts.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/ThornyTrap.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/TrickShot.lua create mode 100755 Lua/Spells/Scout/Predator/Ranger/TripleShot.lua create mode 100755 Lua/Spells/Scout/Predator/Stalk.lua create mode 100755 Lua/Spells/Scout/Predator/Stealth.lua create mode 100755 Lua/Spells/Scout/QuickStrike.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/BackAttack.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Backstab.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/BarroomNegotiation.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/BatteryandAssault.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Befuddle.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/BegforMercy.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/BlackJack.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Blackguard.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Bruise.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/BumRush.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Cuss.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Debilitate.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Deceit.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/DesperateThrust.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Dispatch.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/DiversionBlade.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/DoubleBlast.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/DoubleDagger.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Entangle.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Gouge.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Holdup.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Mug.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/MurderousRake.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Puncture.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Rob.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Shank.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Shenanigans.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Skew.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/StreetSmarts.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/StunningBlow.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Thrust.lua create mode 100755 Lua/Spells/Scout/Rogue/Brigand/Whack.lua create mode 100755 Lua/Spells/Scout/Rogue/CircularStrike.lua create mode 100755 Lua/Spells/Scout/Rogue/DaringAdvance.lua create mode 100755 Lua/Spells/Scout/Rogue/RuthlessCunning.lua create mode 100755 Lua/Spells/Scout/Rogue/ShadowSlip.lua create mode 100755 Lua/Spells/Scout/Rogue/Smuggle.lua create mode 100755 Lua/Spells/Scout/Rogue/Sneak.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/ArcticBlast.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/AvoidBlame.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Bladeweaver.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/CircleAttack.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/DashingSwathe.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/DeviousBlade.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/DisarmingGrin.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Double-Cross.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/DoubleCross.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/EnGarde.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/FancyFootwork.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/FlamboyantStrike.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/FlashofSteel.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/FlurryofBlades.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Hamstring.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/HangmansNoose.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Hurricane.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/InspiredDaring.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/KidneyStab.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/LuckyGambit.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/LungPuncture.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/PerfectFinesse.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/RazorEdge.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Shanghai.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/SleightofHand.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Slice.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/SnapoftheWrist.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/SpineAttack.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/SpuriousBravado.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/SteelSwipe.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/StormofSteel.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/SwarthyDeception.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/SwarthyWays.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Tease.lua create mode 100755 Lua/Spells/Scout/Rogue/Swashbuckler/Viscerate.lua create mode 100755 Lua/Spells/Scout/SinisterStrike.lua create mode 100755 Lua/Spells/Scout/SneakAttack.lua create mode 100755 Lua/Spells/Scout/Tracking.lua create mode 100755 Lua/Spells/SummonAnimatedTome.lua create mode 100755 Lua/Spells/SummonDrake.lua create mode 100755 Lua/Spells/SummonFamiliar.lua create mode 100755 Lua/Spells/SummonGargoyle.lua create mode 100755 Lua/Spells/Tradeskills/DurabilityAdd.lua create mode 100755 Lua/Spells/Tradeskills/DurabilityAddProgressAdd.lua create mode 100755 Lua/Spells/Tradeskills/DurabilityModProgressAdd.lua create mode 100755 Lua/Spells/Tradeskills/DurabilityModSuccessAdd.lua create mode 100755 Lua/Spells/Tradeskills/ProgressAdd.lua create mode 100755 Lua/Spells/Tradeskills/ProgressModDurabilityAdd.lua create mode 100755 Lua/Spells/Tradeskills/ProgressModSuccessAdd.lua create mode 100755 Lua/Spells/Tradeskills/SuccessModDurabilityAdd.lua create mode 100755 Lua/Spells/Tradeskills/SuccessModProgressAdd.lua create mode 100755 Lua/Spells/Traditions/AHalflingsFeast.lua create mode 100755 Lua/Spells/Traditions/AerialDodging.lua create mode 100755 Lua/Spells/Traditions/AggressiveStrike.lua create mode 100755 Lua/Spells/Traditions/AkanonsInnovation.lua create mode 100755 Lua/Spells/Traditions/Antidote.lua create mode 100755 Lua/Spells/Traditions/ArasaiFlight.lua create mode 100755 Lua/Spells/Traditions/ArasaiSavvy.lua create mode 100755 Lua/Spells/Traditions/ArasaisEndurance.lua create mode 100755 Lua/Spells/Traditions/ArcaneKnowledge.lua create mode 100755 Lua/Spells/Traditions/ArcofLightning.lua create mode 100755 Lua/Spells/Traditions/ArmoroftheFeerrott.lua create mode 100755 Lua/Spells/Traditions/Attribute/AgileMight.lua create mode 100755 Lua/Spells/Traditions/Attribute/AgileMovements.lua create mode 100755 Lua/Spells/Traditions/Attribute/AkanonsInnovation.lua create mode 100755 Lua/Spells/Traditions/Attribute/ArasaiSavvy.lua create mode 100755 Lua/Spells/Traditions/Attribute/BruteForce.lua create mode 100755 Lua/Spells/Traditions/Attribute/CazicsEnduringHold.lua create mode 100755 Lua/Spells/Traditions/Attribute/Countenance.lua create mode 100755 Lua/Spells/Traditions/Attribute/DarkenedAgility.lua create mode 100755 Lua/Spells/Traditions/Attribute/DwarvenFortitude.lua create mode 100755 Lua/Spells/Traditions/Attribute/ElvenWisdom.lua create mode 100755 Lua/Spells/Traditions/Attribute/EnduranceOfEarthAndWater.lua create mode 100755 Lua/Spells/Traditions/Attribute/EnhancedIntellect.lua create mode 100755 Lua/Spells/Traditions/Attribute/EternalLearning.lua create mode 100755 Lua/Spells/Traditions/Attribute/FaydarkChampionsAgility.lua create mode 100755 Lua/Spells/Traditions/Attribute/FleetFooted.lua create mode 100755 Lua/Spells/Traditions/Attribute/FocusedDetermination.lua create mode 100755 Lua/Spells/Traditions/Attribute/HalfElfQuickThinking.lua create mode 100755 Lua/Spells/Traditions/Attribute/HeartyConstitution.lua create mode 100755 Lua/Spells/Traditions/Attribute/Insight.lua create mode 100755 Lua/Spells/Traditions/Attribute/IntellectOfTheSage.lua create mode 100755 Lua/Spells/Traditions/Attribute/IntellecualStudies.lua create mode 100755 Lua/Spells/Traditions/Attribute/IntelligentDesigns.lua create mode 100755 Lua/Spells/Traditions/Attribute/KejaansInspiration.lua create mode 100755 Lua/Spells/Traditions/Attribute/LastOneStanding.lua create mode 100755 Lua/Spells/Traditions/Attribute/MarrsInsight.lua create mode 100755 Lua/Spells/Traditions/Attribute/MechanicalVambraces.lua create mode 100755 Lua/Spells/Traditions/Attribute/PresumedBrilliance.lua create mode 100755 Lua/Spells/Traditions/Attribute/PursuitOfKnowledge.lua create mode 100755 Lua/Spells/Traditions/Attribute/SathirianLegacy.lua create mode 100755 Lua/Spells/Traditions/Attribute/SpiritOfVahKerrath.lua create mode 100755 Lua/Spells/Traditions/Attribute/StubbornButWise.lua create mode 100755 Lua/Spells/Traditions/Attribute/TheMightOfBristlebane.lua create mode 100755 Lua/Spells/Traditions/Attribute/TunaresGuidance.lua create mode 100755 Lua/Spells/Traditions/Attribute/UncommonInsight.lua create mode 100755 Lua/Spells/Traditions/Attribute/VampiricReflexes.lua create mode 100755 Lua/Spells/Traditions/Attribute/WisdomOfExperience.lua create mode 100755 Lua/Spells/Traditions/Attribute/WisdomOfRivervale.lua create mode 100755 Lua/Spells/Traditions/Attribute/WisdomOfTheAges.lua create mode 100755 Lua/Spells/Traditions/Attribute/WisdomOfTheOldOak.lua create mode 100755 Lua/Spells/Traditions/Ayr`DalAdornment.lua create mode 100755 Lua/Spells/Traditions/BarbaricRage.lua create mode 100755 Lua/Spells/Traditions/BattleReprieve.lua create mode 100755 Lua/Spells/Traditions/BattleRest.lua create mode 100755 Lua/Spells/Traditions/Blizzard.lua create mode 100755 Lua/Spells/Traditions/BodybyButcherblock.lua create mode 100755 Lua/Spells/Traditions/BogBully.lua create mode 100755 Lua/Spells/Traditions/Brewmaster.lua create mode 100755 Lua/Spells/Traditions/BruteStrength.lua create mode 100755 Lua/Spells/Traditions/Camo.lua create mode 100755 Lua/Spells/Traditions/Camouflage.lua create mode 100755 Lua/Spells/Traditions/CarpentersTouch.lua create mode 100755 Lua/Spells/Traditions/CastingFury.lua create mode 100755 Lua/Spells/Traditions/CazicThulesGift.lua create mode 100755 Lua/Spells/Traditions/ChemicalCalculations.lua create mode 100755 Lua/Spells/Traditions/Chemist.lua create mode 100755 Lua/Spells/Traditions/ClearMind.lua create mode 100755 Lua/Spells/Traditions/ClockworkArmy.lua create mode 100755 Lua/Spells/Traditions/Clothier.lua create mode 100755 Lua/Spells/Traditions/Combat/Adoration.lua create mode 100755 Lua/Spells/Traditions/Combat/AidOfTheStouthearted.lua create mode 100755 Lua/Spells/Traditions/Combat/AncestralIre.lua create mode 100755 Lua/Spells/Traditions/Combat/BlessingTouch.lua create mode 100755 Lua/Spells/Traditions/Combat/BlockingExpertise.lua create mode 100755 Lua/Spells/Traditions/Combat/Bloodletting.lua create mode 100755 Lua/Spells/Traditions/Combat/Brainy.lua create mode 100755 Lua/Spells/Traditions/Combat/BravefootTenacity.lua create mode 100755 Lua/Spells/Traditions/Combat/BrellsFocus.lua create mode 100755 Lua/Spells/Traditions/Combat/CastingFury.lua create mode 100755 Lua/Spells/Traditions/Combat/ClarityDuringBattle.lua create mode 100755 Lua/Spells/Traditions/Combat/ClawedStrikes.lua create mode 100755 Lua/Spells/Traditions/Combat/CombatHealing.lua create mode 100755 Lua/Spells/Traditions/Combat/CriticalDeflection.lua create mode 100755 Lua/Spells/Traditions/Combat/CriticalShielding.lua create mode 100755 Lua/Spells/Traditions/Combat/DarkCelerity.lua create mode 100755 Lua/Spells/Traditions/Combat/DefensiveMight.lua create mode 100755 Lua/Spells/Traditions/Combat/DemonicFocus.lua create mode 100755 Lua/Spells/Traditions/Combat/DevotionToTheArts.lua create mode 100755 Lua/Spells/Traditions/Combat/DivineCasting.lua create mode 100755 Lua/Spells/Traditions/Combat/DleresFightingStance.lua create mode 100755 Lua/Spells/Traditions/Combat/DodgingBlows.lua create mode 100755 Lua/Spells/Traditions/Combat/FaeQuickThinking.lua create mode 100755 Lua/Spells/Traditions/Combat/FocusOfTunare.lua create mode 100755 Lua/Spells/Traditions/Combat/FocusedProwess.lua create mode 100755 Lua/Spells/Traditions/Combat/FormidableTraining.lua create mode 100755 Lua/Spells/Traditions/Combat/GoodBlocking.lua create mode 100755 Lua/Spells/Traditions/Combat/GraceOfFear.lua create mode 100755 Lua/Spells/Traditions/Combat/GuidanceOfMarr.lua create mode 100755 Lua/Spells/Traditions/Combat/HastyDecisions.lua create mode 100755 Lua/Spells/Traditions/Combat/HealingGrace.lua create mode 100755 Lua/Spells/Traditions/Combat/HealingTouch.lua create mode 100755 Lua/Spells/Traditions/Combat/HendisFortitude.lua create mode 100755 Lua/Spells/Traditions/Combat/HighPriestsGuidance.lua create mode 100755 Lua/Spells/Traditions/Combat/HoldStrong.lua create mode 100755 Lua/Spells/Traditions/Combat/MarshalsSkill.lua create mode 100755 Lua/Spells/Traditions/Combat/MasterfulSorcery.lua create mode 100755 Lua/Spells/Traditions/Combat/MechanizedPierces.lua create mode 100755 Lua/Spells/Traditions/Combat/MemoriesOfGuk.lua create mode 100755 Lua/Spells/Traditions/Combat/MentalDomination.lua create mode 100755 Lua/Spells/Traditions/Combat/Merciless.lua create mode 100755 Lua/Spells/Traditions/Combat/MightOfTheLeatherfoot.lua create mode 100755 Lua/Spells/Traditions/Combat/MindOverMatter.lua create mode 100755 Lua/Spells/Traditions/Combat/MurrarSharsGuidance.lua create mode 100755 Lua/Spells/Traditions/Combat/NimblePaws.lua create mode 100755 Lua/Spells/Traditions/Combat/NimbleStriking.lua create mode 100755 Lua/Spells/Traditions/Combat/NobilityOfFaith.lua create mode 100755 Lua/Spells/Traditions/Combat/OffensivelySkilled.lua create mode 100755 Lua/Spells/Traditions/Combat/PaladinsShieldTraining.lua create mode 100755 Lua/Spells/Traditions/Combat/PiercingArrows.lua create mode 100755 Lua/Spells/Traditions/Combat/ProficientSwipe.lua create mode 100755 Lua/Spells/Traditions/Combat/PunctureWounds.lua create mode 100755 Lua/Spells/Traditions/Combat/QuickBanishing.lua create mode 100755 Lua/Spells/Traditions/Combat/QuickThinking.lua create mode 100755 Lua/Spells/Traditions/Combat/QuietStorm.lua create mode 100755 Lua/Spells/Traditions/Combat/RallosianArmyTraining.lua create mode 100755 Lua/Spells/Traditions/Combat/RallosianReflexes.lua create mode 100755 Lua/Spells/Traditions/Combat/RatongaReflexes.lua create mode 100755 Lua/Spells/Traditions/Combat/RootedMind.lua create mode 100755 Lua/Spells/Traditions/Combat/SharpWitted.lua create mode 100755 Lua/Spells/Traditions/Combat/SkilledDefender.lua create mode 100755 Lua/Spells/Traditions/Combat/SoldiersOfTunaresAlacrity.lua create mode 100755 Lua/Spells/Traditions/Combat/SpeedyPaws.lua create mode 100755 Lua/Spells/Traditions/Combat/SpikedShoes.lua create mode 100755 Lua/Spells/Traditions/Combat/Stabby.lua create mode 100755 Lua/Spells/Traditions/Combat/SteadfastDefender.lua create mode 100755 Lua/Spells/Traditions/Combat/StoutDefense.lua create mode 100755 Lua/Spells/Traditions/Combat/Stubbornness.lua create mode 100755 Lua/Spells/Traditions/Combat/SupernaturalSpeed.lua create mode 100755 Lua/Spells/Traditions/Combat/SwiftSwings.lua create mode 100755 Lua/Spells/Traditions/Combat/TeachingsOfBayle.lua create mode 100755 Lua/Spells/Traditions/Combat/TheoreticalImprovements.lua create mode 100755 Lua/Spells/Traditions/Combat/TinyStings.lua create mode 100755 Lua/Spells/Traditions/Combat/ToolsOfFear.lua create mode 100755 Lua/Spells/Traditions/Combat/TrueshotsAura.lua create mode 100755 Lua/Spells/Traditions/Combat/Victory.lua create mode 100755 Lua/Spells/Traditions/Combat/WiggingWhiskers.lua create mode 100755 Lua/Spells/Traditions/Combat/WordsOfHonor.lua create mode 100755 Lua/Spells/Traditions/ConnoisseurofFineWines.lua create mode 100755 Lua/Spells/Traditions/DarkAgenda.lua create mode 100755 Lua/Spells/Traditions/DarkEnvy.lua create mode 100755 Lua/Spells/Traditions/DefenderofEverfrost.lua create mode 100755 Lua/Spells/Traditions/DefenderofKaladim.lua create mode 100755 Lua/Spells/Traditions/DefensiveColoration.lua create mode 100755 Lua/Spells/Traditions/Diplomacy.lua create mode 100755 Lua/Spells/Traditions/Diversity.lua create mode 100755 Lua/Spells/Traditions/DwarvenFortitude.lua create mode 100755 Lua/Spells/Traditions/ElvenHeritage.lua create mode 100755 Lua/Spells/Traditions/ElvenReflexes.lua create mode 100755 Lua/Spells/Traditions/ElvenWisdom.lua create mode 100755 Lua/Spells/Traditions/ElvishSpirits.lua create mode 100755 Lua/Spells/Traditions/EnvironmentalAdaptability.lua create mode 100755 Lua/Spells/Traditions/ErudsTeachings.lua create mode 100755 Lua/Spells/Traditions/EscapingDive.lua create mode 100755 Lua/Spells/Traditions/EsotericStudy.lua create mode 100755 Lua/Spells/Traditions/FaeDexterity.lua create mode 100755 Lua/Spells/Traditions/FaeFlight.lua create mode 100755 Lua/Spells/Traditions/FallingGrace.lua create mode 100755 Lua/Spells/Traditions/FaydarksChampion.lua create mode 100755 Lua/Spells/Traditions/FaydwerFashions.lua create mode 100755 Lua/Spells/Traditions/Featherfall.lua create mode 100755 Lua/Spells/Traditions/FlashofInsight.lua create mode 100755 Lua/Spells/Traditions/ForestFire.lua create mode 100755 Lua/Spells/Traditions/ForestKnowledge.lua create mode 100755 Lua/Spells/Traditions/ForestNavigation.lua create mode 100755 Lua/Spells/Traditions/ForgeInvention.lua create mode 100755 Lua/Spells/Traditions/FueledByHate.lua create mode 100755 Lua/Spells/Traditions/FuryofFelwithe.lua create mode 100755 Lua/Spells/Traditions/FuryofInnoruuk.lua create mode 100755 Lua/Spells/Traditions/GiftoftheFaydark.lua create mode 100755 Lua/Spells/Traditions/GiftoftheInnothule.lua create mode 100755 Lua/Spells/Traditions/GildingofFelwithe.lua create mode 100755 Lua/Spells/Traditions/Gills.lua create mode 100755 Lua/Spells/Traditions/Glide.lua create mode 100755 Lua/Spells/Traditions/GracefulMovements.lua create mode 100755 Lua/Spells/Traditions/HalasianAuthority.lua create mode 100755 Lua/Spells/Traditions/Hardiness.lua create mode 100755 Lua/Spells/Traditions/HarmoniousMind.lua create mode 100755 Lua/Spells/Traditions/HatefulMind.lua create mode 100755 Lua/Spells/Traditions/HealthyAppetite.lua create mode 100755 Lua/Spells/Traditions/HerbalSupplementation.lua create mode 100755 Lua/Spells/Traditions/Herbology.lua create mode 100755 Lua/Spells/Traditions/Hover.lua create mode 100755 Lua/Spells/Traditions/HuntersFury.lua create mode 100755 Lua/Spells/Traditions/IllusionClockwork.lua create mode 100755 Lua/Spells/Traditions/ImpenetrableWill.lua create mode 100755 Lua/Spells/Traditions/Infravision.lua create mode 100755 Lua/Spells/Traditions/Innate/KeeperOfTheForest.lua create mode 100755 Lua/Spells/Traditions/InnoruuksGift.lua create mode 100755 Lua/Spells/Traditions/InnothulesBlessing.lua create mode 100755 Lua/Spells/Traditions/InstrumentsoftheUnderfoot.lua create mode 100755 Lua/Spells/Traditions/IntellectoftheSage.lua create mode 100755 Lua/Spells/Traditions/IntellectualFeasting.lua create mode 100755 Lua/Spells/Traditions/IntricateCreations.lua create mode 100755 Lua/Spells/Traditions/Junglewalk.lua create mode 100755 Lua/Spells/Traditions/KeeperoftheForest.lua create mode 100755 Lua/Spells/Traditions/LightFooted.lua create mode 100755 Lua/Spells/Traditions/LostintheCrowd.lua create mode 100755 Lua/Spells/Traditions/MagicProtection.lua create mode 100755 Lua/Spells/Traditions/MagicalProtection.lua create mode 100755 Lua/Spells/Traditions/MagicalTeachings.lua create mode 100755 Lua/Spells/Traditions/MagicoftheFae.lua create mode 100755 Lua/Spells/Traditions/ManiacalMadness.lua create mode 100755 Lua/Spells/Traditions/ManyMarches.lua create mode 100755 Lua/Spells/Traditions/MasteroftheShadows.lua create mode 100755 Lua/Spells/Traditions/MasteroftheTumpyTonic.lua create mode 100755 Lua/Spells/Traditions/MeldrathsTeachings.lua create mode 100755 Lua/Spells/Traditions/MenderoftheMire.lua create mode 100755 Lua/Spells/Traditions/MiningExpertise.lua create mode 100755 Lua/Spells/Traditions/MisfitsTrickery.lua create mode 100755 Lua/Spells/Traditions/MixedKnowledge.lua create mode 100755 Lua/Spells/Traditions/Multitalented.lua create mode 100755 Lua/Spells/Traditions/NaturalRecovery.lua create mode 100755 Lua/Spells/Traditions/NeriakPrecision.lua create mode 100755 Lua/Spells/Traditions/Noncombat/AncestralBlessing.lua create mode 100755 Lua/Spells/Traditions/Noncombat/AnotherRound.lua create mode 100755 Lua/Spells/Traditions/Noncombat/AsceticDiscipline.lua create mode 100755 Lua/Spells/Traditions/Noncombat/AutomatedPoisonDispenser.lua create mode 100755 Lua/Spells/Traditions/Noncombat/BattleReady.lua create mode 100755 Lua/Spells/Traditions/Noncombat/BindWound.lua create mode 100755 Lua/Spells/Traditions/Noncombat/BlessingOfTheMeal.lua create mode 100755 Lua/Spells/Traditions/Noncombat/BristlebanesBlessing.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ChargeIntoBattle.lua create mode 100755 Lua/Spells/Traditions/Noncombat/CloakOfDarkness.lua create mode 100755 Lua/Spells/Traditions/Noncombat/CloakingDevice.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ConnoisseurOfFineWines.lua create mode 100755 Lua/Spells/Traditions/Noncombat/DelayedThirst.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ElvishSpirits.lua create mode 100755 Lua/Spells/Traditions/Noncombat/Empowered.lua create mode 100755 Lua/Spells/Traditions/Noncombat/EternalYouth.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ExpertChemistry.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ExtendedMarch.lua create mode 100755 Lua/Spells/Traditions/Noncombat/FastTwitched.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ForestNavigation.lua create mode 100755 Lua/Spells/Traditions/Noncombat/FrostedAles.lua create mode 100755 Lua/Spells/Traditions/Noncombat/GatherMana.lua create mode 100755 Lua/Spells/Traditions/Noncombat/GracefulLanding.lua create mode 100755 Lua/Spells/Traditions/Noncombat/HastenedStudy.lua create mode 100755 Lua/Spells/Traditions/Noncombat/IrefulWill.lua create mode 100755 Lua/Spells/Traditions/Noncombat/KerraSpeed.lua create mode 100755 Lua/Spells/Traditions/Noncombat/LastSecondHop.lua create mode 100755 Lua/Spells/Traditions/Noncombat/MasterOfTheShadows.lua create mode 100755 Lua/Spells/Traditions/Noncombat/MeditativeContemplation.lua create mode 100755 Lua/Spells/Traditions/Noncombat/NapTime.lua create mode 100755 Lua/Spells/Traditions/Noncombat/NaturalAthlete.lua create mode 100755 Lua/Spells/Traditions/Noncombat/NobleGallop.lua create mode 100755 Lua/Spells/Traditions/Noncombat/NomadicHealing.lua create mode 100755 Lua/Spells/Traditions/Noncombat/OnlyTheFinestIngredients.lua create mode 100755 Lua/Spells/Traditions/Noncombat/OptimumDosage.lua create mode 100755 Lua/Spells/Traditions/Noncombat/PixieDust.lua create mode 100755 Lua/Spells/Traditions/Noncombat/PoisonExpertise.lua create mode 100755 Lua/Spells/Traditions/Noncombat/PoisonousPlants.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ProtectiveSkin.lua create mode 100755 Lua/Spells/Traditions/Noncombat/QuickGetaway.lua create mode 100755 Lua/Spells/Traditions/Noncombat/QuickRecovery.lua create mode 100755 Lua/Spells/Traditions/Noncombat/QuickRecuperation.lua create mode 100755 Lua/Spells/Traditions/Noncombat/QuitSittinAround.lua create mode 100755 Lua/Spells/Traditions/Noncombat/RationWater.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ReflexiveLanding.lua create mode 100755 Lua/Spells/Traditions/Noncombat/Restore.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ReturnToFormation.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SecretsOfTheUnderfoot.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ShadowStalker.lua create mode 100755 Lua/Spells/Traditions/Noncombat/Shadowlurker.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ShamanisticFasting.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SlowMetabolism.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SmokedMeats.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SoftLandings.lua create mode 100755 Lua/Spells/Traditions/Noncombat/StealthyAcrobatics.lua create mode 100755 Lua/Spells/Traditions/Noncombat/StrongAdditives.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SturdyBones.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SturdyFeet.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SwampFeet.lua create mode 100755 Lua/Spells/Traditions/Noncombat/SwiftRecovery.lua create mode 100755 Lua/Spells/Traditions/Noncombat/TastyBrew.lua create mode 100755 Lua/Spells/Traditions/Noncombat/ToxicFinesse.lua create mode 100755 Lua/Spells/Traditions/Noncombat/TrainingTechniques.lua create mode 100755 Lua/Spells/Traditions/Noncombat/UnderCoverOfTheVale.lua create mode 100755 Lua/Spells/Traditions/Noncombat/VitalityOfTheSwamp.lua create mode 100755 Lua/Spells/Traditions/Noncombat/WalkItOff.lua create mode 100755 Lua/Spells/Traditions/Noncombat/WillfulPersistence.lua create mode 100755 Lua/Spells/Traditions/Noncombat/WoodlandRegeneration.lua create mode 100755 Lua/Spells/Traditions/OggokianAggression.lua create mode 100755 Lua/Spells/Traditions/OggokianTrade.lua create mode 100755 Lua/Spells/Traditions/Perserverance.lua create mode 100755 Lua/Spells/Traditions/PitifulPlea.lua create mode 100755 Lua/Spells/Traditions/PoisonCrafter.lua create mode 100755 Lua/Spells/Traditions/PoisonExpertise.lua create mode 100755 Lua/Spells/Traditions/PoisonPlay.lua create mode 100755 Lua/Spells/Traditions/Pools/ArcaneKnowledge.lua create mode 100755 Lua/Spells/Traditions/Pools/BashersWill.lua create mode 100755 Lua/Spells/Traditions/Pools/Bloodthirsty.lua create mode 100755 Lua/Spells/Traditions/Pools/ClockworkArmor.lua create mode 100755 Lua/Spells/Traditions/Pools/CoatedWings.lua create mode 100755 Lua/Spells/Traditions/Pools/CollectiveThoughts.lua create mode 100755 Lua/Spells/Traditions/Pools/DubiousFocus.lua create mode 100755 Lua/Spells/Traditions/Pools/EnhancedIntellect.lua create mode 100755 Lua/Spells/Traditions/Pools/FlashOfInsight.lua create mode 100755 Lua/Spells/Traditions/Pools/FocusOfTheValorous.lua create mode 100755 Lua/Spells/Traditions/Pools/GiftOfTunare.lua create mode 100755 Lua/Spells/Traditions/Pools/HatefulMind.lua create mode 100755 Lua/Spells/Traditions/Pools/HonorOfInsight.lua create mode 100755 Lua/Spells/Traditions/Pools/InnerFocus.lua create mode 100755 Lua/Spells/Traditions/Pools/JumjumRegimen.lua create mode 100755 Lua/Spells/Traditions/Pools/LegacyOfBrell.lua create mode 100755 Lua/Spells/Traditions/Pools/LegacyOfTheShissar.lua create mode 100755 Lua/Spells/Traditions/Pools/LegendaryTenacity.lua create mode 100755 Lua/Spells/Traditions/Pools/LegionnairesFocus.lua create mode 100755 Lua/Spells/Traditions/Pools/MagicOfTheArasai.lua create mode 100755 Lua/Spells/Traditions/Pools/MagicOfTheFae.lua create mode 100755 Lua/Spells/Traditions/Pools/ManiacalMadness.lua create mode 100755 Lua/Spells/Traditions/Pools/MeditativeStae.lua create mode 100755 Lua/Spells/Traditions/Pools/MiddaySnack.lua create mode 100755 Lua/Spells/Traditions/Pools/RallosZeksBlessing.lua create mode 100755 Lua/Spells/Traditions/Pools/ResilianceOfTheUnderfoot.lua create mode 100755 Lua/Spells/Traditions/Pools/ResilientMind.lua create mode 100755 Lua/Spells/Traditions/Pools/RuggedFortitude.lua create mode 100755 Lua/Spells/Traditions/Pools/Ruggedness.lua create mode 100755 Lua/Spells/Traditions/Pools/ShortButStrong.lua create mode 100755 Lua/Spells/Traditions/Pools/SpiritualBoon.lua create mode 100755 Lua/Spells/Traditions/Pools/SpontaneousMetamorphosis.lua create mode 100755 Lua/Spells/Traditions/Pools/TheoreticalImprovements.lua create mode 100755 Lua/Spells/Traditions/Pools/ThoughtsOfFelwithe.lua create mode 100755 Lua/Spells/Traditions/Pools/TribalKnowledge.lua create mode 100755 Lua/Spells/Traditions/Pools/TribalStrength.lua create mode 100755 Lua/Spells/Traditions/Pools/VampiricWill.lua create mode 100755 Lua/Spells/Traditions/Pools/VitalityOfTheFeirDal.lua create mode 100755 Lua/Spells/Traditions/Pools/WillOfTheAnchored.lua create mode 100755 Lua/Spells/Traditions/ProficientSwimmer.lua create mode 100755 Lua/Spells/Traditions/PursuitoftheArcane.lua create mode 100755 Lua/Spells/Traditions/RallosZeksBlessing.lua create mode 100755 Lua/Spells/Traditions/RallosianReadiness.lua create mode 100755 Lua/Spells/Traditions/RebelliousSpirit.lua create mode 100755 Lua/Spells/Traditions/ReflexiveLanding.lua create mode 100755 Lua/Spells/Traditions/ReptilianAncestry.lua create mode 100755 Lua/Spells/Traditions/Resists/Adaptable.lua create mode 100755 Lua/Spells/Traditions/Resists/Antidote.lua create mode 100755 Lua/Spells/Traditions/Resists/ArcanicFortitude.lua create mode 100755 Lua/Spells/Traditions/Resists/ArmorOfTheFeerrott.lua create mode 100755 Lua/Spells/Traditions/Resists/DefyMagic.lua create mode 100755 Lua/Spells/Traditions/Resists/DevoutBarrier.lua create mode 100755 Lua/Spells/Traditions/Resists/DidntEvenFeelIt.lua create mode 100755 Lua/Spells/Traditions/Resists/ElementalBarrier.lua create mode 100755 Lua/Spells/Traditions/Resists/ElementalDefiance.lua create mode 100755 Lua/Spells/Traditions/Resists/ElementalDurability.lua create mode 100755 Lua/Spells/Traditions/Resists/ElementalFortitude.lua create mode 100755 Lua/Spells/Traditions/Resists/ElementalMastery.lua create mode 100755 Lua/Spells/Traditions/Resists/EnvironmentalAdaptability.lua create mode 100755 Lua/Spells/Traditions/Resists/FocusOfWarfare.lua create mode 100755 Lua/Spells/Traditions/Resists/FurCoat.lua create mode 100755 Lua/Spells/Traditions/Resists/HardenedScales.lua create mode 100755 Lua/Spells/Traditions/Resists/HiddenTracks.lua create mode 100755 Lua/Spells/Traditions/Resists/LeatherSkin.lua create mode 100755 Lua/Spells/Traditions/Resists/LightbringersProtection.lua create mode 100755 Lua/Spells/Traditions/Resists/MagicPah.lua create mode 100755 Lua/Spells/Traditions/Resists/MagicalProtection.lua create mode 100755 Lua/Spells/Traditions/Resists/OggokianStubbornness.lua create mode 100755 Lua/Spells/Traditions/Resists/ProtectiveEyewear.lua create mode 100755 Lua/Spells/Traditions/Resists/PutridHide.lua create mode 100755 Lua/Spells/Traditions/Resists/RemedialWill.lua create mode 100755 Lua/Spells/Traditions/Resists/RivervalesProtection.lua create mode 100755 Lua/Spells/Traditions/Resists/RobustMight.lua create mode 100755 Lua/Spells/Traditions/Resists/ShieldOfBark.lua create mode 100755 Lua/Spells/Traditions/Resists/ShieldOfNature.lua create mode 100755 Lua/Spells/Traditions/Resists/SlipperyHide.lua create mode 100755 Lua/Spells/Traditions/Resists/Spirituality.lua create mode 100755 Lua/Spells/Traditions/Resists/StrongBlood.lua create mode 100755 Lua/Spells/Traditions/Resists/TenetOfTakishHiz.lua create mode 100755 Lua/Spells/Traditions/Resists/ToughScales.lua create mode 100755 Lua/Spells/Traditions/Resists/ToxicIntimacy.lua create mode 100755 Lua/Spells/Traditions/Resists/ToxicProtection.lua create mode 100755 Lua/Spells/Traditions/Resists/TundraRuggedness.lua create mode 100755 Lua/Spells/Traditions/Resists/UndeadResilience.lua create mode 100755 Lua/Spells/Traditions/RockThrower.lua create mode 100755 Lua/Spells/Traditions/RodentReflexes.lua create mode 100755 Lua/Spells/Traditions/RushintoBattle.lua create mode 100755 Lua/Spells/Traditions/ShadowLurker.lua create mode 100755 Lua/Spells/Traditions/ShieldofNature.lua create mode 100755 Lua/Spells/Traditions/ShoulderSlam.lua create mode 100755 Lua/Spells/Traditions/SoulMending.lua create mode 100755 Lua/Spells/Traditions/Spirituality.lua create mode 100755 Lua/Spells/Traditions/SprintIntoBattle.lua create mode 100755 Lua/Spells/Traditions/SteamfontsMagicalBarrier.lua create mode 100755 Lua/Spells/Traditions/StreetThug.lua create mode 100755 Lua/Spells/Traditions/Stride.lua create mode 100755 Lua/Spells/Traditions/StrongHeart.lua create mode 100755 Lua/Spells/Traditions/SummonFilthyWater.lua create mode 100755 Lua/Spells/Traditions/SummonHalasianBrew.lua create mode 100755 Lua/Spells/Traditions/SwampBreath.lua create mode 100755 Lua/Spells/Traditions/TastyThings.lua create mode 100755 Lua/Spells/Traditions/TendWounds.lua create mode 100755 Lua/Spells/Traditions/TenetofTakish`Hiz.lua create mode 100755 Lua/Spells/Traditions/TheFocisMagicalProtection.lua create mode 100755 Lua/Spells/Traditions/ThulesGuidance.lua create mode 100755 Lua/Spells/Traditions/ToxicProtection.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/AgileCreations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/AlchemicIngenuity.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ArcaneUnderstanding.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/AttentionToDetails.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/AyrDalAdornment.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/BreakingDownTheTrash.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/BrellsBlessing.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Brewmaster.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/CarpentersTouch.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ChasingBallsOfYarn.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ChemicalCalculations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Chemist.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Clothier.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/CraftyConcentrations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/DarkArmament.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/DarkMedicine.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/DarkPerfectionist.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/DexterousCreations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Diversity.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/DurableGoods.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/DwarvenCraftsmanship.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/DwarvenDurability.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/EsotericStudy.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Excellence.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ExperimentalTechnique.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/FaydwerFashions.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/FervorOfMarr.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/FieldRepairs.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/FinestCreations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/FinestRobesAround.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ForestKnowledge.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ForgeInvention.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/FortuneOfTheFeerrott.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/GemcraftingExcellence.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/GiftOfTheFaydark.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/GiftOfTheLand.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/GildingOfFelwithe.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/GnomishIngenuity.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/GracefulAssembly.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/HalasianArtistry.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Herbology.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/HypotheticalExperimentation.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/IngeniousTrades.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/InstrumentsOfTheUnderfoot.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/IntricateCreations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/IntricateDesigns.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/KruzzsLuck.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/LegionsQuatermaster.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/MagicalTeachings.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ManderOfTheMire.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/MasterOfTheTumpyTonic.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/MeticulousCraftsmanship.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Mithril.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/MooshgasTutelage.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/MoreGlue.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/NaimisTutelage.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/NaturalPrgression.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/NeriakPrecision.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/NobleCrafting.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/OggokianDurability.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/OkkokianTrade.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/PantsPatcher.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/PoisonCrafter.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/PoisonPlay.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/PracticedTinkering.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/PrehelsileTail.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/PristineWork.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ProfoundFocus.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/PursuitOfTheArcane.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/QuickAssembly.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/RallosianReadiness.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/RubTheMuddOff.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/SaplingKnowledge.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Scalesmith.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ScholarlyPursuit.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ScribingsOfThePious.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/SkilledArtistry.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/SkillfulCreations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/SkillfulPaws.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/SkillfulTriumph.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/SuccessfulCreations.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/SwiftScamper.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/TeachingsOfBrell.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/TimberShaper.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/TinkeredFocus.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/TrainedFocus.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Transmography.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/TrollGourmet.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/TwiddysArtistry.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/TwiddysInsight.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/UnflinchingFocus.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/UnyieldingDetermination.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/VerifiedHypothesis.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/WeaponForger.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/WeaponProduction.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/Whipstich.lua create mode 100755 Lua/Spells/Traditions/Tradeskill/ZealotryOfMarr.lua create mode 100755 Lua/Spells/Traditions/TrainingoftheKoada`Dal.lua create mode 100755 Lua/Spells/Traditions/Transmography.lua create mode 100755 Lua/Spells/Traditions/TrollGourmet.lua create mode 100755 Lua/Spells/Traditions/TundraEndurance.lua create mode 100755 Lua/Spells/Traditions/UrbanSprawl.lua create mode 100755 Lua/Spells/Traditions/Versatility.lua create mode 100755 Lua/Spells/Traditions/VitalityoftheFier`Dal.lua create mode 100755 Lua/Spells/Traditions/WarWounds.lua create mode 100755 Lua/Spells/Traditions/WardofGlyphs.lua create mode 100755 Lua/Spells/Traditions/WeaponForger.lua create mode 100755 Lua/Spells/Traditions/WeaponProduction.lua create mode 100755 Lua/Spells/Traditions/WilltoSurvive.lua create mode 100755 Lua/Spells/Traditions/WindWalker.lua create mode 100755 Lua/Spells/Traditions/WisdomoftheFaydark.lua create mode 100755 Lua/Spells/Traditions/dome.bat create mode 100755 Lua/Spells/Traits/Agile.lua create mode 100755 Lua/Spells/Traits/Attentive.lua create mode 100755 Lua/Spells/Traits/Brawny.lua create mode 100755 Lua/Spells/Traits/Brilliant.lua create mode 100755 Lua/Spells/Traits/Cabalistic.lua create mode 100755 Lua/Spells/Traits/Calm.lua create mode 100755 Lua/Spells/Traits/Centered.lua create mode 100755 Lua/Spells/Traits/Clever.lua create mode 100755 Lua/Spells/Traits/ColdBlooded.lua create mode 100755 Lua/Spells/Traits/Concentration.lua create mode 100755 Lua/Spells/Traits/Cryptic.lua create mode 100755 Lua/Spells/Traits/Dauntless.lua create mode 100755 Lua/Spells/Traits/Deft.lua create mode 100755 Lua/Spells/Traits/Devout.lua create mode 100755 Lua/Spells/Traits/Dexterous.lua create mode 100755 Lua/Spells/Traits/Durable.lua create mode 100755 Lua/Spells/Traits/Enduring.lua create mode 100755 Lua/Spells/Traits/Enlightened.lua create mode 100755 Lua/Spells/Traits/Fireborn.lua create mode 100755 Lua/Spells/Traits/Focused.lua create mode 100755 Lua/Spells/Traits/Force.lua create mode 100755 Lua/Spells/Traits/Frostborn.lua create mode 100755 Lua/Spells/Traits/Halcyon.lua create mode 100755 Lua/Spells/Traits/Hardened.lua create mode 100755 Lua/Spells/Traits/Hardy.lua create mode 100755 Lua/Spells/Traits/Healthy.lua create mode 100755 Lua/Spells/Traits/Hygienic.lua create mode 100755 Lua/Spells/Traits/Insightful.lua create mode 100755 Lua/Spells/Traits/Intelligent.lua create mode 100755 Lua/Spells/Traits/Intent.lua create mode 100755 Lua/Spells/Traits/Intrepid.lua create mode 100755 Lua/Spells/Traits/Lively.lua create mode 100755 Lua/Spells/Traits/Lucid.lua create mode 100755 Lua/Spells/Traits/Muscular.lua create mode 100755 Lua/Spells/Traits/Nimble.lua create mode 100755 Lua/Spells/Traits/Perceptive.lua create mode 100755 Lua/Spells/Traits/Powerful.lua create mode 100755 Lua/Spells/Traits/Pristine.lua create mode 100755 Lua/Spells/Traits/Purity.lua create mode 100755 Lua/Spells/Traits/Recondite.lua create mode 100755 Lua/Spells/Traits/Resilient.lua create mode 100755 Lua/Spells/Traits/Resistant.lua create mode 100755 Lua/Spells/Traits/Resolute.lua create mode 100755 Lua/Spells/Traits/Rigid.lua create mode 100755 Lua/Spells/Traits/Robust.lua create mode 100755 Lua/Spells/Traits/Sanitary.lua create mode 100755 Lua/Spells/Traits/Savvy.lua create mode 100755 Lua/Spells/Traits/Serene.lua create mode 100755 Lua/Spells/Traits/Sharp.lua create mode 100755 Lua/Spells/Traits/Spry.lua create mode 100755 Lua/Spells/Traits/Stalwart.lua create mode 100755 Lua/Spells/Traits/Stout.lua create mode 100755 Lua/Spells/Traits/Strong.lua create mode 100755 Lua/Spells/Traits/Sturdy.lua create mode 100755 Lua/Spells/Traits/Tough.lua create mode 100755 Lua/Spells/Traits/Transcendent.lua create mode 100755 Lua/Spells/Traits/Untainted.lua create mode 100755 Lua/Spells/Traits/Unyielding.lua create mode 100755 Lua/Spells/Traits/Vigorous.lua create mode 100755 Lua/Spells/Traits/Visionary.lua create mode 100755 Lua/Spells/Traits/Vital.lua create mode 100755 Lua/Spells/Traits/WarmBlooded.lua create mode 100755 Lua/Spells/Traits/Weathered.lua create mode 100755 Lua/Spells/Traits/Willed.lua create mode 100755 Lua/Spells/Traits/Wise.lua create mode 100755 Lua/Spells/blank.lua create mode 100755 Lua/Spells/commands.lua create mode 100755 Lua/Spells/gm_spells.lua create mode 100755 Lua/ZoneScripts/Antonica.lua create mode 100755 Lua/ZoneScripts/BeggarsCourt.lua create mode 100755 Lua/ZoneScripts/Caves.lua create mode 100755 Lua/ZoneScripts/Commonlands.lua create mode 100755 Lua/ZoneScripts/CrustaceanCave.lua create mode 100755 Lua/ZoneScripts/EnchantedLands.lua create mode 100755 Lua/ZoneScripts/Feerrott.lua create mode 100755 Lua/ZoneScripts/ForestRuins.lua create mode 100755 Lua/ZoneScripts/FrostfangSea.lua create mode 100755 Lua/ZoneScripts/GMHall.lua create mode 100755 Lua/ZoneScripts/Graveyard.lua create mode 100755 Lua/ZoneScripts/HoldOfPrexus.lua create mode 100755 Lua/ZoneScripts/NektroposCastle.lua create mode 100755 Lua/ZoneScripts/Nektulos.lua create mode 100755 Lua/ZoneScripts/Nettleville.lua create mode 100755 Lua/ZoneScripts/Oakmyst.lua create mode 100755 Lua/ZoneScripts/OutpostOverlord.lua create mode 100755 Lua/ZoneScripts/PeatBog.lua create mode 100755 Lua/ZoneScripts/QCD.lua create mode 100755 Lua/ZoneScripts/QeynosCapitalDistrict.lua create mode 100755 Lua/ZoneScripts/QeynosHarbor.lua create mode 100755 Lua/ZoneScripts/QueensColony.lua create mode 100755 Lua/ZoneScripts/ScaleYard.lua create mode 100755 Lua/ZoneScripts/Sprawl.lua create mode 100755 Lua/ZoneScripts/SunkenCity.lua create mode 100755 Lua/ZoneScripts/ThunderingSteppes.lua create mode 100755 Lua/ZoneScripts/WillowWood.lua create mode 100755 Lua/ZoneScripts/Zek.lua diff --git a/Lua/ItemScripts/ABookOfGnollishOrders.lua b/Lua/ItemScripts/ABookOfGnollishOrders.lua new file mode 100755 index 000000000..17487595e --- /dev/null +++ b/Lua/ItemScripts/ABookOfGnollishOrders.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : ItemScripts/ABookOfGnollishOrders.lua + Script Purpose : A Book of Gnollish Orders + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +local QUEST_1_CONSULBREE = 223 + +function examined(Item, Player) + if HasQuest(Player, QUEST_1_CONSULBREE) and GetQuestStep(Player, QUEST_1_CONSULBREE) == 2 then + SetStepComplete(Player, QUEST_1_CONSULBREE, 2) + end + conversation = CreateConversation() + AddConversationOption(conversation, "Put the book away.") + StartDialogConversation(conversation, 2, Item, Player, "This is the book of gnollish orders that Bree was searching for. There is a symbol on each page of a paw held to an eye.") +end \ No newline at end of file diff --git a/Lua/ItemScripts/AFancyFirework.lua b/Lua/ItemScripts/AFancyFirework.lua new file mode 100755 index 000000000..3fcafc12d --- /dev/null +++ b/Lua/ItemScripts/AFancyFirework.lua @@ -0,0 +1,10 @@ +--[[ + Script Name : ItemScripts/afancyfirework.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] +function used(Item, Player) +CastSpell(Player, 5004, 1) +end \ No newline at end of file diff --git a/Lua/ItemScripts/ANoteFromTheQeynosQuartermaster.lua b/Lua/ItemScripts/ANoteFromTheQeynosQuartermaster.lua new file mode 100755 index 000000000..c83fd8722 --- /dev/null +++ b/Lua/ItemScripts/ANoteFromTheQeynosQuartermaster.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : ItemScripts/ANoteFromTheQeynosQuartermaster.lua + Script Purpose : A Note from the Qeynos Quartermaster - Adventures in Antonica + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local QUEST_1_ANTONICA = 300 + +function examined(Item, Player) + if not HasQuest(Player, QUEST_1_ANTONICA) and not HasCompletedQuest(Player, QUEST_1_ANTONICA) then + OfferQuest(nil, Player, QUEST_1_ANTONICA) + end + conversation = CreateConversation() + AddConversationOption(conversation, "continue.", "Continue") + AddConversationOption(conversation, "Put note away.") + StartDialogConversation(conversation, 2, Item, Player, "Greetings,\n\nThe city of Qeynos congratulates you on your recent accomplishments! Though certain amenties are provided to you now that you are a citizen of Qeynos, you may want to educate yourself on the everyday tasks that can provide you a path to other adventures. There are those you will find in Antonica that are loyal to Qeynos and will provide assistance with other things like food and drink if you require sustenance on your adventures.") +end + +function Continue(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "continue.", "Continue2") + AddConversationOption(conversation, "Put note away.") + StartDialogConversation(conversation, 2, Item, Player, "Masty Rollingpin is a retired cook for the Qeynos Guard and now assists weary travelers on the road with good, wholesome food. She usually only requires some chores around Sayer's Outfitters, which you can find on the road east of our good city. Her Coldwind chowder is known throughout the land and is a favorite of the Qeynos Guard.") +end + +function Continue2(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Put note away.") + StartDialogConversation(conversation, 2, Item, Player, "Haddek Vimki has been providing refreshments for travelers at Sayer's Outfitters for many years now and is always willing to lend a hand. His beer and spirits are legendary. Hopefully you will find this information useful on your path to adventure. Once again, congratulations, and good luck!\n~The Quartermaster") +end \ No newline at end of file diff --git a/Lua/ItemScripts/ATwitchingCrabClaw.lua b/Lua/ItemScripts/ATwitchingCrabClaw.lua new file mode 100755 index 000000000..269fae67b --- /dev/null +++ b/Lua/ItemScripts/ATwitchingCrabClaw.lua @@ -0,0 +1,6 @@ +local QUEST = 385 +function examined(Item, Player) + if CanReceiveQuest(Player, QUEST) + then OfferQuest(NPC, Player, QUEST) +end +end \ No newline at end of file diff --git a/Lua/ItemScripts/AyrDalLanguagePrimer.lua b/Lua/ItemScripts/AyrDalLanguagePrimer.lua new file mode 100755 index 000000000..d61af2960 --- /dev/null +++ b/Lua/ItemScripts/AyrDalLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Ayr'Dal Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn,7) then + AddLanguage(Spawn, 7) + SendMessage(Spawn, "Ayr'Dal", "White") + RemoveItem(Spawn, 901) + end + + end \ No newline at end of file diff --git a/Lua/ItemScripts/BetaVoucher.lua b/Lua/ItemScripts/BetaVoucher.lua new file mode 100755 index 000000000..e69de29bb diff --git a/Lua/ItemScripts/Bogchild's_Iced_Trap.lua b/Lua/ItemScripts/Bogchild's_Iced_Trap.lua new file mode 100755 index 000000000..ff00b76f5 --- /dev/null +++ b/Lua/ItemScripts/Bogchild's_Iced_Trap.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : ItemScripts/Bogchild's_Iced_Trap.lua + Script Purpose : Handles the item "Bogchild's Iced Trap" + Script Author : theFoof + Script Date : 2013.5.20 + Script Notes : +--]] +function used(Item, Player) + target = GetTarget(Player) + if GetName(target) == 'a snowpack' or GetName(target) == 'an iceflow' then + if IsInCombat(target) then + SendMessage(Player, "You can only use this on an iceflow or snowpack that is not currently engaged in combat.", "yellow") + else + CastEntityCommand(Player, target, 1274, "Bogchild's Iced Trap") + end + else + SendMessage(Player, "You can only use this on an iceflow or a snowpack.", "yellow") + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/BowlOfTerratrodderChuck.lua b/Lua/ItemScripts/BowlOfTerratrodderChuck.lua new file mode 100755 index 000000000..f3dccb2fb --- /dev/null +++ b/Lua/ItemScripts/BowlOfTerratrodderChuck.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : ItemScripts/BowlOfTerratrodderChuck.lua + Script Purpose : Handles the item "Bowl of Terratrodder Chuck" + Script Author : jakejp + Script Date : 6/10/2018 + Script Notes : +--]] + +local TerratrodderChuck = 45400 + +local AMindOfMyOwn = 294 + +function used(Item, Player) + if HasQuest(Player, AMindOfMyOwn) then + if GetZoneID(GetZone(Player)) == 108 then + + RemoveItem(Player, TerratrodderChuck) + local bucket = SpawnMob(GetZone(Player), 1081002, 1, GetX(Player), GetY(Player), GetZ(Player), GetHeading(Player)) + AddSpawnAccess(bucket, Player) + SetTempVariable(bucket, "PlayerPointer", Player) + end + end +end diff --git a/Lua/ItemScripts/BundleofSpiritWards.lua b/Lua/ItemScripts/BundleofSpiritWards.lua new file mode 100755 index 000000000..70fcf704e --- /dev/null +++ b/Lua/ItemScripts/BundleofSpiritWards.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : ItemScripts/BundleofSpiritsWards.lua + Script Purpose : for the quest item "Bundle of Spirits" + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] + +local CallingBack = 35 + +function used(Item, Player) + if HasQuest(Player, CallingBack) then + if GetZoneID(GetZone(Player)) == 470 then + local X = GetX(Player) + local Z = GetZ(Player) + if X >= 595 and X <= 605 then + if Z >= -268 and Z <= -258 then + SetStepComplete(Player, CallingBack, 4) + end + elseif X >= 576 and X <= 586 and Z >= -344 and Z <= -334 then + SetStepComplete(Player, CallingBack, 1) + elseif X >= 502 and X <= 512 then + if Z >= -238 and Z <= -228 then + SetStepComplete(Player, CallingBack, 2) + end + elseif X >= 579 and X <= 589 and Z >= -160 and Z <= -150 then + SetStepComplete(Player, CallingBack, 3) + elseif X >= 576 and X <= 586 and Z >= -217 and Z <= -207 then + SetStepComplete(Player, CallingBack, 5) + else + SendMessage(Player, "You cannot place a ward here.", "yellow") + end + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/CrustoseRepellentPrototype.lua b/Lua/ItemScripts/CrustoseRepellentPrototype.lua new file mode 100755 index 000000000..41b7fe205 --- /dev/null +++ b/Lua/ItemScripts/CrustoseRepellentPrototype.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : ItemScripts/CrustoseRepellentPrototype.lua + Script Purpose : Handles the item "crustose repellent prototype" + Script Author : theFoof + Script Date : 2013.5.12 + Script Notes : +--]] + +function used(Item, Player) + local target = GetTarget(Player) + if GetName(target) == "a crustose sporetender" then + CastEntityCommand(Player, target, 1269, "Spray") + elseif IsInCombat(target) and GetName(target) == "a crustose sporetender" then + SendMessage(Player, "This effect cannot be used on a crustose sporetender which is in combat.", "yellow") + elseif GetName(target) ~= "a crustose sporetender" then + SendMessage(Player, "You can only use the crustose repellent against crustose sporetenders.", "yellow") + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/Darkheart.lua b/Lua/ItemScripts/Darkheart.lua new file mode 100755 index 000000000..ca81bdac2 --- /dev/null +++ b/Lua/ItemScripts/Darkheart.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : ItemScripts/DarkHeart.lua + Script Purpose : Necromancer Darkheart(Summoned Item) + Script Author : Neatz09 + Script Date : 10/16/2019 + Script Notes : +--]] +local SPELLID = 5013 +local SPELL_TIERS = { [45872] = 1, [45870] = 2, [45871] = 3, [45874] = 4, [45869] = 5, [45873] = 7, [45875] = 9 } +function obtained(Item, Player) +end + +function removed(Item, Player) +end + +function destroyed(Item, Player) +end + +function examined(Item, Player) +end + +function used(Item, Player) +end + +function used(Item, Player) + local item_id = GetItemID(Item) + CastSpell(Player, SPELLID, SPELL_TIERS[item_id]) +end \ No newline at end of file diff --git a/Lua/ItemScripts/DisassembledStorageBox.lua b/Lua/ItemScripts/DisassembledStorageBox.lua new file mode 100755 index 000000000..0ac60e80a --- /dev/null +++ b/Lua/ItemScripts/DisassembledStorageBox.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : ItemScripts/DisassembledStorageBox.lua + Script Purpose : Harvest Storage Bank Box + Script Author : Ememjr + Script Date : 2017.03.30 + Script Notes : +--]] + + + +function examined(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Assemble the Storage box.","Unpack") + AddConversationOption(conversation, "Put Storage Box away.") + StartDialogConversation(conversation, 2, Item, Player, "Be sure you are near a bank as the assembled Storage Box is Heavy.") +end +function Unpack(Item, Player) + SummonItem(Player,20731,1) + if HasItem(Player, 22227) then + RemoveItem(Player, 22227) + end + CloseItemConversation(Item,Player) +end \ No newline at end of file diff --git a/Lua/ItemScripts/DrawingRay.lua b/Lua/ItemScripts/DrawingRay.lua new file mode 100755 index 000000000..d66962682 --- /dev/null +++ b/Lua/ItemScripts/DrawingRay.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : ItemScripts/DrawingRay.lua + Script Purpose : Drawing Ray + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local CAVES_CONSUL_BREE_QUEST_3 = 225 + +function used(Item, Player) + if HasQuest(Player, CAVES_CONSUL_BREE_QUEST_3) and not QuestStepIsComplete(Player, CAVES_CONSUL_BREE_QUEST_3, 4) then + spawn = GetTarget(Player) + if spawn ~= nil then + + -- river behemoth remains + if GetSpawnID(spawn) == 1970147 then + AddPrimaryEntityCommand(Player, spawn, "Remove River Stone") + else + SendMessage(Player, "The Drawing Ray has no effect. Emma said it must be used on the remains of a river behemoth.") + end + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/DwarvenLanguagePrimer.lua b/Lua/ItemScripts/DwarvenLanguagePrimer.lua new file mode 100755 index 000000000..c8ba747e6 --- /dev/null +++ b/Lua/ItemScripts/DwarvenLanguagePrimer.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Dwarven Language Primer + Script Purpose : + Script Author : + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn,3) then + AddLanguage(Spawn, 3) + SendMessage(Spawn, "Dwarven", "White") + RemoveItem(Spawn, 900) + end + + end + \ No newline at end of file diff --git a/Lua/ItemScripts/ErudianLanguagePrimer.lua b/Lua/ItemScripts/ErudianLanguagePrimer.lua new file mode 100755 index 000000000..bb23a5196 --- /dev/null +++ b/Lua/ItemScripts/ErudianLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Erudian Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn,4) then + AddLanguage(Spawn, 4) + SendMessage(Spawn, "Erudian", "White") + RemoveItem(Spawn, 909) +end + +end \ No newline at end of file diff --git a/Lua/ItemScripts/FabricPatch.lua b/Lua/ItemScripts/FabricPatch.lua new file mode 100755 index 000000000..dd77725ce --- /dev/null +++ b/Lua/ItemScripts/FabricPatch.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : ItemScripts/FabricPatch.lua + Script Purpose : Offers and updates the language quest, "The Patchwork Tapestry" + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +local LANGUAGE_QUEST = 299 + +function examined(Item, Player) + if not HasQuest(Player, LANGUAGE_QUEST) and not HasCompletedQuest(Player, LANGUAGE_QUEST) then + OfferQuest(nil, Player, LANGUAGE_QUEST) + + -- Fabric Patch + if HasItem(Player, 6079) then + RemoveItem(Player, 6079) + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/FeirDalLanguagePrimer.lua b/Lua/ItemScripts/FeirDalLanguagePrimer.lua new file mode 100755 index 000000000..9510ce5ea --- /dev/null +++ b/Lua/ItemScripts/FeirDalLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Feir'Dal Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn,16) then + AddLanguage(Spawn, 16) + SendMessage(Spawn, "Feir'Dal", "White") + RemoveItem(Spawn, 902) +end + +end \ No newline at end of file diff --git a/Lua/ItemScripts/FireworkConfettiShower.lua b/Lua/ItemScripts/FireworkConfettiShower.lua new file mode 100755 index 000000000..ccbb30430 --- /dev/null +++ b/Lua/ItemScripts/FireworkConfettiShower.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/FireworkConfettiShower.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] +function used(Item, Player) +CastSpell(Player, 5005, 1) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/FireworkPrismaticBurst.lua b/Lua/ItemScripts/FireworkPrismaticBurst.lua new file mode 100755 index 000000000..85f6b9d8a --- /dev/null +++ b/Lua/ItemScripts/FireworkPrismaticBurst.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/FireworkPrismaticBurst.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] +function used(Item, Player) +CastSpell(Player, 5006, 1) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/FireworkRosePetalShower.lua b/Lua/ItemScripts/FireworkRosePetalShower.lua new file mode 100755 index 000000000..13173eb13 --- /dev/null +++ b/Lua/ItemScripts/FireworkRosePetalShower.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/FireworkRosePetalShower.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] +function used(Item, Player) +CastSpell(Player, 5007, 1) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/FireworkSwirlingSnowflakes.lua b/Lua/ItemScripts/FireworkSwirlingSnowflakes.lua new file mode 100755 index 000000000..efdb02de0 --- /dev/null +++ b/Lua/ItemScripts/FireworkSwirlingSnowflakes.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/SwirlingSnowflakes.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] +function used(Item, Player) +CastSpell(Player, 5008, 1) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/FoldingStand.lua b/Lua/ItemScripts/FoldingStand.lua new file mode 100755 index 000000000..486dbce1a --- /dev/null +++ b/Lua/ItemScripts/FoldingStand.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : ItemScripts/FoldingStand.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/15/2018 + Script Notes : +--]] + +-- Quest ID's +local CONFRONTATION = 321 + +-- Item ID's +local FOLDING_STAND = 7379 + +function examined(Item, Player) + if HasQuest(Player, CONFRONTATION) and GetQuestStep(Player, CONFRONTATION) == 2 then + -- check distance to target location first + local con = CreateConversation() + + AddConversationOption(con, "Place the stand.", "PlaceStand") + StartDialogConversation(con, 2, Item, Player, "This is the folding stand on which you will place the Soul Spike in order to destroy it.") + end +end + +function PlaceStand(Item, Player) + local con = CreateConversation() + + SpawnMob(GetZone(Player), 2340126, false, GetX(Player), GetY(Player), GetZ(Player), GetHeading(Player)) + + AddConversationOption(con, "Step back from the stand.", "StepBack") + StartDialogConversation(con, 2, Item, Player, "You place the stand on the ground.") +end + +function StepBack(Item, Player) + CloseItemConversation(Item, Player) + + while HasItem(Player, FOLDING_STAND, 1) do + RemoveItem(Player, FOLDING_STAND) + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/FriendlyGazerRunt.lua b/Lua/ItemScripts/FriendlyGazerRunt.lua new file mode 100755 index 000000000..bb31c4e6d --- /dev/null +++ b/Lua/ItemScripts/FriendlyGazerRunt.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : ItemScripts/FriendlyGazerRunt.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 9.9.2019 + Script Notes : +--]] + +function used(Item, Player) +CastSpell(Player, 8337, 5) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/FrondensFinest.lua b/Lua/ItemScripts/FrondensFinest.lua new file mode 100755 index 000000000..7d379912d --- /dev/null +++ b/Lua/ItemScripts/FrondensFinest.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : ItemScripts/FrondensFinest.lua + Script Purpose : for the item "Fronden's Finest" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : +--]] +local PouringSkellies = 40 + +function used(Item, Player) + target = GetTarget(Player) + if GetName(target) == "pile of Ry'Gorr bones" then + if GetQuestStep(Player, PouringSkellies) == 1 then + if not IsInCombat(Player) then + CastEntityCommand(Player, target, 1281, "pour one out") + else + SendMessage(Player, "You must not be in combat to use this.", "yellow") + end + end + else + SendMessage(Player, "You must find a pile of Ry'Gorr bones to use this on.", "yellow") + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/GeldranisVial.lua b/Lua/ItemScripts/GeldranisVial.lua new file mode 100755 index 000000000..2c41fe878 --- /dev/null +++ b/Lua/ItemScripts/GeldranisVial.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : ItemScripts/GeldranisVial.lua + Script Purpose : Handles the item "Geldrani's Vial" + Script Author : jakejp + Script Date : 2018.6.14 + Script Notes : +--]] + +local EmptyVial = 46457 +local FilledVial = 7641 +local AStrangeMix = 314 + +function used(Item, Player) + if GetQuestStep(Player, AStrangeMix) == 1 then + local X = GetX(Player) + local Z = GetZ(Player) + if GetZoneID(GetZone(Player)) == 108 then + if X < 15 and X > -17 then --setting radius to update the quest "Boatload of Work" + if Z > 558 and Z < 581 then + SetStepComplete(Player, AStrangeMix, 1) + RemoveItem(Player, EmptyVial) + if HasItem(Player, FilledVial) == false then + SummonItem(Player, FilledVial, 1) + end + else + SendMessage(Player, "You are not in the proper spot to use this.", "yellow") + end + else + SendMessage(Player, "You are not in the proper spot to use this.", "yellow") + end + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/GerlasElementalLullaby.lua b/Lua/ItemScripts/GerlasElementalLullaby.lua new file mode 100755 index 000000000..626f429b8 --- /dev/null +++ b/Lua/ItemScripts/GerlasElementalLullaby.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : ItemScripts/GerlasElementalLullaby.lua + Script Purpose : for the item "Gerla's Elemental Lullaby" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local NapEvigis = 64 + +function used(Item, Player) + local target = GetTarget(Player) + if GetQuestStep(Player, NapEvigis) == 1 then + if GetName(target) == 'Evigis the Ancient' then + if GetHP(target) < GetMaxHP(target) * .2 then + CastEntityCommand(Player, target, 1291, "Gerla's Elemental Lullaby") + else + SendMessage(Player, "You must use this on Evigis when it is under 20 percent life.", "yellow") + end + else + SendMessage(Player, "You must use this on Evigis when it is under 20 percent life.", "yellow") + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/GnomishLanguagePrimer.lua b/Lua/ItemScripts/GnomishLanguagePrimer.lua new file mode 100755 index 000000000..5dac2b60e --- /dev/null +++ b/Lua/ItemScripts/GnomishLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Gnomish Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn,6) then + AddLanguage(Spawn, 6) + SendMessage(Spawn, "Gnomish", "White") + RemoveItem(Spawn, 903) +end + +end \ No newline at end of file diff --git a/Lua/ItemScripts/Griz.lua b/Lua/ItemScripts/Griz.lua new file mode 100755 index 000000000..365a7ef92 --- /dev/null +++ b/Lua/ItemScripts/Griz.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : ItemScripts/Griz.lua + Script Purpose : the item Griz + Script Author : theFoof + Script Date : 2013.8.26 + Script Notes : +--]] +local SometimesKnut = 84 + +function GrizChat1_1(Item, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I will never doubt him again.") + StartDialogConversation(conversation, 4, Item, Spawn, "Yes. Griz real. Knut's friend.") +end + +function GrizChat2_1(Item, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 2 then + SetStepComplete(Spawn, SometimesKnut, 2) + AddSpawnAccess(GetSpawnByLocationID(Zone, 579551), Spawn) + end + if GetQuestStep(Spawn, SometimesKnut) == 2 or GetQuestStep(Spawn, SometimesKnut) == 3 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "I don't think it has guts.") + AddConversationOption(conversation, "All right, I'm doing it!") + StartDialogConversation(conversation, 4, Item, Spawn, "Grrrrrrrrrrr. I said strike! Claw it to bits! Tear it open, and spell its guts upon the ice!") + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/Guestroomkey01.lua b/Lua/ItemScripts/Guestroomkey01.lua new file mode 100755 index 000000000..e481381f4 --- /dev/null +++ b/Lua/ItemScripts/Guestroomkey01.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : ItemScripts/Guestroomkey01.lua + Script Purpose : + Script Author : smash + Script Date : 1/27/2016 + Script Notes : +--]] + +function examined(Item, Player) + if HasQuest(Player, 173) and GetQuestStep(Player, 173) == 2 then + SetStepComplete(Player, 173, 2) + RemoveItem(Player, 7979) + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/GuktanLanguagePrimer.lua b/Lua/ItemScripts/GuktanLanguagePrimer.lua new file mode 100755 index 000000000..85d5c043a --- /dev/null +++ b/Lua/ItemScripts/GuktanLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Gukish Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn, 5) then + AddLanguage(Spawn, 5) + SendMessage(Spawn, "Gukish", "White") + RemoveItem(Spawn, 906) +end + +end \ No newline at end of file diff --git a/Lua/ItemScripts/HalasianLanguagePrimer.lua b/Lua/ItemScripts/HalasianLanguagePrimer.lua new file mode 100755 index 000000000..f0d6ccf59 --- /dev/null +++ b/Lua/ItemScripts/HalasianLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Halasian Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn,1) then + AddLanguage(Spawn, 1) + SendMessage(Spawn, "Halasian", "White") + RemoveItem(Spawn, 907) +end + +end \ No newline at end of file diff --git a/Lua/ItemScripts/HawkBait.lua b/Lua/ItemScripts/HawkBait.lua new file mode 100755 index 000000000..3624a0368 --- /dev/null +++ b/Lua/ItemScripts/HawkBait.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : ItemScripts/HawkBait.lua + Script Purpose : Hawk Bait used in Preventative Maintenance Quest + Script Author : Cynnar + Script Date : 10/15/2018 + Script Notes : +--]] + +local Hawk_Bait = 8060 +local Preventative_Maintenance = 365 +local a_mole_rat = 2780089 + +function examined(Item, Player) + if HasQuest(Player, Preventative_Maintenance) then + if GetQuestStep(Player, Preventative_Maintenance) == 4 then + conversation = CreateConversation() + AddConversationOption(conversation, "Release the mole rat.", "ReleaseRat") + AddConversationOption(conversation, "Let him be for now.", "LetHimBe") + StartDialogConversation(conversation, 2, Item, Player, "This cute little guy would be perfect as bait to lure down the cliffdiver hawks.") + end + end +end + +function ReleaseRat(Item, Player) + CloseItemConversation(Item, Player) + SpawnMob(GetZone(Player), a_mole_rat, false, GetX(Player), GetY(Player), GetZ(Player), GetHeading(Player)) + RemoveItem(Player, Hawk_Bait) +end + +function LetHimBe(Item, Player) + CloseItemConversation(Item, Player) +end \ No newline at end of file diff --git a/Lua/ItemScripts/IcemaneLeash.lua b/Lua/ItemScripts/IcemaneLeash.lua new file mode 100755 index 000000000..0fec5d414 --- /dev/null +++ b/Lua/ItemScripts/IcemaneLeash.lua @@ -0,0 +1,11 @@ +local IcemanesCometh = 18 +function used(Item, Player) + if GetQuestStep(Player, IcemanesCometh) == 1 then + target = GetTarget(Player) + if GetName(target) == 'an icemane cub' then + if not IsInCombat(target) then + CastEntityCommand(Player, target, 1278, "Leash") + end + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/KerranLanguangePrimer.lua b/Lua/ItemScripts/KerranLanguangePrimer.lua new file mode 100755 index 000000000..e5d1f3a45 --- /dev/null +++ b/Lua/ItemScripts/KerranLanguangePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Kerran Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn, 13) then + AddLanguage(Spawn, 13) + SendMessage(Spawn, "Kerran", "White") + RemoveItem(Spawn, 908) +end + +end \ No newline at end of file diff --git a/Lua/ItemScripts/KoadaDalLanguagePrimer.lua b/Lua/ItemScripts/KoadaDalLanguagePrimer.lua new file mode 100755 index 000000000..ecc1f8f3f --- /dev/null +++ b/Lua/ItemScripts/KoadaDalLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Koada'Dal Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) +if not HasLanguage(Spawn,9) then + AddLanguage(Spawn, 9) + SendMessage(Spawn, "Koada'Dal", "White") + RemoveItem(Spawn, 905) +end + +end \ No newline at end of file diff --git a/Lua/ItemScripts/LaserGoggles.lua b/Lua/ItemScripts/LaserGoggles.lua new file mode 100755 index 000000000..00262bd72 --- /dev/null +++ b/Lua/ItemScripts/LaserGoggles.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : ItemScripts/LaserGoggles.lua + Script Purpose : + Script Author : fearfx + Script Date : 6/15/2016 + Script Notes : +--]] +function used(Item, Player) + local target = GetTarget(Player) + if target ~= nil and IsEntity(target) then + local encounter = GetEncounter(target) + if encounter ~= nil then + doDamage(Player, target, damage) + else + doDamage(Player, target, damage) + end + end +end + +function doDamage(Player, Target, damage) + local damage = math.floor(((GetHP(Target) / 100) * 50) + GetHP(Target)) + ProcDamage(Player, Target, " Dev AE Slay", 4, damage) +end \ No newline at end of file diff --git a/Lua/ItemScripts/MakeshiftBarricade.lua b/Lua/ItemScripts/MakeshiftBarricade.lua new file mode 100755 index 000000000..ea26e7dee --- /dev/null +++ b/Lua/ItemScripts/MakeshiftBarricade.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : ItemScripts/MakeshiftBarricade.lua + Script Purpose : Handles the item "makeshift barricade" + Script Author : theFoof + Script Date : 2013.5.7 + Script Notes : +--]] + +local Barricade = 46842 +local BoatloadWork = 4 + +function used(Item, Player) + if GetQuestStep(Player, BoatloadWork) == 3 then + local X = GetX(Player) + local Z = GetZ(Player) + if GetZoneID(GetZone(Player)) == 470 then + if X > -326 and X < -306 then --setting radius to update the quest "Boatload of Work" + if Z < -704 and Z > -724 then + SetStepComplete(Player, BoatloadWork, 3) + RemoveItem(Player, Barricade) + local barrier_spawn = GetSpawn(Player, 4701732) + AddSpawnAccess(barrier_spawn, Player) + else + SendMessage(Player, "You must be between the two torches along the barricade line on Pilgrims' Landing to use this.", "yellow") + end + else + SendMessage(Player, "You must be between the two torches along the barricade line on Pilgrims' Landing to use this.", "yellow") + end + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/MavsStone.lua b/Lua/ItemScripts/MavsStone.lua new file mode 100755 index 000000000..1cbe86bce --- /dev/null +++ b/Lua/ItemScripts/MavsStone.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : ItemScripts/MavsStone.lua + Script Purpose : Mav's Stone + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local DWARF_MENTOR_QUEST_4 = 287 + +function examined(Item, Player) + conversation = CreateConversation() + if HasQuest(Player, DWARF_MENTOR_QUEST_4) then + local x1 = GetX(Player) + local y1 = GetY(Player) + local z1 = GetZ(Player) + local x2 = 897.01 + local y2 = -22.31 + local z2 = -113.83 + local x = x2 - x1 --math.Pow(x2 - x1, 2) + x = x * x + local y =y2 - y1 -- math.pow(y2 - y1, 2) + y = y * y + local z = z2 - z1 -- math.pow(z2 - z1, 2) + z = z * z + local distance = math.sqrt((x + y + z)) + if distance <= 10.0 then + AddConversationOption(conversation, "Hold the stone in your hand and focus on it.", "HoldStone") + end + end + AddConversationOption(conversation, "Put the stone away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "The stone is cold and rough, your instincts tell you it would be a good stone for building.") +end + +function HoldStone(Item, Player) + if GetQuestStep(Player, DWARF_MENTOR_QUEST_4) == 1 then + SetStepComplete(Player, DWARF_MENTOR_QUEST_4, 1) + end + + conversation = CreateConversation() + AddConversationOption(conversation, "Put the stone away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "When you focus on the stone there is an almost audible sense of hammers and chisels working at stone, carts moving back and forth, and a low hum of an ancient dwarven work song.") +end diff --git a/Lua/ItemScripts/NeezersQuestions.lua b/Lua/ItemScripts/NeezersQuestions.lua new file mode 100755 index 000000000..4ab6b3af4 --- /dev/null +++ b/Lua/ItemScripts/NeezersQuestions.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : ItemScripts/NeezersQuestions.lua + Script Purpose : Neezer's Questions + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local NEEZERS_SURVEY = 330 -- was 28 + +function examined(Item, Player) + if HasQuest(Player, NEEZERS_SURVEY) and GetQuestStep(Player, NEEZERS_SURVEY) == 1 then + SetStepComplete(Player, NEEZERS_SURVEY, 1) + end + + conversation = CreateConversation() + AddConversationOption(conversation, "Continue Reading", "ContinueReading") + AddConversationOption(conversation, "Put note away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "It is very important these questions be asked in order and that none of them are skipped. Again, please remember the FIRST word in each person's answer.\n\nQuestion 1: If you were to calibrate a Fizzo Torque Wrench for work in Lavastorm and then attempt precisely the same in Everfrost what difference of calibration would be needed?\n\nQuestion 2: What is the average measurement between Keen and Preen on a Spectromatic Nest-Druther?\n\nQuestion 3: If given a choice in a vote for the new Queen of Qeynos, would you cast your vote for a nut or a bolt?") +end + +function ContinueReading(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Put note away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "Question 4: Though not yet officially proven, which theory concerning thermodynamic particle acceleration and its correlation to metaphysical tides is widely accepted?\n\nQuestion 5: Isn't Neezer Grund amazing?\n\nQuestion 6: The Banton particle is supposed to generate high amounts of what?") +end \ No newline at end of file diff --git a/Lua/ItemScripts/OverflowManifest.lua b/Lua/ItemScripts/OverflowManifest.lua new file mode 100755 index 000000000..89c96fdfb --- /dev/null +++ b/Lua/ItemScripts/OverflowManifest.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Items/OverflowManifest.lua + Script Purpose : Overflow Manifest + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local BARBARIAN_MENTOR_QUEST_2 = 290 + +function examined(Item, Player) + if HasQuest(Player, BARBARIAN_MENTOR_QUEST_2) and GetQuestStep(Player, BARBARIAN_MENTOR_QUEST_2) == 1 then + SetStepComplete(Player, BARBARIAN_MENTOR_QUEST_2, 1) + end + + conversation = CreateConversation() + AddConversationOption(conversation, "Put the manifest away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "Overflow Manifest: Graystone Yard\n#3CF0F: Under the small ramp east of the docks.\n#3CF1G: Leaning against the north-wall just east of the docks, near Tacklmaster Moyna.\n#2DF0F: Just north of the most north-eastern building in Graystone, off the lip of the raised platform. #4QGCG: Along the eastern wall, behind the Scribe's shop.\n#CC4QF: Just west of the harbor entrance, near the Mail Kiosk and Bowyer.\n#CQC4F: Outside the bank and its western corner, piled between the raised platform and the wall.") +end diff --git a/Lua/ItemScripts/ParchmentScrap.lua b/Lua/ItemScripts/ParchmentScrap.lua new file mode 100755 index 000000000..9104df14f --- /dev/null +++ b/Lua/ItemScripts/ParchmentScrap.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : ItemScripts/ParchmentScrap.lua + Script Purpose : Handles the quest item "Parchment Scrap (right-click this item to Examine it)" (10317) + Script Author : Jabantiz + Script Date : 9/8/2016 + Script Notes : +--]] + +local Tainted = 183 + +function examined(Item, Player) + local con = CreateConversation() + + if HasQuest(Player, Tainted) then + if GetQuestStep(Player, Tainted) == 2 then + AddConversationOption(con, "Examine the parchment.", "Examine") + elseif GetQuestStep(Player, Tainted) == 4 then + AddConversationOption(con, "Put together the parchment pieces.", "PutTogether") + elseif GetQuestStep(Player, Tainted) == 7 then + AddConversationOption(con, "Piece together the parchment.", "PieceTogether") + end + end + + AddConversationOption(con, "Put the parchment away.", "CloseItemConversation") + StartDialogConversation(con, 2, Item, Player, "The edges of the parchment are torn and jagged as though ripped from a much larger document.") +end + +function Examine(Item, Player) + SetStepComplete(Player, Tainted, 2) + + local con = CreateConversation(); + + AddConversationOption(con, "Put the parchment away.", "CloseItemConversation") + StartDialogConversation(con, 2, Item, Player, 'You can barely make out some writing on this scrap: "The toxic crawlers will be useful to cover our ... the totem ..." The reference to a totem is puzzling. Why would someone want a totem covered in spiders? There must be more pieces of this parchment amongst the toxic crawlers.') +end + +function PutTogether(Item, Player) + local con = CreateConversation() + + AddConversationOption(con, "Roll the parchment up.", "RollUp") + StartDialogConversation(con, 2, Item, Player, "You line up the parchment pieces. The newest piece adds enough new words that you can read: ''The toxic crawlers will be useful to cover our tracks. Leave the totem in the eastern rocks...'' Apparently Deianeira's concern about the spiders is well-placed, though not for the reasons she thinks. I must find more of this parchment to learn what this totem means.") +end + +function RollUp(Item, Player) + local con = CreateConversation() + + AddConversationOption(con, "Put the parchment away.", "CloseItemConversation") + StartDialogConversation(con, 2, Item, Player, "You carefully roll the parchment and stow it away.") + + if GetQuestStep(Player, Tainted) == 4 then + SetStepComplete(Player, Tainted, 4) + elseif GetQuestStep(Player, Tainted) == 7 then + SetStepComplete(Player, Tainted, 7) + end +end + +function PieceTogether(Item, Player) + local con = CreateConversation() + + AddConversationOption(con, "Roll the parchment up.", "RollUp") + StartDialogConversation(con, 2, Item, Player, "The last bit of parchment was caught on the web near the large pile of rocks. You piece it together and read: ''The toxic crawlers will be useful to cover our tracks. Leave the totem in the eastern rocks beneath Direspike.'' Direspike must be a tainted spider with greater power. You realize you may have to flush him from his lair by picking off the nearby spiders until he appears to meet your challenge.") +end \ No newline at end of file diff --git a/Lua/ItemScripts/Poultice.lua b/Lua/ItemScripts/Poultice.lua new file mode 100755 index 000000000..bae66047a --- /dev/null +++ b/Lua/ItemScripts/Poultice.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : ItemScripts/Poultice.lua + Script Purpose : for the item "Poultice" + Script Author : theFoof + Script Date : 2013.6.3 + Script Notes : +--]] + +local DisarmingRyGorr = 48 + +function used(Item, Player) + if GetQuestStep(Player, DisarmingRyGorr) == 1 then + local target = GetTarget(Player) + if GetName(target) == "a Ry'Gorr weapon" then + CastEntityCommand(Player, target, 1284, "Poultice") + end + else + SendMessage(Player, "You can only use this on a Ry'Gorr weapon.", "yellow") + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/PrankPreparednessKit.lua b/Lua/ItemScripts/PrankPreparednessKit.lua new file mode 100755 index 000000000..7cc62cb18 --- /dev/null +++ b/Lua/ItemScripts/PrankPreparednessKit.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : ItemScripts/PrankPreparednessKit.lua + Script Purpose : Prank Preparedness Kit + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Quest ID's +local HELPING_SOME_FRIENDS = 325 -- was 72 + +function examined(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Read instructions.", "ReadInstructions") + StartDialogConversation(conversation, 2, Item, Player, "Inside the Prank Preparedness Kit there are a couple of pies, a note written and signed by Remmy Tumbum, and some instructions from Rondo Roundstew.") +end + +function ReadInstructions(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Read the next page.", "NextPage") + StartDialogConversation(conversation, 2, Item, Player, "Greetings Pranked Preparedness Kit user. If you are reading this you have no doubt offered to help me in one of my amazing prank endeavors. Let me first give you my appreciation for helping me in such an effort. As you no doubt know I am a prankster of some infamy. Because of this, I am unable to perform pranks myself, as anyone I talk to suspects I'm pulling a prank on them (except you, and thank goodness for that).\nThe following pages have your targets and your instructions. The kit itself should hold all its materials.") +end + +function NextPage(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Read about the next target.", "NextTarget") + StartDialogConversation(conversation, 2, Item, Player, "Target: Drundo Parn\n\nSuspected Locations: Tavern\n\nReason for Prank: Drundo stole my pint! He stole my pint and replaced it with some other brew that turned my lips purple for a WEEK! He's a good trickster, he is. I've learned that he's horrible allergic to nuts, however!\n\nPrank: A non-spiced walnut pie could easily be injected with cream and topped with berry frosting and thus disguised. Drundo won't know what hit him, his face will be fatter than a lush's gut on payday!") +end + +function NextTarget(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Read about the next target.", "NextTarget2") + StartDialogConversation(conversation, 2, Item, Player, "Target: Jayla Midhop\n\nSuspected Location: Outside Armorer's Shop\n\nReason for Prank: Tricked me out of twenty silver pieces by using her charm on me! She may have beaten my wit face to face, but when backs are turned I'm betting she won't expect my comback!\n\nPrank: Jayla Midhop - I know she has a thing for Remmy Tumbum. I also know she has a thing for Marybelle's Meadowberry Pie. I ALSO know she does not welcome the advances of Bolo Brassharp. With a little help from Remmy--I know he'd be willing to write a fake note for me--I can set her up for a very uncomfortable situation.") +end + +function NextTarget2(Item, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Read the last page.", "LastPage") + StartDialogConversation(conversation, 2, Item, Player, "Target: Bolo Brassharp\n\nSuspected Location: Outside the Inn\n\nReason for Prank: This guy doesn't know how little everyone thinks of him. A prank won't change his opinion of himself, but if I'm lucky he'll want revenge and he'll be a fellow prankster for a time to come. At the very least everyone will get to laugh at him, which he most certainly deserves.\n\nPrank: Bolo Brassharp - I won't need to trick him into seeing Jayla. But her rejection alone isn't enough. Being rejected after both have had their fill of a Busselberry Bloat Pie will be MOST uncomfortable, however. Properly disguised, the bloat pie will loook just like a meadowberry pie.") +end + +function LastPage(Item, Player) + if HasQuest(Player, HELPING_SOME_FRIENDS) and GetQuestStep(Player, HELPING_SOME_FRIENDS) == 1 then + SetStepComplete(Player, HELPING_SOME_FRIENDS, 1) + end + + conversation = CreateConversation() + AddConversationOption(conversation, "Put the Prank Preparedness Kit away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "So there are the targets. Remember, do not let them suspect anything, and do not mention my name!\nGood luck,\nThe Prankster - R.R.") +end \ No newline at end of file diff --git a/Lua/ItemScripts/RyGorrExplosiveMiningBarrel.lua b/Lua/ItemScripts/RyGorrExplosiveMiningBarrel.lua new file mode 100755 index 000000000..c8f8096a2 --- /dev/null +++ b/Lua/ItemScripts/RyGorrExplosiveMiningBarrel.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : ItemScripts/RyGorrExplosiveMiningBarrel.lua + Script Purpose : for the item "Ry'Gorr Explosive Mining Barrel" + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function used(Item, Player) + if GetQuestStep(Player, RyGorrOperations) == 1 then + if GetZoneID(GetZone(Player)) == 470 then + local X = GetX(Player) + local Y = GetY(Player) + local Z = GetZ(Player) + if X > -20.27 and X < -10.27 then + if Y < -60 then + if Z > 150.07 and Z < 160.07 then + local barrel = SpawnByLocationID(GetZone(Player), 33980) + AddSpawnAccess(barrel, Player) + SetTempVariable(barrel, "player", Player) + RemoveItem(Player, 47881) + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/ShardofEssence.lua b/Lua/ItemScripts/ShardofEssence.lua new file mode 100755 index 000000000..d2967c1f8 --- /dev/null +++ b/Lua/ItemScripts/ShardofEssence.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : ItemScripts/ShardofEssence.lua + Script Purpose : Shard of Essence Conj(Summoned Item) + Script Author : Neatz09 + Script Date : 10/16/2019 + Script Notes : +--]] +local SPELLID = 5014 +local SPELL_TIERS = { [48003] = 1, [48004] = 2, [48005] = 3, [48010] = 4, [48002] = 5, [48009] = 7, [48012] = 9 } +function used(Item, Player) + local item_id = GetItemID(Item) + CastSpell(Player, SPELLID, SPELL_TIERS[item_id]) +end \ No newline at end of file diff --git a/Lua/ItemScripts/SilverTweezers.lua b/Lua/ItemScripts/SilverTweezers.lua new file mode 100755 index 000000000..3b4e3c414 --- /dev/null +++ b/Lua/ItemScripts/SilverTweezers.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : ItemScripts/SilverTweezers.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/23/2018 + Script Notes : +--]] + +function used(Item, Player) + local target = GetTarget(Player) + if target ~= nil then + local model = GetModelType(target) + if model == 81 or model == 82 or model == 91 or model == 93 or model == 94 or model == 95 or model == 96 or model == 97 or model == 98 or model == 99 or model == 100 or model == 101 or model == 102 then + CastSpell(target, 2550000, 1, Player) + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/SpiritReaper.lua b/Lua/ItemScripts/SpiritReaper.lua new file mode 100755 index 000000000..8b8455a55 --- /dev/null +++ b/Lua/ItemScripts/SpiritReaper.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : ItemScripts/SpiritReaper.lua + Script Purpose : Spirit Reaper used in quest "Reaping" + Script Author : Cynnar + Script Date : 1/4/2016 + Script Notes : Spirit Reaper (Item ID = 48173) Reaping (quest ID = 152) +--]] + +local Reaping = 152 + +function used(Item, Player) + if GetQuestStep(Player, Reaping) == 1 then + target = GetTarget(Player) + if GetName(target) == 'a pure spirit' then + CastEntityCommand(Player, target, 1312, "Reap") + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/StoutLanguagePrimer.lua b/Lua/ItemScripts/StoutLanguagePrimer.lua new file mode 100755 index 000000000..373d9d9a2 --- /dev/null +++ b/Lua/ItemScripts/StoutLanguagePrimer.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Stout Language Primer + Script Purpose : + Script Author : Neatz09 + Script Date : 1/18/2019 + Script Notes : +--]] + +function obtained(Item, Spawn) + if not HasLanguage(Spawn,8) then + AddLanguage(Spawn, 8) + SendMessage(Spawn, "Stout", "White") + RemoveItem(Spawn, 904) +end + +end diff --git a/Lua/ItemScripts/T1Pickles.lua b/Lua/ItemScripts/T1Pickles.lua new file mode 100755 index 000000000..71f5a1d8c --- /dev/null +++ b/Lua/ItemScripts/T1Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T1Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 1) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/T2Pickles.lua b/Lua/ItemScripts/T2Pickles.lua new file mode 100755 index 000000000..9adaddf86 --- /dev/null +++ b/Lua/ItemScripts/T2Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T2Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 2) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/T3Pickles.lua b/Lua/ItemScripts/T3Pickles.lua new file mode 100755 index 000000000..8e40d6f9c --- /dev/null +++ b/Lua/ItemScripts/T3Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T3Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 3) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/T4Pickles.lua b/Lua/ItemScripts/T4Pickles.lua new file mode 100755 index 000000000..616dd3d63 --- /dev/null +++ b/Lua/ItemScripts/T4Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T4Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 4) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/T5Pickles.lua b/Lua/ItemScripts/T5Pickles.lua new file mode 100755 index 000000000..484656487 --- /dev/null +++ b/Lua/ItemScripts/T5Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T5Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 5) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/T6Pickles.lua b/Lua/ItemScripts/T6Pickles.lua new file mode 100755 index 000000000..81b373fd5 --- /dev/null +++ b/Lua/ItemScripts/T6Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T6Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 6) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/T7Pickles.lua b/Lua/ItemScripts/T7Pickles.lua new file mode 100755 index 000000000..a8300fde7 --- /dev/null +++ b/Lua/ItemScripts/T7Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T7Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 7) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/T8Pickles.lua b/Lua/ItemScripts/T8Pickles.lua new file mode 100755 index 000000000..d7c4002f2 --- /dev/null +++ b/Lua/ItemScripts/T8Pickles.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/T8Pickles.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.21.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5011, 8) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/UrnFilledWithAshes.lua b/Lua/ItemScripts/UrnFilledWithAshes.lua new file mode 100755 index 000000000..5a4ca6962 --- /dev/null +++ b/Lua/ItemScripts/UrnFilledWithAshes.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : ItemScripts/UrnFilledWithAshes.lua + Script Purpose : for the item "Urn Filled with Ashes" + Script Author : theFoof + Script Date : 2013.5.27 + Script Notes : +--]] +local ScatteringAshes = 33 + +function used(Item, Player) + local X = GetX(Player) + local Y = GetY(Player) + local Z = GetZ(Player) + if GetZoneID(GetZone(Player)) == 470 then + if not IsInCombat(Player) then + if X >= 587 and X <= 627 then + if Y >= 61.2 and Y <= 71.2 then + if Z >= -526 and Z <= -486 then + SetStepComplete(Player, ScatteringAshes, 1) + else + LocMessage(Item, Player) + end + else + LocMessage(Item, Player) + end + else + LocMessage(Item, Player) + end + else + SendPopUpMessage(Player, "Non-Combat only", 0, 0, 255) + end + end +end + +function LocMessage(Item, Player) + SendMessage(Player, "The ashes must be released at the peak of the cliff to the east of Herga's Choke.", "yellow") +end \ No newline at end of file diff --git a/Lua/ItemScripts/WaterFlask.lua b/Lua/ItemScripts/WaterFlask.lua new file mode 100755 index 000000000..6a8ccb9c4 --- /dev/null +++ b/Lua/ItemScripts/WaterFlask.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : ItemScripts/WaterFlask.lua + Script Purpose : Water Flask + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_1 = 223 + +function examined(Item, Player) + conversation = CreateConversation() + if HasQuest(Player, HIGH_ELF_MENTOR_QUEST_1) and not QuestStepIsComplete(Player, HIGH_ELF_MENTOR_QUEST_1, 2) then + local fountain = GetSpawn(Player, 2360073) + if fountain ~= nil and GetDistance(Player, fountain) < 10 then + AddConversationOption(conversation, "Fill the flask.", "FillFlask") + end + end + AddConversationOption(conversation, "Put the flask away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "This is the flask of water that Vindain has asked you to fill with blessed water from the Fountain of Valor.") +end + +function FillFlask(Item, Player) + SetStepComplete(Player, HIGH_ELF_MENTOR_QUEST_1, 2) + + conversation = CreateConversation() + AddConversationOption(conversation, "Put the flask away.", "CloseItemConversation") + StartDialogConversation(conversation, 2, Item, Player, "You dip the flask into the fountain and fill it with some blessed water.") +end diff --git a/Lua/ItemScripts/WorthlessBronzeStatuette.lua b/Lua/ItemScripts/WorthlessBronzeStatuette.lua new file mode 100755 index 000000000..b4f13a4af --- /dev/null +++ b/Lua/ItemScripts/WorthlessBronzeStatuette.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : ItemScripts/WorthlessBronzeStatuette.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/15/2018 + Script Notes : +--]] + +-- Quest ID's +local INFORMATION_MERCHANTS = 318 + +function examined(Item, Player) + if HasQuest(Player, INFORMATION_MERCHANTS) and GetQuestStep(Player, INFORMATION_MERCHANTS) == 2 then + local con = CreateConversation() + + AddConversationOption(con, "Attempt to separate the halves.", "SeperateHalves") + StartDialogConversation(con, 2, Item, Player, "The statuette is dull and scratched. Any sheen it may have had is presently gone. There is a barely visible seam encircling the waist of the statuette as if the upper and lower halves were originally separate.") + end +end + +function SeperateHalves(Item, Player) + local con = CreateConversation() + + AddConversationOption(con, "Read the note.", "ReadNote") + StartDialogConversation(con, 2, Item, Player, "With only a minor twist the two halves come apart. The statuette is hollow on the inside and within rests a note.") +end + +function ReadNote(Item, Player) + SetStepComplete(Player, INFORMATION_MERCHANTS, 2) + local con = CreateConversation() + + AddConversationOption(con, "Put the note back in the statuette.", "CloseItemConversation") + StartDialogConversation(con, 2, Item, Player, "The note reads:\n\nClient-\n\nWe encountered your gray before you mentioned him, so it wasn't hard finding him. Once we got your request we stuck someone to him. You were right, he had something to hide. Some sort of package or crate or something. He must've thought he was being followed because he dumped it in the water in South Qeynos. We don't know what was in it but it's probably three feet deep in the mud in the Peat Bog by now, if you want us to go after that it'll cost you.") +end \ No newline at end of file diff --git a/Lua/ItemScripts/aNeriakrecruitbadge.lua b/Lua/ItemScripts/aNeriakrecruitbadge.lua new file mode 100755 index 000000000..e050ed58c --- /dev/null +++ b/Lua/ItemScripts/aNeriakrecruitbadge.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : ItemScripts/ANeriakRecruitBadge.lua + Script Purpose : a Neriak recruit badge used in quest "A Guard Insignia?" + Script Author : Cynnar + Script Date : 1/4/2016 + Script Notes : a Neriak recruit badge (Item ID = 2333) A Guard Insignia? (quest ID = 152) + Script Notes : UPDATE `eq2world`.`items` SET `lua_script`='ItemScripts/ANeriakRecruitBadge.lua' WHERE `id`=2333; +--]] + +local AGuardInsignia =140 + +function examined(Item, Player) + OfferQuest(Player, Player, AGuardInsignia) +end \ No newline at end of file diff --git a/Lua/ItemScripts/a_locked_chest.lua b/Lua/ItemScripts/a_locked_chest.lua new file mode 100755 index 000000000..ee8a120c8 --- /dev/null +++ b/Lua/ItemScripts/a_locked_chest.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : ItemScripts/a_locked_chest.lua + Script Purpose : + Script Author : Ememjr + Script Date : 2019-10-07 + Script Notes : +--]] + +local quest = 480 + +function examined(Item, Player) + Say(Player, "item examined") + if not HasQuest(Player, quest) and not HasCompletedQuest(Player, quest) then + Say(Player, "offer quest") + OfferQuest(nil, Player, quest) + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/a_mystical_sphere.lua b/Lua/ItemScripts/a_mystical_sphere.lua new file mode 100755 index 000000000..e2fb1a308 --- /dev/null +++ b/Lua/ItemScripts/a_mystical_sphere.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : ItemScripts/a_mystical_sphere.lua + Script Purpose :Quest Stater for The Spirit's Release + Script Author : Ememjr + Script Date : 2019-10-07 + Script Notes : +--]] + +local quest = 481 +local itemID = 2304 +function examined(Item, Player) + Say(Player, "item examined") + if not HasQuest(Player, quest) and not HasCompletedQuest(Player, quest) then + OfferQuest(nil, Player, quest) + elseif HasQuest(Player, quest) and QuestStepIsComplete(Player, quest, 2) then + SetStepComplete(Player, quest, 2) + while HasItem(Player, itemID, 1) do + RemoveItem(Player, itemID) + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/abasicfirework.lua b/Lua/ItemScripts/abasicfirework.lua new file mode 100755 index 000000000..43d8f990f --- /dev/null +++ b/Lua/ItemScripts/abasicfirework.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/abasicfirework.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] +function used(Item, Player) +CastSpell(Player, 5003, 1) + +end diff --git a/Lua/ItemScripts/an_old_darkblade_dagger.lua b/Lua/ItemScripts/an_old_darkblade_dagger.lua new file mode 100755 index 000000000..cb3eed065 --- /dev/null +++ b/Lua/ItemScripts/an_old_darkblade_dagger.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : ItemScripts/an_old_darkblade_dagger.lua + Script Purpose :Quest Stater for The Darkblade Dagger + Script Author : Ememjr + Script Date : 2019-10-07 + Script Notes : +--]] + +local quest = 482 + +function examined(Item, Player) + if not HasQuest(Player, quest) and not HasCompletedQuest(Player, quest) then + OfferQuest(nil, Player, quest) + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/anoldnote.lua b/Lua/ItemScripts/anoldnote.lua new file mode 100755 index 000000000..5d9fccc6e --- /dev/null +++ b/Lua/ItemScripts/anoldnote.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : ItemScripts/anoldnote.lua + Script Purpose : + Script Author : Ememjr + Script Date : 2017.05.09 + Script Notes : +--]] + +local quest = 235 + +function examined(Item, Player) + if not HasQuest(Player, quest) and not HasCompletedQuest(Player, quest) then + OfferQuest(nil, Player, quest) + + --remove quest starter + if HasItem(Player, 3776) then + RemoveItem(Player, 3776) + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/awellspringcubleash.lua b/Lua/ItemScripts/awellspringcubleash.lua new file mode 100755 index 000000000..bde91341d --- /dev/null +++ b/Lua/ItemScripts/awellspringcubleash.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : ItemScripts/awellspringcubleash.lua + Script Purpose : Leash used in quest "To Draw Upon Wellsprings" + Script Author : Cynnar + Script Date : 1/4/2016 + Script Notes : a Wellspring Cub Leash (Item ID = 45117) To Draw Upon Wellsprings (quest ID = 156) +--]] + +local DrawUponWellsprings = 155 + +function used(Item, Player) + target = GetTarget(Player) + if GetName(target) == 'a wellspring cub' and GetTempVariable(Player, "cub") == nil then + if not IsInCombat(target) then + CastEntityCommand(Player, target, 1278, "Leash") + end + elseif GetName(target) == 'a wellspring cub' and GetTempVariable(Player, "cub") ~= nil then + SendMessage(Player, "You need to bring your currently leashed wellspring cub back to Calnozz before leashing another.", "yellow") + elseif GetName(target) ~= "a wellspring cub" then + SendMessage(Player, "You can only use this on a wellspring cub.", "yellow") + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/cadavers_dram.lua b/Lua/ItemScripts/cadavers_dram.lua new file mode 100755 index 000000000..15ff26372 --- /dev/null +++ b/Lua/ItemScripts/cadavers_dram.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : ItemScripts/cadavers_dram.lua + Script Purpose : cavader's dram + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : +--]] + +local BecomingOrcbane = 81 + +function used(Item, Player) + if GetQuestStep(Player, BecomingOrcbane) == 1 then + local target = GetTarget(Player) + if GetSpawnID(target) == 4700105 then + if GetHP(target) < GetMaxHP(target) * .20 then + CastEntityCommand(Player, target, 1299, "cadaver's dram") + else + SendMessage(Player, "You must use this on a Ry'Gorr tunneler that is under 20 percent life.", "yellow") + end + else + SendMessage(Player, "You can only use this on a Ry'Gorr tunneler.", "yellow") + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/flaskofwater.lua b/Lua/ItemScripts/flaskofwater.lua new file mode 100755 index 000000000..cece64128 --- /dev/null +++ b/Lua/ItemScripts/flaskofwater.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : ItemScripts/flaskofwater.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] +function cast(Item, Player) +CastSpell(Player, 5009, 2) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/goblishtranslationnotes.lua b/Lua/ItemScripts/goblishtranslationnotes.lua new file mode 100755 index 000000000..896e5a09f --- /dev/null +++ b/Lua/ItemScripts/goblishtranslationnotes.lua @@ -0,0 +1,7 @@ +--[[ + Script Name : ItemScripts/goblishtranslationnotes.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/17/2016 + Script Notes : +--]] \ No newline at end of file diff --git a/Lua/ItemScripts/guiderobes.lua b/Lua/ItemScripts/guiderobes.lua new file mode 100755 index 000000000..e69de29bb diff --git a/Lua/ItemScripts/mysteriousbracers.lua b/Lua/ItemScripts/mysteriousbracers.lua new file mode 100755 index 000000000..f715b97bf --- /dev/null +++ b/Lua/ItemScripts/mysteriousbracers.lua @@ -0,0 +1,6 @@ +local QUEST = 258 +function examined(Item, Player) + if CanReceiveQuest(Player, QUEST) + then OfferQuest(NPC, Player, QUEST) + end + end \ No newline at end of file diff --git a/Lua/ItemScripts/pouchofstunsporepowder.lua b/Lua/ItemScripts/pouchofstunsporepowder.lua new file mode 100755 index 000000000..55ec7f273 --- /dev/null +++ b/Lua/ItemScripts/pouchofstunsporepowder.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : ItemScripts/pouchofstunsporepowder.lua + Script Purpose : clickable used in quest "Dust to Dust" + Script Author : fearfx + Script Date : 21 Jan 2017 + Script Notes : Pouch of Stunspore Powder (Item ID = 47613) used in Dust to Dust (quest ID = 158) + Temp spell in here until Stunspore Paralysis is added to DB +--]] + +local DustToDust = 158 + +function used(Item, Player) + local target = GetTarget(Player) + local zone = GetZone(Player) + if GetZoneID(zone) == 34 and GetRace(target) == 9 and GetTempVariable(target, "stunned") == nil and GetDistance(target, Player, 0) < 6 then + CastSpell(target, 270086, 1, Player) + AddStepProgress(Player, 158, 1, 1) + SetTempVariable(target, "stunned", "1") + elseif GetRace(target) ~= 9 then + SendMessage(Player, "This item may only be used on a skeleton.", "yellow") + elseif GetTempVariable(target, "stunned") ~= nil then + SendMessage(Player, "This item can only be used once per target.", "yellow") + elseif GetDistance(target, Player, 0) > 6 then + SendMessage(Player, "Move closer to your target.", "yellow") + else + Say(Player, "Error... Please report to Dev team.") + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/ration.lua b/Lua/ItemScripts/ration.lua new file mode 100755 index 000000000..da6cac9db --- /dev/null +++ b/Lua/ItemScripts/ration.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : ItemScripts/ration.lua + Script Purpose : + Script Author : Neatz09 + Script Date : 8.18.2019 + Script Notes : +--]] + +function cast(Item, Player) +CastSpell(Player, 5010, 1) + +end \ No newline at end of file diff --git a/Lua/ItemScripts/runedacorn.lua b/Lua/ItemScripts/runedacorn.lua new file mode 100755 index 000000000..68f9dd86a --- /dev/null +++ b/Lua/ItemScripts/runedacorn.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : ItemScripts/runedacorn.lua + Script Purpose : + Script Author : Ememjr + Script Date : 2017.05.09 + Script Notes : +--]] + +local quest = 233 + +function examined(Item, Player) + if not HasQuest(Player, quest) and not HasCompletedQuest(Player, quest) then + OfferQuest(nil, Player, quest) + + --remove quest starter + if HasItem(Player, 11780) then + RemoveItem(Player, 11780) + end + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/scarwurmpheromone.lua b/Lua/ItemScripts/scarwurmpheromone.lua new file mode 100755 index 000000000..e3dd17b53 --- /dev/null +++ b/Lua/ItemScripts/scarwurmpheromone.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : ItemScripts/scarwurmpheromone.lua + Script Purpose : clickable used in quest "The Mother Lode" + Script Author : fearfx + Script Date : 24 Jan 2017 + Script Notes : Summons "the wurm mother" (ID = 341051) + +--]] + +local TheMotherLode = 148 + +function used(Item, Player) + local zone = GetZone(Player) + local x = GetX(Player) + local y = GetY(Player) + local z = GetZ(Player) + if x >= -490 and x <= -438 and z <= -43 and z >= -76 and y <= -48 and y >= -53 and GetTempVariable(Player, "WurmMother") == nil and GetQuestStep(Player, TheMotherLode) ~= 3 then + local zone = GetZone(Player) + local newSpawn = SpawnMob(zone, 341051, 1, -464.18, -49.33, -60.43, 242.84) + if newSpawn ~= nil then + AddSpawnAccess(newSpawn, Player) + AddStepProgress(Player, TheMotherLode, 1, 1) + SetTempVariable(Player, "WurmMother", "1") + end + elseif GetQuestStep(Player, TheMotherLode) == 3 then + SendMessage(Player, "You have already killed The Wurm Mother.", "yellow") + elseif GetTempVariable(Player, "WurmMother") ~= nil then + SendMessage(Player, "The Wurm Mother has already been summoned.", "yellow") + else + SendMessage(Player, "You must use this item on the bridge that spans Innoruuk's Scar.", "yellow") + end +end diff --git a/Lua/ItemScripts/smolderingtrout.lua b/Lua/ItemScripts/smolderingtrout.lua new file mode 100755 index 000000000..14e6b0815 --- /dev/null +++ b/Lua/ItemScripts/smolderingtrout.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : ItemScripts/smolderingtrout.lua + Script Purpose : clickable used in quest "The Big One" (ID = 190) + Script Author : fearfx + Script Date : 25 Jan 2017 + Script Notes : Smoldering trout (ID = 48104) + : Theres no Spawn for SmolderFin, so I have used a razortooth shark (2530014) instead. + +--]] + +local TheBigOne = 190 + +function used(Item, Player) + local target = GetTarget(Player) + local zone = GetZone(Player) + local x = GetX(Player) + local y = GetY(Player) + local z = GetZ(Player) + if GetTempVariable(Player, "TheBigOne") == nil then + spawnChance = 0 + else + spawnChance = tonumber(GetTempVariable(Player, "TheBigOne")) + end + + if GetZoneID(zone) == 34 and GetQuestStep(TheBigOne) == 1 then + if between(-91.3, 35.5, x) and between(-67, -60, y) and between(-186.79, -54.40, z) then + RemoveItem(Player, 48104) + spawnChance = spawnChance + 20 + SetTempVariable(Player, "TheBigOne", spawnChance) + if tonumber(GetTempVariable(Player, "TheBigOne")) > 20 then + if tonumber(GetTempVariable(Player, "TheBigOne")) > math.random(30, 80) then + spawnSmolderFin(Player, zone) + end + end + + else + SendMessage(Player, "Can only be used in Smoldering Lake.", "yellow") + end + else + SendMessage(Player, "Can only be used in Darklight Wood.", "yellow") + end +end + +function spawnSmolderFin(Player, zone) + local newSpawn = SpawnMob(zone, 1240025, 1, -27.18, -65.33, -110.43, 167.84) + SpawnSet(newSpawn, "name", "Smolderfin") + SpawnSet(newSpawn, "faction", "1") + SpawnSet(newSpawn, "level", "11") + SpawnSet(newSpawn, "size", "90") + SpawnSet(newSpawn, "hp", "220") + if newSpawn ~= nil then + AddSpawnAccess(newSpawn, Player) + end +end + +function between(low, higher, n) + if low <= n and n <= higher then + return true + else + return false + end +end \ No newline at end of file diff --git a/Lua/ItemScripts/trappedspirits.lua b/Lua/ItemScripts/trappedspirits.lua new file mode 100755 index 000000000..316c047a5 --- /dev/null +++ b/Lua/ItemScripts/trappedspirits.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : ItemScripts/trappedspirits.lua + Script Purpose : trapped spirits used in quest "Condemned" + Script Author : Cynnar + Script Date : 1/6/2016 + Script Notes : trapped spirits (Item ID = 48976) Condemned (quest ID = 153) +--]] + +local Condemned = 153 + +function used(Item, Player) + if HasQuest(Player, Condemned) then + local playerX = GetX(Player) + local playerZ = GetZ(Player) + if GetQuestStep(Player, Condemned) == 1 then + if playerX <= -540 and playerX >= -575 then + if playerZ >= 137 and playerZ <= 166 then + AddStepProgress(Player, Condemned, 1, 1) + RemoveItem(Player, 48976) + else + SendMessage(Player, "You must be near the Wellspring of Nightmares to use this.", "yellow") + end + else + SendMessage(Player, "You must be near the Wellspring of Nightmares to use this.", "yellow") + end + end + end +end \ No newline at end of file diff --git a/Lua/Quests/Antonica/ACaptainsCommunique.lua b/Lua/Quests/Antonica/ACaptainsCommunique.lua new file mode 100755 index 000000000..204518de1 --- /dev/null +++ b/Lua/Quests/Antonica/ACaptainsCommunique.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : ACaptainsCommunique.lua + Script Purpose : Handles the quest, "A Captain's Communique: Eitoa to Sturman" + Script Author : geordie0511 + Script Date : 19.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : Captain Eitoa + Preceded by : Gnoll Report + Followed by : Outland Brigade Reports +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak to Captain Sturman.", 1, "I need to deliver this communique to Captain Sturman at Bridge Keep in the Thundering Steppes.", 11, 2490194) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Spoke to Captain Sturman.") + UpdateQuestTaskGroupDescription(Quest, 1, "I delivered the message to Captain Sturman.") + + AddQuestStepChat(Quest, 2, "Speak to Captain Eitoa.", 1, "I should return to Captain Eitoa at the Qeynos Gates in Antonica and let her know of the situation in Bridge Keep.", 11, 120069) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "Spoken with Captain Eitoa.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned to Captain Eitoa.") + + UpdateQuestDescription(Quest, "I took the message to Captain Sturman. He was not happy to hear that he was unable to get reinforcements or replacements for his tired men in Bridge Keep. I let Captain Eitoa know of the situation in the Thundering Steppes.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Antonica/Achoo!AntonicanPepper.lua.lua b/Lua/Quests/Antonica/Achoo!AntonicanPepper.lua.lua new file mode 100755 index 000000000..2f7474730 --- /dev/null +++ b/Lua/Quests/Antonica/Achoo!AntonicanPepper.lua.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Achoo!AntonicanPepper.lua + Script Purpose : Handles the quest, "Achoo! Antonican Pepper" + Script Author : geordie0511 + Script Date : 14.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : Matsy Rollingpin + Preceded by : None + Followed by : Blub Blub Something Smells Fishy +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to find Merchant Novak.", 1, "Matsy needs pepper for her chowder from Merchant Novak.", 797, 120099) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the pepper.") + UpdateQuestTaskGroupDescription(Quest, 1, "I acquired the pepper from Merchant Novak.") + + AddQuestStepChat(Quest, 2, "I must return to Matsy.", 1, "I have the pepper and should now return to Matsy.", 797, 120280) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Matsy the pepper for her chowder.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have given the pepper to Matsy.") + + UpdateQuestDescription(Quest, "I helped Matsy finish her cooking by fetching some more pepper from Merchant Novak. She seemed very busy. I wonder if she needs any more help.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Antonica/Blub,Blub-SomethingSmellsFishy.lua b/Lua/Quests/Antonica/Blub,Blub-SomethingSmellsFishy.lua new file mode 100755 index 000000000..c97d163b8 --- /dev/null +++ b/Lua/Quests/Antonica/Blub,Blub-SomethingSmellsFishy.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Blub,Blub-SomethingSmellsFishy.lua + Script Purpose : Handles the quest, "Blub, Blub - Something Smells Fishy" + Script Author : geordie0511 + Script Date : 14.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : + Preceded by : Achoo! Antonican Pepper + Followed by : Killing With Kindness, One Barbarian at a Time +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to rustle up some Coldwind fish for Matsy's Chowder.", 10, 100, "Matsy needs the special Coldwind fish for her soup. They can be found in the ocean or in the rivers.", 2547, 121237, 120079, 121249, 120094, 121250, 120096, 121252, 120093) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I managed to get enough Coldwind fish for Matsy's Chowder.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have caught all the Coldwind fish I can carry.") + + AddQuestStepChat(Quest, 2, "I should return to Matsy.", 1, "I need to return these fish to Matsy.", 2547, 120280) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "Matsy now has enough Coldwind fish to make extra chowder.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have brought Matsy the Coldwind fish.") + + UpdateQuestDescription(Quest, "I have returned the Coldwind fish to Matsy.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + diff --git a/Lua/Quests/Antonica/CarePackageforBlarton.lua b/Lua/Quests/Antonica/CarePackageforBlarton.lua new file mode 100755 index 000000000..9ea0a5926 --- /dev/null +++ b/Lua/Quests/Antonica/CarePackageforBlarton.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : CarePackageforBlarton.lua + Script Purpose : Handles the quest, "Care Package for Blarton" + Script Author : geordie0511 + Script Date : 14.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : + Preceded by : Killing with Kindness, One Barbarian at a Time + Followed by : Spicy Meat Pie +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must find Blarton Blumble.", 1, "Matsy asked me to take these cookies to Blarton. He resides in Windstalker Village.", 2556, 120163) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have delivered the cookies to Blarton Blumble.") + UpdateQuestTaskGroupDescription(Quest, 1, "I took Blarton the cookies from Matsy.") + + AddQuestStepChat(Quest, 2, "I should return to Matsy.", 1, "I need to go back and let Matsy know that her cousin enjoyed the cookies.", 2556, 120280) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "Matsy gave me cookies for my trouble. Yum!") + UpdateQuestTaskGroupDescription(Quest, 2, "I told Matsy that Blarton got his cookies.") + + UpdateQuestDescription(Quest, "The cookies seemed to make Blarton a much happier halfling.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Antonica/GnollReport.lua b/Lua/Quests/Antonica/GnollReport.lua new file mode 100755 index 000000000..d586e2ba3 --- /dev/null +++ b/Lua/Quests/Antonica/GnollReport.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : GnollReport.lua + Script Purpose : Handles the quest, "Gnoll Report" + Script Author : geordie0511 + Script Date : 19.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : Captain Eitoa + Preceded by : The Keep of the Ardent Needle + Followed by : A Captain's Communique: Eitoa to Sturman +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak with Captain Beltho at Gnollslayer Keep.", 1, "I must go to Gnollslayer Keep. Follow the eastward road running from the North Gate of Qeynos. It leads towards the Thundering Steppes. Along the way I shall find the keep.", 11, 120400) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Spoke with Captain Beltho.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've spoken with Captain Beltho, though he does not have the report ready at this time.") + + AddQuestStepLocation(Quest, 2, "Go to the hidden entrance of the gnoll lair.", 30, "I must find the hidden entrance to the gnoll lair somewhere near the southern islands.", 11, -1214, -3, 912) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Found the hidden entrance of Blackburrow.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've found the hidden entrance to the gnoll lair at the base of the southern range in Antonica.") + + AddQuestStepChat(Quest, 3, "Speak to Captain Beltho at Gnollslayer Keep.", 1, "I must return with the location of the entrance to Captain Beltho in Gnollslayer Keep in Antonica.", 11, 120400) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "Spoke to Captain Beltho.") + UpdateQuestTaskGroupDescription(Quest, 3, "I've picked up the report from Captain Beltho in Gnollslayer Keep.") + + AddQuestStepChat(Quest, 4, "Speak to Captain Eitoa near the North Qeynos gate.", 1, "I must deliver Captain Beltho's report safely to Captain Eitoa at the gates of Qeynos.", 75, 120069) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "Spoke to Captain Eitoa.") + UpdateQuestTaskGroupDescription(Quest, 4, "I've safely delivered Captain Beltho's report to Captain Eitoa.") + + UpdateQuestDescription(Quest, "Not only have I returned the report to Captain Eitoa, I've also discovered the origin of the gnoll presence in Antonica. Perhaps I can venture inside later. Who knows what waits within? The entrance has thought to have been sealed for ages.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Antonica/KillingwithKindness,OneBarbarianataTime.lua b/Lua/Quests/Antonica/KillingwithKindness,OneBarbarianataTime.lua new file mode 100755 index 000000000..6f9aced03 --- /dev/null +++ b/Lua/Quests/Antonica/KillingwithKindness,OneBarbarianataTime.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : KillingwithKindness,OneBarbarianataTime.lua + Script Purpose : Handles the quest, "Killing with Kindness, One Barbarian at a Time" + Script Author : geordie0511 + Script Date : 14.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : + Preceded by : Blub, Blub - Something Smells Fishy + Followed by : Care Package for Blarton +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to take this stew to Aroof.", 1, "Matsy gave me some of her chowder to give to Aroof.", 295, 121391) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have given Aroof the stew as Matsy requested.") + UpdateQuestTaskGroupDescription(Quest, 1, "I gave some of Matsy's good soup to Aroof.") + + AddQuestStepChat(Quest, 2, "I need to talk to Matsy.", 1, "I should let Matsy know that Aroof enjoyed the stew.", 295, 120280) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "The stew has been delivered.") + UpdateQuestTaskGroupDescription(Quest, 2, "Matsy was pleased that Aroof enjoyed his stew.") + + UpdateQuestDescription(Quest, "I gave a drunken barbarian named Aroof some stew on behalf of Matsy.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + diff --git a/Lua/Quests/Antonica/LuckyLure.lua b/Lua/Quests/Antonica/LuckyLure.lua new file mode 100755 index 000000000..2cf4e9091 --- /dev/null +++ b/Lua/Quests/Antonica/LuckyLure.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : LuckyLure.lua + Script Purpose : Handles the quest, "Lucky Lure" + Script Author : geordie0511 + Script Date : 12.03.2019 + Script Notes : edited by geordie0511 + + Zone : Antonica + Quest Giver : Blarton Blumble + Preceded by : None + Followed by : Fishing Hole Hunt +--]] + + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Find Blarton's fishing lure.", 1, 100, "I should search for Blarton's lost lure along the beach north of Windstalker Village in Antonica.", 1037, 121183) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found Blarton's fishing lure.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found the lost fishing lure.") + + AddQuestStepChat(Quest, 2, "Return Blarton's lost fishing lure.", 1, "I have found the missing lure and must return it to Blarton in Windstalker Village.", 1037, 120163) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I brought the lure back to Blarton.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned Blarton's fishing lure.") + + UpdateQuestDescription(Quest, "I have retrieved Blarton's lost fishing lure and returned it to him. He seemed very happy about it. I wonder if he needs help with anything else.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/Antonica/MailDeliveryforMatsy.lua b/Lua/Quests/Antonica/MailDeliveryforMatsy.lua new file mode 100755 index 000000000..6411f572c --- /dev/null +++ b/Lua/Quests/Antonica/MailDeliveryforMatsy.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : MailDeliveryforMatsy.lua + Script Purpose : Handles the quest, "Mail Delivery for Matsy" + Script Author : geordie0511 + Script Date : 19.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : Matsy Rollingpin + Preceded by : Spicy Meat Pie + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Matsy gave me a letter to take to Jacques in The Thundering Steppes", 1, "I must bring Matsy's letter to Jacques in the Thundering Steppes near the gate to Antonica.", 11, 2490212) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I took the letter to Jacques in The Thundering Steppes.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have delivered the mail for Matsy.") + + UpdateQuestDescription(Quest, "I have delivered Matsy's letter to Jacques in the Thundering Steppes.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Antonica/SpicyMeatPie.lua b/Lua/Quests/Antonica/SpicyMeatPie.lua new file mode 100755 index 000000000..20d86506d --- /dev/null +++ b/Lua/Quests/Antonica/SpicyMeatPie.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpicyMeatPie.lua + Script Purpose : Handles the quest, "Spicy Meat Pie" + Script Author : geordie0511 + Script Date : 19.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : Matsy Rollingpin + Preceded by : Care Package for Blarton + Followed by : Mail Delivery for Matsy +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to go out and hunt wolves for Matsy's ingredients.", 5, 100, "Matsy has asked me to gather together some ingredients for her new pie.", 297, 120008, 120106, 120180, 120266, 120293, 121188, 121258, 121261, 121321, 121375, 121402) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the wolf meat that Matsy requires.") + + AddQuestStepKill(Quest, 2, "I need to go out and hunt birds for Matsy's ingredients.", 5, 100, "Matsy has asked me to gather together some ingredients for her new pie.", 297, 120011, 120119, 120257, 121191, 121266, 121370, 120064, 121222) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected the bird meat that Matsy requires.") + + AddQuestStepKill(Quest, 3, "I need to go out and hunt bears for Matsy's ingredients.", 5, 100, "Matsy has asked me to gather together some ingredients for her new pie.", 297, 120029, 120064, 121208, 121222, 120011, 120257, 121191, 121266) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected the bear meat that Matsy requires.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered all of the ingredients for Matsy.") + + AddQuestStepChat(Quest, 4, "I need to take these meats back to Matsy.", 1, "I now have all of the ingredients that Matsy needs for her special recipe.", 297, 120280) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "Matsy made an excellent spicy meat pie with the ingredients that I collected for her.") + UpdateQuestTaskGroupDescription(Quest, 2, "I gave Matsy the ingredients.") + + UpdateQuestDescription(Quest, "I have gathered the ingredients Matsy needs for her dish.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Antonica/TheKeepOfTheArdentNeedle.lua b/Lua/Quests/Antonica/TheKeepOfTheArdentNeedle.lua new file mode 100755 index 000000000..e1cbde685 --- /dev/null +++ b/Lua/Quests/Antonica/TheKeepOfTheArdentNeedle.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : TheKeepoftheArdentNeedle.lua + Script Purpose : Handles the quest, "The Keep of the Ardent Needle" + Script Author : geordie0511 + Script Date : 19.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : Captain Eitoa + Preceded by : None + Followed by : Gnoll Report +--]] + + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "Search the Keep of the Ardent Needle.", 30, "I must check the Keep of the Ardent Needle thoroughly.", 11, -555, -12, -327) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Searched the Keep of the Ardent Needle.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've inspected the Keep of the Ardent Needle, and found nothing suspicious.") + + AddQuestStepChat(Quest, 2, "Speak with Captain Eitoa.", 1, "I must return to Captain Eitoa and inform her of the keep's status.", 11, 120069) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "Spoken with Captain Eitoa.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've spoken with Captain Eitoa and informed her of the keep's status.") + + UpdateQuestDescription(Quest, "Captain Eitoa's suspicions were unfounded, yet for a moment she still seemed concerned. Guard Loxley's work defending the tower remains unquestioned, and the keep remains clear of any form of wrong-doing.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Antonica/history_of_the_ayrdal_part_i.lua b/Lua/Quests/Antonica/history_of_the_ayrdal_part_i.lua new file mode 100755 index 000000000..df25b9f59 --- /dev/null +++ b/Lua/Quests/Antonica/history_of_the_ayrdal_part_i.lua @@ -0,0 +1,93 @@ +--[[ + Script Name : Quests/Antonica/history_of_the_ayrdal_part_i.lua + Script Author : Ememjr + Script Date : 2019.03.25 05:03:17 + Script Purpose : + + Zone : Antonica + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to visit Glade of the Coven.", 10, "I would like to visit the Glade of the Coven in Antonica.", 11, 160, -24, 441) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have seen Glade of the Coven.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have seen the Glade of the Coven.") + + AddQuestStep(Quest, 2, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have read the book.") + + AddQuestStepLocation(Quest, 3, "I need to visit the Crossroads.", 10, "I must visit the Crossroads in the Commonlands.", 11, -528, -43, -276 ) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have seen the Crossroads.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have seen the Crossroads.") + + AddQuestStep(Quest, 4, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 4, "I have read the book.") + + AddQuestStepLocation(Quest, 5, "I need to visit Turmoil Cemetery.", 10, "I need to visit the Turmoil Cemetery in the Commonlands.", 11, -1342, -69, 372) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have seen Turmoil Cemetery.") + UpdateQuestTaskGroupDescription(Quest, 5, "I have seen the Turmoil Cemetery.") + + AddQuestStep(Quest, 6, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 6, "I have read the book.") + + UpdateQuestDescription(Quest, "I have visited several sites and pondered their meaning, reading more of this tome along the way. Soon I shall have enough experience to consider Part Two.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Antonica/history_of_the_barbarians_part_i.lua b/Lua/Quests/Antonica/history_of_the_barbarians_part_i.lua new file mode 100755 index 000000000..bb11adfbc --- /dev/null +++ b/Lua/Quests/Antonica/history_of_the_barbarians_part_i.lua @@ -0,0 +1,103 @@ +--[[ + Script Name : Quests/Antonica/history_of_the_barbarians_part_i.lua + Script Author : Ememjr + Script Date : 2019.03.28 04:03:19 + Script Purpose : + + Zone : Antonica + Quest Giver: + Preceded by: None + Followed by: +Quest 477 +this script is still being worked on +--]] + + +function Init(Quest) + + -- updated via zone quest + AddQuestStepLocation(Quest, 1, "I need to visit Crater Pond.", 10, "I would like to visit the Crater Pond in Antonica.", 11, 160, -24, 441) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + Item = GetTempVariable(Player, "Q477") + conversation = CreateConversation() + AddConversationOption(conversation, "Continue Story 1","ContStory1") + AddConversationOption(conversation, "Close") + StartDialogConversation(conversation, 2, Item, Player, "Q Our Name Struck Fear .... text needed") +end + +function Declined(Quest, QuestGiver, Player) + Item = GetTempVariable(Player, "Q477") + CloseItemConversation(Item, Player) +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have seen Crater Pond.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have seen Crater Pond.") + + AddQuestStep(Quest, 2, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have read the book.") + + AddQuestStepLocation(Quest, 3, "I need to visit the Collapsed Everfrost Tunnel.", 10, "I must visit the Collapsed Everfrost Tunnel in Blackburrow.", 11, -95, 0, -95) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have seen the Collapsed Everfrost Tunnel.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have seen the Collapsed Everfrost Tunnel.") + + AddQuestStep(Quest, 4, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 4, "I have read the book.") + + AddQuestStepLocation(Quest, 5, "I need to visit The Keep of the Gnollslayers.", 10, "I need to visit the Keep of the Gnollslayers in Antonica.", 11, -2104, -43, 438 ) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have seen The Keep of the Gnollslayers.") + UpdateQuestTaskGroupDescription(Quest, 5, "I have seen the Keep of the Gnollslayers in Antonica.") + + AddQuestStep(Quest, 6, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 6, "I have read the book.") + + UpdateQuestDescription(Quest, "I have visited several sites and pondered their meaning, reading more of this tome along the way. Soon I shall have enough experience to consider Part Two.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Antonica/once_upon_an_isle_dreary.lua b/Lua/Quests/Antonica/once_upon_an_isle_dreary.lua new file mode 100755 index 000000000..75fe69433 --- /dev/null +++ b/Lua/Quests/Antonica/once_upon_an_isle_dreary.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : once_upon_an_isle_dreary.lua + Script Purpose : Handles the quest, "Once Upon an Isle Dreary" + Script Author : Jabantiz + Script Date : 9/1/2019 + Script Notes : Auto generated with QuestParser. + + Zone : Antonica + Quest Giver : + Preceded by : None + Followed by : None +--]] + +require "SpawnScripts/Generic/DialogModule" + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Slay dankfur gnolls.", 4, 75, "I must swim to the isles off the southwest coast of Antonica. There I will slay dankfur gnolls.", 75, 120340, 120420, 121433, 121481) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + Dialog.New(QuestGiver, Player) + + Dialog.AddDialog("Will you?! Oh! Thank you! Search them well, yes, search them very well. I know my scrolls are being clutched by those furry paws!") + Dialog.AddVoiceover("voiceover/english/quallium/antonica/quallium002.mp3", 497416154, 1226676289) + Dialog.AddOption("I will return with your scrolls.") + + Dialog.Start() +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Got four poems.") + UpdateQuestTaskGroupDescription(Quest, 1, "I swam to the isles off the southwest coast of Antonica. There I slew dankfur gnolls to gain the four poems.") + + AddQuestStepChat(Quest, 2, "Speak to Quallium.", 1, "I must return the poems to Quallium in southwest Antonica.", 11, 120215) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "Spoke to Quallium.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned the poems to Quallium in southwest Antonica.") + + UpdateQuestDescription(Quest, "I retrieved all four poems from the gnolls on the isles. I gave the poems to Quallium.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Antonica/qeynosian_civil_service.lua b/Lua/Quests/Antonica/qeynosian_civil_service.lua new file mode 100755 index 000000000..bb22b1ed0 --- /dev/null +++ b/Lua/Quests/Antonica/qeynosian_civil_service.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : QeynosianCivilService.lua + Script Purpose : Handles the quest, "Qeynosian Civil Service" + Script Author : geordie0511 + Script Date : 13.03.2019 + Script Notes : + + Zone : Antonica + Quest Giver : Knight-Lieutenant Alesso + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + SetQuestFeatherColor(Quest, 3) + SetQuestRepeatable(Quest) + AddQuestStepKill(Quest, 1, "I need to kill ten rats.", 10, 100, "I need to head out into Antonica and kill the vermin that infest the land; rats, snakes and beetles. Knight-Lieutenant Alesso said I should kill about ten of each.", 99, 120066, 121224) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've killed ten rats.") + + AddQuestStepKill(Quest, 2, "I need to kill ten snakes.", 10, 100, "I need to head out into Antonica and kill the vermin that infest the land; rats, snakes and beetles. Knight-Lieutenant Alesso said I should kill about ten of each.", 1908, 120068, 121226, 121347) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed ten snakes.") + + AddQuestStepKill(Quest, 3, "I need to kill ten beetles.", 10, 100, "I need to head out into Antonica and kill the vermin that infest the land; rats, snakes and beetles. Knight-Lieutenant Alesso said I should kill about ten of each.", 162, 120067, 121225, 120253, 120373, 120367, 121443, 120371, 121369) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have killed ten beetles.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've killed the vermin that Sir Alesso tasked me with.") + + AddQuestStepChat(Quest, 4, "I need to speak with Knight-Lieutenant Alesso.", 1, "I've killed a great many vermin that once infested Antonica. I should return to Knight-Lieutenant Alesso.", 11, 120083) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I've spoken with Knight-Lieutenant Alesso.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've spoken with Knight-Lieutenant Alesso.") + + UpdateQuestDescription(Quest, "I've lowered the vermin population quite a bit out in Antonica. Knight-Lieutenant Alesso was pleased with my efforts and paid me for my service to Qeynos.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Antonica/there_mite_be_trouble.lua b/Lua/Quests/Antonica/there_mite_be_trouble.lua new file mode 100755 index 000000000..0cd2d226d --- /dev/null +++ b/Lua/Quests/Antonica/there_mite_be_trouble.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : there_mite_be_trouble.lua + Script Purpose : Handles the quest, "There Mite be Trouble" + Script Author : geordie0511 + Script Date : 12.03.2019 + Script Notes : Edited by geordie0511 + + Zone : Antonica + Quest Giver : Farmer Walcott + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Slay some klicnik mites.", 10, 100, "I need to slay 10 klicnik mites in the crops outside of the North Gates of Qeynos.", 611, 120067, 121225) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Slew some klicnik mites.") + UpdateQuestTaskGroupDescription(Quest, 1, "I slew 10 of the klicnik mites in Antonica.") + + AddQuestStepChat(Quest, 2, "Speak to Farmer Walcott.", 1, "I need to return to Farmer Walcott in Antonica.", 11, 120078) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "Spoke to Farmer Walcott.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned to Farmer Walcott.") + + UpdateQuestDescription(Quest, "I have slain a number of the pesky klicnik mites that plagued the crops of Farmer Walcott outside of the North Gates of Qeynos.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/Baubbleshire/a_budding_prankster.lua b/Lua/Quests/Baubbleshire/a_budding_prankster.lua new file mode 100755 index 000000000..a0a1b24ab --- /dev/null +++ b/Lua/Quests/Baubbleshire/a_budding_prankster.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/Baubbleshire/a_budding_prankster.lua + Script Purpose : Handles the quest, "A Budding Prankster" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Rondo "The Belly" Roundstew + Preceded by: Paying Off a Sweet Debt (paying_off_a_sweet_debt.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak to Remmy Tumbub.", 1, "I need to find Remmy in the Forest Ruins and pretend to be from the Qeynos guard.", 0, 1960016) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm sure it will be great.") + StartConversation(conversation, QuestGiver, Player, "I just wish I could be there to see it.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Remmy Tumbub.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Remmy.") + UpdateQuestDescription(Quest, "I have played a practical joke on Remmy!") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/badger_pelts_for_diggs.lua b/Lua/Quests/Baubbleshire/badger_pelts_for_diggs.lua new file mode 100755 index 000000000..0b70a8aed --- /dev/null +++ b/Lua/Quests/Baubbleshire/badger_pelts_for_diggs.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/Baubbleshire/badger_pelts_for_diggs.lua + Script Purpose : Handles the quest, "Badger Pelts for Diggs" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : Baubbleshire + Quest Giver: Diggin Digs + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need ten badger pelts.", 10, 100, "I must collect ten badger pelts in the Forest Ruins.", 93, 1960011, 1960017) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedBadgers") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "Try to make them high quality pelts!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedBadgers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected ten badger pelts.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected then badger pelts for Diggs.") + UpdateQuestZone(Quest, "The Baubbleshire") + + AddQuestStepChat(Quest, 2, "I must return to Armorsmith Diggs.", 1, "I must return to Armorsmith Diggs in Baubbleshire.", 0, 2380049) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player, Step) + UpdateQuestStepDescription(Quest, 2, "I returned to Armorsmith Diggs in Baubbleshire.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned to Armorsmith Diggs in Baubbleshire.") + UpdateQuestDescription(Quest, "I collected ten badger pelts for Armorsmith Diggs.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedBadgers(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/embers_for_xoort.lua b/Lua/Quests/Baubbleshire/embers_for_xoort.lua new file mode 100755 index 000000000..335b07fe3 --- /dev/null +++ b/Lua/Quests/Baubbleshire/embers_for_xoort.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/Baubbleshire/embers_for_xoort.lua + Script Purpose : Handles the quest, "Embers for Xoort" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Sage Xoort + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to gather coals from the fiery forgotten guardians in the Forest Ruins.", 1, 70, "I need to gather an everburning coal from the fiery forgotten guardians in the Forest Ruins.", 183, 1960019) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotGoal") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right already!") + StartConversation(conversation, QuestGiver, Player, "Well? What are you waiting for? Go, go, GO!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotGoal(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I gathered an everburning coal.") + UpdateQuestTaskGroupDescription(Quest, 1, "I gathered the embers that Sage Xoort needed from the guardians.") + UpdateQuestZone(Quest, "The Baubbleshire") + + AddQuestStepChat(Quest, 2, "I need to speak with Sage Xoort in the Baubbleshire.", 1, "I need to speak with Sage Xoort and give him the embers I gathered.", 0, 2380043) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I spoke with Sage Xoort in the Baubbleshire.") + UpdateQuestTaskGroupDescription(Quest, 2, "I gave Sage Xoort all five embers that I gathered from the guardians.") + UpdateQuestDescription(Quest, "I gathered the coals for Xoort's experimentation. Turns out to be a good thing that I did. Xoort gave me some coin for the job.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotGoal(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/fight_the_forgotten_guardians.lua b/Lua/Quests/Baubbleshire/fight_the_forgotten_guardians.lua new file mode 100755 index 000000000..ad48e1e5e --- /dev/null +++ b/Lua/Quests/Baubbleshire/fight_the_forgotten_guardians.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/Baubbleshire/fight_the_forgotten_guardians.lua + Script Purpose : Handles the quest, "Fight the Forgotten Guardians" + Script Author : Scatman + Script Date : 2009.01.14 + + Zone : Baubbleshire + Quest Giver: Marshal Surefoot + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill some forgotten guardians.", 5, 100, "I need to slay five Forgotten Guardians in the Forest Ruins.", 611, 1960038, 1960058) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedGuardians") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return victorious!") + StartConversation(conversation, QuestGiver, Player, "Good! Return when you've bested them!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedGuardians(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed some forgotten guardians") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain five Forgotten Guardians.") + UpdateQuestZone(Quest, "The Baubbleshire") + + AddQuestStepChat(Quest, 2, "I must return to Marshal Surefoot.", 1, "I need to return to Marshal Surefoot in Baubbleshire.", 0, 2380044) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned to Marshal Surefoot.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to tell my tale to Marshal Surefoot.") + UpdateQuestDescription(Quest, "I have faced and slain five Forgotten Guardians in the Forest Ruins per the orders of Marshal Surefoot. After telling him my tale of victory he was pleased and paid me for my service.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedGuardians(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/getting_to_know_poko.lua b/Lua/Quests/Baubbleshire/getting_to_know_poko.lua new file mode 100755 index 000000000..057d82212 --- /dev/null +++ b/Lua/Quests/Baubbleshire/getting_to_know_poko.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/Baubbleshire/getting_to_know_poko.lua + Script Purpose : Handles the quest, "Getting to Know Poko" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Neezer Grund + Preceded by: Neezer's Survey (neezers_survery.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Poko Zing.", 1, "I need to speak with Poko Zing and give him this mechanical part.", 0, 1960003) + AddQuestStepCompleteAction(Quest, 1, "step1_complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund050a.mp3", "", "", 494428162, 2433018345, Spawn) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Tell him Neezer sent you, I'm sure he'll be happy to see you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Poko Zing.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Poko Zing.") + UpdateQuestDescription(Quest, "I have delivered the part to Poko Zing.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/helping_a_friend.lua b/Lua/Quests/Baubbleshire/helping_a_friend.lua new file mode 100755 index 000000000..3be82d749 --- /dev/null +++ b/Lua/Quests/Baubbleshire/helping_a_friend.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Baubbleshire/helping_a_friend.lua + Script Purpose : Handles the quest, "Helping a Friend" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Rondo "The Belly" Roundstew + Preceded by: None + Followed by: Helping a Friend, Again (helping_a_friend_again.lua) +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Maela Meadows near the waterfall in southeastern Baubbleshire.", 1, "I need to see if I can help Maela deal with any problems she may have.", 0, 2380035) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToMaela") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm on my way.") + StartConversation(conversation, QuestGiver, Player, "Thank you. She should be by the waterfall, find her and get her to share her feelings, please.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToMaela(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Maela, she didn't have much to say.") + + AddQuestStepChat(Quest, 2, "I should return to Rondo.", 1, "I need to see if I can help Maela deal with any problems she may have.", 0, 2380039) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Rondo.") + UpdateQuestTaskGroupDescription(Quest, 1, "I was unable to help Maela, but Rondo has another plan.") + UpdateQuestDescription(Quest, "Maela wasn't very forthcoming, but Rondo has another plan to help her out.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToMaela(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/helping_a_friend_again.lua b/Lua/Quests/Baubbleshire/helping_a_friend_again.lua new file mode 100755 index 000000000..d4a84ff3b --- /dev/null +++ b/Lua/Quests/Baubbleshire/helping_a_friend_again.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/Baubbleshire/helping_a_friend_again.lua + Script Purpose : Handles the quest, "Helping a Friend, Again" + Script Author : Scatman + Script Date : 2009.09.26 + + Zone : The Baubbleshire + Quest Giver: Rondo "The Belly" Roundstew + Preceded by: Helping a Friend (helping_a_friend.lua) + Followed by: Helping Some 'Friends' (helping_some_friends.lua) +--]] + +-- Race ID's +local HALFLING = 7 + +-- Item ID's +local MISTY_THICKET_SHADEBLOOM = 9868 + +function Init(Quest) + -- a Misty Thicket Shadebloom + AddQuestStepHarvest(Quest, 1, "I need to collect some Misty Thicket Shadeblooms from around the Baubbleshire.", 6, 100, "I need to collect some Misty Thicket Shadeblooms and see if they will help convince Maela to get her feelings off of her chest.", 1946, MISTY_THICKET_SHADEBLOOM) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotFlowers") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "I don't know what I'll do if this doesn't work.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, MISTY_THICKET_SHADEBLOOM) do + RemoveItem(Player, MISTY_THICKET_SHADEBLOOM) + end +end + +function step1_complete_gotFlowers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the Misty Thicket Shadeblooms.") + + AddQuestStepChat(Quest, 2, "I should speak with Maela now that I have these Shadeblooms.", 1, "I need to collect some Misty Thicket Shadeblooms and see if they will help convince Maela to get her feelings off of her chest.", 0, 2380035) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_talkedToMaela") +end + +function step2_complete_talkedToMaela(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Maela came out of her shell.") + + -- a Misty Thicket Shadebloom + while HasItem(Player, MISTY_THICKET_SHADEBLOOM) do + RemoveItem(Player, MISTY_THICKET_SHADEBLOOM) + end + + AddQuestStepChat(Quest, 3, "I should return to Rondo and let him know the good news.", 1, "I need to collect some Misty Thicket Shadeblooms and see if they will help convince Maela to get her feelings off of her chest.", 0, 2380039) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Rondo.") + UpdateQuestTaskGroupDescription(Quest, 1, "Maela opened up to me after I presented her with the Shadeblooms.") + UpdateQuestDescription(Quest, "After seeing the flowers Maela opened up and told me of her worries.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotFlowers(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_talkedToMaela(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/helping_some_friends.lua b/Lua/Quests/Baubbleshire/helping_some_friends.lua new file mode 100755 index 000000000..cc9b1341e --- /dev/null +++ b/Lua/Quests/Baubbleshire/helping_some_friends.lua @@ -0,0 +1,107 @@ +--[[ + Script Name : Quests/Baubbleshire/helping_some_friends.lua + Script Purpose : Handles the quest, "Helping Some 'Friends'" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Rondo "The Belly" Roundstew + Preceded by: Helping a Friend, Again (helping_a_friend_again.lua) + Followed by: Paying Off a Sweet Debt (paying_off_a_sweet_debt.lua) +--]] + +-- Quest ID's +local HELPING_SOME_FRIENDS = 325 -- was 72 + +-- Item ID's +local PRANK_PREPAREDNESS_KIT = 10574 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to examine the Prank Preparedness Kit that Rondo gave me.", 1, 100, "Before I execute Rondo's plan I must go through the Prank Preparedness Kit he has given me. Rondo will give me another kit if I misplace the first one.", 0) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_examinedKit") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right. Give me the kit.", "GiveMeKit") + StartConversation(conversation, QuestGiver, Player, "Delicious! I've put everything you'll need in this PPK, that's Prank Preparedness Kit. Remember, don't let them think you're up to anything, it's very important!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, PRANK_PREPAREDNESS_KIT) do + RemoveItem(Player, PRANK_PREPAREDNESS_KIT) + end +end + +function step1_complete_examinedKit(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have examined the Prank Preparedness Kit and know what I must do now.") + UpdateQuestTaskGroupDescription(Quest, 1, "After going through the Prank Preparedness Kit I know what I must do.") + + AddQuestStepChat(Quest, 2, "I must find Drundo Parn in the tavern and give him a disguised walnut pie.", 1, "I need to visit Drundo, Jayla, and Bolo and set them up for Rondo's pranks.", 0, 2380026) + AddQuestStepChat(Quest, 3, "I must find Jayla Midhop outside the armory and give her this forged note.", 1, "I need to visit Drundo, Jayla, and Bolo and set them up for Rondo's pranks.", 0, 2380009) + AddQuestStepChat(Quest, 4, "I must find Bolo Brassharp outside of the inn and convince him to see Jayla with a bloat pie.", 1, "I need to visit Drundo, Jayla, and Bolo and set them up for Rondo's pranks.", 0, 2380017) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_talkedToDrundo") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToJayla") + AddQuestStepCompleteAction(Quest, 4, "step4_complete_talkedToBolo") +end + +function step2_complete_talkedToDrundo(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Drundo the walnut pie.") + + if QuestIsComplete(Player, HELPING_SOME_FRIENDS) then + pranks_given(Quest, QuestGiver, Player) + end +end + +function step3_complete_talkedToJayla(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have given Jayla the forged note.") + + if QuestIsComplete(Player, HELPING_SOME_FRIENDS) then + pranks_given(Quest, QuestGiver, Player) + end +end + +function step4_complete_talkedToBolo(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have given Bolo the bloat pie.") + + if QuestIsComplete(Player, HELPING_SOME_FRIENDS) then + pranks_given(Quest, QuestGiver, Player) + end +end + +function pranks_given(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have set Druno, Jayla, and Bolo up for Rondo's pranks.") + + AddQuestStepChat(Quest, 5, "I have done what Rondo wanted and should return to him.", 1, "Now that Rondo's pranks are ready to go, I should speak with him.", 0, 2380039) + AddQuestStepCompleteAction(Quest, 5, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have spoken with Rondo.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have spoken with Rondo.") + + -- Prank Preparedness Kit + while HasItem(Player, PRANK_PREPAREDNESS_KIT) do + RemoveItem(Player, PRANK_PREPAREDNESS_KIT) + end + + UpdateQuestDescription(Quest, "I have helped Rondo set his friends up impending pranks. Rondo was absolutely giddy about it.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_examinedKit(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_talkedToDrundo(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToJayla(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_talkedToBolo(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/neezers_survey.lua b/Lua/Quests/Baubbleshire/neezers_survey.lua new file mode 100755 index 000000000..9f973012b --- /dev/null +++ b/Lua/Quests/Baubbleshire/neezers_survey.lua @@ -0,0 +1,114 @@ +--[[ + Script Name : Quests/Baubbleshire/neezers_survey.lua + Script Purpose : Handles the quest, "Neezer's Survey" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Neezer Grund + Preceded by: Nogginspark Reactors (nogginspark_reactors.lua) + Followed by: Getting to Know Poko (getting_to_know_poko.lua) +--]] + +-- Quest ID's +local NEEZERS_SURVEY = 330 -- was 28 + +-- Item ID's +local NEEZERS_QUESTIONS = 10030 + +function Init(Quest) + AddQuestStep(Quest, 1, "I must read the questions.", 1, 100, "I need to read the series of questions that Neezer gave me. If I lose the questions I can always ask Neezer for another copy of them.", 0) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_readQuestions") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- Neezer's Questions + if not HasItem(Player, NEEZERS_QUESTIONS, 1) then + SummonItem(Player, NEEZERS_QUESTIONS, 1) + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund039b.mp3", "", "", 1403299137, 3842803422, Player) + AddConversationOption(conversation, "I'll be back once I've gotten the answers.") + StartConversation(conversation, QuestGiver, Player, "Strange but probably not surprising. Now get started!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + -- remove Neezer's Questions + while HasItem(Player, NEEZERS_QUESTIONS) do + RemoveItem(Player, NEEZERS_QUESTIONS) + end +end + +function step1_complete_readQuestions(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have read the questions.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have read the questions I am to ask.") + + AddQuestStepChat(Quest, 2, "I need to question Drundo in the tavern.", 1, "I need to question Drundo, Remo, and Fillzer.", 2180, 2380026) + AddQuestStepChat(Quest, 3, "I need to question Remo in the eastern hills in the Baubbleshire.", 1, "I need to question Drundo, Remo, and Fillzer.", 2180, 2380004) + AddQuestStepChat(Quest, 4, "I need to question Fillzer in the eastern hills in the Baubbleshire.", 1, "I need to question Drundo, Remo, and Fillzer.", 2180, 2380005) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_talkedToDrundo") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToRemo") + AddQuestStepCompleteAction(Quest, 4, "step4_complete_talkedToFillzer") +end + +function step2_complete_talkedToDrundo(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have questioned Drundo.") + + if QuestIsComplete(Player, NEEZERS_SURVEY) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step3_complete_talkedToRemo(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have questioned Remo.") + + if QuestIsComplete(Player, NEEZERS_SURVEY) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step4_complete_talkedToFillzer(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have questioned Fillzer.") + + if QuestIsComplete(Player, NEEZERS_SURVEY) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have questioned Drundo, Remo, and Fillzer.") + + AddQuestStepChat(Quest, 5, "I need to speak with Neezer Grund.", 1, "Now that I have all the answers for Neezer I will need to return to him.", 0, 2380038) + AddQuestStepCompleteAction(Quest, 5, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have spoken with Neezer Grund.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have returned to Neezer.") + + -- remove Neezer's Questions + while HasItem(Player, NEEZERS_QUESTIONS) do + RemoveItem(Player, NEEZERS_QUESTIONS) + end + + UpdateQuestDescription(Quest, "I have given Neezer the answers he was looking for.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_readQuestions(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_talkedToDrundo(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToRemo(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_talkedToFillzer(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/nogginspark_reactors.lua b/Lua/Quests/Baubbleshire/nogginspark_reactors.lua new file mode 100755 index 000000000..4b9af6148 --- /dev/null +++ b/Lua/Quests/Baubbleshire/nogginspark_reactors.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/Baubbleshire/nogginspark_reactors.lua + Script Purpose : Handles the quest, "Nogginspark Reactors" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Neezer Grund + Preceded by: Scraptastic! (scraptastic.lua) + Followed by: Neezer's Survery (neezers_survery.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect some Nogginspark Reactors.", 7, 100, "I need to collect some Nogginspark Reactors from the rats in the Baubbleshire that are near the grate to the Catacombs.", 791, 2380126) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedRats") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund034a.mp3", "", "", 2831738358, 3598455810, Player) + AddConversationOption(conversation, "I'll be back when I've collected seven reactors.") + StartConversation(conversation, QuestGiver, Player, "They shouldn't be too much of a problem. Remember, they hang out near the Catacomb entrance.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedRats(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the Nogginspark Reactors.") + + AddQuestStepChat(Quest, 2, "I need to return these Nogginspark Reactors to Neezer Grund.", 1, "I need to collect some Nogginspark Reactors from the rats in the Baubbleshire that are near the grate to the Catacombs.", 0, 2380038) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned the Nogginspark Reactors to Neezer Grund.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the Nogginspark reactors and returned them to Neezer.") + UpdateQuestDescription(Quest, "I have collected the Nogginspark Reactors and given them to Neezer Grund.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedRats(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/paying_off_a_sweet_debt.lua b/Lua/Quests/Baubbleshire/paying_off_a_sweet_debt.lua new file mode 100755 index 000000000..9525d9a66 --- /dev/null +++ b/Lua/Quests/Baubbleshire/paying_off_a_sweet_debt.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Baubbleshire/paying_off_a_sweet_debt.lua + Script Purpose : Handles the quest, "Paying Off a Sweet Debt" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Rondo "The Belly" Roundstew + Preceded by: Helping Some 'Friends' (helping_some_friends.lua) + Followed by: A Budding Prankster (a_budding_prankster.lua) +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to collect some honey from the trees around the Baubbleshire.", 10, 100, "Rondo has asked that I collect some honey from the trees around the Baubbleshire.", 405) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotHoney") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll return with the honey.") + StartConversation(conversation, QuestGiver, Player, "Ugh, all of them, I imagine. Bees is one thing Baubbleshire certainly has enough of. Just look for the hives.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_gotHoney(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the needed honey.") + + AddQuestStepChat(Quest, 2, "Now that I have collected this honey, I should return to Rondo.", 1, "Rondo has asked that I collect some honey from the trees around the Baubbleshire.", 0, 2380039) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given the honey to Rondo.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the honey for Rondo.") + UpdateQuestDescription(Quest, "I have collected the honey for Rondo. He was very impressed with the amount I collected.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotHoney(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Baubbleshire/scraptastic.lua b/Lua/Quests/Baubbleshire/scraptastic.lua new file mode 100755 index 000000000..6712cdbcc --- /dev/null +++ b/Lua/Quests/Baubbleshire/scraptastic.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : Quests/Baubbleshire/scraptastic.lua + Script Purpose : Handles the quest, "Scraptastic!" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Baubbleshire + Quest Giver: Neezer Grund + Preceded by: None + Followed by: Nogginspark Reactors (nogginspark_reactors.lua) +--]] + +-- Item ID's +local SCRAP_METAL = 11996 + +function Init(Quest) + -- Scrap Metal + AddQuestStepHarvest(Quest, 1, "I need to collect some scrap metal for Neezer Grund.", 7, 100, "I need to scour the Baubbleshire for some scrap metal.", 64, SCRAP_METAL) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotMetal") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund022a.mp3", "", "", 2015655109, 4127478341, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Don't forget to check in the water!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove Scrap Metal + while HasItem(Player, SCRAP_METAL) do + RemoveItem(Player, SCRAP_METAL) + end +end + +function step1_complete_gotMetal(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected some scrap metal.") + + AddQuestStepChat(Quest, 2, "I need to return this scrap metal to Neezer Grund.", 1, "I need to scour the Baubbleshire for some scrap metal.", 0, 2380038) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Neezer the scrap metal he asked for.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected some scrap metal for Neezer Grund.") + + -- Remove Scrap Metal + while HasItem(Player, SCRAP_METAL) do + RemoveItem(Player, SCRAP_METAL) + end + + UpdateQuestDescription(Quest, "I have collected the scrap metal for Neezer.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotMetal(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/BeggarsCourt/a_delivery.lua b/Lua/Quests/BeggarsCourt/a_delivery.lua new file mode 100755 index 000000000..5717094ed --- /dev/null +++ b/Lua/Quests/BeggarsCourt/a_delivery.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/BeggarsCourt/a_delivery.lua + Script Purpose : Handles the quest, "A Delivery" + Script Author : Scatman (updated by Cynnar 2018.06.14 06:06:04) + Script Date : 2009.04.05 + + Zone : Beggar's Court + Quest Giver: Thavian Destrus + Preceded by: None + Followed by: Dirty Work (dirty_work.lua) +--]] + +local LIEUTENANT_CERVAEN = 1370037 +local DELCAIRN_SEBASTIAN = 1370038 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to deliver this report to Lieutenant Cervaen in the upstairs room in the western end of the northern half of Beggar's Court.", 1, "I need to deliver Thavian's note to Lieutenant Cervaen.", 75, LIEUTENANT_CERVAEN) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeToCervaen") +end + + +function Step1_Complete_SpokeToCervaen(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have delivered the note to Lieutenant Cervaen.") + + AddQuestStepChat(Quest, 2, "I need to speak with Delcairn Sebastian.", 1, ".", 0, DELCAIRN_SEBASTIAN) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have delivered Thavian's letter. After speaking with Lieutenant Cervaen and Delcairn Sebastian they have offered me more work.") + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian014.mp3", "", "", 746734341, 3406058828, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Good. The Brotherhood Awaits.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeToCervaen(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/BeggarsCourt/dirty_work.lua b/Lua/Quests/BeggarsCourt/dirty_work.lua new file mode 100755 index 000000000..0f8f00217 --- /dev/null +++ b/Lua/Quests/BeggarsCourt/dirty_work.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : Quests/BeggarsCourt/dirty_work.lua + Script Purpose : Handles the quest, "Dirty Work" + Script Author : Scatman (updated by Cynnar 2018.06.13 03:06:49) + Script Date : 2009.04.05 + Script Notes : One of the cups to poison is a pink cube from CoE+ + Script Notes : mug_to_poison_2 (1370086) -16 -2 82 + Script Notes : I am setting the quest to update with just the one cup + Script Notes : 82, -7, 112 for eavesdrop location + Zone : Beggar's Court + Quest Giver: Thavian Destrus + Preceded by: A Delivery (a_delivery.lua) + Followed by: Reel Him In (reel_him_in.lua) +--]] + +local DELCAIRN_SEBASTIAN = 1370038 +local FATES_WISPER = 7086 +local A_MUG_TO_POISON = 3727 + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to purchase 'Fate's Whisper' from Loamshallow a merchant whose shop is southeast of the bank.", 1, 100, "I need to purchase some poison.", 0, FATES_WISPER) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_BoughtPoison") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn005a.mp3", "", "", 3741115317, 660402658, Player) + AddConversationOption(conversation, "Yes, sir.") + StartConversation(conversation, QuestGiver, Player, "Neither Revlos nor his interrogator must live. Go, quickly.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_BoughtPoison(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have purchased the poison.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have purchased the poison.") + + AddQuestStep(Quest, 2, "I need to go to the gate to North Freeport and eavesdrop on the conversation that is supposed to take place there. I should hide behind the western side of the gates.", 1, 100, "I need to eavesdrop on a conversation.", 0) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_Listened") +end + +function Step2_Complete_Listened(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have learned the location that the meeting will take place in.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have learned the location that the meeting will take place in.") + + AddQuestStepSpell(Quest, 3, "I must poison the cups in the room in the southeastern area of the Beggar's Court, east of the inn.", 1, 100, "I need to poison the cups at the meeting place.", 0, A_MUG_TO_POISON) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_CupsPoisoned") +end + +function Step3_Complete_CupsPoisoned(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have poisoned the cups.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have poisoned the cups.") + + -- Fate's Whisper + RemoveItem(Player, FATES_WISPER) + + AddQuestStepChat(Quest, 4, "I need to return to Delcairn Sebastian in the upstairs room in the western end of the northern half of Beggar's Court.", 1, "I need to return to Delcairn.", 0, DELCAIRN_SEBASTIAN) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have poisoned the cups that will be used in Revlos' interrogation.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_BoughtPoison(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_Listened(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_CupsPoisoned(Quest, QuestGiver, Player) + end +end + +function Deleted(Quest, QuestGiver, Player) +end diff --git a/Lua/Quests/BeggarsCourt/one_last_request.lua b/Lua/Quests/BeggarsCourt/one_last_request.lua new file mode 100755 index 000000000..69cfa352b --- /dev/null +++ b/Lua/Quests/BeggarsCourt/one_last_request.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/BeggarsCourt/one_last_request.lua + Script Purpose : Handles the quest, "One Last Request" + Script Author : Scatman (updated by Cynnar 2018.06.14 11:06:14) + Script Date : 2009.04.07 + + Zone : Beggar's Court + Quest Giver: Thavian Destrus + Preceded by: Thaen Sevellos (thaen_sevellos.lua) + Followed by: None +--]] + +local INQUISITOR_THORSON = 1240024 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Inquisitor Thorson in the Sunken City. From Beggar's Court, I can use the Mariner's Bell on the docks to reach the Sunken City.", 1, ".", 0, INQUISITOR_THORSON) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn015a.mp3", "", "", 2742302436, 855265638, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Thanks again, " .. GetName(Player) .. ".") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have found Inquisitor Thorson.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end + +function Deleted(Quest, QuestGiver, Player) +end diff --git a/Lua/Quests/BeggarsCourt/reel_him_in.lua b/Lua/Quests/BeggarsCourt/reel_him_in.lua new file mode 100755 index 000000000..b9248e997 --- /dev/null +++ b/Lua/Quests/BeggarsCourt/reel_him_in.lua @@ -0,0 +1,90 @@ +--[[ + Script Name : Quests/BeggarsCourt/reel_him_in.lua + Script Purpose : Handles the quest, "Reel Him In" + Script Author : Scatman (updated by Cynnar 2018.06.14 06:06:04) + Script Date : 2009.04.07 + + Zone : Beggar's Court + Quest Giver: Thavian Destrus + Preceded by: Dirty Work (dirty_work.lua) + Followed by: Thaen Sevellos (thaen_sevellos) +--]] + +local HIDDEN_COMPONENTS = 8086 +local A_SMALL_EXPLOSIVE_DEVICE = 2754 +local LIEUTENANT_CERVAEN = 1370037 +local DELCAIRN_SEBASTIAN = 1370038 + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to collect the stashed components found strewn around the city - the containers will be marked so that I can recognize them.", 3, 100, ".", 2285, HIDDEN_COMPONENTS) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotComponents") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen005a.mp3", "", "", 673024524, 1827470261, Player) + AddConversationOption(conversation, "I won't") + StartConversation(conversation, QuestGiver, Player, "Oh... don't make a big ruckus when you get those supplies.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotComponents(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the stashed components.") + + AddQuestStepChat(Quest, 2, "I need to speak with Lieutenant Cervaen and have him put these components together. He is upstairs in the western end of the northeastern half of Beggar's Court.", 1, ".", 0, LIEUTENANT_CERVAEN) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeToCervaen") +end + +function Step2_Complete_SpokeToCervaen(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Lieutenant Cervaen has put the bomb together.") + + -- hidden components + RemoveItem(Player, HIDDEN_COMPONENTS) + RemoveItem(Player, HIDDEN_COMPONENTS) + RemoveItem(Player, HIDDEN_COMPONENTS) + + -- a small explosive device + SummonItem(Player, A_SMALL_EXPLOSIVE_DEVICE) + + AddQuestStep(Quest, 3, "I need to blow up the supplies in the eastern end of the northern half of Beggar's Court.", 1, 100, ".", 0) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_PlacedExplosives") +end + +function Step3_Complete_PlacedExplosives(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have placed the explosives.") + + -- a small explosive device + RemoveItem(Player, A_SMALL_EXPLOSIVE_DEVICE) + + AddQuestStepChat(Quest, 4, "I need to return to Declairn Sebastian in the upstairs room in the western end of the northern half of Beggar's Court.", 1, ".", 0, DELCAIRN_SEBASTIAN) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "Adjunct-Captain Rommuls has been captured by the Brotherhood. It is unlikely that he will survive much longer.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotComponents(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeToCervaen(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_PlacedExplosives(Quest, QuestGiver, Player) + end +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, HIDDEN_COMPONENTS, 1) do + RemoveItem(Player, HIDDEN_COMPONENTS) + end + + while HasItem(Player, A_SMALL_EXPLOSIVE_DEVICE, 1) do + RemoveItem(Player, A_SMALL_EXPLOSIVE_DEVICE) + end +end diff --git a/Lua/Quests/BeggarsCourt/saving_history.lua b/Lua/Quests/BeggarsCourt/saving_history.lua new file mode 100755 index 000000000..8616b88e1 --- /dev/null +++ b/Lua/Quests/BeggarsCourt/saving_history.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/BeggarsCourt/saving_history.lua + Script Author : Shatou + Script Date : 2018.09.03 10:09:33 + Script Purpose : + + Zone : BeggarsCourt + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/BeggarsCourt/thaen_sevellos.lua b/Lua/Quests/BeggarsCourt/thaen_sevellos.lua new file mode 100755 index 000000000..a78e3bee2 --- /dev/null +++ b/Lua/Quests/BeggarsCourt/thaen_sevellos.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/BeggarsCourt/thaen_sevellos.lua + Script Purpose : Handles the quest, "Thaen Sevellos" + Script Author : Scatman (updated by Cynnar 2018.06.14 11:06:19) + Script Date : 2009.04.07 + + Zone : Beggar's Court + Quest Giver: Thavian Destrus + Preceded by: Reel Him In (reel_him_in.lua) + Followed by: One Last Request (one_last_request.lua) +--]] + +local DELCAIRN_SEBASTIAN = 1370038 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to rescue Thaen Sevellos. He is being held in a room in the northwestern end of the northern half of Beggar's Court.", 1, 100, "I need to rescue Thaen Sevellos.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FreedThaen") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn012.mp3", "", "", 2118872421, 1842762930, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "It won't be. Once you free him return to me.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FreedThaen(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have rescued Thaen Sevellos.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have rescued Thaen Sevellos.") + + AddQuestStepChat(Quest, 2, "I need to return to Delcairn Sebastian. He is upstairs in the western half of the northern half of Beggar's Court.", 1, "I need to return to Delcairn.", 0, DELCAIRN_SEBASTIAN) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have freed Thaen Sevellos.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FreedThaen(Quest, QuestGiver, Player) + end +end + +function Deleted(Quest, QuestGiver, Player) +end diff --git a/Lua/Quests/BlumblesHalflingHole/SearchForGrandmaBlumble.lua b/Lua/Quests/BlumblesHalflingHole/SearchForGrandmaBlumble.lua new file mode 100755 index 000000000..5f8e64abd --- /dev/null +++ b/Lua/Quests/BlumblesHalflingHole/SearchForGrandmaBlumble.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/BlumblesHalflingHole/SearchForGrandmaBlumble.lua + Script Author : Jabantiz + Script Date : 2014.07.07 11:07:35 + Script Purpose : + + Zone : BlumblesHalflingHole + Quest Giver: + Preceded by: None + Followed by: +--]] + +local BlumbleBlunder = 103 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Grandpa Blumble asked me to find Grandma Blumble.", 1, "Grandpa Blumble asked me to help him find Grandma Blumble. He talked about Nektulos.", 11) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + SetStepComplete(Player, BlumbleBlunder, 1) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ButcherblockMountains/ADimLight.lua b/Lua/Quests/ButcherblockMountains/ADimLight.lua new file mode 100755 index 000000000..982fa0aac --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/ADimLight.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : ADimLight.lua + Script Purpose : Handles the quest, "A Dim Light" + Script Author : jakejp + Script Date : 6/11/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Geldrani A'Zhi'Tel + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must slay kobold mystics in Butcherblock Mountains to locate a luminescent sphere.", 1, 80, "I must collect a luminescent sphere for Geldrani.", 1180, 1080247, 1081121) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "It appears I have found the luminescent sphere.") + UpdateQuestTaskGroupDescription(Quest, 1, "It appears I have found the sphere.") + + AddQuestStepChat(Quest, 2, "Bring the luminescent sphere to Geldrani.", 1, "I need to bring the luminescent sphere to Geldrani at the Highland Outposts in the Butcherblock Mountains.", 1180, 1081108) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I returned the luminescent sphere to Geldrani.") + UpdateQuestTaskGroupDescription(Quest, 2, "Geldrani appeared satisfied with what I brought him, and he paid me for my work.") + + UpdateQuestDescription(Quest, "I managed to find the sphere Geldrani was looking for. It was strange, because it didn't have any weight to it, like it was simply a solid ball of warm light.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_004.mp3", "", "", 531507699, 1779782633, Player) + AddConversationOption(conversation, "All right, then. I will return soon.", "dlg_25_4") + StartConversation(conversation, QuestGiver, Player, "Excellent, then. As I said, the mystics are the ones that carry the charms, so you will want to seek them out in favor of the rest of their pack. Bring the orb you recover back to me.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/AMindOfMyOwn.lua b/Lua/Quests/ButcherblockMountains/AMindOfMyOwn.lua new file mode 100755 index 000000000..3f87a89fb --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/AMindOfMyOwn.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : AMindofMyOwn.lua + Script Purpose : Handles the quest, "A Mind of My Own" + Script Author : jakejp + Script Date : 6/10/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Talvrae T'Zyth + Preceded by : None + Followed by : None +--]] + +local TerratrodderChuck = 45400 + +function Init(Quest) + AddQuestStep(Quest, 1, "I must place the food near a Yarpsnarl kobold to get it to eat.", 1, 100, "I must use Talvrae's Dish, and place it near a kobold to coax it to eat.", 305) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "It seems that the charm worked, and I now have control over a kobold.") + + AddQuestStepKill(Quest, 2, "The kobold is under my control. I should see if I can make him attack other kobolds.", 12, 100, "I must use Talvrae's Dish, and place it near a kobold to coax it to eat.", 452, 1080092, 1080095, 1080099, 1080107, 1080108, 1080111, 1080247, 1080248, 1080251, 1080258, 1080268, 1080269, 1080311, 1080315, 1080316, 1080317, 1080321, 1080326, 1080327, 1080335, 1080341, 1080372, 1080383, 1080423, 1080424, 1080425, 1080426, 1080428, 1080431, 1080432, 1080612, 1080616, 1080617, 1080663, 1080701, 1080764, 1080787, 1081102, 1081103, 1081104, 1081121, 1081122, 1081124, 1081138, 1081141, 1081142, 1081143, 1081145, 1081146, 1081148, 1081150, 1081151, 1081153, 1081154, 1081155, 1081170) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "It appears to have worked quite well. I should report back to Talvrae with my findings.") + + AddQuestStepChat(Quest, 3, "Return to Talvrae T'Zyth at the Highlands Outpost.", 1, "I must use Talvrae's Dish, and place it near a kobold to coax it to eat.", 249, 1081107) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 3, "I was able to help Talvrae T'Zyth prove her experiment.") + UpdateQuestTaskGroupDescription(Quest, 1, "It appears that Talvrae's plan was a qualified success.") + + UpdateQuestDescription(Quest, "It appears that Talvrae's plan was a qualified success. In spite of her sour demeanor, she seemed genuinely pleased that the experiment went smoothly.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + SummonItem(Player, TerratrodderChuck, 1) + PlayFlavor(QuestGiver, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_008.mp3", "", "", 1081612079, 3658293484, Player) + AddConversationOption(conversation, "I see. Well then, I will return and let you know how things went.") + StartConversation(conversation, QuestGiver, Player, "While I have no reason to question my own magic craft, I don't know how well the enchantment will work on what is essentially a simple creature. It might just go primal and attack everything nearby, or might just run off to the hills. I wouldn't attempt walking too far from the camp this time, as I don't know how long the enchantment will last.") +end + +function Declined(Quest, QuestGiver, Player) + +end + +function Deleted(Quest, QuestGiver, Player) + RemoveItem(Player, TerratrodderChuck) +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/AStrangeMix.lua b/Lua/Quests/ButcherblockMountains/AStrangeMix.lua new file mode 100755 index 000000000..068762b08 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/AStrangeMix.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : AStrangeMix.lua + Script Purpose : Handles the quest, "A Strange Mix" + Script Author : jakejp + Script Date : 6/14/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : + Preceded by : None + Followed by : None +--]] + +local EmptyVial = 46457 +local FilledVial = 7641 +local AStrangeMix = 314 + +function Init(Quest) + AddQuestStep(Quest, 1, "I have not yet filled Geldrani's Vial.", 1, 100, "I must fill Geldrani's Vial with water from the pond in the center of the Druid Rings.", 176) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Geldrani's Vial is now filled with water from the Druid Ring.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have filled Geldrani's Vial with the water he requested.") + + AddQuestStepChat(Quest, 2, "Geldrani should still be near the Highland Outposts. ", 1, "Geldrani will want this water as fresh as possible. I should return it to him immediately.", 176, 1081108) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "This water appears to be the last thing Geldrani needed.") + UpdateQuestTaskGroupDescription(Quest, 2, "Geldrani used the vial to water his strange plant.") + + UpdateQuestDescription(Quest, "Geldrani now has the water from the druid rings, and evidently he is going to use it to help grow his plant. There's something odd about his experiment, but he is quite evasive about it.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) +FaceTarget(QuestGiver, Player) +conversation = CreateConversation() + SummonItem(Player, EmptyVial, 1) + + PlayFlavor(QuestGiver, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Player) + AddConversationOption(conversation, "All right, then. I will return with the water soon.") + StartConversation(conversation, QuestGiver, Player, "Indeed. It shouldn't take much more than what would be in that vial, as the water near the rings is quite rich in magical properties.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, EmptyVial) then + RemoveItem(Player, EmptyVial) + end + + if HasItem(Player, FilledVial) then + RemoveItem(Player, FilledVial) + end +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/CaptainSays.lua b/Lua/Quests/ButcherblockMountains/CaptainSays.lua new file mode 100755 index 000000000..fe9862e4d --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/CaptainSays.lua @@ -0,0 +1,86 @@ +--[[ + Script Name : Quests/ButcherblockMountains/CaptainSays + Script Purpose : Handles the quest, "Captain Says!" + Script Author : jakejp + Script Date : 6/2/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Captain Stonnacky + Preceded by : None + Followed by : None +--]] + +local CaptainSays = 267 + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Alright, next?", "dlg_4_4") + StartConversation(conversation, QuestGiver, Player, "Go seek out me crew members. First I want ye ta tell Bimine Bowchaser to flemish down the boat falls an' be sure all the lines are coiled correctly!") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to deliver orders to Bimini Bowchaser.", 1, "I need to speak with several members of Captain Stonnacky's crew.", 11, 1080197) + AddQuestStepChat(Quest, 2, "I need to deliver orders to Mizzen Staysail.", 1, "I need to speak with several members of Captain Stonnacky's crew.", 11, 1081057) + AddQuestStepChat(Quest, 3, "I need to deliver orders to Tally Topgallant.", 1, "I need to speak with several members of Captain Stonnacky's crew.", 11, 1080048) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") + +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, CaptainSays, 1) and QuestStepIsComplete(Player, CaptainSays, 2) and QuestStepIsComplete(Player, CaptainSays, 3) then + HandInQuest(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have delivered the Captain's orders to Bimini Bowchaser.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have delivered orders to Mizzen Staysail.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have delivered orders to Tally Topgallant.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function HandInQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Captain Stonnacky's crew.") + AddQuestStepChat(Quest, 4, "I need to speak with Captain Stonnacky.", 1, "I need to tell the captain that I've given his crew their orders.", 11, 1081077) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I have spoken with Captain Stonnacky.") + UpdateQuestTaskGroupDescription(Quest, 2, "I spoke with Captain Stonnacky.") + + UpdateQuestDescription(Quest, "I successfully delivered the orders to each of the respective crew members. The ship will soon be ready and the crew can pursue the dreaded pirate, Blackguard! I think Captain Stonnacky still believes that I am Bosun Oxeye.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/ButcherblockMountains/CoinForTheCaptain.lua b/Lua/Quests/ButcherblockMountains/CoinForTheCaptain.lua new file mode 100755 index 000000000..bdc1949df --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/CoinForTheCaptain.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : Quests/ButcherblockMountains/CoinForTheCaptain + Script Purpose : Handles the quest, "Coin for the Captain" + Script Author : jakejp + Script Date : 6/2/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Dockmaster Waulon + Preceded by : None + Followed by : None +--]] + +local CoinForTheCaptain = 255 +local CaptainSays = 251 + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to deliver this sack of coins to Captain Stonnacky.", 1, "I need to deliver a sack of coins to Captain Stonnacky at once.", 11, 1081077) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + + UpdateQuestStepDescription(Quest, 1, "I have delivered the coins to Captain Stonnacky.") + + AddQuestStep(Quest, 2, "I need to help Captain Stonnacky with his task.", 1, 100, "I need to deliver a sack of coins to Captain Stonnacky at once.", 11) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + + + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have helped Captain Stonnacky.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've delivered the sack of coins to Captain Stonnacky.") + + AddQuestStepChat(Quest, 3, "I need to speak with Dockmaster Waulon.", 1, "I need to let Dockmaster Waulon know I delivered the sack of coins to Captain Stonnacky, safetly.", 11, 1080008) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 3, "I spoke with Dockmaster Waulon.") + UpdateQuestTaskGroupDescription(Quest, 2, "I spoke with Dockmaster Waulon.") + + UpdateQuestDescription(Quest, "After delivering the sack of coin to the venerable captain, I took some time to assist him in an errand. Now that I've completed his quest, I need to report back to Dockmaster Waulon.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/ButcherblockMountains/DarkTides.lua b/Lua/Quests/ButcherblockMountains/DarkTides.lua new file mode 100755 index 000000000..77e5e0137 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/DarkTides.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/ButcherblockMountains/DarkTides.lua + Script Purpose : Handles the quest, "Dark Tides" + Script Author : jakejp + Script Date : 6/4/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Griss Brumbaugh + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to slay several Tidesylph ritualists.", 8, 100, "I must slay several Tidesylph ritualists before they taint the entire Tidesylph tribe with necromancy.", 86, 1080399) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain several Tidesylph ritualists.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain several Tidesylph ritualists before they had an opportunity to taint the entire Tidesylph tribe with necromancy.") + + AddQuestStepChat(Quest, 2, "I need to speak with Griss Brumbaugh.", 1, "I should return to Griss Brumbaugh and let him know I have completed my current assignment.", 11, 1081075) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I spoke with Griss Brumbaugh.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned to Griss Brumbaugh and let him know I have completed my current assignment.") + + UpdateQuestDescription(Quest, "I have completed Griss Brumbaugh's task.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh007.mp3", "", "", 1790400537, 2286410199, Player) + AddConversationOption(conversation, "Very well. I'll return shortly.") + StartConversation(conversation, QuestGiver, Player, "The necromantic taint should be cutoff at the source. I need you to head to the islands off the coast of these mountains and slay as many Tidesylph ritualists as you can. Only then, after their numbers have been reduced, can we rest easier.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/DiggingInTheYard.lua b/Lua/Quests/ButcherblockMountains/DiggingInTheYard.lua new file mode 100755 index 000000000..627400ffb --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/DiggingInTheYard.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : DiggingintheYard.lua + Script Purpose : Handles the quest, "Digging in the Yard" + Script Author : jakejp + Script Date : 6/13/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Gather the pure soil.", 5, 100, "I must gather pure soil for Geldrani.", 320, 5100) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected all of the necessary pure soil.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered the necessary pure soil.") + + AddQuestStepChat(Quest, 2, "Speak with Geldrani A'Zhi'Tel.", 1, "I must return the pure soil to Geldrani.", 320, 1081108) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "Geldrani now has the soil he needs.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have brought Geldrani the pure soil.") + + UpdateQuestDescription(Quest, "I was able to gather the pure soil that Geldrani requested.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_007.mp3", "", "", 4076175152, 3212649291, Player) + AddConversationOption(conversation, "I will see what I can do.", "dlg_3_2") + StartConversation(conversation, QuestGiver, Player, "Who knows what those curs are digging for, but in the end, they are doing the hard work for me, anyway. Bring me as much of the soil as you can find.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/DockDelinquency.lua b/Lua/Quests/ButcherblockMountains/DockDelinquency.lua new file mode 100755 index 000000000..1852422cb --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/DockDelinquency.lua @@ -0,0 +1,89 @@ +--[[ + Script Name : DockDelinquency.lua + Script Purpose : Handles the quest, "Dock Delinquency" + Script Author : jakejp + Script Date : 5/31/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Dockmaster Waulon + Preceded by : None + Followed by : None +--]] + +local DockDelinquency = 249 + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Player) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I'll begin at once!") + StartConversation(conversation, QuestGiver, Player, "A number of the beasties that roam this 'ere coast have been causing problems 'ere and I don't have the time nor the manpower to resolve this issue by meself. Here, take this list an' see if you can keep the beasties in check.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Rustfiends have been eating the workers' tools! I need to thin their numbers a bit.", 4, 100, "Dockmaster Waulon has asked me to cull some of the local wildlife so they will stop interfering with the day to day business of the docks.", 611, 1080055, 1081092) + AddQuestStepKill(Quest, 2, "Coastal basilisks have been chasing away the local fishermen! I must reduce their numbers.", 6, 100, "Dockmaster Waulon has asked me to cull some of the local wildlife so they will stop interfering with the day to day business of the docks.", 611, 1080054, 1081091) + AddQuestStepKill(Quest, 3, "Aqua goblin runts have attacked many newcomers. They need to be taught a lesson!", 6, 100, "Dockmaster Waulon has asked me to cull some of the local wildlife so they will stop interfering with the day to day business of the docks.", 159, 1080347) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") + +end + +function CheckProgressDockDelinquency(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, DockDelinquency, 1) and QuestStepIsComplete(Player, DockDelinquency, 2) and QuestStepIsComplete(Player, DockDelinquency, 3) then + FinalStepDockDelinquency(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have reduced the number of rustfiends near the Butcherblock Docks.") + CheckProgressDockDelinquency(Quest, QuestGiver, Player) + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have reduced the number of coastal basilisks on the beach.") + CheckProgressDockDelinquency(Quest, QuestGiver, Player) + +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have taught the aqua goblin runts a lesson they will never forget!") + CheckProgressDockDelinquency(Quest, QuestGiver, Player) + +end + +function FinalStepDockDelinquency(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I successfully culled some of the local wildlife.") + + AddQuestStepChat(Quest, 4, "I need to speak with Dockmaster Waulon.", 1, "I need to let Dockmaster Waulon know I was successful at culling the list of creatures that were interferring with the dockworkers.", 11, 1080008) + AddQuestStepCompleteAction(Quest, 4, "QuestCompleteDockDelinquency") +end + +function QuestCompleteDockDelinquency(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I spoke with Dockmaster Waulon.") + UpdateQuestTaskGroupDescription(Quest, 2, "I spoke with Dockmaster Waulon.") + + UpdateQuestDescription(Quest, "I've 'trimmed' back the local wildlife population as per Dockmaster Waulon's request. Hopefully he won't have as many problems to deal with now. The Dockmaster was most appreciative of my efforts.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestCompleteDockDelinquency(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/ButcherblockMountains/FeathersForGherrana.lua b/Lua/Quests/ButcherblockMountains/FeathersForGherrana.lua new file mode 100755 index 000000000..0f355712e --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/FeathersForGherrana.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : FeathersforGherrana.lua + Script Purpose : Handles the quest, "Feathers for Gherrana" + Script Author : jakejp + Script Date : 6/7/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Gherrana Cobbleblork + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect Kragploom aviak feathers.", 10, 100, "I need to collect some healthy Kragploom aviak feathers for Gherrana, a gnome at the Highland Outposts.", 151, 1080073, 1080075, 1080076, 1080079, 1080081, 1080084, 1080252, 1080253, 1080255, 1080256, 1080338, 1080339, 1080343, 1080344, 1080346, 1080349, 1080352, 1081101) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected several Kragploom aviak feathers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected several Kragploom aviak feathers for Gherrana.") + + AddQuestStepChat(Quest, 2, "I need to speak with Gherrana at the Highland Outposts.", 1, "I need to bring the Kragploom scavenger feathers back to Gherrana.", 11, 1081120) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I spoke with Gherrana.") + UpdateQuestTaskGroupDescription(Quest, 2, "I gave Gherrana the feathers.") + + UpdateQuestDescription(Quest, "I brought back a pile of Kragploom aviak feathers for Gherrana. Now she can continue work on her flying contraption... or stuff a down pillow.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Off I go!") + StartConversation(conversation, QuestGiver, Player, "Splendid! You might have an easier time getting them than I did. When I asked the Kragplooms themselves, they tried to eat me! Can you believe that! Me! I don't taste very good... At least I don't think I do. Anyways I'll need a great deal of feathers, so you better start now. Oh, and you will be fully compensated for your efforts.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/FletchMeMore.lua b/Lua/Quests/ButcherblockMountains/FletchMeMore.lua new file mode 100755 index 000000000..84fa5bcb2 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/FletchMeMore.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : FletchMeMore.lua + Script Purpose : Handles the quest, "Fletch Me More!" + Script Author : jakejp + Script Date : 6/22/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Ninoin D'syl + Preceded by : Tier'Dal Timber + Followed by : Straight and to the Point +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to hunt Kragploom aviaks for their feathers.", 12, 100, "I need to gather feathers for Ninoin. She insisted I gather them from the Kragploom predators that stalk the Butcherblock highlands.", 147, 1080084, 1080079) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gathered a sufficent number of feathers for Ninoin.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered a sufficent number of feathers from the Kragploom predators.") + + AddQuestStepChat(Quest, 2, "I need to return the aviak feathers to Ninoin.", 1, "I need to bring the feathers back to Ninoin D'Syl.", 11, 1080135) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have returned the aviak feathers to Ninoin.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have brought the feathers back to Ninoin D'Syl.") + + UpdateQuestDescription(Quest, "Ninoin was pleased with the Kragploom feathers I brought her. As agreed, I was compensated for my efforts.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + AddConversationOption(con, "It will be done in due course.") + StartConversation(con, QuestGiver, Player, "Yes, Kragploom should work quite well. Bring me several feathers from any type of Kragploom you're able to hunt down. Their plumage would be best to make my arrows from.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/ForTheDogs.lua b/Lua/Quests/ButcherblockMountains/ForTheDogs.lua new file mode 100755 index 000000000..bbfc909e5 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/ForTheDogs.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : FortheDogs.lua + Script Purpose : Handles the quest, "For the Dogs" + Script Author : jakejp + Script Date : 6/9/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Talvrae asked me to collect fresh terratrodder meat for her.", 6, 100, "I must gather fresh terratrodder meat for Talvrae.", 288, 1080061, 1081094) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the terratrodder meat, and I should return this to Talvrae T'Zyth.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered the terratrodder meat that Talvrae needs.") + + AddQuestStepChat(Quest, 2, "I must return the terratrodder meat to Talvrae. I can find her at the Highland Outposts.", 1, "I must return the fresh terratrodder meat to Talvrae T'Zyth.", 288, 1081107) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Talvrae the fresh terratrodder meat she asked for.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have delivered the fresh terratrodder meat to Talvrae.") + + UpdateQuestDescription(Quest, "I was able to gather enough terratrodder meat for Talvrae T'Zyth. I can't be sure what her plan is, but it looks like she's getting ready to feed her pets rather than conduct any type of study.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_004.mp3", "", "", 1310097835, 2111544733, Player) + AddConversationOption(conversation, "I'm sure that I can. I'll gather the meat and return soon.", "dlg_23_6") + StartConversation(conversation, QuestGiver, Player, "I could not explain the details of exactly what I am doing to the likes of you, for I doubt you would understand it. The only parts important to you are the task, and the result. Can you handle that?") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/GriffinStationsButcherblock.lua b/Lua/Quests/ButcherblockMountains/GriffinStationsButcherblock.lua new file mode 100755 index 000000000..394e1cbf8 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/GriffinStationsButcherblock.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/ButcherblockMountains/GriffinStationsButcherblock.lua + Script Purpose : Handles the quest, "Griffin Stations: Butcherblock" + Script Author : jakejp + Script Date : 6/1/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : a griffin tamer + Preceded by : None + Followed by : None +--]] + +local GriffinStationsButcherblock = 269 + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "There is a griffin tower station near the Butcherblock docks.", 10, "I must find the location of the three griffin towers in the Butcherblock Mountains.", 11, 754.67, 26.00, 571.20) + AddQuestStepLocation(Quest, 2, "There is a griffin tower station near the entrance to Greater Faydark.", 10, "I must find the location of the three griffin towers in the Butcherblock Mountains.", 11, -966, 116, -430) + AddQuestStepLocation(Quest, 3, "There is a griffin tower station near the entrance to Lesser Faydark.", 10, "I must find the location of the three griffin towers in the Butcherblock Mountains.", 11, -622.63, 115.50, 336.26) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, GriffinStationsButcherblock, 1) and QuestStepIsComplete(Player, GriffinStationsButcherblock, 2) and QuestStepIsComplete(Player, GriffinStationsButcherblock, 3) then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found the Docks station.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have found the Greater Faydark station.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have found the Lesser Faydark station.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/IrontoeBrigadeRequisitionLists.lua b/Lua/Quests/ButcherblockMountains/IrontoeBrigadeRequisitionLists.lua new file mode 100755 index 000000000..3b0f757c5 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/IrontoeBrigadeRequisitionLists.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : IrontoeBrigadeRequisitionLists.lua + Script Purpose : Handles the quest, "Irontoe Brigade Requisition Lists" + Script Author : jakejp + Script Date : 6/8/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : + Preceded by : None + Followed by : None +--]] + +local IrontoeBrigadeRequisitionLists = 282 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need the requisition list from the first Irontoe Brigade miner foreman.", 1, "I need the requisition lists from the Irontoe Brigade miner foremans.", 75, 1080328) + AddQuestStepChat(Quest, 2, "I need the requisition list from the second Irontoe Brigade miner foreman.", 1, "I need the requisition lists from the Irontoe Brigade miner foremans.", 75, 1081245) + AddQuestStepChat(Quest, 3, "I need the requisition list from the third Irontoe Brigade miner foreman.", 1, "I need the requisition lists from the Irontoe Brigade miner foremans.", 75, 1080324) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, IrontoeBrigadeRequisitionLists, 1) and QuestStepIsComplete(Player, IrontoeBrigadeRequisitionLists, 2) and QuestStepIsComplete(Player, IrontoeBrigadeRequisitionLists, 3) then + HandInQuest(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the first requisition list.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have the second requisition list.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have the third requisition list.") + CheckProgress(Quest, QuestGiver, Player) +end + +function HandInQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the requisition lists.") + + AddQuestStepChat(Quest, 4, "I need to return to Argro.", 1, "I need to bring these requisition lists to Argro.", 11, 1081147) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I have spoken with Argro.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have given Argro the requision lists.") + + UpdateQuestDescription(Quest, "I got the requisition lists from the dig foremen for Argro.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/MuckflickMessageIntercepted.lua b/Lua/Quests/ButcherblockMountains/MuckflickMessageIntercepted.lua new file mode 100755 index 000000000..95f07b2ef --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/MuckflickMessageIntercepted.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/ButcherblockMountains/MuckflickMessageIntercepted.lua + Script Purpose : Handles the quest, "Muckflick Message Intercepted!" + Script Author : jakejp + Script Date : 6/6/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Brulten Hiltstill + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to retrieve a message from a Muckflick runner.", 1, 100, "I need to take a note from the body of a Muckflick runner.", 75, 1080331, 1080374, 1080430) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have retrieved a message from a Muckflick runner.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found a note on the body of the Muckflick runner!") + + AddQuestStepChat(Quest, 2, "I need to give the note to Brulten.", 1, "I need to bring the message to Brulten.", 11, 1081114) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given the note to Brulten.") + UpdateQuestTaskGroupDescription(Quest, 2, "I gave the message to Brulten.") + + UpdateQuestDescription(Quest, "I have pried a message from the dead hands of a Muckflick runner and delivered it to Brulten Hiltstill.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/NauticalDisaster.lua b/Lua/Quests/ButcherblockMountains/NauticalDisaster.lua new file mode 100755 index 000000000..d0fa325bb --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/NauticalDisaster.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : Quests/ButcherblockMountains/NauticalDisaster.lua + Script Purpose : Handles the quest, "Nautical Disaster" + Script Author : jakejp + Script Date : 6/2/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Dockmaster Waulon + Preceded by : None + Followed by : None +--]] + +local NauticalDisaster = 252 + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to find the stolen tome.", 1, 100, "I need to look for the lost tome somewhere on the aqua goblin islands.", 11, 1081016) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found the tome.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found the tome.") + + AddQuestStepChat(Quest, 2, "I need to return the tome to Dockmaster Waulon.", 1, "I need to bring the tome back to Dockmaster Waulon.", 11, 1080008) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned the tome to Dockmaster Waulon.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned the tome to Dockmaster Waulon. Alas, it was missing several pages!") + + AddQuestStepKill(Quest, 3, "I need to look for the missing pages on the bodies of several aqua goblin wizards.", 5, 100, "I need to look for the missing pages on the bodies of the aqua goblin wizards.", 185, 1080057, 1080166) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found all the missing pages!") + UpdateQuestTaskGroupDescription(Quest, 3, "I have recovered all the pages off the aqua goblin wizards.") + + AddQuestStepChat(Quest, 4, "I need to return the recovered pages to Dockmaster Waulon.", 1, "I need to return the recovered pages to Dockmaster Waulon.", 11, 1080008) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I have returned the recovered pages to Dockmaster Waulon.") + UpdateQuestTaskGroupDescription(Quest, 4, "I've returned the pages to Dockmaster Waulon.") + + UpdateQuestDescription(Quest, "After finding the tome and recovering the missing pages from the clutches of several aqua goblin wizards, I returned the completed book to Dockmaster Waulon. As per our agreement, I was paid handsomely for my efforts.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/NecessaryPrecautions.lua b/Lua/Quests/ButcherblockMountains/NecessaryPrecautions.lua new file mode 100755 index 000000000..6d3ec04f4 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/NecessaryPrecautions.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/ButcherblockMountains/NecessaryPrecautions.lua + Script Purpose : Handles the quest, "Necessary Precautions" + Script Author : jakejp + Script Date : 6/4/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Guard Tellik + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak with Assistant Deldry.", 1, "I must take the proposal to Assistant Deldry.", 235, 1080022) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have spoken with Assistant Deldry.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have given the proposal to Assistant Deldry.") + + UpdateQuestDescription(Quest, "I have delivered the proposal to Assistant Deldry.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/SarnakSympathizerPart1.lua b/Lua/Quests/ButcherblockMountains/SarnakSympathizerPart1.lua new file mode 100755 index 000000000..e02b97ffa --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/SarnakSympathizerPart1.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : Quests/ButcherblockMountains/SarnakSympathizerPart1.lua + Script Purpose : Handles the quest, "Sarnak Sympathizer: Part 1" + Script Author : jakejp + Script Date : 6/4/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Raghunatha + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to complete all the Irontoe Dwarf tasks so that they will agree to help Raghunatha. To begin, I must speak with Griss Brumbaugh at the Butcherblock Docks.", 1, "I need to complete all the Irontoe Dwarf tasks.", 11, 1081075) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I found Griss Brumbaugh.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found Griss Brumbaugh and began working for the Irontoe Dwarves.") + + UpdateQuestDescription(Quest, "The dwarves have a great many threats to deal with in Butcherblock Mountains, but hopefully, with my continued assistance they will agree to provide military and engineering support for the sarnak of Gorowyn.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha007.mp3", "", "", 3396264823, 906309207, Player) + AddConversationOption(conversation, "I'll begin at once!") + StartConversation(conversation, QuestGiver, Player, "Thank you, friend, I'll do my best to make sure you're rewarded kindly. Now, let me write down the names of all the dwarves you'll need to speak with. Complete their tasks and then return to me. Time is of the essence, and the Haoaeran's attacks grow stronger every day.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/SchmittysSandals.lua b/Lua/Quests/ButcherblockMountains/SchmittysSandals.lua new file mode 100755 index 000000000..9a2eb5429 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/SchmittysSandals.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : Quests/ButcherblockMountains/SchmittysSandals + Script Author : jakejp + Script Date : 2018.05.29 10:05:26 + Script Purpose : + + Zone : ButcherblockMountains + Quest Giver: Schmitty McEricson + Preceded by: None + Followed by: +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +local SchmittysSandals = 266 + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sounds like a plan! I'll be back soon", "Option6") + StartConversation(conversation, QuestGiver, Player, "Here, let me see that little journal of yours. I'll write down the stuff I'll need and you can go gather it for me. Don't worry, I'll pay your for your time.") + +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Collect several sea slug antennas to use as straps for the sandals.", 4, 100, "Schmitty has given me a list of various animal parts he needs in order to create a new pair of sandals to replace the ones he lost.", 2119, 1080003, 1080181, 1081050) + AddQuestStepKill(Quest, 2, "Bring Schmitty some superb pieces of terratrodder hide.", 3, 100, "Schmitty has given me a list of various animal parts he needs in order to create a new pair of sandals to replace the ones he lost.", 134, 1080061, 1081094) + AddQuestStepKill(Quest, 3, "Collect some sturdy needles from the anemones so Schmitty can fashion them into cleats.", 4, 100, "Schmitty has given me a list of various animal parts he needs in order to create a new pair of sandals to replace the ones he lost.", 112, 1081066, 1080026, 1080060, 1081093) + AddQuestStepCompleteAction(Quest, 1, "SlugKilled") + AddQuestStepCompleteAction(Quest, 2, "TerratrodderKilled") + AddQuestStepCompleteAction(Quest, 3, "AnemoneKilled") + +end + +function SlugKilled(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've collected several sea slug antennas.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TerratrodderKilled(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I found some pieces of terratrodder hide.") + CheckProgress(Quest, QuestGiver, Player) +end + +function AnemoneKilled(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found a good amount of anemone needles that could be fashioned into cleats.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, SchmittysSandals, 1) and QuestStepIsComplete(Player, SchmittysSandals, 2) and QuestStepIsComplete(Player, SchmittysSandals, 3) then + NextStep(Quest, QuestGiver, Player) + end +end + +function NextStep(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the various animal parts Schmitty requested.") + AddQuestStepChat(Quest, 4, "I need to speak with Schmitty.", 1, "I need to return all the items I collected to Schmitty.", 11, 1080049) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") + +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Schmitty") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned all the items to Schmitty.") + + AddQuestStepChat(Quest, 5, "I should give Schmitty a few minutes to make the sandals.", 1, "I need to give Schmitty a few minutes to make the sandals.", 11, 1080049) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") + local time = os.time() + SetPlayerHistory(Player, HISTORY.BB_SCHMITTYSANDALS_STEP5_WAIT, time) + +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 5, "After waiting a bit, Schmitty gave me a new pair of sandals.") + UpdateQuestTaskGroupDescription(Quest, 3, "After waiting for a little while, Schmitty presented me with my new sandals.") + + UpdateQuestDescription(Quest, "It seems as though Schmitty never did lose his sandals. Instead they were simply under a pile of sand. As a token of appreciation, Schmitty gave me the sandals he crafted out of the parts I brought back to him.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + SlugKilled(Quest, QuestGiver, Player) + elseif Step == 2 then + TerratrodderKilled(Quest, QuestGiver, Player) + elseif Step == 3 then + AnemoneKilled(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + QuestComplete(Quest, QuestGiver, Player) + end +end + + + + diff --git a/Lua/Quests/ButcherblockMountains/SeekingBrultenHiltstill.lua b/Lua/Quests/ButcherblockMountains/SeekingBrultenHiltstill.lua new file mode 100755 index 000000000..79e351541 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/SeekingBrultenHiltstill.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SeekingBrultenHiltstill.lua + Script Purpose : Handles the quest, "Seeking Brulten Hiltstill" + Script Author : jakejp + Script Date : 6/3/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Dockmaster Waulon + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Brulten Hiltstill.", 1, "I need to seek out Brulten Hiltstill. He can be found at the caravan stop, near the entrance to the Greater Faydark.", 11, 1081114) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have spoken with Brulten Hiltstill.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Brulten Hiltstill.") + + UpdateQuestDescription(Quest, "I have found Brulten Hiltstill. He needs my help dealing with the Yarpsnarl kobolds.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Excellent. Then I'm off. Good day!") + StartConversation(conversation, NPC, Spawn, "To get there, you should take the trail that runs along the cliff face to the east. Once you reach the top of the cliff, look for ol' Brulten near the griffin tower.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/SeekingTheKilnkors.lua b/Lua/Quests/ButcherblockMountains/SeekingTheKilnkors.lua new file mode 100755 index 000000000..26266f173 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/SeekingTheKilnkors.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/ButcherblockMountains/SeekingTheKilnkors.lua + Script Purpose : Handles the quest, "Seeking the Kilnkors" + Script Author : jakejp + Script Date : 6/6/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must find Jonedorn Kilnkor.", 1, "I must find Jonedorn Kilnkor in the eastermost dwarven outpost.", 11, 1080149) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have found Jonedorn Kilnkor.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Jonedorn Kilnkor in the easternmost dwarven outpost.") + + UpdateQuestDescription(Quest, "I have discovered the West Fort Irontoe and found Jonedorn Kilnkor. I have also given him the note from the Muckflick runner.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/StockComponents.lua b/Lua/Quests/ButcherblockMountains/StockComponents.lua new file mode 100755 index 000000000..a81dc9ba4 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/StockComponents.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : StockComponents.lua + Script Purpose : jakejp + Script Author : QuestParser (Replace this) + Script Date : 6/17/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Thayvl Ulthonis + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Collect dust from several wisps.", 10, 100, "Thayvl has asked me to collect the dust from several wisps found here in the Butcherblock Mountains.", 342, 1080261, 1081126, 1080072, 1081100) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected dust from several wisps.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the dust from several slain wisps.") + + AddQuestStepChat(Quest, 2, "Speak with Thayvl Ulthonis.", 1, "I need to return to Thayvl Ulthonis. He can be found in the Butcherblock highlands.", 11, 1080130) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Thayvl Ulthonis.") + UpdateQuestTaskGroupDescription(Quest, 2, "I presented Thayvl with a large amount of wandering essence dust.") + + UpdateQuestDescription(Quest, "Who says a Teir'Dal can't keep their word? Thayvl rewarded me well for my efforts.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "We have a deal. I will return with a large amount of dust shortly.") + StartConversation(conversation, QuestGiver, Player, "Hmm. Alright, I might be able to part with a trinket of sorts in exchange for your help. The sooner I have all the material components I've been... asked to bring back, the sooner I can return to... home. Yes, home.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/StraightAndToThePoint.lua b/Lua/Quests/ButcherblockMountains/StraightAndToThePoint.lua new file mode 100755 index 000000000..613ddd0f4 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/StraightAndToThePoint.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : StraightandtothePoint.lua + Script Purpose : Handles the quest, "Straight and to the Point" + Script Author : jakejp + Script Date : 6/22/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to hunt bugbears in the Butcherblock Mountains for their weapons.", 15, 100, "I need to gather stone weapons for Ninoin. She suggested I gather them from the bugbears that live in the Northern reaches of the Butcherblock Mountains.", 1124, 1080630, 1080094, 1080093, 1080087, 1080628, 1080629, 1080790, 1080091, 1080788, 1080089, 1080100, 1080336, 1080096, 1080102) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gathered a sufficent number of bugbear weapons for Ninoin.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered a number of stone weapons.") + + AddQuestStepChat(Quest, 2, "I need to return the weapons to Ninoin.", 1, "I need to bring the stone weapons back to Ninoin.", 11, 1080135) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have returned the weapons to Ninoin.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have brought the weapons to Ninoin.") + + UpdateQuestDescription(Quest, "Ninoin was pleased with the bugbear weapons I brought back.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + AddConversationOption(con, "I take my leave.") + AddConversationOption(con, "Where are they located?", "dlg_15") + StartConversation(con, QuestGiver, Player, "I've seen lumbering brutes patrolling the Northern reaches of these mountains. Bugbears, I believe they are called. They carry massive weapons made of flint or obsidian. Bring me back a pile of those weapons. I should be able to craft some new arrowheads out of them.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/TeirDalTimer.lua b/Lua/Quests/ButcherblockMountains/TeirDalTimer.lua new file mode 100755 index 000000000..3f2074e26 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/TeirDalTimer.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : TeirDalTimber.lua + Script Purpose : Handles the quest, "Teir'Dal Timber" + Script Author : jakejp + Script Date : 6/21/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Ninoin D'syl + Preceded by : None + Followed by : Fletch Me More! +--]] + + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "I need to collect severed ash for Ninoin.", 10, 100, "I have agreed to harvest pieces of timber for Ninoin D'syl so that she may make new arrow shafts.", 826, 1081033, 1081039, 1081238) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gathered a sufficent amount of severed ash.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered a significant amount of timber.") + + AddQuestStepChat(Quest, 2, "I need to bring the pile of timber to Ninoin.", 1, "I need to bring the timber I gathered back to Ninoin D'syl.", 11, 1080135) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have brought the pile of timber to Ninoin.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have brought the timber to Ninoin D'syl.") + + UpdateQuestDescription(Quest, "Ninoin was pleased with the lumber I brought. As agreed, I was compensated for my efforts.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(con, "Right away!") + AddConversationOption(con, "What's in it for me?", "dlg_7") + StartConversation(con, QuestGiver, Player, "Hmm, I suppose that would work. Though I do like the idea of beating someone into submission... Anyways, I need fresh cut timber to whittle down into arrow shafts. Bring me a substantial pile of timber from the trees around here.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/TheKoboldAndTheBeautiful.lua b/Lua/Quests/ButcherblockMountains/TheKoboldAndTheBeautiful.lua new file mode 100755 index 000000000..849ef3c10 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/TheKoboldAndTheBeautiful.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/ButcherblockMountains/TheKoboldAndTheBeautiful.lua + Script Purpose : Handles the quest, "The Kobold and the Beautiful" + Script Author : jakejp + Script Date : 6/5/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Brulten Hiltstill + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to slay several kobolds in the area.", 12, 100, "I need to kill several kobolds in the Butcherblock Mountains.", 611, 1080092, 1080095, 1080099, 1080107, 1080108, 1080111, 1080247, 1080248, 1080251, 1080258, 1080268, 1080269, 1080311, 1080315, 1080316, 1080317, 1080321, 1080326, 1080327, 1080335, 1080341, 1080372, 1080383, 1080423, 1080424, 1080425, 1080426, 1080428, 1080431, 1080432, 1080612, 1080616, 1080617, 1080663, 1080701, 1080764, 1080787, 1081102, 1081103, 1081104, 1081121, 1081122, 1081124, 1081138, 1081141, 1081142, 1081143, 1081145, 1081146, 1081148, 1081150, 1081151, 1081153, 1081154, 1081155, 1081170) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain several kobolds in the Butcherblock Mountains.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have successfully killed several kobolds.") + + AddQuestStepChat(Quest, 2, "I should let Brulten know I've slain several kobolds.", 1, "I need to return to the Highland Outposts and let Brulten know that I've killed several kobolds.", 11, 1081114) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I told Brulten that I've slain several kobolds.") + UpdateQuestTaskGroupDescription(Quest, 2, "I told Brulten of my deeds. He thanked me for my efforts.") + + UpdateQuestDescription(Quest, "I have slain several kobolds... Alas more and more seem to take the place of the fallen!") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I'm off!") + AddConversationOption(conversation, "I don't have a blade, but thanks for the well wishes!") + StartConversation(conversation, QuestGiver, Player, "Good. Now just up ahead are scores of kobold camps. Go and slay at least twenty kobolds. That should thin their ranks enough to stall any assault they have planned. Go swiftly, and may Brell guide your blade!") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/TheManyUsesOfCarapace.lua b/Lua/Quests/ButcherblockMountains/TheManyUsesOfCarapace.lua new file mode 100755 index 000000000..01b14caf1 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/TheManyUsesOfCarapace.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/ButcherblockMountains/TheManyUsesOfCarapace.lua + Script Purpose : Handles the quest, "The Many Uses of Carapace" + Script Author : jakejp + Script Date : 6/8/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect ten granite beetle carapaces.", 10, 100, "I need to collect a number of beetle carapaces for Argro.", 162, 1080069, 1080273) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the granite beetle carapaces.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the beetle carapaces.") + + AddQuestStepChat(Quest, 2, "I need to speak with Argro.", 1, "I need to bring these beetle carapaces to Argro.", 11, 1081147) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Argro.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have delivered the beetle carapaces.") + + UpdateQuestDescription(Quest, "I collected the beetle carapaces for Argro. He hopes to create some new armor from them and thanked me for acquiring them for him.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/TheNumberOneThreatInButcherblock.lua b/Lua/Quests/ButcherblockMountains/TheNumberOneThreatInButcherblock.lua new file mode 100755 index 000000000..b637af817 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/TheNumberOneThreatInButcherblock.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/ButcherblockMountains/TheNumberOneThreatInButcherblock.lua + Script Purpose : Handles the quest, "The Number One Threat in Butcherblock" + Script Author : jakejp + Script Date : 6/6/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Trapper Coalbear + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to slay several slatepaw bears in the area.", 10, 100, "I must reduce the threat of bears in Butcherblock!", 174, 1080259, 1080429, 1080614, 1081152, 1080378, 1080379, 1080380, 1080334) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain several bears in the Butcherblock Mountains.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have successfully reduced the threat of bears in Butcherblock!") + + AddQuestStepChat(Quest, 2, "I should let Coalbear know I've slain several bears.", 1, "I should let Trapper Coalbear know that I've reduced the threat of bears in the region.", 11, 1080139) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I let Coalbear know that I've slain several bears.") + UpdateQuestTaskGroupDescription(Quest, 2, "Trapper Coalbear was thrilled to hear of my efforts... but he's still concerned about bears.") + + UpdateQuestDescription(Quest, "Trapper Coalbear should be most pleased. I have slain several bears and hopefully reduced their threat significantly.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Will do!") + StartConversation(conversation, QuestGiver, Player, "Great! You can get started right away. As I said, I've seen several already. Come see me again when you've significantly reduced the threat of bears in the area!") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/TheYarpsnarls.lua b/Lua/Quests/ButcherblockMountains/TheYarpsnarls.lua new file mode 100755 index 000000000..80b57f89c --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/TheYarpsnarls.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : TheYarpsnarls.lua + Script Purpose : Handles the quest, "The Yarpsnarls" + Script Author : jakejp + Script Date : 6/8/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Argro Durthor + Preceded by : None + Followed by : None +--]] + +local TheYarpsnarls = 280 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Kill several Yarpsnarl lookouts.", 4, 100, "I need to kill the Yarpsnarl's east of Argro's position.", 611, 1080251, 1080425, 1081124, 1081150) + AddQuestStepKill(Quest, 2, "Kill several Yarpsnarl ravagers.", 4, 100, "I need to kill the Yarpsnarl's east of Argro's position.", 611, 1080248, 1080372, 1081122, 1081146) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, TheYarpsnarls, 1) and QuestStepIsComplete(Player, TheYarpsnarls, 2) then + HandInQuest(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the Yarpsnarl lookouts.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed the Yarpsnarl ravagers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function HandInQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the Yarpsnarl kobolds.") + + AddQuestStepChat(Quest, 3, "I need to speak with Argro.", 1, "I need to return to Argro now that I've slain the kobolds.", 11, 1081147) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 3, "I have spoken with Argro.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to Argro.") + + UpdateQuestDescription(Quest, "I have slain the kobolds for Argro. He was thankful for my help.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/ThievingRunts.lua b/Lua/Quests/ButcherblockMountains/ThievingRunts.lua new file mode 100755 index 000000000..e6053ce70 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/ThievingRunts.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/ButcherblockMountains/ThievingRunts.lua + Script Purpose : Handles the quest, "Thieving Runts" + Script Author : jakejp + Script Date : 6/4/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Guard Daarwyn + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Aqua goblin runt ears collected.", 8, 100, "I must collect aqua goblin runt ears for Guard Daarwyn.", 2566, 1080347, 1080051, 1080165, 1081088) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected enough aqua goblin runt ears.") + + AddQuestStepChat(Quest, 2, "I must return the ears to Guard Daarwyn.", 1, "I must collect aqua goblin runt ears for Guard Daarwyn.", 235, 1080004) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have collected the bounty.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have returned the ears, and collected the bounty.") + + UpdateQuestDescription(Quest, "I have cleared out several of the aqua goblin runts, and have presented the ears as proof of my deeds.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ButcherblockMountains/UnusualPalate.lua b/Lua/Quests/ButcherblockMountains/UnusualPalate.lua new file mode 100755 index 000000000..ed4a66145 --- /dev/null +++ b/Lua/Quests/ButcherblockMountains/UnusualPalate.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/ButcherblockMountains/UnusualPalate.lua + Script Purpose : Handles the quest, "Unusual Palate" + Script Author : jakejp + Script Date : 6/4/2018 + Script Notes : + + Zone : Butcherblock Mountains + Quest Giver : Researcher Eruwun + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Collect rustfiend saliva glands.", 8, 100, "I must collect rustfiend saliva glands for Researcher Eruwun.", 109, 1080055, 1081092) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected enough saliva glands.") + + AddQuestStepChat(Quest, 2, "I must return to Researcher Eruwun.", 1, "I must collect rustfiend saliva glands for Researcher Eruwun.", 235, 1080007) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Researcher Eruwun.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected enough saliva glands.") + + UpdateQuestDescription(Quest, "I have returned the saliva glands to Researcher Eruwun and collected payment for my services.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Castleview/components_of_growth.lua b/Lua/Quests/Castleview/components_of_growth.lua new file mode 100755 index 000000000..fdfefc320 --- /dev/null +++ b/Lua/Quests/Castleview/components_of_growth.lua @@ -0,0 +1,103 @@ +--[[ + Script Name : Quests/Castleview/components_of_growth.lua + Script Purpose : Handles the quest, "Components of Growth" + Script Author : Scatman + Script Date : 2009.10.02 + + Zone : Castleview Hamlet + Quest Giver: Vindain Greenfaith + Preceded by: None + Followed by: Sowing Beauty (sowing_beauty.lua) +--]] + +local ComponentsOfGrowth = 223 + +function Init(Quest) + -- Green Wisp Seeds + AddQuestStepObtainItem(Quest, 1, "I need to collect Green Wisp seeds from the Green Wisp Bushes near the Fountain of Valor in southwestern Castleview Hamlet.", 1, 100, "I need to collect a number of components. Vindain Greenfaith says they can all be found in Castleview Hamlet.", 2315, 7947) + AddQuestStep(Quest, 2, "I need to collect some blessed water from the Fountain of Valor. I can do this by examining the water flask that Vindain gave me while near the fountain.", 1, 100, "I need to collect a number of components. Vindain Greenfaith says they can all be found in Castleview Hamlet.", 980) + -- Mana-Enriched Soil + AddQuestStepObtainItem(Quest, 3, "I need to gather some enriched soil from the barrel on the northeastern corner of the armor shop.", 1, 100, "I need to collect a number of components. Vindain Greenfaith says they can all be found in Castleview Hamlet.", 342, 9305) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotSeeds") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_gotWater") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_gotSoil") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- summon Water Flask + if not HasItem(Player, 15337, 1) then + SummonItem(Player, 15337, 1) + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain014a.mp3", "", "", 1855493123, 719019896, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Once you've collected the components return to me.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotSeeds(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the Green Wisp seeds.") + + if QuestIsComplete(Player, ComponentsOfGrowth) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step2_complete_gotWater(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected some blessed water.") + + if QuestIsComplete(Player, ComponentsOfGrowth) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step3_complete_gotSoil(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected some enriched soil.") + + if QuestIsComplete(Player, ComponentsOfGrowth) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the needed items.") + + AddQuestStepChat(Quest, 4, "I should return to Vindain Greenfaith, near the Fountain of Valor.", 1, "Now that I have collected the needed components I should return to Vindain Greenfaith.", 0, 2360007) + AddQuestStepCompleteAction(Quest, 4, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- Green Wisp Seeds + while HasItem(Player, 7947) do + RemoveItem(Player, 7947) + end + + -- Water Flask + while HasItem(Player, 15337) do + RemoveItem(Player, 15337) + end + + -- Mana-Enriched Soil + while HasItem(Player, 9305) do + RemoveItem(Player, 9305) + end + UpdateQuestStepDescription(Quest, 4, "I have spoken to Vindain Greenfaith.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Vindain Greenfaith") + UpdateQuestDescription(Quest, "I have collected the needed components to carry out Vindain's plan.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotSeeds(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_gotWater(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_gotSoil(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Castleview/faeadaens_dinner_message.lua b/Lua/Quests/Castleview/faeadaens_dinner_message.lua new file mode 100755 index 000000000..a811350c5 --- /dev/null +++ b/Lua/Quests/Castleview/faeadaens_dinner_message.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/Castleview/faeadaens_dinner_message.lua + Script Author : Zcoretri + Script Date : 2017.06.02 11:06:41 + Script Purpose : + + Zone : Castleview + Quest Giver: Entertainer Faeadaen + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must speak with Innkeeper Valean.", 1, "I need to deliver Faeadaen's message to Innkeeper Valean.", 11, 2360024) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I gave Innkeeper Valean the message.") + UpdateQuestTaskGroupDescription(Quest, 1, "I gave Innkeeper Valean the message that Faeadaen won't be able to join him for dinner tonight.") + + UpdateQuestDescription(Quest, "I told Innkeeper Valean that Faeadaen could not make the dinner appointment. He understood that she had to work late.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/Castleview/sending_the_word.lua b/Lua/Quests/Castleview/sending_the_word.lua new file mode 100755 index 000000000..4c233a66a --- /dev/null +++ b/Lua/Quests/Castleview/sending_the_word.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Castleview/sending_the_word.lua + Script Purpose : Handles the quest, "Sending the Word" + Script Author : Scatman + Script Date : 2009.10.02 + + Zone : Castleview Hamlet + Quest Giver: Vindain Greenfaith + Preceded by: The Commune (the_commune.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to travel to Oakmyst Forest and speak with Adalin Emerael.", 1, "I need to speak with Adalin Emerael.", 0, 1950004) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain035b.mp3", "", "bow", 3207270317, 1946313496, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "May Tunare be with you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Adalin Emerael.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Adalin Emerael.") + UpdateQuestDescription(Quest, "I have spoken with the Adalin Emerael.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Castleview/sowing_beauty.lua b/Lua/Quests/Castleview/sowing_beauty.lua new file mode 100755 index 000000000..5239d0c10 --- /dev/null +++ b/Lua/Quests/Castleview/sowing_beauty.lua @@ -0,0 +1,144 @@ +--[[ + Script Name : Quests/Castleview/sowing_beauty.lua + Script Purpose : Handles the quest, "Sowing Beauty" + Script Author : Scatman + Script Date : 2009.10.02 + + Zone : Castleview Hamlet + Quest Giver: Vindain Greenfaith + Preceded by: Components of Growth (components_of_growth.lua) + Followed by: Targeting Corruption (targeting_corruption.lua) +--]] + +local SowingBeauty = 224 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to plant a Green Wisp in the planter northwest of The Fountain of Valor, just south of the inn.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + AddQuestStep(Quest, 2, "I need to plant a Green Wisp in the planter southwest of the inn.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + AddQuestStep(Quest, 3, "I need to plant a Green Wisp in the planter north of the bank on its northwestern corner.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + AddQuestStep(Quest, 4, "I need to plant a Green Wisp in the planter north of the bank on its northeastern corner.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + AddQuestStep(Quest, 5, "I need to plant a Green Wisp in the planter northwest of the scribe's shop.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + AddQuestStep(Quest, 6, "I need to plant a Green Wisp in the planter just west of the scribe's shop.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + AddQuestStep(Quest, 7, "I need to plant a Green Wisp in the planter north of the armor shop, on the level about the Fountain of Valor.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + AddQuestStep(Quest, 8, "I need to plant a Green Wisp in the planter on the northeast corner of the armor shop.", 1, 100, "Vindain has asked that I take the seeds, soil, and water and plant Green Wisps at the planter boxes around Castleview Hamlet.", 0) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_plantedSeed1") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_plantedSeed2") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_plantedSeed3") + AddQuestStepCompleteAction(Quest, 4, "step4_complete_plantedSeed4") + AddQuestStepCompleteAction(Quest, 5, "step5_complete_plantedSeed5") + AddQuestStepCompleteAction(Quest, 6, "step6_complete_plantedSeed6") + AddQuestStepCompleteAction(Quest, 7, "step7_complete_plantedSeed7") + AddQuestStepCompleteAction(Quest, 8, "step8_complete_plantedSeed8") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain019a.mp3", "", "", 4093998099, 2772552275, Player) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "Good. I cannot wait to see how they look.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_plantedSeed1(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have planted a Green Wisp in the planter northwest of The Fountain of Valor.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function step2_complete_plantedSeed2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have planted a Green Wisp in the planter southwest of the inn.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function step3_complete_plantedSeed3(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have planted a Green Wisp in the planter north of the bank on its northwestern corner.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function step4_complete_plantedSeed4(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have planted a Green Wisp in the planter north of the bank's northeastern corner.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function step5_complete_plantedSeed5(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I tried to plant a Green Wisp northwest of the scribe's shop but it came to life and attacked me.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function step6_complete_plantedSeed6(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have planted a Green Wisp in the planter just west of the scribe's shop.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function step7_complete_plantedSeed7(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have planted a Green Wisp in the planter north of the armor shop, on the level above The Found of Valor.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function step8_complete_plantedSeed8(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 8, "I have planted a Green Wisp in the planter on the northeast corner of the armor shop.") + + if QuestIsComplete(Player, SowingBeauty) then + seeds_planted(Quest, QuestGiver, Player) + end +end + +function seeds_planted(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have planted all of the seeds.") + + AddQuestStepChat(Quest, 9, "I need to return to Vindain near The Fountain of Valor.", 1, "I need to return to Vindain and let him know of the planted seeds, especially the one that went wrong.", 0, 2360007) + AddQuestStepCompleteAction(Quest, 9, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 9, "I have spoken with Vindain.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Vindain.") + UpdateQuestDescription(Quest, "I have planted all of the seeds. One seedling came to life and attacked me.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_plantedSeed1(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_plantedSeed2(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_plantedSeed3(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_plantedSeed4(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_plantedSeed5(Quest, QuestGiver, Player) + elseif Step == 6 then + step6_complete_plantedSeed6(Quest, QuestGiver, Player) + elseif Step == 7 then + step7_complete_plantedSeed7(Quest, QuestGiver, Player) + elseif Step == 8 then + step8_complete_plantedSeed8(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Castleview/targeting_corruption.lua b/Lua/Quests/Castleview/targeting_corruption.lua new file mode 100755 index 000000000..0eac547bf --- /dev/null +++ b/Lua/Quests/Castleview/targeting_corruption.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/Castleview/targeting_corruption.lua + Script Purpose : Handles the quest, "Targeting Corruption" + Script Author : Scatman + Script Date : 2009.10.02 + + Zone : Castleview Hamlet + Quest Giver: Vindain Greenfaith + Preceded by: Sowing Beauty (sowing_beauty.lua) + Followed by: The Commune (the_commune.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Shae'Ahla northeast of the entrance to Qeynos Harbor.", 1, "I need to speak with Shae'Ahla and learn how to cleanse the corrupted Green Wisp plant.", 0, 2360035) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToShae") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain024.mp3", "", "", 4092684103, 86187879, Player) + AddConversationOption(conversation, "I will do this.") + StartConversation(conversation, QuestGiver, Player, "I thought you would say yes. Find her, cleanse the plant, and then return to me.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToShae(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Shae'Ahla.") + + AddQuestStep(Quest, 2, "I need to attempt to cleanse the corrupted Green Wisp northwest of the scribe's shop.", 1, 100, "I need to speak with Shae'Ahla and learn how to cleanse the corrupted Green Wisp plant.", 0) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_cleansedWisp") +end + +function step2_complete_cleansedWisp(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have cleansed the corrupted Green Wisp northwest of the scribe's shop. A sprite attacked me after I did so.") + + AddQuestStepChat(Quest, 3, "I need to return to Vindain Greenfaith near The Fountain of Valor.", 1, "I need to speak with Shae'Ahla and learn how to cleanse the corrupted Green Wisp plant.", 0, 2360007) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Vindain Greenfaith.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have healed the Green Wisp.") + UpdateQuestDescription(Quest, "I have cured the Green Wisp, but was attacked by a sprite when I did so.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToShae(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_cleansedWisp(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Castleview/the_commune.lua b/Lua/Quests/Castleview/the_commune.lua new file mode 100755 index 000000000..7a28ac6dd --- /dev/null +++ b/Lua/Quests/Castleview/the_commune.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/Castleview/the_commune.lua + Script Purpose : Handles the quest, "The Commune" + Script Author : Scatman + Script Date : 2009.01.24 + + Zone : Castleview Hamlet + Quest Giver: Vindain Greenfaith + Preceded by: Targeting Corruption (targeting_corruption.lua) + Followed by: Sending the Word (sending_the_word.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to find the spririt of the sprite that attacked me and speak with it.", 1, "I need to find the spirit of the fallen sprite.", 0, 2360059) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToSpirit") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain030.mp3", "", "", 204706144, 262934722, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Good. Return to me when this is done.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToSpirit(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with the sprite.") + + AddQuestStepChat(Quest, 2, "I need to return to Vindain Greenfaith.", 1, "I need to find the spirit of the fallen sprite.", 0, 2360007) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Vindain Greenfaith.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with the spirit of the fallen sprite.") + UpdateQuestDescription(Quest, "I have spoken with the fallen sprite. Though it was hard to get any concrete information, apparently something is going on in the Oakmyst Forest.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToSpirit(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/ALackofInformation.lua b/Lua/Quests/Caves/ALackofInformation.lua new file mode 100755 index 000000000..aacebb161 --- /dev/null +++ b/Lua/Quests/Caves/ALackofInformation.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : ALackofInformation.lua + Script Purpose : Handles the quest, "A Lack of Information" + Script Author : Shatou + Script Date : 9/3/2018 + Script Notes : + + Zone : Caves + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to search the Dustpaw gnoll camp for their orders. I should be able to find the camp somewhere through the tunnel to the west of Consul Bree.", 1, 100, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 2693, 1970017) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found the written orders of the Dustpaw gnolls in their camp.") + + AddQuestStepObtainItem(Quest, 2, "I need to read the book I found in the Dustpaw camp.", 1, 100, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 11, 1256) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have attempted to read the book in the Dustpaw camp.") + + AddQuestStepKill(Quest, 3, "I need to retrieve the key to the Rockpaw cipher. Any gnoll in the Caves may have one.", 1, 100, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 185, 1970017) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have found the key to the cipher.") + + AddQuestStepChat(Quest, 4, "I need to bring this information to Consul Bree.", 1, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 11, 1970004) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I have spoken with Consul Bree.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have obtained the battle orders for Consul Bree.") + + UpdateQuestDescription(Quest, "I have found the book for Consul Bree.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Caves/a_lack_of_information.lua b/Lua/Quests/Caves/a_lack_of_information.lua new file mode 100755 index 000000000..ad40d0ee3 --- /dev/null +++ b/Lua/Quests/Caves/a_lack_of_information.lua @@ -0,0 +1,83 @@ +--[[ + Quest Template + Script Name : Quests/Caves/a_lack_of_information.lua + Script Purpose : Handles the quest, "A Lack of Information" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : The Caves + Quest Giver : Consul Bree + Preceded by : None + Followed by : Hit Them Where it Hurts (hit_them_where_it_hurts.lua) +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to search the Dustpaw gnoll camp for their orders. I should be able to find the camp somewhere through the tunnel to the west of Consul Bree.", 1, 100, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 2693) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundOrders") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_004a.mp3", "", "", 1048313312, 911223295, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "And be wary of the Dustpaw. They didn't have the strength to beat the Rockpaw, but that doesn't mean they're docile.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundOrders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found the written orders of the Dustpaw gnolls in their camp.") + + -- A Book of Gnollish Orders (regular item) + if not HasItem(Player, 1245) then + SummonItem(Player, 1245, 1) + end + + AddQuestStepChat(Quest, 2, "I need to read the book I found in the Dustpaw camp (Dev note: Talk to Consul Bree for now).", 1, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 0, 1970010) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_ReadBook") +end + +function Step2_Complete_ReadBook(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have attempted to read the book in the Dustpaw camp.") + + AddQuestStepKill(Quest, 3, "I need to retrieve the key to the Rockpaw cipher. Any gnoll in the Caves may have one.", 1, 100, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 185, 1970070, 1970035, 1970036, 1970067, 1970027, 1970044, 1970038, 1970069, 1970028, 1970042, 1970061, 1970068, 1970063, 1970041, 1970043, 1970060, 1970024) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_GotKey") +end + +function Step3_Complete_GotKey(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have found the key to the cipher.") + + -- A Book of Gnollish Orders (regular item) + while HasItem(Player, 1245) do + RemoveItem(Player, 1245) + end + + -- A Book of Gnollish Orders (house item) + if not HasItem(Player, 210020) then + SummonItem(Player, 210020, 1) + end + + AddQuestStepChat(Quest, 4, "I need to bring this information to Consul Bree.", 1, "Consul Bree has asked that I help her in obtaining a recent version of the Rockpaw gnoll battle orders.", 0, 1970010) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Consul Bree.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have obtained the battle orders for Consul Bree.") + UpdateQuestDescription(Quest, "I have found the book for Consul Bree.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundOrders(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_ReadBook(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_GotKey(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/a_note_from_the_qeynos_quartermaster.lua b/Lua/Quests/Caves/a_note_from_the_qeynos_quartermaster.lua new file mode 100755 index 000000000..848762a87 --- /dev/null +++ b/Lua/Quests/Caves/a_note_from_the_qeynos_quartermaster.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Quests/Antonica/a_note_from_the_qeynos_quartermaster.lua + Script Purpose : Handles the quest, "High Shaman of the Rockpaw" + Script Author : Scatman + Script Date : 2009.10.18 + + Zone : The Caves + Quest Giver: A Note from the Qeynos Quartermaster - Adventures in Antonica + Preceded by: Elements of a Ritual (elements_of_a_ritual.lua) + Followed by: +--]] + + +function Init(Quest) + --AddQuestStepKill(Quest, 1, "I need to take the summoning staff to the large skull on the level just above Consul Bree. Once there I need to place the staff in the skull to summon the High Shaman.", 1, 100, "I need to summon Zen'Durath and take his head.", 1220, 1970075) + --AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledZenDurath") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithEmma(Quest, QuestGiver, Player) + -- A Note from the Qeynos Quartermaster - Adventures in Antonica + while HasItem(Player, 2156) do + RemoveItem(Player, 2156) + end +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Caves/an_explosive_idea.lua b/Lua/Quests/Caves/an_explosive_idea.lua new file mode 100755 index 000000000..bf391ecf2 --- /dev/null +++ b/Lua/Quests/Caves/an_explosive_idea.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/Caves/an_explosive_idea.lua + Script Purpose : Handles the quest, "An Explosive Idea" + Script Author : Scatman + Script Date : 2009.10.18 + + Zone : The Caves + Quest Giver: Emma Torque + Preceded by: None + Followed by: Destroying the Foundation (destroying_the_foundation.lua) +--]] + + +function Init(Quest) + -- blasting powder + AddQuestStepObtainItem(Quest, 1, "I need to collect the explosive powder from 15 piles of powdered minerals.", 15, 100, "Emma Torque has asked me to collect some explosive powder for her.", 3478, 3801) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotMinerals") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_005a.mp3", "", "", 3292345907, 870183962, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "The explosive potential is... amazing! I can't wait!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotMinerals(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the explosive powder from 15 piles of powdered minerals.") + + AddQuestStepChat(Quest, 2, "I need to bring this explosive powder to Emma Torque.", 1, "Emma Torque has asked me to collect some explosive powder for her.", 3478, 1970012) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- blasting powder + while HasItem(Player, 3801) do + RemoveItem(Player, 3801) + end + UpdateQuestStepDescription(Quest, 2, "I have brought Emma Torque the explosive powder.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have done Emma's task for her.") + UpdateQuestDescription(Quest, "I have collected the explosive powder that Emma required.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotMinerals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/destroying_the_foundation.lua b/Lua/Quests/Caves/destroying_the_foundation.lua new file mode 100755 index 000000000..29bd705e1 --- /dev/null +++ b/Lua/Quests/Caves/destroying_the_foundation.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : Quests/Caves/destroying_the_foundation.lua + Script Purpose : Handles the quest, "Destroying the Foundation" + Script Author : Scatman + Script Date : 2009.10.18 + + Zone : The Caves + Quest Giver: Emma Torque + Preceded by: An Explosive Idea (an_explosive_idea.lua) + Followed by: None +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to destroy the digging machine 'DDBD-2830-A'.", 1, 100, "Emma Torque needs me to destroy the two machines being used by the gnolls to dig through the caves and to kill the Freeportian gnome responsible for bringing them here.", 0, 3276) + AddQuestStep(Quest, 2, "I need to destroy the digging machine 'DDBD-2830-B'.", 1, 100, "Emma Torque needs me to destroy the two machines being used by the gnolls to dig through the caves and to kill the Freeportian gnome responsible for bringing them here.", 0, 3276) + AddQuestStepKill(Quest, 3, "I need to kill Fulkoir Haggleton. He will probably appear among the Rockpaw gnolls once I've destroyed his machines.", 1, 100, "Emma Torque needs me to destroy the two machines being used by the gnolls to dig through the caves and to kill the Freeportian gnome responsible for bringing them here.", 2466, 1970071) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_MachineA") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_MachineB") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledFulkoir") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_009.mp3", "", "", 2928866225, 3555660986, Player) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, QuestGiver, Player, "Good. The machines are likely a couple of levels up from this one. I'm sure I'll hear the explosions from here. I do hope you enjoy yourself, hah hah!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_MachineA(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have placed explosives on the digging machine 'DDBD-2830-A'.") + + if QuestIsComplete(Player, 227) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_MachineB(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have placed explosives on the digging machine 'DDBD-2830-B'.") + + if QuestIsComplete(Player, 227) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledFulkoir(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have killed Fulkoir Haggleton.") + + if QuestIsComplete(Player, 227) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function MultipleStepsComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have destroyed all of the machines and killed Fulkoir.") + + AddQuestStepChat(Quest, 4, "I need to return to Emma Torque.", 1, "Now that I have done what she needed I should return to Emma Torque.", 0, 1970012) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Emma Torque.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Emma Torque.") + UpdateQuestDescription(Quest, "I have destroyed the gnoll's digging machines and killed the gnome responsible for providing them with this technology.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_MachineA(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_MachineB(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledFulkoir(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/elements_of_a_ritual.lua b/Lua/Quests/Caves/elements_of_a_ritual.lua new file mode 100755 index 000000000..135b27ae1 --- /dev/null +++ b/Lua/Quests/Caves/elements_of_a_ritual.lua @@ -0,0 +1,99 @@ +--[[ + Script Name : Quests/Caves/elements_of_a_ritual.lua + Script Purpose : Handles the quest, "Elements of a Ritual" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : The Caves + Quest Giver: Consul Bree + Preceded by: Hit Them Where it Hurts (hit_them_where_it_hurts.lua) + Followed by: High Shaman of the Rockpaw (high_shaman_of_the_rockpaw.lua) +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Emma Torque.", 1, "I need to acquire the object necessary to get a river stone from a river behemoth from Emma Torque.", 0, 1970012) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithEmma") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_012a.mp3", "", "", 2607411936, 2666860100, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Speak with Emma about the river stone. I believe she has been working on something.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithEmma(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Emma Torque.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have acquired the Drawing Ray.") + + AddQuestStepKill(Quest, 2, "I need to collect five crown scales from albino pythons here in the Caves.", 5, 100, "I need to collect the items necessary for the summoning ritual.", 84, 1970013) + AddQuestStepObtainItem(Quest, 3, "I need to collect incantation dust from the Rockpaw camps.", 1, 100, "I need to collect the items necessary for the summoning ritual.", 10, 7103) + AddQuestStepObtainItem(Quest, 4, "I need to collect a river stone from a river behemoth. I will need to use Emma's device on the remains of one to get the stone.", 1, 100, "I need to collect the items necessary for the summoning ritual.", 769, 10068) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledSnakes") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_GotDust") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_GotStone") +end + +function Step2_Complete_KilledSnakes(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected five crown scales.") + + if QuestIsComplete(Player, 225) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_GotDust(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected incantation dust from the Rockpaw camps.") + + if QuestIsComplete(Player, 225) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_GotStone(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have collected a river stone.") + + if QuestIsComplete(Player, 225) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function MultipleStepsComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have collected the necessary items.") + + AddQuestStepChat(Quest, 5, "I need to return to Consul Bree.", 1, "I need to return to Consul Bree now that I have collected all of the needed items.", 0, 1970010) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- Incantation Dust + while HasItem(Player, 7103) do + RemoveItem(Player, 7103) + end + -- river stone + while HasItem(Player, 10068) do + RemoveItem(Player, 10068) + end + UpdateQuestStepDescription(Quest, 5, "I have spoken with Consul Bree.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have spoken with Consul Bree.") + UpdateQuestDescription(Quest, "Now that I have gotten all of the items required for the ritual, I will be able to summon Zen'Durath.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithEmma(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledSnakes(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_GotDust(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_GotStone(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/high_shaman_of_the_rockpaw.lua b/Lua/Quests/Caves/high_shaman_of_the_rockpaw.lua new file mode 100755 index 000000000..5dc7d6655 --- /dev/null +++ b/Lua/Quests/Caves/high_shaman_of_the_rockpaw.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : Quests/Caves/high_shaman_of_the_rockpaw.lua + Script Purpose : Handles the quest, "High Shaman of the Rockpaw" + Script Author : Scatman + Script Date : 2009.10.18 + + Zone : The Caves + Quest Giver: Consul Bree + Preceded by: Elements of a Ritual (elements_of_a_ritual.lua) + Followed by: +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to take the summoning staff to the large skull on the level just above Consul Bree. Once there I need to place the staff in the skull to summon the High Shaman.", 1, 100, "I need to summon Zen'Durath and take his head.", 1220, 6922) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledZenDurath") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- summoning staff + if not HasItem(Player, 11850) then + SummonItem(Player, 11850, 1) + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_015a.mp3", "", "", 3288361383, 1793249646, Player) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, QuestGiver, Player, "And be careful. Zen'Durath will not be pleased to see you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledZenDurath(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain High Shaman Zen'Durath.") + + AddQuestStepChat(Quest, 2, "I need to return to Consul Bree.", 1, "I need to summon Zen'Durath and take his head.", 0, 1970010) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- High Shaman's head + while HasItem(Player, 6922) do + RemoveItem(Player, 6922) + end + UpdateQuestStepDescription(Quest, 2, "I have spoken with Consul Bree.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain Zen'Durath.") + UpdateQuestDescription(Quest, "I have slain Zen'Durath.") + + local Emma = GetSpawn(Player, 1970012) + local Delsun = GetSpawn(Player, 1970011) + if Emma ~= nil then + PlayFlavor(Emma, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/qst_emma_quest_series_done_564c6b5f.mp3", "Great job!", "cheer", 2428113896, 1601999227, Player) + end + if Delsun ~= nil then + PlayFlavor(Delsun, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/qst_delsun_quest_series_done_4827769e.mp3", "You make Qeynos proud, soldier.", "salute", 523058466, 3752111752, Player) + end + + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledZenDurath(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/hit_them_where_it_hurts.lua b/Lua/Quests/Caves/hit_them_where_it_hurts.lua new file mode 100755 index 000000000..bb7321147 --- /dev/null +++ b/Lua/Quests/Caves/hit_them_where_it_hurts.lua @@ -0,0 +1,79 @@ +--[[ + Quest Template + Script Name : Quests/Caves/hit_them_where_it_hurts.lua + Script Purpose : Handles the quest, "Hit Them Where it Hurts" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : The Caves + Quest Giver : Consul Bree + Preceded by : A Lack of Information (a_lack_of_information.lua) + Followed by : Elements of a Ritual (elements_of_a_ritual.lua) +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to destroy the forge in the armory.", 1, 100, "Consul Bree has asked for my help in disrupting the gnoll operations here in the Caves. I can help by crippling their ability to craft armor and destroying some of their machine parts.", 12) + AddQuestStep(Quest, 2, "I need to destroy some of the mechanical parts stashed in the Caves.", 5, 100, "Consul Bree has asked for my help in disrupting the gnoll operations here in the Caves. I can help by crippling their ability to craft armor and destroying some of their machine parts.", 1041) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_DestroyedForge") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_DestroyedParts") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_007a.mp3", "", "", 1177533650, 1696169122, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Thank you. The gnolls may not recover from this.") + + -- 7 explosives + for i = 1, 6, 1 do + SummonItem(Player, 6052, 1) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_DestroyedForge(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have destroyed the forge.") + + if QuestIsComplete(Player, 224) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_DestroyedParts(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have destroyed some of the mechanical parts stashed in the Caves.") + + if QuestIsComplete(Player, 224) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function MultipleStepsComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have done as Consul Bree asked.") + + AddQuestStepChat(Quest, 3, "I need to return to Consul Bree.", 1, "Now that I have helped Consul Bree I should return to her.", 0, 1970010) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- explosives + while HasItem(Player, 6052) do + RemoveItem(Player, 6052) + end + UpdateQuestStepDescription(Quest, 3, "I have spoken with Consul Bree.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Consul Bree.") + UpdateQuestDescription(Quest, "I have interrupted work in the armory and destroyed a number of machine components for Bree.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_DestroyedForge(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_DestroyedParts(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/studies_in_speciation.lua b/Lua/Quests/Caves/studies_in_speciation.lua new file mode 100755 index 000000000..8cfe1ab96 --- /dev/null +++ b/Lua/Quests/Caves/studies_in_speciation.lua @@ -0,0 +1,81 @@ +--[[ + Quest Template + Script Name : Quests/Caves/studies_in_speciation.lua + Script Purpose : Handles the quest, "Studies in Speciation" + Script Author : Scatman + Script Date : 2009.10.18 + + Zone : The Caves + Quest Giver : Kahla Ulno + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need four cave spider bodies.", 4, 100, "I need to collect some samples of the creatures in the Caves for Kahla.", 611, 1970019) + AddQuestStepKill(Quest, 2, "I need four cave serpent bodies.", 4, 100, "I need to collect some samples of the creatures in the Caves for Kahla.", 611, 1970005) + AddQuestStepKill(Quest, 3, "I need four cave bat bodies.", 4, 100, "I need to collect some samples of the creatures in the Caves for Kahla.", 611, 1970022, 1970037) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSpiders") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledSerpents") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledBats") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, QuestGiver, Player, "Good. The machines are likely a couple of levels up from this one. I'm sure I'll hear the explosions from here. I do hope you enjoy yourself, hah hah!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSpiders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the cave spider bodies.") + + if QuestIsComplete(Player, 228) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledSerpents(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected the cave serpent bodies.") + + if QuestIsComplete(Player, 228) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledBats(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected the cave bat bodies.") + + if QuestIsComplete(Player, 228) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function MultipleStepsComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the samples for Kahla.") + + AddQuestStepChat(Quest, 4, "I must speak with Kahla.", 1, "I need to bring these samples back to Kahla.", 0, 1970004) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Kahla.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have given the samples to Kahla.") + UpdateQuestDescription(Quest, "I have given Kahla the samples she asked for. She thanked me for my help.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSpiders(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledSerpents(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledBats(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Caves/the_gnollish_menace.lua b/Lua/Quests/Caves/the_gnollish_menace.lua new file mode 100755 index 000000000..1a0c25fab --- /dev/null +++ b/Lua/Quests/Caves/the_gnollish_menace.lua @@ -0,0 +1,93 @@ +--[[ + Script Name : Quests/Caves/the_gnollish_menace.lua + Script Purpose : Handles the quest, "The Gnollish Menace" + Script Author : Scatman + Script Date : 2009.10.18 + + Zone : The Caves + Quest Giver: Lieutenant Delsun + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill thirty gnolls within the Caves.", 30, 100, "Lieutenant Delsun has tasked me with taking out a large portion of the gnolls and their allies here in the Caves.", 1220, 1970064, 1970046, 1970065, 1970073, 1970049, 1970047, 1970067, 1970070, 1970035, 1970036, 1970038, 1970027, 1970044, 1970028, 1970069, 1970063, 1970042, 1970061, 1970068, 1970060, 1970024, 1970041, 1970043, 1970072, 1970066, 1970045, 1970052, 1970055, 1970075, 1970014) + AddQuestStepKill(Quest, 2, "I need to kill two Dustpaw armorers.", 2, 100, "Lieutenant Delsun has tasked me with taking out a large portion of the gnolls and their allies here in the Caves.", 1544, 1970067, 1970070, 1970035, 1970036) + AddQuestStepKill(Quest, 3, "I need to kill five alabaster behemoths.", 5, 100, "Lieutenant Delsun has tasked me with taking out a large portion of the gnolls and their allies here in the Caves.", 193, 1970057, 1970051, 1970058, 1970026, 1970021) + AddQuestStepKill(Quest, 4, "I need to kill five Rockpaw guards.", 5, 100, "Lieutenant Delsun has tasked me with taking out a large portion of the gnolls and their allies here in the Caves.", 611, 1970064, 1970046, 1970065, 1970073, 1970049, 1970047) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledGnolls") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledArmorers") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledBehemoths") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_KilledGuards") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_002a.mp3", "", "", 1211118613, 1660657141, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation,QuestGiver, Player, "Once you've done this return to me. The city of Qeynos will want to thank you properly.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledGnolls(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed thirty gnolls.") + + if QuestIsComplete(Player, 229) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledArmorers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed two Dustpaw armorers.") + + if QuestIsComplete(Player, 229) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledBehemoths(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have killed five alabaster behemoths.") + + if QuestIsComplete(Player, 229) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_KilledGuards(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have killed five Rockpaw guards.") + + if QuestIsComplete(Player, 229) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function MultipleStepsComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have done what Lieutenant Delsun asked.") + + AddQuestStepChat(Quest, 5, "I need to return to Lieutenant Delsun.", 1, "Now that the task is complete I should return to Lieutenant Delsun.", 0, 1970011) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have spoken with Lieutenant Delsun.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Lieutenant Delsun.") + UpdateQuestDescription(Quest, "I have done what Lieutenant Delsun asked of me.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledGnolls(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledArmorers(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledBehemoths(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_KilledGuards(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Commonlands/AFriendinNeed.lua b/Lua/Quests/Commonlands/AFriendinNeed.lua new file mode 100755 index 000000000..d664fe05b --- /dev/null +++ b/Lua/Quests/Commonlands/AFriendinNeed.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/AFriendinNeed.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:34 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/AHardMantoPlease.lua b/Lua/Quests/Commonlands/AHardMantoPlease.lua new file mode 100755 index 000000000..3231f62c0 --- /dev/null +++ b/Lua/Quests/Commonlands/AHardMantoPlease.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/AHardMantoPlease.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:41 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/AHuntersTool.lua b/Lua/Quests/Commonlands/AHuntersTool.lua new file mode 100755 index 000000000..1b6df1dd7 --- /dev/null +++ b/Lua/Quests/Commonlands/AHuntersTool.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/AHuntersTool.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:12 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ALostPackage.lua b/Lua/Quests/Commonlands/ALostPackage.lua new file mode 100755 index 000000000..ecb8325af --- /dev/null +++ b/Lua/Quests/Commonlands/ALostPackage.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ALostPackage.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:21 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/AMeetingInterrupted.lua b/Lua/Quests/Commonlands/AMeetingInterrupted.lua new file mode 100755 index 000000000..e9676cd41 --- /dev/null +++ b/Lua/Quests/Commonlands/AMeetingInterrupted.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/AMeetingInterrupted.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:44 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ARatDivided.lua b/Lua/Quests/Commonlands/ARatDivided.lua new file mode 100755 index 000000000..1aea8f562 --- /dev/null +++ b/Lua/Quests/Commonlands/ARatDivided.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ARatDivided.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:04 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/AnAcquisition.lua b/Lua/Quests/Commonlands/AnAcquisition.lua new file mode 100755 index 000000000..0fe752e8f --- /dev/null +++ b/Lua/Quests/Commonlands/AnAcquisition.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/AnAcquisition.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:37 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ArmadilloHides.lua b/Lua/Quests/Commonlands/ArmadilloHides.lua new file mode 100755 index 000000000..4a337161e --- /dev/null +++ b/Lua/Quests/Commonlands/ArmadilloHides.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ArmadilloHides.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:10 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/BanditSashBounty.lua b/Lua/Quests/Commonlands/BanditSashBounty.lua new file mode 100755 index 000000000..8e4a1f468 --- /dev/null +++ b/Lua/Quests/Commonlands/BanditSashBounty.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/BanditSashBounty.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:15 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/BeetleShells.lua b/Lua/Quests/Commonlands/BeetleShells.lua new file mode 100755 index 000000000..449de46eb --- /dev/null +++ b/Lua/Quests/Commonlands/BeetleShells.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/BeetleShells.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:22 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/BigGameHunting.lua b/Lua/Quests/Commonlands/BigGameHunting.lua new file mode 100755 index 000000000..d1dd536d4 --- /dev/null +++ b/Lua/Quests/Commonlands/BigGameHunting.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/BigGameHunting.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:27 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/BloodskullDisruption.lua b/Lua/Quests/Commonlands/BloodskullDisruption.lua new file mode 100755 index 000000000..3319de042 --- /dev/null +++ b/Lua/Quests/Commonlands/BloodskullDisruption.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/BloodskullDisruption.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:32 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/BloodskullIntentions.lua b/Lua/Quests/Commonlands/BloodskullIntentions.lua new file mode 100755 index 000000000..35e176b99 --- /dev/null +++ b/Lua/Quests/Commonlands/BloodskullIntentions.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/BloodskullIntentions.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:37 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/BrokenEquipment.lua b/Lua/Quests/Commonlands/BrokenEquipment.lua new file mode 100755 index 000000000..5807af003 --- /dev/null +++ b/Lua/Quests/Commonlands/BrokenEquipment.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/BrokenEquipment.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:42 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/CantWeAllJustGetAlong.lua b/Lua/Quests/Commonlands/CantWeAllJustGetAlong.lua new file mode 100755 index 000000000..71c44e6b3 --- /dev/null +++ b/Lua/Quests/Commonlands/CantWeAllJustGetAlong.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/CantWeAllJustGetAlong.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:48 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/CaptainFeralis.lua b/Lua/Quests/Commonlands/CaptainFeralis.lua new file mode 100755 index 000000000..00114fc8b --- /dev/null +++ b/Lua/Quests/Commonlands/CaptainFeralis.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/CaptainFeralis.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:52 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/CollectingOnWhatIsEarned.lua b/Lua/Quests/Commonlands/CollectingOnWhatIsEarned.lua new file mode 100755 index 000000000..9d38a4677 --- /dev/null +++ b/Lua/Quests/Commonlands/CollectingOnWhatIsEarned.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/CollectingOnWhatIsEarned.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:57 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/CommonlandsCreatureCataloging.lua b/Lua/Quests/Commonlands/CommonlandsCreatureCataloging.lua new file mode 100755 index 000000000..ab7df0042 --- /dev/null +++ b/Lua/Quests/Commonlands/CommonlandsCreatureCataloging.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/CommonlandsCreatureCataloging.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:02 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ConfusionistheKey.lua b/Lua/Quests/Commonlands/ConfusionistheKey.lua new file mode 100755 index 000000000..e5a0e3906 --- /dev/null +++ b/Lua/Quests/Commonlands/ConfusionistheKey.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ConfusionistheKey.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:09 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/CrackPot.lua b/Lua/Quests/Commonlands/CrackPot.lua new file mode 100755 index 000000000..24701cd20 --- /dev/null +++ b/Lua/Quests/Commonlands/CrackPot.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/CrackPot.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:17 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/CratesontheNerves.lua b/Lua/Quests/Commonlands/CratesontheNerves.lua new file mode 100755 index 000000000..56bdb50d1 --- /dev/null +++ b/Lua/Quests/Commonlands/CratesontheNerves.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/CratesontheNerves.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:22 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/DealingwiththeBloodskulls.lua b/Lua/Quests/Commonlands/DealingwiththeBloodskulls.lua new file mode 100755 index 000000000..d3570b7b1 --- /dev/null +++ b/Lua/Quests/Commonlands/DealingwiththeBloodskulls.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/DealingwiththeBloodskulls.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:28 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/DirtySneakyRats.lua b/Lua/Quests/Commonlands/DirtySneakyRats.lua new file mode 100755 index 000000000..5f9b0b73f --- /dev/null +++ b/Lua/Quests/Commonlands/DirtySneakyRats.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/DirtySneakyRats.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:33 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/FillingtheCoffers.lua b/Lua/Quests/Commonlands/FillingtheCoffers.lua new file mode 100755 index 000000000..6063b6876 --- /dev/null +++ b/Lua/Quests/Commonlands/FillingtheCoffers.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/FillingtheCoffers.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:39 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/FinishingtheNegotiations.lua b/Lua/Quests/Commonlands/FinishingtheNegotiations.lua new file mode 100755 index 000000000..28b39d94c --- /dev/null +++ b/Lua/Quests/Commonlands/FinishingtheNegotiations.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/FinishingtheNegotiations.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:45 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/GiftsfromtheEarth.lua b/Lua/Quests/Commonlands/GiftsfromtheEarth.lua new file mode 100755 index 000000000..958a79dca --- /dev/null +++ b/Lua/Quests/Commonlands/GiftsfromtheEarth.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/GiftsfromtheEarth.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:53 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/GrizzlefangsMane.lua b/Lua/Quests/Commonlands/GrizzlefangsMane.lua new file mode 100755 index 000000000..941f57d76 --- /dev/null +++ b/Lua/Quests/Commonlands/GrizzlefangsMane.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/GrizzlefangsMane.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:59 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/HyenaJerky.lua b/Lua/Quests/Commonlands/HyenaJerky.lua new file mode 100755 index 000000000..a5dd0a0ad --- /dev/null +++ b/Lua/Quests/Commonlands/HyenaJerky.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/HyenaJerky.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:09 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/MorethanMeetstheEye.lua b/Lua/Quests/Commonlands/MorethanMeetstheEye.lua new file mode 100755 index 000000000..1d9e5ecf2 --- /dev/null +++ b/Lua/Quests/Commonlands/MorethanMeetstheEye.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/MorethanMeetstheEye.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:16 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/MushroomMadness.lua b/Lua/Quests/Commonlands/MushroomMadness.lua new file mode 100755 index 000000000..12dc1114e --- /dev/null +++ b/Lua/Quests/Commonlands/MushroomMadness.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/MushroomMadness.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:21 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/OMugwumpWhereArtThou.lua b/Lua/Quests/Commonlands/OMugwumpWhereArtThou.lua new file mode 100755 index 000000000..5dc296fd4 --- /dev/null +++ b/Lua/Quests/Commonlands/OMugwumpWhereArtThou.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/OMugwumpWhereArtThou.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:26 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/OneFinalTask.lua b/Lua/Quests/Commonlands/OneFinalTask.lua new file mode 100755 index 000000000..840ee3c3c --- /dev/null +++ b/Lua/Quests/Commonlands/OneFinalTask.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/OneFinalTask.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:31 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/OrcsandGhosts.lua b/Lua/Quests/Commonlands/OrcsandGhosts.lua new file mode 100755 index 000000000..8365a3763 --- /dev/null +++ b/Lua/Quests/Commonlands/OrcsandGhosts.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/OrcsandGhosts.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:36 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/OrcsoftheRee.lua b/Lua/Quests/Commonlands/OrcsoftheRee.lua new file mode 100755 index 000000000..73ac04a69 --- /dev/null +++ b/Lua/Quests/Commonlands/OrcsoftheRee.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/OrcsoftheRee.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:41 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/OverlordsOmelet.lua b/Lua/Quests/Commonlands/OverlordsOmelet.lua new file mode 100755 index 000000000..7df817ce3 --- /dev/null +++ b/Lua/Quests/Commonlands/OverlordsOmelet.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/OverlordsOmelet.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:46 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/PachydermPunch.lua b/Lua/Quests/Commonlands/PachydermPunch.lua new file mode 100755 index 000000000..92b7199c4 --- /dev/null +++ b/Lua/Quests/Commonlands/PachydermPunch.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/PachydermPunch.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:51 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/PlainOleDisease.lua b/Lua/Quests/Commonlands/PlainOleDisease.lua new file mode 100755 index 000000000..968642981 --- /dev/null +++ b/Lua/Quests/Commonlands/PlainOleDisease.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/PlainOleDisease.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:56 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/PotionMaking.lua b/Lua/Quests/Commonlands/PotionMaking.lua new file mode 100755 index 000000000..b4663c1a4 --- /dev/null +++ b/Lua/Quests/Commonlands/PotionMaking.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/PotionMaking.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:00 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ProofisinthePudding.lua b/Lua/Quests/Commonlands/ProofisinthePudding.lua new file mode 100755 index 000000000..99cdfb332 --- /dev/null +++ b/Lua/Quests/Commonlands/ProofisinthePudding.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ProofisinthePudding.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:07 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ProvingYourWorth.lua b/Lua/Quests/Commonlands/ProvingYourWorth.lua new file mode 100755 index 000000000..c1c737977 --- /dev/null +++ b/Lua/Quests/Commonlands/ProvingYourWorth.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ProvingYourWorth.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:11 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/Rainus.lua b/Lua/Quests/Commonlands/Rainus.lua new file mode 100755 index 000000000..d1054f24d --- /dev/null +++ b/Lua/Quests/Commonlands/Rainus.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/Rainus.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:17 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ReturningtoCaptainFeralis.lua b/Lua/Quests/Commonlands/ReturningtoCaptainFeralis.lua new file mode 100755 index 000000000..17c05b2a4 --- /dev/null +++ b/Lua/Quests/Commonlands/ReturningtoCaptainFeralis.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ReturningtoCaptainFeralis.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:22 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/Rhinorific.lua b/Lua/Quests/Commonlands/Rhinorific.lua new file mode 100755 index 000000000..50637c0ea --- /dev/null +++ b/Lua/Quests/Commonlands/Rhinorific.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/Rhinorific.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:27 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/SeafoodSurprise.lua b/Lua/Quests/Commonlands/SeafoodSurprise.lua new file mode 100755 index 000000000..d6f01335a --- /dev/null +++ b/Lua/Quests/Commonlands/SeafoodSurprise.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/SeafoodSurprise.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:33 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/SmugglersSecrets.lua b/Lua/Quests/Commonlands/SmugglersSecrets.lua new file mode 100755 index 000000000..16d478ec3 --- /dev/null +++ b/Lua/Quests/Commonlands/SmugglersSecrets.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/SmugglersSecrets.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:41 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/StartingtheNegotiations.lua b/Lua/Quests/Commonlands/StartingtheNegotiations.lua new file mode 100755 index 000000000..00af54371 --- /dev/null +++ b/Lua/Quests/Commonlands/StartingtheNegotiations.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/StartingtheNegotiations.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:56 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/TeceraValnos.lua b/Lua/Quests/Commonlands/TeceraValnos.lua new file mode 100755 index 000000000..56f0b28b7 --- /dev/null +++ b/Lua/Quests/Commonlands/TeceraValnos.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/TeceraValnos.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:01 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/TheBloodskullThreat.lua b/Lua/Quests/Commonlands/TheBloodskullThreat.lua new file mode 100755 index 000000000..6ef647aa0 --- /dev/null +++ b/Lua/Quests/Commonlands/TheBloodskullThreat.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/TheBloodskullThreat.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:06 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/TheFrenzyoftheBloodskulls.lua b/Lua/Quests/Commonlands/TheFrenzyoftheBloodskulls.lua new file mode 100755 index 000000000..fccd486d7 --- /dev/null +++ b/Lua/Quests/Commonlands/TheFrenzyoftheBloodskulls.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/TheFrenzyoftheBloodskulls.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:10 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/TheLovebirdsRoost.lua b/Lua/Quests/Commonlands/TheLovebirdsRoost.lua new file mode 100755 index 000000000..b0dd533c5 --- /dev/null +++ b/Lua/Quests/Commonlands/TheLovebirdsRoost.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/TheLovebirdsRoost.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:15 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/TheMysteriousMissingShipment.lua b/Lua/Quests/Commonlands/TheMysteriousMissingShipment.lua new file mode 100755 index 000000000..25b68045c --- /dev/null +++ b/Lua/Quests/Commonlands/TheMysteriousMissingShipment.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/TheMysteriousMissingShipment.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:29 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/TheSkeletonKey.lua b/Lua/Quests/Commonlands/TheSkeletonKey.lua new file mode 100755 index 000000000..f0a54ae44 --- /dev/null +++ b/Lua/Quests/Commonlands/TheSkeletonKey.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/TheSkeletonKey.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:34 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/TroubleAbout.lua b/Lua/Quests/Commonlands/TroubleAbout.lua new file mode 100755 index 000000000..a68d8258f --- /dev/null +++ b/Lua/Quests/Commonlands/TroubleAbout.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/TroubleAbout.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:38 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/VentarTKal.lua b/Lua/Quests/Commonlands/VentarTKal.lua new file mode 100755 index 000000000..9deae3653 --- /dev/null +++ b/Lua/Quests/Commonlands/VentarTKal.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/VentarTKal.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:44 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/Wispersweetnothings.lua b/Lua/Quests/Commonlands/Wispersweetnothings.lua new file mode 100755 index 000000000..f2f051175 --- /dev/null +++ b/Lua/Quests/Commonlands/Wispersweetnothings.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/Wispersweetnothings.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:47 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ZaZasLittleProblem.lua b/Lua/Quests/Commonlands/ZaZasLittleProblem.lua new file mode 100755 index 000000000..4cddba05f --- /dev/null +++ b/Lua/Quests/Commonlands/ZaZasLittleProblem.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ZaZasLittleProblem.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:58 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/ZarvonnsLegacy.lua b/Lua/Quests/Commonlands/ZarvonnsLegacy.lua new file mode 100755 index 000000000..d54326444 --- /dev/null +++ b/Lua/Quests/Commonlands/ZarvonnsLegacy.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Commonlands/ZarvonnsLegacy.lua + Script Author : neatz09 + Script Date : 2018.12.30 10:12:53 + Script Purpose : + + Zone : Commonlands + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Commonlands/speckled_rattler_venom.lua b/Lua/Quests/Commonlands/speckled_rattler_venom.lua new file mode 100755 index 000000000..a0adca9e2 --- /dev/null +++ b/Lua/Quests/Commonlands/speckled_rattler_venom.lua @@ -0,0 +1,70 @@ +--[[ + Script Name: speckled_rattler_venom.lua + Script Purpose: Handles the quest, "Speckled Rattler Venom" + Script Author: vo1d + Script Date: 10/8/2019 + Script Notes: n/a + + Zone: Commonlands + Quest Giver: + Preceded by: None + Followed by: Beetle Shells +--]] + +require "SpawnScripts/Generic/DialogModule" + +local GerunPontian = 330014 +local SpeckledRattler = 330020 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect venom from eight speckled rattlers", 8, 100, "Gerun wants the venom from eight speckled rattlers.", 325, SpeckledRattler) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance (Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + Dialog.New(QuestGiver, Player) + + Dialog.AddDialog("Great! I'll be here, of course.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("I'll be back.") + + Dialog.Start() + end + end +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the venom.") + + AddQuestStepChat(Quest, 2, "I need to bring this venom back to Gerun", 1, "Gerun wants the venom from eight speckled rattlers.", 11, GerunPontian) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, + -- parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Gerun the venom.") + UpdateQuestTaskGroupDescription(Quest, 1, "I acquired the venom for Gerun.") + + UpdateQuestDescription(Quest, "I collected the venom for Gerun and received my payment.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/AFerociousInconvenience.lua b/Lua/Quests/Darklight/AFerociousInconvenience.lua new file mode 100755 index 000000000..3f8c53eff --- /dev/null +++ b/Lua/Quests/Darklight/AFerociousInconvenience.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : AFerociousInconvenience.lua + Script Purpose : Handles the quest, "A Ferocious Inconvenience" + Script Author : Cynnar + Script Date : 7/28/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Jhana Do'Zyth + Preceded by : Prowler Annoyance + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill the ferocious wolf in western Hate's Envy.", 1, 100, "Jhana Do'Zyth wants me to kill the ferocious wolf in western Hate's Envy.", 611, 340057) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the ferocious wolf.") + + AddQuestStepChat(Quest, 2, "I need to return to Jhana.", 1, "Jhana Do'Zyth wants me to kill the ferocious wolf in western Hate's Envy.", 11, 340027) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I found the pack leader of the dusk prowlers inside the Thexian tomb and slew the beast.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana009.mp3", "", "", 1353883768, 3186153308, Player) + AddConversationOption(conversation, "I will return victorious!") + StartConversation(conversation, QuestGiver, Player, "I look forward to news of your victory.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/AFriendlyReminder.lua b/Lua/Quests/Darklight/AFriendlyReminder.lua new file mode 100755 index 000000000..b49a4e745 --- /dev/null +++ b/Lua/Quests/Darklight/AFriendlyReminder.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Darklight/AFriendlyReminder.lua + Script Purpose : Handles the quest, "A Friendly Reminder" + Script Author : Cynnar + Script Date : 9/1/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver Laexyra Y'Barriath : + Preceded by : Public Service + Followed by : Reaping +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Confront the Thexian necromancer", 1, 100, "Laexyra Y'Barriath wants me to find the Thexian necromancer and remind him that he is not welcome in Darklight Wood.", 611, 340088) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain Kronryn N'Xytyl.") + + AddQuestStepChat(Quest, 2, "Return to Laexyra Y'Barriath", 1, "Laexyra Y'Barriath wants me to find the Thexian necromancer and remind him that he is not welcome in Darklight Wood.", 11, 340075) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I found and slew a Thexian cabalist named Kronryn N'Xytyl. This should hopefully put an end to the ceaseless waves of undead found near T'Vatar Outpost.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "cutthroat", 0, 0, Player) + AddConversationOption(conversation, "It will be done.") + StartConversation(conversation, QuestGiver, Player, "Make sure he does not return.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/AGuardInsignia.lua b/Lua/Quests/Darklight/AGuardInsignia.lua new file mode 100755 index 000000000..149868cb0 --- /dev/null +++ b/Lua/Quests/Darklight/AGuardInsignia.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Darklight/AGuardInsignia.lua + Script Purpose : Handles the quest, "A Guard Insignia?" + Script Author : Cynnar + Script Date : 9/1/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Examine a Neriak recruit badge + Preceded by : Picking Up Slack + Followed by : The Missing Recruit +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Bring the insignia to Ginwyss D'Arkenett", 1, "I should give the insignia I found to Ginwyss D'Arkenett.", 20, 340064) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + RemoveItem(Player, 2333) + UpdateQuestDescription(Quest, "I have given Ginwyss the insignia. She believes it is from her missing recruit.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ASnakeMadeSerum.lua b/Lua/Quests/Darklight/ASnakeMadeSerum.lua new file mode 100755 index 000000000..bdb63897c --- /dev/null +++ b/Lua/Quests/Darklight/ASnakeMadeSerum.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/Darklight/ASnakeMadeSerum.lua + Script Purpose : Handles the quest, "A Snake Made Serum" + Script Author : Cynnar + Script Date : 9/1/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Ilmtar D'Viervs + Preceded by : Tipping the Scales of Power + Followed by : The Mother Lode +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to hunt scar wurms", 8, 100, "Ilmtar D'Viervs needs the corpses of several scar wurms so he can use their pheromone sacs to make a truth serum.", 98, 340013) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I hunted several scar wurms") + UpdateQuestTaskGroupDescription(Quest, 1, "I successfully collected enough scar wurm corpses.") + + AddQuestStepChat(Quest, 2, "Bring the scar wurm corpses to Ilmtar D'Viervs", 1, "I need to bring the scar wurm corpses to Ilmtar D'Viervs at T'Vatar Outpost.", 98, 340076) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Ilmtar the scar wurm corpses.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + StartConversation(con, QuestGiver, Player, "Great. I'll be here preparing the additional ingredients needed for the serum.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ASolidifiedFront.lua b/Lua/Quests/Darklight/ASolidifiedFront.lua new file mode 100755 index 000000000..af102922b --- /dev/null +++ b/Lua/Quests/Darklight/ASolidifiedFront.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : Quests/Darklight/ASolidifiedFront.lua + Script Purpose : Handles the quest, "A Solidified Front" + Script Author : Cynnar + Script Date : 7/3/2015 + + Zone : Darklight Wood + Quest Giver : Verex N'Za + Preceded by : None + Followed by : Elemental Encroachment (ElementalEncroachment.lua) Sealing the Rift (SealingtheRift.lua) + + // Note: + // Removed duplicate quest rewards + +--]] + +local ASolidifiedFront = 120 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Locate Udiyitas X'Kilrea", 1, "I should travel outisde the breach in the southern wall of Hate's Envy and find Udiyitas X'Kilrae and Pellandra D'Xatyl.", 11, 340226) + AddQuestStepChat(Quest, 2, "Locate Pellandra D'Xatyl", 1, "I should travel outisde the breach in the southern wall of Hate's Envy and find Udiyitas X'Kilrae and Pellandra D'Xatyl.", 11, 340038) + AddQuestStepCompleteAction(Quest, 1, "Udiyitas") + AddQuestStepCompleteAction(Quest, 2, "Pellandra") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, ASolidifiedFront, 1) and QuestStepIsComplete(Player, ASolidifiedFront, 2) then + UpdateQuestTaskGroupDescription(Quest, 1, "I met with both Udiyitas X'Kilrae and Pellandra D'Xatyl outside the southern breach in the walls of Hate's Envy.") + QuestComplete(Quest, QuestGiver, Player) + end +end + +function QuestComplete(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + GiveQuestReward(Quest, Player) +end + +function Udiyitas(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I spoke with Udiyitas X'Kilrae") + CheckProgress(Quest, QuestGiver, Player) +end + +function Pellandra(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I spoke with Pellandra D'Xatyl") + CheckProgress(Quest, QuestGiver, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + StartConversation(conversation, QuestGiver, Player, "May Innoruuk guide your blade, young one!") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, ASolidifiedFront, 1) then + Udiyitas(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, ASolidifiedFront, 2) then + Pellandra(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/AnAuthorityonHate.lua b/Lua/Quests/Darklight/AnAuthorityonHate.lua new file mode 100755 index 000000000..abd5672c1 --- /dev/null +++ b/Lua/Quests/Darklight/AnAuthorityonHate.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : Quests/Darklight/AnAuthorityonHate.lua + Script Purpose : Handles the quest, "An Authority on Hate" + Script Author : Cynnar + Script Date : 7/27/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Pellandra D'Xatyl + Preceded by : Reclaiming the Sablevein Tear (ReclaimingtheSableveinTear.lua) + Followed by : Prowler Annoyance (ProwlerAnnoyance.lua) +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak with Jhana Do'Zyth inside Hate's Envy Townhall", 1, "I need to enter Hate's Envy Townhall and speak with the mayor's daughter, Jhana Do'Zyth.", 11, 340027) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I entered Hate's Envy Town Hall and spoke with the mayor's daughter, Jhana Do'Zyth.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra026.mp3", "", "bow", 3700065629, 2247447219, Player) + AddConversationOption(conversation, "Praise Innoruuk!") + StartConversation(conversation, QuestGiver, Player, "You fight well, " .. GetName(Player) .. ". May your enemies come to know your name and fear it. The Dark Father looks upon you favorably.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/AnotherProblem.lua b/Lua/Quests/Darklight/AnotherProblem.lua new file mode 100755 index 000000000..673b6e222 --- /dev/null +++ b/Lua/Quests/Darklight/AnotherProblem.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : AnotherProblem.lua + Script Purpose : Handles the quest, "Another Problem" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Find Vicaonar K'Xaar.", 1, "Find Vicaonar K'Xaarat. He can be found to the east of Wanderlust Fair.", 11, 340143) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have found Vicaonar.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Vicaonar.") + + UpdateQuestDescription(Quest, "I have found Vicaonar.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/ComparisonstotheHarrowglade.lua b/Lua/Quests/Darklight/ComparisonstotheHarrowglade.lua new file mode 100755 index 000000000..d5ef2b0a9 --- /dev/null +++ b/Lua/Quests/Darklight/ComparisonstotheHarrowglade.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : ComparisonstotheHarrowglade.lua + Script Purpose : Handles the quest, "Comparisons to the Harrowglade" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect some resonant dust from the wisplings in the Harrowglade.", 8, 100, "I need to collect resonant dust from the wisplings in the Harrowglade.", 342, 340121) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the resonant dust.") + + AddQuestStepChat(Quest, 2, "I need to bring this dust back to Geldax Xalylharil.", 1, "I need to collect resonant dust from the wisplings in the Harrowglade.", 342, 340147) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Geldax Xalylharil the dust.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the resonant dust and given it to Geldax Xalylharil.") + + UpdateQuestDescription(Quest, "I have brought the nominal resonant dust to Geldax Xalylharil, as he requested.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/Condemned.lua b/Lua/Quests/Darklight/Condemned.lua new file mode 100755 index 000000000..168bce65e --- /dev/null +++ b/Lua/Quests/Darklight/Condemned.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/Darklight/Condemned.lua + Script Purpose : Handles the quest, "Condemned" + Script Author : Cynnar + Script Date : 9/1/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Laexyra Y'Barriath + Preceded by : Reaping + Followed by : Continuing Assistance , Report to Zezas +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "Release these spirits near the Wellspring of Nightmares", 1, 100, "Laexyra Y'Barriath wants me to trap the spirits I captured in the Wellspring of Nightmares.", 2516) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have released the spirits, condemning them to a perpetual nightmare") + + AddQuestStepChat(Quest, 2, "Return to Laexyra Y'Barriath", 1, "Laexyra Y'Barriath wants me to trap the spirits I captured in the Wellspring of Nightmares.", 11, 340075) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have returned to Laexyra Y'Barriath after trapping the spirits within the Wellspring of Nightmares.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + if HasItem(Player, 48976) == false then + SummonItem(Player, 48976, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "salute", 0, 0, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "That works for me. Let me know how it goes.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, 48976, 1) do + RemoveItem(Player, 48976) + end +end diff --git a/Lua/Quests/Darklight/ContinuingAssistance.lua b/Lua/Quests/Darklight/ContinuingAssistance.lua new file mode 100755 index 000000000..ca4cd81ea --- /dev/null +++ b/Lua/Quests/Darklight/ContinuingAssistance.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/Darklight/ContinuingAssistance.lua + Script Purpose : Handles the quest, "Continuing Assistance" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Laexyra Y'Barriath + Preceded by : Condemned + Followed by : Alakzaer the Missing, Potential Threats +--]] + +local ContinuingAssistance = 154 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Deliver a letter to Malyl N'Vazin", 1, "Laexyra Y'Barriath wants me to deliver correspondences to both Malyl N'Vazin and Vornlin B'Vytyl at Wanderlust Fair. I can get there by following the road west from T'Vatar Outpost.", 11, 341004) + AddQuestStepChat(Quest, 2, "Deliver a letter to Vornlin B'Vytyl", 1, "Laexyra Y'Barriath wants me to deliver correspondences to both Malyl N'Vazin and Vornlin B'Vytyl at Wanderlust Fair. I can get there by following the road west from T'Vatar Outpost.", 11, 340145) + AddQuestStepCompleteAction(Quest, 1, "Malyl") + AddQuestStepCompleteAction(Quest, 2, "Vornlin") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, ContinuingAssistance, 1) and QuestStepIsComplete(Player, ContinuingAssistance, 2) then + UpdateQuestTaskGroupDescription(Quest, 1, "I delivered the correspondences to both Malyl N'Vazin and Vornlin B'Vytyl at Wanderlust Fair.") + QuestComplete(Quest, QuestGiver, Player) + end +end + +function QuestComplete(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + GiveQuestReward(Quest, Player) +end + +function Malyl(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Malyl.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Vornlin(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Vornlin.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, ContinuingAssistance, 1) then + Malyl(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, ContinuingAssistance, 2) then + Vornlin(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/DiggingDeeper_Darkligh.lua b/Lua/Quests/Darklight/DiggingDeeper_Darkligh.lua new file mode 100755 index 000000000..13eaf6008 --- /dev/null +++ b/Lua/Quests/Darklight/DiggingDeeper_Darkligh.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : DiggingDeeper.lua + Script Purpose : Handles the quest, "Digging Deeper" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak with Belarshalee.", 1, "Speak with Belarshalee and find out if she has any information about the Sableflame.", 11, 340173) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Belarshalee.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken to Belarshalee.") + + AddQuestStepKill(Quest, 2, "I need to kill Sableflame incanters, cauterizers, scryers, or watchers.", 8, 100, "Gaussnitra V'Kilana wants me to kill Sableflame incanters, cauterizers, scryers, and watchers.", 611, 340127, 340125, 340124, 340111) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed the Sableflame cultists.") + + AddQuestStepChat(Quest, 3, "I need to return to Gaussnitra V'Kilana.", 1, "Gaussnitra V'Kilana wants me to kill Sableflame incanters, cauterizers, scryers, and watchers.", 11, 341003) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 3, "I have spoken with Gaussnitra V'Kilana.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have slain the Sableflame cultists.") + + UpdateQuestDescription(Quest, "I have slain the Sableflame cultists.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/DusttoDust.lua b/Lua/Quests/Darklight/DusttoDust.lua new file mode 100755 index 000000000..462c422c8 --- /dev/null +++ b/Lua/Quests/Darklight/DusttoDust.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Darklight/DusttoDust.lua + Script Purpose : Handles the quest, "Dust to Dust" + Script Author : Cynnar + Script Date : 9/2/2015 + Script Notes : Need to remove item if quest is deleted + + Zone : Darklight Wood + Quest Giver : Calnozz J'Melvirr + Preceded by : Infantile Ingredients + Followed by : None +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "Douse skeletons with stunspore dust!", 7, 100, "I must test the stunspore dust on the skeletons found north from Warpfont Spire.", 10) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I tested the stunspore dust on several skeletons") + + AddQuestStepChat(Quest, 2, "Report your findings to Calnozz", 1, "I must test the stunspore dust on the skeletons found north from Warpfont Spire.", 11, 340066) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "The stunspore dust had a limited effect on the undead.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 47613) + Say(QuestGiver, "All in the name of empirical research, " .. GetName(Player) .. "! Good luck!") +end + +function Deleted(Quest, QuestGiver, Player) + RemoveItem(Player, 47613) +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ElementalEncroachment.lua b/Lua/Quests/Darklight/ElementalEncroachment.lua new file mode 100755 index 000000000..dfdd48b08 --- /dev/null +++ b/Lua/Quests/Darklight/ElementalEncroachment.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Darklight/ElementalEncroachment.lua + Script Purpose : Handles the quest, "Elemental Encroachment" + Script Author : Cynnar + Script Date : 7/5/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Udiyitas X'Kilrae + Preceded by : A Solidified Front (ASolidifiedFront.lua) + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Destroy several Sablevein crumblers", 4, 100, "Udiyitas X'Kilrae has asked me to help take care of the elemental problems outside of Hate's Envy.", 611, 340023) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have destroyed the Sablevein crumblers") + + AddQuestStepChat(Quest, 2, "Return to Udiyitas X'Kilrae", 1, "Udiyitas X'Kilrae has asked me to help take care of the elemental problems outside of Hate's Envy.", 11, 340226) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the elementals for Udiyitas X'Kilrae.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas003.mp3", "", "", 3716611968, 2933459424, Player) + AddConversationOption(conversation, "For Hate's Envy!") + StartConversation(conversation, QuestGiver, Player, "For Hate's Envy!") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/HopefulNetReturns.lua b/Lua/Quests/Darklight/HopefulNetReturns.lua new file mode 100755 index 000000000..e7b631f60 --- /dev/null +++ b/Lua/Quests/Darklight/HopefulNetReturns.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : Quests/Darklight/HopefulNetReturns.lua + Script Purpose : Handles the quest, "Hopeful Net Returns" + Script Author : FeaRFx + Script Date : 13/06/2016 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Aunthrae + Preceded by : What's in Demand? (WhatsinDemand.lua) + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Give the fishing net to Dirzdia T'Zauvirr", 1, "Deliver the fishing net to Dirzdia T'Zauvirr at the southern bridge spanning over the Searing Tendril River.", 0, 340096) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") + GiveFishingNet(Quest, QuestGiver, Player) +end + +function GiveFishingNet(Quest, QuestGiver, Player) + SummonItem(Player, 7296, 1) +end + +function QuestComplete(Quest, QuestGiver, Player) + RemoveItem(Player, 7296) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I gave the fishing net to Dirzdia T'Zauvirr") + UpdateQuestTaskGroupDescription(Quest, 1, "I found Dirzdia T'Zauvirr and delivered the net given to me by Aunthrae.") + + UpdateQuestDescription(Quest, "I found Dirzdia T'Zauvirr at the southern bridge over the Lower Tendril River.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/InfantileIngredients.lua b/Lua/Quests/Darklight/InfantileIngredients.lua new file mode 100755 index 000000000..71eccd4f4 --- /dev/null +++ b/Lua/Quests/Darklight/InfantileIngredients.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/Darklight/InfantileIngredients.lua + Script Purpose : Handles the quest, "Infantile Ingredients" + Script Author : Cynnar + Script Date : 9/2/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Calnozz J'Melvirr + Preceded by : Stunning Revelation + Followed by : Dust to Dust +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Catch baby snakes from the serpents near the Lower Tendril River", 8, 100, "Calnozz J'Melvirr wants me to collect a number of baby snakes so he can milk their powerful venom.", 98, 4080) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the baby snakes") + + AddQuestStepChat(Quest, 2, "Bring the snakes back to Calnozz", 1, "Calnozz J'Melvirr wants me to collect a number of baby snakes so he can milk their powerful venom.", 98, 340066) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the baby snakes for Calnozz J'Melvirr.") + while HasItem(player, 4080, 1) do + RemoveItem(Player, 4080) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + Say(QuestGiver, "They are quite delicate at birth, so try not to slice up the babies too much.") +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, 4080, 1) do + RemoveItem(Player, 4080) + end +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/MoreReagents.lua b/Lua/Quests/Darklight/MoreReagents.lua new file mode 100755 index 000000000..6d9cf6b9a --- /dev/null +++ b/Lua/Quests/Darklight/MoreReagents.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : MoreReagents.lua + Script Purpose : Handles the quest, "More Reagents" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Gather ooze from slimy mulchers", 6, 100, "I need ooze from the slimy mulchers for Maelixia.", 355, 340960) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gathered the ooze") + + AddQuestStepChat(Quest, 2, "Bring this ooze back to Maelixia", 1, "I need ooze from the slimy mulchers for Maelixia.", 355, 340171) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Maelixia the ooze") + UpdateQuestTaskGroupDescription(Quest, 1, "I have brought Maelixia the ooze.") + + UpdateQuestDescription(Quest, "I have brought Maelixia the slime from the mulchers.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/NoUndeadGoesUnturned.lua b/Lua/Quests/Darklight/NoUndeadGoesUnturned.lua new file mode 100755 index 000000000..df152d08b --- /dev/null +++ b/Lua/Quests/Darklight/NoUndeadGoesUnturned.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/Darklight/NoUndeadGoesUnturned.lua + Script Purpose : Handles the quest, "No Undead Goes Unturned" + Script Author : Cynnar + Script Date : 8/17/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Sselnyl Do'Zyth + Preceded by : None + Followed by : Thexian Taint +--]] + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Retrieve the remains of the Thexian Dragoon-General.", 1, 100, "I must search the recently excavated tomb north of Hate's Envy for the remains of the Dragoon-General.", 91, 14386) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found the remains of the Thexian Dragoon-General.") + + AddQuestStepChat(Quest, 2, "Bring the remains to Sselnyl", 1, "I must search the recently excavated tomb north of Hate's Envy for the remains of the Dragoon-General.", 11, 340021) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I found the remains of the Thexian Dragoon General and returned them to Sselnyl Do'Zyth, the mayor of Hate's Envy.") + RemoveItem(Player, 14386) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl005.mp3", "", "", 2966552414, 1013655055, Player) + AddConversationOption(conversation, "I will return shortly with the remains.") + StartConversation(conversation, QuestGiver, Player, "With haste, " ..GetName(Player).. ".") +end + +function Declined(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/OneMan'sWaste....lua b/Lua/Quests/Darklight/OneMan'sWaste....lua new file mode 100755 index 000000000..5d98c6d7d --- /dev/null +++ b/Lua/Quests/Darklight/OneMan'sWaste....lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/Darklight/OneMan'sWaste....lua + Script Purpose : Handles the quest, "One Man's Waste..." + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Ilmtar D'Viervs + Preceded by : What's in Demand? + Followed by : Useful Materials +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Search outside T'Vatar Outpost for old weapons", 6, 100, "Ilmtar D'Viervs wants me to collect some old weapons just outside T'Vatar Outpost.", 5, 6485) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected several old weapons") + + AddQuestStepChat(Quest, 2, "Bring these weapons to Ilmtar D'Viervs", 1, "Ilmtar D'Viervs wants me to collect some old weapons just outside T'Vatar Outpost.", 5, 340076) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the old weapons for Ilmtar.") + while HasItem(Player, 6485, 1) do + RemoveItem(Player, 6485) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(con, "I'll see what can I dig up.") + StartConversation(con, QuestGiver, Player, "Once you've collected a decent number of weapons return them to me.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, Spawn) + while HasItem(Player, 6485, 1) do + RemoveItem(Player, 6485) + end +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/OtherMaterials.lua b/Lua/Quests/Darklight/OtherMaterials.lua new file mode 100755 index 000000000..8edd7798a --- /dev/null +++ b/Lua/Quests/Darklight/OtherMaterials.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : OtherMaterials.lua + Script Purpose : Handles the quest, "Other Materials?" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need three rock samples from near the Warpfont Spire.", 3, 100, "I need to collect rocks from the Warpfont Spire and the Harrowglade for Geldax Xalylharil.", 188, 15326) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the rocks from the Warpfont Spire.") + + AddQuestStepObtainItem(Quest, 2, "I need three rock samples from the Harrowglade.", 3, 100, "I need to collect rocks from the Warpfont Spire and the Harrowglade for Geldax Xalylharil.", 188, 8056) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have the rocks from the Harrowglade.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the rocks.") + + AddQuestStepChat(Quest, 3, "I must return to Geldax Xalylharil.", 1, "I need to bring the rocks back to Geldax Xalylharil.", 188, 340147) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 3, "I have given Geldax Xalylharil the rocks.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have brought the rocks to Geldax Xalylharil.") + + UpdateQuestDescription(Quest, "I have collected rocks from the Warpfont Spire and the Harrowglade and given them to Geldax Xalylharil.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/PickingUpSlack.lua b/Lua/Quests/Darklight/PickingUpSlack.lua new file mode 100755 index 000000000..ce52ddf11 --- /dev/null +++ b/Lua/Quests/Darklight/PickingUpSlack.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Darklight/PickingUpSlack.lua + Script Purpose : Handles the quest, "Picking Up Slack" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : Quest ID 139 + + Zone : Darklight Wood + Quest Giver : Ginwyss D'Arkenett + Preceded by : Rotting Scum ID 138 + Followed by : A Guard Insignia? +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Collect armor scraps from moldering soldiers", 5, 100, "Ginwyss D'Arkenett wants me to collect scraps of armor from the moldering soldiers found north of T'Vatar Outpost.", 734, 11996) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I collected several scraps of armor") + + AddQuestStepChat(Quest, 2, "I need to return to Ginwyss", 1, "Ginwyss D'Arkenett wants me to collect scraps of armor from the moldering soldiers found north of T'Vatar Outpost.", 11, 340064) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have spoken with Ginwyss") + while HasItem(Player, 11996, 1) do + RemoveItem(Player, 11996) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + + PlayFlavor(QuestGiver, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Player) + Say(QuestGiver, "Once you have collected enough scrap pieces, return them to me.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/PotentialThreats.lua b/Lua/Quests/Darklight/PotentialThreats.lua new file mode 100755 index 000000000..604c10893 --- /dev/null +++ b/Lua/Quests/Darklight/PotentialThreats.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : PotentialThreats.lua + Script Purpose : Handles the quest, "Potential Threats" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill Sableflame outriders, fanatics, or heralds.", 8, 100, "I need to kill the Sableflame outriders, fanatics, and heralds.", 611, 340937, 340109, 340939) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the Sableflame cultists.") + + AddQuestStepChat(Quest, 2, "I need to return to Gaussnitra V'Kilana.", 1, "I need to kill the Sableflame outriders, fanatics, and heralds.", 11, 341003) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Gaussnitra V'Kilana.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the Sableflame cultists.") + + UpdateQuestDescription(Quest, "I have slain the Sableflame cultists for Gaussnitra V'Kilana.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/PreparingARitual.lua b/Lua/Quests/Darklight/PreparingARitual.lua new file mode 100755 index 000000000..0d5ca879c --- /dev/null +++ b/Lua/Quests/Darklight/PreparingARitual.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : PreparingaRitual.lua + Script Purpose : Handles the quest, "Preparing a Ritual" + Script Author : QuestParser (Replace this) + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need Fire Tear gems from Sableflame Crater.", 5, 100, "I need to collect Fire Tear gems for Belarshalee Do'Torlyl.", 771, 7262) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the Fire Tears.") + + AddQuestStepChat(Quest, 2, "I need to return to Belarshalee Do'Torlyl.", 1, "I need to collect Fire Tear gems for Belarshalee Do'Torlyl.", 11, 340173) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Belarshalee Do'Torlyl.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have brought the Fire Tear gems for Belarshalee Do'Torlyl.") + + UpdateQuestDescription(Quest, "I have brought the Fire Tears back to Belarshalee Do'Torlyl.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ProwlerAnnoyance.lua b/Lua/Quests/Darklight/ProwlerAnnoyance.lua new file mode 100755 index 000000000..911b1f2fd --- /dev/null +++ b/Lua/Quests/Darklight/ProwlerAnnoyance.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : ProwlerAnnoyance.lua + Script Purpose : Handles the quest, "Prowler Annoyance" + Script Author : Cynnar + Script Date : 7/27/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Jhana Do'Zyth + Preceded by : An Authority on Hate (AnAuthorityonHate.lua) + Followed by : A Ferocious Inconvenience (AFerociousInconvenience.lua) +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Kill several dusk prowlers", 5, 100, "Jhana Do'Zyth has asked me to cull a number of the dusk prowlers found northeast of Hate's Envy.", 96, 340054) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain a number of dusk prowlers") + + AddQuestStepChat(Quest, 2, "Return to Jhana Do'Zyth", 1, "Jhana Do'Zyth has asked me to cull a number of the dusk prowlers found northeast of Hate's Envy.", 11, 340027) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have fulfilled Jhana's request by culling a number of dusk prowlers.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana004.mp3", "", "", 2033106753, 62697825, Player) + AddConversationOption(conversation, "I will return once the deed is done.") + StartConversation(conversation, QuestGiver, Player, "Excellent, Ayeecaith. I eagerly await your return.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/PublicService.lua b/Lua/Quests/Darklight/PublicService.lua new file mode 100755 index 000000000..94b203f92 --- /dev/null +++ b/Lua/Quests/Darklight/PublicService.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : Quests/Darklight/PublicService.lua + Script Purpose : Handles the quest, "Public Service" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Laexyra Y'Barriath + Preceded by : Purposeful Trinkets + Followed by : A Friendly Reminder +--]] + +local PublicService = 150 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Destroy several purulent defenders", 8, 100, "I need to destroy a number of the undead soldiers north of T'Vatar Post.", 611, 340085) + AddQuestStepKill(Quest, 2, "Destroy several moldering soldiers", 5, 100, "I need to destroy a number of the undead soldiers north of T'Vatar Post.", 611, 340084) + AddQuestStepCompleteAction(Quest, 1, "PurulentDefenders") + AddQuestStepCompleteAction(Quest, 2, "MolderingSoldiers") +end + +function PurulentDefenders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the purulent defenders") + CheckProgress(Quest, QuestGiver, Player) +end + +function MolderingSoldiers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain the moldering soldiers") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, PublicService, 1) and QuestStepIsComplete(Player, PublicService, 2) then + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the undead soldiers for Laexyra.") + UndeadSoldiersComplete(Quest, QuestGiver, Player) + end +end + +function UndeadSoldiersComplete(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 3, "Speak with Laexyra Y'Barriath", 1, "I should return to Laexyra Y'Barriath now that I have thinned out the undead.", 11, 340075) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have thinned out the undead population north of T'Vatar Post.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, PublicService, 1) then + PurulentDefenders(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, PublicService, 2) then + MolderingSoldiers(Quest, QuestGiver, Player) + end + if Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + Say(QuestGiver, "Return to me when you are finished.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/PurposefulTrinkets.lua b/Lua/Quests/Darklight/PurposefulTrinkets.lua new file mode 100755 index 000000000..6e684882e --- /dev/null +++ b/Lua/Quests/Darklight/PurposefulTrinkets.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/Darklight/PurposefulTrinkets.lua + Script Purpose : Handles the quest, "Purposeful Trinkets" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : Quest ID 149 + + Zone : Darklight Wood + Quest Giver : Laexyra Y'Barriath (340075) + Preceded by : None + Followed by : Public Service +--]] + + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Collect five soldier's trinkets.", 5, 100, "Laexyra Y'Barriath wants trinkets from the soldiers in the field southwest of T'Vatar Post.", 368, 13083) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the trinkets.") + + AddQuestStepChat(Quest, 2, "Return to Laexyra Y'Barriath.", 1, "Laexyra Y'Barriath wants trinkets from the soldiers in the field southwest of T'Vatar Post.", 11, 340075) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the trinkets for Laexyra Y'Barriath.") + while HasItem(Player, 13083, 1) do + RemoveItem(Player, 13083) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Good.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/Reagents.lua b/Lua/Quests/Darklight/Reagents.lua new file mode 100755 index 000000000..13dfdea28 --- /dev/null +++ b/Lua/Quests/Darklight/Reagents.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Reagents.lua + Script Purpose : Handles the quest, "Reagents" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need dust from the T'Rethir vampires", 10, 100, "I need vampire dust for Maelixia.", 181, 340159, 340161, 340156, 340157, 340160, 340155, 340162) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the vampire dust") + + AddQuestStepChat(Quest, 2, "Bring this dust to Maelixia", 1, "I need vampire dust for Maelixia.", 181, 340171) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Maelixia the dust") + UpdateQuestTaskGroupDescription(Quest, 1, "I have given Maelixia the vampire dust.") + + UpdateQuestDescription(Quest, "I have brought the vampire dust to Maelixia.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/Reaping.lua b/Lua/Quests/Darklight/Reaping.lua new file mode 100755 index 000000000..05116e723 --- /dev/null +++ b/Lua/Quests/Darklight/Reaping.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/Darklight/Reaping.lua + Script Purpose : Handles the quest, "Reaping" (152) + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Laexyra Y'Barriath + Preceded by : A Friendly Reminder + Followed by : Condemned +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "Collect spirits from the rangers and cadavers south of T'Vatar Post", 5, 100, "I need to trap the spirits of the soldiers in the field south of T'Vatar Post.", 2516) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the spirits for Laexyra Y'Barriath") + + AddQuestStepChat(Quest, 2, "Bring the spirits back to Laexyra Y'Barriath", 1, "I need to trap the spirits of the soldiers in the field south of T'Vatar Post.", 2516, 340075) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + RemoveItem(Player, 48173) + UpdateQuestDescription(Quest, "I have trapped the spirits for Laexyra Y'Barriath.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + if HasItem(Player, 48173) == false then + SummonItem(Player, 48173, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + Say(QuestGiver, "Return to me when you've trapped them.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ReapingTheBenefitsOfAMonopoly.lua b/Lua/Quests/Darklight/ReapingTheBenefitsOfAMonopoly.lua new file mode 100755 index 000000000..f57729a93 --- /dev/null +++ b/Lua/Quests/Darklight/ReapingTheBenefitsOfAMonopoly.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : ReapingtheBenefitsofaMonopoly.lua + Script Purpose : Handles the quest, "Reaping the Benefits of a Monopoly" + Script Author : FeaRFX + Script Date : 25/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Fish up searing trout", 8, 100, "Dirzdia wants some searing trout from the Lower Tendril River.", 2542, 37182) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have caught the trout") + + AddQuestStepChat(Quest, 2, "Bring these trout back to Dirzdia", 1, "Dirzdia wants some searing trout from the Lower Tendril River.", 2542, 140025) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Dirzdia the trout") + UpdateQuestTaskGroupDescription(Quest, 1, "I have brought Dirzdia the searing trout.") + + UpdateQuestDescription(Quest, "I have caught the searing trout and brought them back to Dirzdia.") + while HasItem(Player, 37182, 1) do + RemoveItem(Player, 37182) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ReclaimingtheSableveinTear.lua b/Lua/Quests/Darklight/ReclaimingtheSableveinTear.lua new file mode 100755 index 000000000..163bed936 --- /dev/null +++ b/Lua/Quests/Darklight/ReclaimingtheSableveinTear.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Darklight/ReclaimingtheSableveinTear.lua + Script Purpose : Handles the quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 7/24/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Pellandra D'Xatyl + Preceded by : Searching for Sigils (SearchingforSigils.lua) + Followed by : An Authority on Hate (AnAuthorityonHate.lua) +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Find the source of the Sablevein attacks and put an end to it", 1, 100, "I must explore inside Sablevein Tear for the source of the recent elemental attacks and put it to an end.", 611, 340069) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I slew the Thexian Occultist") + + AddQuestStepChat(Quest, 2, "Return to Pellandra D'Xatyl", 1, "I must explore inside Sablevein Tear for the source of the recent elemental attacks and put it to an end.", 11, 340038) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I found the Thexian Occultist located inside Sablevein Tear and defeated her.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra020.mp3", "", "", 2226921822, 2344985662, Player) + AddConversationOption(conversation, "I will return shortly.") + StartConversation(conversation, QuestGiver, Player, "I await your return.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ReporttoZezas.lua b/Lua/Quests/Darklight/ReporttoZezas.lua new file mode 100755 index 000000000..226da2398 --- /dev/null +++ b/Lua/Quests/Darklight/ReporttoZezas.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : Quests/Darklight/ReporttoZezas.lua + Script Purpose : Handles the quest, "Report to Zezas" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Laexyra Y'Barriath + Preceded by : Condemned + Followed by : Finding the Dark Bargainers +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Zezas X'Zauzin. He should be just inside Neriak.", 1, "I need to speak with Zezas X'Zauzin.", 11, 0) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have spoken with Zezas X'Zauzin.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ResonanceCapture.lua b/Lua/Quests/Darklight/ResonanceCapture.lua new file mode 100755 index 000000000..1c3e038cf --- /dev/null +++ b/Lua/Quests/Darklight/ResonanceCapture.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : ResonanceCapture.lua + Script Purpose : Handles the quest, "Resonance Capture" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to use the device Geldax gave me on five warped wisplings.", 5, 100, "Geldax Xalylharil wants me to use his device on a number of warped wisplings.", 348) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have 'de-warped' five wisps.") + + AddQuestStepChat(Quest, 2, "I need to return to Geldax Xalylharil.", 1, "Geldax Xalylharil wants me to use his device on a number of warped wisplings.", 11, 340147) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Geldax his device and the warp extract.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected warp extract and brought it to Geldax Xalylharil.") + + UpdateQuestDescription(Quest, "I 'de-warped' a number of wisps and brought Geldax Xalylharil his device back.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/Revenge.lua b/Lua/Quests/Darklight/Revenge.lua new file mode 100755 index 000000000..6d6dd9d91 --- /dev/null +++ b/Lua/Quests/Darklight/Revenge.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Revenge.lua + Script Purpose : Handles the quest, "Revenge!" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Collect pairs of Sullian fairy wings", 8, 100, "Maelixia wants Sullian fairy wings.", 110, 340151, 340977, 340149, 340150) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the wings") + + AddQuestStepChat(Quest, 2, "Bring these wings back to Maelixia", 1, "Maelixia wants Sullian fairy wings.", 11, 340171) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Maelixia the wings") + UpdateQuestTaskGroupDescription(Quest, 1, "I have brought the wings back to Maelixia.") + + UpdateQuestDescription(Quest, "I have brought Maelixia the fairy wings.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/RichFishFlesh.lua b/Lua/Quests/Darklight/RichFishFlesh.lua new file mode 100755 index 000000000..132f53fb7 --- /dev/null +++ b/Lua/Quests/Darklight/RichFishFlesh.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/Darklight/RichFishFlesh.lua + Script Author : fearfx + Script Date : 2017.01.25 07:01:26 + Script Purpose : + + Zone : Darklight + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to bring Smolderfin's flesh to Calnozz.", 1, "I should bring the rich flesh of Smolderfin to Calnozz J'Melvirr.", 134, 340066) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have given Calnozz the flesh.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have brought the flesh of Smolderfin to Calnozz.") + + UpdateQuestDescription(Quest, "I have brought the flesh of Smolderfin to Calnozz.") + RemoveItem(Player, 11524) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/RottingScum.lua b/Lua/Quests/Darklight/RottingScum.lua new file mode 100755 index 000000000..53beef865 --- /dev/null +++ b/Lua/Quests/Darklight/RottingScum.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/Darklight/RottingScum.lua + Script Purpose : Handles the quest, "Rotting Scum" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : Quest ID 138 + + Zone : Darklight Wood + Quest Giver : Ginwyss d'Arkenett (ID 340064) + Preceded by : Thexian Taint (ID 135) + Followed by : Picking Up Slack (ID 139) +--]] + +local RottingScum = 138 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill seven fallen rangers.", 7, 100, "Ginwyss D'Arkenett wants the zombies southwest of T'Vatar Post slain.", 611, 340060) + AddQuestStepKill(Quest, 2, "I need to kill seven stout cadavers.", 7, 100, "Ginwyss D'Arkenett wants the zombies southwest of T'Vatar Post slain.", 611, 340059) + AddQuestStepCompleteAction(Quest, 1, "FallenRangers") + AddQuestStepCompleteAction(Quest, 2, "StoutCadavers") +end + +function FallenRangers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the fallen rangers") + CheckProgress(Quest, QuestGiver, Player) +end + +function StoutCadavers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain the stout cadavers") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, RottingScum, 1) and QuestStepIsComplete(Player, RottingScum, 2) then + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the zombies..") + ZombiesComplete(Quest, QuestGiver, Player) + end +end + +function ZombiesComplete(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 3, "Return to Ginwyss D'Arkenett", 1, "Ginwyss D'Arkenett wants the zombies southwest of T'Vatar Post slain.", 11, 340064) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the zombies for Ginwyss D'Arkenett.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, RottingScum, 1) then + FallenRangers(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, RottingScum, 2) then + StoutCadavers(Quest, QuestGiver, Player) + end + if Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss008.mp3", "", "", 2741628345, 486208170, Player) + Say(QuestGiver, "Return to me after you've " .. '"killed" ' .. "them.") + -- StartConversation(conversation, QuestGiver, Player, "Return to me after you've /"killed/" them.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/SableveinRubble.lua b/Lua/Quests/Darklight/SableveinRubble.lua new file mode 100755 index 000000000..f55ab072f --- /dev/null +++ b/Lua/Quests/Darklight/SableveinRubble.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/Darklight/SableveinRubble.lua + Script Purpose : Handles the quest, "Sablevein Rubble" + Script Author : QuestParser Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Danya Halfmoon 340018 + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Gather samples of Sablevein rubble", 6, 100, "Danya Halfmoon would like me to bring her the rubble from Sablevein Tear.", 183, 11836) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the Sablevein rubble") + + AddQuestStepChat(Quest, 2, "Bring the rubble back to Danya Halfmoon", 1, "Danya Halfmoon would like me to bring her the rubble from Sablevein Tear.", 183, 340018) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- Sablevein rubble + while HasItem(Player, 11836, 1) do + RemoveItem(Player, 11836) + end + UpdateQuestDescription(Quest, "I have brought Danya the Sablevein rubble she asked for.") + SetTempVariable(Player, "SableOre", nil) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya005.mp3", "", "", 2830883681, 1931267037, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Good. That will serve to keep my mind off of these people around me.") + SetTempVariable(Player, "SableOre", 0) +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, Spawn) + while HasItem(Player, 11836) do + RemoveItem(Player, 11836) + end +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/SealingtheRift.lua b/Lua/Quests/Darklight/SealingtheRift.lua new file mode 100755 index 000000000..ad735459a --- /dev/null +++ b/Lua/Quests/Darklight/SealingtheRift.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/Darklight/SealingtheRift.lua + Script Purpose : Handles the quest, "Sealing the Rift" + Script Author : Cynnar + Script Date : 7/5/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Pellandra D'Xatyl + Preceded by : A Solidified Front (ASolidifiedFront.lua) + Followed by : Searching for Sigils (SearchingforSigils.lua) +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "Seal one of the newly opened Sablevein rifts", 1, 100, "Pellandra D'Xatyl has ordered me to find one of the newly opened rifts and seal it using any means necessary!", 11, 340760) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found and sealed the newly opened rift") + + AddQuestStepChat(Quest, 2, "Return to Pellandra D'Xatyl", 1, "Pellandra D'Xatyl has ordered me to find one of the newly opened rifts and seal it using any means necessary!", 11, 340038) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I sealed one of the Sablevein rifts found south of Hate's Envy.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra005.mp3", "", "", 2498536389, 3964718754, Player) + AddConversationOption(conversation, "I will return victorious!") + StartConversation(conversation, QuestGiver, Player, "The citizens of Hate Envy depend upon you, " .. GetName(Player) .. ". Do not fail them.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + private_spawn_pebble = GetSpawn(Spawn, 340760) + private_spawn_boulder = GetSpawn(Spawn, 340761) + private_spawn_particle1 = GetSpawn(Spawn, 340747) + private_spawn_particle2 = GetSpawn(Spawn, 341218) + AddSpawnAccess(private_spawn_pebble, Spawn) + RemoveSpawnAccess(private_spawn_boulder, Spawn) + RemoveSpawnAccess(private_spawn_particle1, Spawn) + RemoveSpawnAccess(private_spawn_particle2, Spawn) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/SearchingforSigils.lua b/Lua/Quests/Darklight/SearchingforSigils.lua new file mode 100755 index 000000000..fb2862cdb --- /dev/null +++ b/Lua/Quests/Darklight/SearchingforSigils.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Darklight/SearchingforSigils.lua + Script Purpose : Handles the quest, "Searching for Sigils" + Script Author : Cynnar + Script Date : 7/8/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Pellandra D'Xatyl + Preceded by : Sealing the Rift (SealingtheRift.lua) + Followed by : Reclaiming the Sablevein Tear (ReclaimingtheSableveinTear.lua) +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Collect sigil stones from the Sablevein pulverizers", 4, 100, "I must hunt Sablevein pulverizers found outside Sablevein Tear and collect sigil stones from their remains.", 373, 11837) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I collected several sigil stones from the Sablevein pulverizers") + + AddQuestStepChat(Quest, 2, "Return to Pellandra D'Xatyl.", 1, "I must hunt Sablevein pulverizers found outside Sablevein Tear and collect sigil stones from their remains.", 11, 340038) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I collected a good number of sigil stones from the remains of the Sablevein pulverizers and brought them to Pellandra.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra011.mp3", "", "", 2108547619, 2126682615, Player) + AddConversationOption(conversation, "I'll return shortly.") + StartConversation(conversation, QuestGiver, Player, "The face of our enemy will soon be revealed " .. GetName(Player) .. ". Help us lift the veil so we may face them openly!") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/SmokingTheCompetition.lua b/Lua/Quests/Darklight/SmokingTheCompetition.lua new file mode 100755 index 000000000..0eab5b1e3 --- /dev/null +++ b/Lua/Quests/Darklight/SmokingTheCompetition.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SmokingtheCompetition.lua + Script Purpose : Handles the quest, "Smoking the Competition" + Script Author : QuestParser (Replace this) + Script Date : 23/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill the razormaw that swim in the Searing Tendril and bring them back to Dirzdia.", 8, 100, "Dirzdia would like me to kill the razormaw that swim in the Searing Tendril.", 139, 340095) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the razormaw.") + + AddQuestStepChat(Quest, 2, "I need to bring the razormaw flesh back to Dirzdia.", 1, "Dirzdia would like me to kill the razormaw that swim in the Searing Tendril.", 139, 140025) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Dirzdia the razormaw flesh.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the razormaw and brought their flesh back to Dirzdia.") + + UpdateQuestDescription(Quest, "I have brought Dirzdia the razormaw flesh she wanted.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/SoHotYouCatchThemCooked.lua b/Lua/Quests/Darklight/SoHotYouCatchThemCooked.lua new file mode 100755 index 000000000..dbf17217e --- /dev/null +++ b/Lua/Quests/Darklight/SoHotYouCatchThemCooked.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Darklight/SoHotYouCatchThemCooked.lua + Script Author : fearfx + Script Date : 2017.01.24 06:01:15 + Script Purpose : + + Zone : Darklight + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "I need to catch eight seared char.", 8, 100, "I need some seared char for Dirzdia.", 2541, 37177) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have caught the seared char.") + + AddQuestStepChat(Quest, 2, "I need to bring these fish back to Dirzdia.", 1, "I need some seared char for Dirzdia.", 2541, 140025) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have brought the fish to Dirzdia.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the seared char for Dirzdia.") + + UpdateQuestDescription(Quest, "I have brought Dirzdia the seared char she wanted.") + while HasItem(Player, 37177, 1) do + RemoveItem(Player, 37177) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/SorcerousNecessities.lua b/Lua/Quests/Darklight/SorcerousNecessities.lua new file mode 100755 index 000000000..720674166 --- /dev/null +++ b/Lua/Quests/Darklight/SorcerousNecessities.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/Darklight/SorcerousNecessities.lua + Script Purpose : Handles the quest, "Sorcerous Necessities" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Ilmtar D'Viervs + Preceded by : Useful Materials + Followed by : Tipping the Scales of Power +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Hunt somber screechers for their wings", 8, 100, "Ilmtar D'Viervs wants me to collect screecher wings for him.", 140, 340091, 340092) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the screecher wings for Ilmtar") + + AddQuestStepChat(Quest, 2, "Bring these screecher wings to Ilmtar D'Viervs", 1, "Ilmtar D'Viervs wants me to collect screecher wings for him.", 167, 340076) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the screecher wings for Ilmtar.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(con, "I'll be back.") + StartConversation(con, QuestGiver, Player, "Good, very good. You can find a colony of bats due west from T'Vatar Outpost.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/StoptheProblemattheSource.lua b/Lua/Quests/Darklight/StoptheProblemattheSource.lua new file mode 100755 index 000000000..4c7cd6ef2 --- /dev/null +++ b/Lua/Quests/Darklight/StoptheProblemattheSource.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : StoptheProblemattheSource.lua + Script Purpose : Handles the quest, "Stop the Problem at the Source" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + +local StopTheProblem = 198 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill Alerica.", 1, 100, "I need to take out the Sableflame adherents and Alerica.", 11, 340128) + AddQuestStepKill(Quest, 2, "I need to kill Sableflame adherents.", 8, 100, "I need to take out the Sableflame adherents and Alerica.", 611, 340126) + AddQuestStepCompleteAction(Quest, 1, "KillAlerica") + AddQuestStepCompleteAction(Quest, 2, "KillMobs") +end + + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, StopTheProblem, 1) and QuestStepComplete(Player, StopTheProblem, 2) then + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain Alerica and the adherents.") + QuestComplete(Quest, QuestGiver, Player) + end +end + +function KillAlerica(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain Alerica.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KillMobs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain the Sableflame adherents.") + CheckProgress(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + --UpdateQuestStepDescription(Quest, 3, "I have spoken with Gaussnitra V'Kilana.") + --UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Gaussnitra V'Kilana.") + + --UpdateQuestDescription(Quest, "I have slain Alerica and the Sableflame adherents.") + SetCompleteFlag(Quest, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, StopTheProblem, 1) then + KillAlerica(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, StopTheProblem, 2) then + KillMobs(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/StunningRevelation.lua b/Lua/Quests/Darklight/StunningRevelation.lua new file mode 100755 index 000000000..235fd0a3b --- /dev/null +++ b/Lua/Quests/Darklight/StunningRevelation.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/Darklight/StunningRevelation.lua + Script Purpose : Handles the quest, "Stunning Revelation" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Calnozz J'Melvirr + Preceded by : To Draw Upon Wellsprings + Followed by : Infantile Ingredients +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Collect stunspore mushroom caps", 5, 100, "Calnozz J'Melvirr wants me to collect stunspore mushroom caps found west of T'Vatar Outpost.", 821, 13532) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected stunspore mushroom caps") + + AddQuestStepChat(Quest, 2, "Bring the stunspore mushroom caps back to Calnozz", 1, "Calnozz J'Melvirr wants me to collect stunspore mushroom caps found west of T'Vatar Outpost.", 821, 340066) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I collected the stunspore mushroom caps requested by Calnozz J'Melvirr.") + while HasItem(Player, 13532, 1) do + RemoveItem(Player, 13532) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + Say(QuestGiver, "Excellent, I await your imminent return.") +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(player, 13532, 1) do + RemoveItem(Player, 13532) + end +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/TheBigOne.lua b/Lua/Quests/Darklight/TheBigOne.lua new file mode 100755 index 000000000..c9a98b691 --- /dev/null +++ b/Lua/Quests/Darklight/TheBigOne.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/Darklight/TheBigOne.lua + Script Author : fearfx + Script Date : 2017.01.24 07:01:48 + Script Purpose : + + Zone : Darklight + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I need Dirzdia's lure from Smolderfin.", 1, 100, "Dirzdia wants me to kill Smolderfin and bring back the lure he stole.", 591) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have Dirzdia's lure.") + + AddQuestStepChat(Quest, 2, "I need to bring Dirzdia her lure.", 1, "Dirzdia wants me to kill Smolderfin and bring back the lure he stole.", 591, 140025) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Dirzdia her lure.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have brought Dirzdia her lure.") + + UpdateQuestDescription(Quest, "I have slain Smolderfin for Dirzdia and brought her the lure he stole.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/TheMissingRecruit.lua b/Lua/Quests/Darklight/TheMissingRecruit.lua new file mode 100755 index 000000000..4dc3400c4 --- /dev/null +++ b/Lua/Quests/Darklight/TheMissingRecruit.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Darklight/TheMissingRecruit.lua + Script Purpose : Handles the quest, "The Missing Recruit" + Script Author : Cynnat + Script Date : 8/30/2015 + Script Notes : Has 2 different versions. + + Zone : Darklight Wood + Quest Giver : Ginwyss D'Arkenett + Preceded by : A Guard Insignia? + Followed by : None +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to search north of T'Vatar Outpost for Soltrin's corpse and his field kit.", 1, "Ginwyss D'Arkenett wants me to find the body of her recruit and retrieve his field kit.", 11) -- icon id 11 + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have acquired the recruit's field kit.") + + AddQuestStepChat(Quest, 2, "I need to bring the field kit back to Ginwyss D'Arkenett.", 1, "Ginwyss D'Arkenett wants me to find the body of her recruit and retrieve his field kit.", 396, 340064) -- icon id 396 + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + RemoveItem(Player, 13115) + UpdateQuestDescription(Quest, "I have brought the recruit's field kit to Ginwyss.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss023.mp3", "", "", 3126616209, 364737454, Player) + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, QuestGiver, Player, "I will see you when you return.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/TheMotherLode.lua b/Lua/Quests/Darklight/TheMotherLode.lua new file mode 100755 index 000000000..cd7633898 --- /dev/null +++ b/Lua/Quests/Darklight/TheMotherLode.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/Darklight/TheMotherLode.lua + Script Purpose : Handles the quest, "The Mother Lode" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Ilmtar D'Viervs + Preceded by : A Snake Made Serum + Followed by : None +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "Use the pheromone spray while on the bridge over Innoruuk's Scar", 1, 100, "I need to summon the wurm mother, kill her, and bring it back to Ilmtar.", 11) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have sprayed the pheromone to summon the wurm mother") + + AddQuestStepKill(Quest, 2, "Kill the wurm mother", 1, 100, "I need to summon the wurm mother, kill her, and bring it back to Ilmtar.", 133, 341051) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have the slain the wurm mother") + + AddQuestStepChat(Quest, 3, "Bring the wurm mother back to Ilmtar", 1, "I need to summon the wurm mother, kill her, and bring it back to Ilmtar.", 133, 340076) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Ilmtar the corpse of the wurm mother.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 47949) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + AddConversationOption(con, "That's reassuring.") + StartConversation(con, QuestGiver, Player, "Good luck, Sygman. Be sure you don't spray any of that stuff on yourself, ha!") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/TheSummoning.lua b/Lua/Quests/Darklight/TheSummoning.lua new file mode 100755 index 000000000..24cf36207 --- /dev/null +++ b/Lua/Quests/Darklight/TheSummoning.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : TheSummoning.lua + Script Purpose : Handles the quest, "The Summoning" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to summon the tainted Sableflame avatar.", 1, 100, "Belarshalee Do'Torlyl wants me to summon a tainted version of the Sableflame avatar.", 11) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have summoned the tainted avatar.") + + AddQuestStepChat(Quest, 2, "I should return to Belarshalee Do'Torlyl now that I've finished her ritual.", 1, "Belarshalee Do'Torlyl wants me to summon a tainted version of the Sableflame avatar.", 11, 340173) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Belarshalee Do'Torlyl.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have summoned the tainted Sableflame avatar.") + + UpdateQuestDescription(Quest, "I successfully summoned the Sableflame Avatar. Belarshalee Do'Torlyl was pleased to hear of the results.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/TheSummoningCatalyst.lua b/Lua/Quests/Darklight/TheSummoningCatalyst.lua new file mode 100755 index 000000000..e77641ccd --- /dev/null +++ b/Lua/Quests/Darklight/TheSummoningCatalyst.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : TheSummoningCatalyst.lua + Script Purpose : Handles the quest, "The Summoning Catalyst" + Script Author : QuestParser (Replace this) + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need the Staff of the Flamecallers.", 1, 100, "I need the Staff of the Flamecallers.", 621, 340128) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have retrieved the Staff of the Flamecallers.") + + AddQuestStepChat(Quest, 2, "I should speak with Belarshalee Do'Torlyl.", 1, "I need the Staff of the Flamecallers.", 11, 340173) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Belarshalee Do'Torlyl.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have obtained the Staff of the Flamecallers.") + + UpdateQuestDescription(Quest, "I have retrieved the Staff of the Flamecallers.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/TheWarpfontSpire.lua b/Lua/Quests/Darklight/TheWarpfontSpire.lua new file mode 100755 index 000000000..1c3fadb0a --- /dev/null +++ b/Lua/Quests/Darklight/TheWarpfontSpire.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : TheWarpfontSpire.lua + Script Purpose : Handles the quest, "The Warpfont Spire" + Script Author : FeaRFx + Script Date : 26/01/2017 + Script Notes : + + Zone : Darklight Wood + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect some resonant dust from the warped wisplings at the Warpfont Spire.", 8, 100, "I need resonant dust from the warped wisplings at the Warpfont Spire.", 346, 340101) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the resonant dust.") + + AddQuestStepChat(Quest, 2, "I need to bring this dust back to Geldax Xalylharil.", 1, "I need resonant dust from the warped wisplings at the Warpfont Spire.", 346, 340147) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Geldax Xalylharil the dust.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have given Geldax Xalylharil the resonant dust.") + + UpdateQuestDescription(Quest, "I have brought Geldax Xalylharil the resonant dust he asked for.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Darklight/ThexianTaint.lua b/Lua/Quests/Darklight/ThexianTaint.lua new file mode 100755 index 000000000..e7ef52cee --- /dev/null +++ b/Lua/Quests/Darklight/ThexianTaint.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/Darklight/ThexianTaint.lua + Script Purpose : Handles the quest, "Thexian Taint" + Script Author : Cynnar + Script Date : 8/17/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Sselnyl Do'Zyth + Preceded by : No Undead Goes Unturned + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill seven untamed spirits.", 7, 100, "Sselnyl Do'Zyth wants me to kill the spirits near the Wellspring of Nightmares and then stop the Thexian ritual.", 611, 340015) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the spirits.") + + AddQuestStepLocation(Quest, 2, "Toss the vex-runed remains into the Wellspring of Nightmares.", 1, "Sselnyl Do'Zyth wants me to kill the spirits near the Wellspring of Nightmares and then stop the Thexian ritual.", 11, 340748) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have Ginryne X'Treval's head.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the Thexian responsible for rousing the untamed spirits.") + + --AddQuestStepChat(Quest, 3, "I need to bring Ginryne X'Treval's head to Ginwyss D'Arkenett at T'Vatar Post.", 1, "I need to bring the head to Ginwyss D'Arkenette.", 11, 340064) + AddQuestStepChat(Quest, 3, "I need to bring news of my success to Ginwyss D'Arkenett at T'Vatar Outpost.", 1, "I need to bring the head to Ginwyss D'Arkenette.", 11, 340064) + + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I took out the Thexian responsible for the untamed spirits and brought his head to Ginwyss D'Arkenett.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl016.mp3", "", "", 2505986128, 2745231406, Player) + AddConversationOption(conversation, "For Neriak!") + StartConversation(conversation, QuestGiver, Player, "You were chosen for this task for a reason, " ..GetName(Player).. ". Do not fail us. All of Neriak depends upon your success.") + SummonItem(Player, 14387, 1) +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/TippingtheScalesofPower.lua b/Lua/Quests/Darklight/TippingtheScalesofPower.lua new file mode 100755 index 000000000..92366deb3 --- /dev/null +++ b/Lua/Quests/Darklight/TippingtheScalesofPower.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/Darklight/TippingtheScalesofPower.lua + Script Purpose : Handles the quest, "Tipping the Scales of Power" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Nemain + Preceded by : A Strange Occurrence + Followed by : Item "Tempered Wand" is missing. +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Hunt slitherers for their scales", 8, 100, "I need to hunt slitherers found near the bank of the Lower Tendril River, west of T'Vatar Outpost.", 98, 340094, 340097) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the snake scales for Ilmtar.") + + AddQuestStepChat(Quest, 2, "Bring these scales to Ilmtar D'Viervs", 1, "I need to hunt slitherers found near the bank of the Lower Tendril River, west of T'Vatar Outpost.", 98, 340076) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the snake scales for Ilmtar D'Viervs.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(con, "I will return when I get the scales.") + StartConversation(con, QuestGiver, Player, "Good, good.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/ToDrawUponWellsprings.lua b/Lua/Quests/Darklight/ToDrawUponWellsprings.lua new file mode 100755 index 000000000..5bc6911a9 --- /dev/null +++ b/Lua/Quests/Darklight/ToDrawUponWellsprings.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/Darklight/ToDrawUponWellsprings.lua + Script Purpose : Handles the quest, "To Draw Upon Wellsprings" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Calnozz J'Melvirr + Preceded by : None + Followed by : Stunning Revelation +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "Bring wellspring cubs to Calnozz J'Melvirr", 3, 100, "I need to bring three bear cubs to Calnozz J'Melvirr back at T'Vatar Outpost.", 174) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have brought wellspring cubs to Calnozz J'Melvirr") + + AddQuestStepChat(Quest, 2, "Speak with Calnozz J'Melvirr", 1, "I need to bring three bear cubs to Calnozz J'Melvirr back at T'Vatar Outpost.", 11, 340066) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + while HasItem(Player, 45117) do + RemoveItem(Player, 45117) + end + UpdateQuestDescription(Quest, "I have collected all the bear cubs for Calnozz J'Melvirr.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + if HasItem(Player, 45117) == false then + SummonItem(Player, 45117, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + Say(QuestGiver, "Excellent. I will be here waiting for you to bring the cubs back. Here is the leash.") +end + +function Deleted(Quest, QuestGiver, Player) + Despawn("cub") + SetTempVariable(Player, "cub", nil) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/UsefulMaterials.lua b/Lua/Quests/Darklight/UsefulMaterials.lua new file mode 100755 index 000000000..100c82c64 --- /dev/null +++ b/Lua/Quests/Darklight/UsefulMaterials.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/Darklight/UsefulMaterials.lua + Script Purpose : Handles the quest, "Useful Materials" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Ilmtar D'Viervs + Preceded by : One Man's Waste... + Followed by : Sorcerous Necessities +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Collect pieces of wood for Ilmtar D'Viervs", 6, 100, "Ilmtar D'Viervs wants wood from the Field of Ruin.", 830, 6486) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the wood") + + AddQuestStepChat(Quest, 2, "Bring the wood back to Ilmtar", 1, "Ilmtar D'Viervs wants wood from the Field of Ruin.", 830, 340076) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought Ilmtar the wood he asked for.") + while HasItem(Player, 6486, 1) do + RemoveItem(Player, 6486) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + StartConversation(con, QuestGiver, Player, "Good.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/WhatsinDemand.lua b/Lua/Quests/Darklight/WhatsinDemand.lua new file mode 100755 index 000000000..d12eba70c --- /dev/null +++ b/Lua/Quests/Darklight/WhatsinDemand.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/Darklight/WhatsinDemand.lua + Script Purpose : Handles the quest, "What's in Demand?" + Script Author : Cynnar + Script Date : 8/30/2015 + Script Notes : + + Zone : Darklight Wood + Quest Giver : Ilmtar D'Viervs + Preceded by : None + Followed by : One Man's Waste... +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect bone fragments from the undead around T'Vatar Post.", 6, 100, "Ilmtar D'Viervs wants me to collect bone fragments from the undead around T'Vatar Post.", 322, 340085, 340084) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the bone fragments.") + + AddQuestStepChat(Quest, 2, "I need to bring these bone fragments to Ilmtar.", 1, "Ilmtar D'Viervs wants me to collect bone fragments from the undead around T'Vatar Post.", 322, 340076) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Ilmtar the bone fragments he requested.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + StartConversation(con, QuestGiver, Player, "Then I await your return.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Darklight/a_ferocious_inconvenience.lua b/Lua/Quests/Darklight/a_ferocious_inconvenience.lua new file mode 100755 index 000000000..6af3d6699 --- /dev/null +++ b/Lua/Quests/Darklight/a_ferocious_inconvenience.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/Darklight/a_ferocious_inconvenience.lua + Script Purpose : Handles the quest, "A Ferocious Invconvenience" + Script Author : Scatman + Script Date : 2009.02.01 + + Zone : Darklight Wood + Quest Giver: Jhana Do'Zyth + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + -- Legplates of Ability + -- Verdurous Belt + + + AddQuestStepKill(Quest, 1, "I need to kill the ferocious wolf in western Hate's Envy.", 1, 100, ".", 611, 340094) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedWolf") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/jhana_do_zyth/darklight_wood/hates_envy/jhana/jhana004.mp3", "", "", 3733651177, 3084298647, Player) + AddConversationOption(conversation, "All right, I will return once it is slain.", "dlg_3_4") + StartConversation(conversation, QuestGiver, Player, "Tucked away in the western end of Hate's Envy. INSIDE these useless walls. Once it's slain let me know.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedWolf(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the ferocious wolf.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the ferocious wolf.") + + AddQuestStepChat(Quest, 2, "I need to return to Jhana.", 1, ".", 0, 340071) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_talkedToJhana") +end + +function step2_complete_talkedToJhana(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Jhana cannot pay me and suggests instead that I speak with her mother, Sselnyl.") + UpdateQuestTaskGroupDescription(Quest, 2, "Jhana cannot pay me and suggests instead that I speak with her mother, Sselnyl.") + + AddQuestStepChat(Quest, 3, "I need to get my reward from Jhana's mother.", 1, ".", 0, 340087) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the wolf for Jhana. Her mother paid me for my services.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedWolf(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_talkedToJhana(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/a_friendly_reminder.lua b/Lua/Quests/Darklight/a_friendly_reminder.lua new file mode 100755 index 000000000..524c8272b --- /dev/null +++ b/Lua/Quests/Darklight/a_friendly_reminder.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : Quests/Darklight/a_friendly_reminder.lua + Script Purpose : Handles the quest, "A Friendly Reminder" + Script Author : Scatman + Script Date : 2009.02.03 + + Zone : Darklight Wood + Quest Giver: Laexyra Y'Barriath + Preceded by: Public Service (public_service.lua) + Followed by: Reaping (reaping.lua) +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I need to remind Harnen Taptha that Laexyra Y'Barriath was right.", 1, ".", 0, 340127) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToHarnen") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/laexyra_y_barriath/darklight_wood/tvatar_post/laexyra/laexyra014.mp3", "", "", 1254557945, 2860942006, Player) + AddConversationOption(conversation, "I'll see.") + StartConversation(conversation, QuestGiver, Player, "I think you'll find him quite amusing.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToHarnen(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Harnen Taptha has attacked me, I must kill him.") + + AddQuestStepKill(Quest, 2, "I must killed Hernen Taptha.", 1, 100, ".", 611, 340127) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedHarnen") +end + +function step2_complete_killedHarnen(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed Harnen Taptha.") + + AddQuestStepChat(Quest, 3, "I need to return to Laexyra Y'Barriath.", 1, ".", 0, 340109) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "Haren Taptha attacked me and I killed him. Laexyra assures me that he'll be back.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToHarnen(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedHarnen(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/a_strange_find.lua b/Lua/Quests/Darklight/a_strange_find.lua new file mode 100755 index 000000000..c1f7e5746 --- /dev/null +++ b/Lua/Quests/Darklight/a_strange_find.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/Darklight/a_strange_find.lua + Script Purpose : Handles the quest, "A Strange Find" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Strange Plant + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + + -- Sun Bleached Spaulders + + + AddQuestStepChat(Quest, 1, "I should bring this plant to Verex N'Va.", 1, ".", 0, 340043) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToVerex") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/verex_n_za/darklight_wood/hates_envy/verex/verex013.mp3", "", "", 3010718218, 2537871754, Player) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "I thought so.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToVerex(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Verex N'Za.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Verex N'Za.") + + AddQuestStepChat(Quest, 2, "I must bring the plant to Sselnyl Do'Zyth.", 1, ".", 0, 340087) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given the plant to Sselnyl Do'Zyth, mayor of Hate's Envy. She said she would save it as evidence but didn't comment further.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToVerex(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/danyas_order.lua b/Lua/Quests/Darklight/danyas_order.lua new file mode 100755 index 000000000..285946eff --- /dev/null +++ b/Lua/Quests/Darklight/danyas_order.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : Quests/Darklight/danyas_order.lua + Script Purpose : Handles the quest, "Danya's Order" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Fileyl Alyylharil + Preceded by: Malkaen Weed (malkaen_weed.lua) + Followed by: Dirzdia's Order (dirzdias_order.lua) +--]] + + +function Init(Quest) + + + + AddQuestStepChat(Quest, 1, "I need to give Danya Halfmoon her order.", 1, ".", 0, 340073) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl010.mp3", "", "", 4262099714, 926127362, Player) + AddConversationOption(conversation, "You're welcome.") + AddConversationOption(conversation, "Just earning my way.") + StartConversation(conversation, QuestGiver, Player, "I appreciate it.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Danya Halfmoon her order.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/Darklight/dirzdias_order.lua b/Lua/Quests/Darklight/dirzdias_order.lua new file mode 100755 index 000000000..c9d80e9f3 --- /dev/null +++ b/Lua/Quests/Darklight/dirzdias_order.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/Darklight/dirzdias_order.lua + Script Purpose : Handles the quest, "Dirzdia's Order" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Fileyl Alyylharil + Preceded by: Danya's Order (danyas_order.lua) + Followed by: None +--]] + + +function Init(Quest) + + + + AddQuestStepChat(Quest, 1, "I need to deliver Fileyl's net to Dirzdia T'Zauvirr.", 1, ".", 0, 340139) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl014.mp3", "", "", 695536554, 1919499087, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "Excellent. I'll be sure to speak highly of you in my dealings, " .. GetName(Player) .. ".") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have delivered Fileyl's net to Dirzdia T'Zauvirr.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/Darklight/elemental_encroachment.lua b/Lua/Quests/Darklight/elemental_encroachment.lua new file mode 100755 index 000000000..b757f78b0 --- /dev/null +++ b/Lua/Quests/Darklight/elemental_encroachment.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/Darklight/elemental_encroachment.lua + Script Purpose : Handles the quest, "Elemental Encroachment" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Verex N'Za + Preceded by: None + Followed by: Prowler Annoyance (prowler_annoyance.lua) +--]] + + +function Init(Quest) + + -- Focused Prayer Band + -- Sullied Marsh Bracers + -- Soiled Thexian Sleeves + -- Bracelet of the Bold + + + AddQuestStepKill(Quest, 1, "I need to destroy six Sablevein crumblers.", 6, 100, ".", 611, 340041) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedCrumblers") + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/verex_n_za/darklight_wood/hates_envy/verex/verex002.mp3", "", "", 2793599050, 2740987353, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Good. Return to me once you're done.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedCrumblers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have destroyed the Sablevein crumblers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have destroyed the Sablevein crumblers.") + + AddQuestStepChat(Quest, 2, "I need to return to Verex N'Za.", 1, ".", 0, 340043) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the elementals for Verex N'Za.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedCrumblers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/luxuries_for_the_rich.lua b/Lua/Quests/Darklight/luxuries_for_the_rich.lua new file mode 100755 index 000000000..d08671000 --- /dev/null +++ b/Lua/Quests/Darklight/luxuries_for_the_rich.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/Darklight/luxuries_for_the_rich.lua + Script Purpose : Handles the quest, "Luxuries for the Rich" + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ilmtar D'Viervs + Preceded by: Trinkets (trinkets.lua) + Followed by: More Luxuries (more_luxuries.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need the scales from eight snakes for Ilmtar D'Viervs.", 8, 100, ".", 98, 340135, 340134, 340155, 340167) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotScales") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ilmtar_d_viervs/darklight_wood/tvatar_post/ilmtar/ilmtar018.mp3", "", "", 805456445, 276277273, Player) + AddConversationOption(conversation, "I will return when I get the scales.") + StartConversation(conversation, QuestGiver, Player, "I suppose they DO look good. And if the death of four or five snakes can increase the price of a pair of shoes by five-hundred percent I guess that's just death filling an important market niche. Ah well.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotScales(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the snake scales for Ilmtar.") + + AddQuestStepChat(Quest, 2, "I need to bring these scales to Ilmtar D'Viervs.", 1, ".", 98, 340123) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the snake scales for Ilmtar D'Viervs.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotScales(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/malkaen_weed.lua b/Lua/Quests/Darklight/malkaen_weed.lua new file mode 100755 index 000000000..823b75a53 --- /dev/null +++ b/Lua/Quests/Darklight/malkaen_weed.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : Quests/Darklight/malkaen_weed.lua + Script Purpose : Handles the quest, "Malkaen Weed" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Fileyl Alyylharil + Preceded by: Prowler Pelts (prowler_pelts.lua) + Followed by: Danya's Order (danyas_order.lua) +--]] + + +function Init(Quest) + -- Malkaen Weed + AddQuestStepObtainItem(Quest, 1, "I need to dig up six Malkaen Weeds.", 6, 100, ".", 197, 7922) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotWeeds") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl007.mp3", "", "", 700356968, 3682250631, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Of course you can, a monkey could do it! But a monkey wouldn't know what to do with the money afterwards.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotWeeds(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the weeds.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the weeds.") + + AddQuestStepChat(Quest, 2, "I need to bring the Malkaen Weed back to Fileyl.", 1, ".", 0, 340050) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- Take weeds away + while HasItem(Player, 7922, 1) do + RemoveItem(Player, 7922) + end + + UpdateQuestDescription(Quest, "I have brought Fileyl the Malkaen Weed he neededs for his work.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotWeeds(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/more_luxuries.lua b/Lua/Quests/Darklight/more_luxuries.lua new file mode 100755 index 000000000..4927ecb8b --- /dev/null +++ b/Lua/Quests/Darklight/more_luxuries.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : Quests/Darklight/more_luxuries.lua + Script Purpose : Handles the quest, "More Luxuries" + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ilmtar D'Viervs + Preceded by: Luxuries for the Rich (luxuries_for_the_rich.lua) + Followed by: The Mother Lode (the_mother_lode.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to collect the scales from eight scar wurms for Ilmtar D'Viervs.", 8, 100, "Ilmtar D'Viervs needs more snake scales, this time from the scar wurms in Innoruuk's Scar. He also wants pheromone sacs from the male scar wurms.", 172, 340104, 340101, 340102, 340103) + AddQuestStepKill(Quest, 2, "I need to collect pheromone sacs from the scar wurms.", 4, 35, "Ilmtar D'Viervs needs more snake scales, this time from the scar wurms in Innoruuk's Scar. He also wants pheromone sacs from the male scar wurms.", 187, 340104, 340101, 340102, 340103) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotScales") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_gotSacs") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ilmtar_d_viervs/darklight_wood/tvatar_post/ilmtar/ilmtar024.mp3", "", "", 3218544480, 2129552018, Player) + AddConversationOption(conversation, "I'll return.", "dlg_11_6") + StartConversation(conversation, QuestGiver, Player, "Great. I'll be here working on a method of distributing the pheromone to use once you've collected the sacs.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotScales(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the scales.") + + if QuestIsComplete(Player, 95) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step2_complete_gotSacs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected the pheromone.") + + if QuestIsComplete(Player, 95) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I need to give Ilmtar the scar wurm scales and pheromone sacs.") + + AddQuestStepChat(Quest, 3, "I need to bring these scales and sacs back to Ilmtar D'Viervs.", 1, "I need to bring these items back to Ilmtar D'Viervs", 172, 340123) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Ilmatar the scales and pheromone sacs from the scar wurms.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotScales(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_gotSacs(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/one_mans_waste.lua b/Lua/Quests/Darklight/one_mans_waste.lua new file mode 100755 index 000000000..2d8cc5b22 --- /dev/null +++ b/Lua/Quests/Darklight/one_mans_waste.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/Darklight/one_mans_waste.lua + Script Purpose : Handles the quest, "One Man's Waste..." + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ilmtar D'Viervs + Preceded by: What's in Demand? (whats_in_demand.lua) + Followed by: Useful Materials (useful_materials.lua) +--]] + + +function Init(Quest) + + + -- discarded weapon + AddQuestStepObtainItem(Quest, 1, "I need to collect six old weapons.", 6, 100, ".", 5, 4583) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotWeapons") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ilmtar_d_viervs/darklight_wood/tvatar_post/ilmtar/ilmtar007.mp3", "", "", 1159271523, 3598851329, Player) + AddConversationOption(conversation, "We'll see what I dig up.") + StartConversation(conversation, QuestGiver, Player, "A ring is a ring is a ring, but the ring of a king... now that's something someone will pay for.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotWeapons(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the old weapons.") + + AddQuestStepChat(Quest, 2, "I need to bring these weapons to Ilmtar D'Viervs.", 1, ".", 5, 340123) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove all six 'discarded weapon' + UpdateQuestDescription(Quest, "I have collected the weapons for Ilmtar.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotWeapons(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/picking_up_slack.lua b/Lua/Quests/Darklight/picking_up_slack.lua new file mode 100755 index 000000000..769537bfa --- /dev/null +++ b/Lua/Quests/Darklight/picking_up_slack.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/Darklight/picking_up_slack.lua + Script Purpose : Handles the quest, "Picking up Slack" + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ginwyss D'Arkenett + Preceded by: Rotting Scum (rotting_scum.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Brass Braced Leggings + -- Calcified Breastplate + -- Smudged Brigandine Shirt + -- Leaf Crusher Gloves + -- Alluvial Breastplate + + + AddQuestStepKill(Quest, 1, "I need to kill eight wellspring cubs.", 8, 100, ".", 611, 340099, 340097) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killCubs") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss/ginwyss012.mp3", "", "", 264010058, 2837526220, Player) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "Return to me once you've finished.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killCubs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the cubs.") + + AddQuestStepChat(Quest, 2, "I need to return to Ginwyss.", 1, ".", 0, 340110) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the cubs for Ginwynn.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killCubs(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/prowler_annoyance.lua b/Lua/Quests/Darklight/prowler_annoyance.lua new file mode 100755 index 000000000..091b21f78 --- /dev/null +++ b/Lua/Quests/Darklight/prowler_annoyance.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/Darklight/prowler_annoyance.lua + Script Purpose : Handles the quest, "Prowler Annoyance" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Verex N'Za + Preceded by: Elemental Encroachment (elemental_encroachment.lua) + Followed by: The First Step (the_first_step.lua) +--]] + + +function Init(Quest) + + + + AddQuestStepKill(Quest, 1, "I need to kill six dusk prowlers.", 6, 100, ".", 611, 340048, 340049) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedProwlers") + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/verex_n_za/darklight_wood/hates_envy/verex/verex006.mp3", "", "", 1353181644, 668433489, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Good to hear. Return to me once you've finished.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedProwlers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the dusk prowlers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the dusk prowlers.") + + AddQuestStepChat(Quest, 2, "I need to return to Verex N'Za.", 1, ".", 0, 340043) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the dusk prowlers as Verex N'Za requested.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedProwlers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/prowler_pelts.lua b/Lua/Quests/Darklight/prowler_pelts.lua new file mode 100755 index 000000000..98381203e --- /dev/null +++ b/Lua/Quests/Darklight/prowler_pelts.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/Darklight/prowler_pelts.lua + Script Purpose : Handles the quest, "Prowler Pelts" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Fileyl Alyylharil + Preceded by: None + Followed by: Malkaen Weed (malkaen_weed.lua) +--]] + + +function Init(Quest) + + + + AddQuestStepKill(Quest, 1, "I need to collect four superb prowler pelts from the dusk prowlers around Hate's Envy.", 4, 100, ".", 126, 340048, 340049) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedProwlers") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl003.mp3", "", "", 627745117, 443565061, Player) + AddConversationOption(conversation, "I'll return.") + StartConversation(conversation, QuestGiver, Player, "I'll pay you when you give me the pelts.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedProwlers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've collected the prowler pelts.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've collected the prowler pelts.") + + AddQuestStepChat(Quest, 2, "I need to bring these pelts back to Fileyl Alyylharil.", 1, ".", 0, 340050) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought Fileyl the prowler pelts he asked for.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedProwlers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/public_service.lua b/Lua/Quests/Darklight/public_service.lua new file mode 100755 index 000000000..9a9d89b4f --- /dev/null +++ b/Lua/Quests/Darklight/public_service.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/Darklight/public_service.lua + Script Purpose : Handles the quest, "Public Service" + Script Author : Scatman + Script Date : 2009.02.03 + + Zone : Darklight Wood + Quest Giver: Laexyra Y'Barriath + Preceded by: Purposeful Trinkets (purposeful_trinkets.lua) + Followed by: A Friendly Reminder (a_friendly_reminder.lua) +--]] + + +function Init(Quest) + -- Beaded Belt of Persistance + -- Sacrosanct Signet + -- Botanical Gloves + + + AddQuestStepKill(Quest, 1, "I need to kill eight purulent defenders.", 8, 100, "I need to kill a number of undead soldiers north of T'Vatar Post.", 611, 340117, 340126) + AddQuestStepKill(Quest, 2, "I need to kill five moldering soldiers.", 5, 100, "I need to kill a number of undead soldiers north of T'Vatar Post.", 611, 340114, 340118) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedDefenders") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedSoldiers") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/laexyra_y_barriath/darklight_wood/tvatar_post/laexyra/laexyra011.mp3", "", "", 370299149, 331491163, Player) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "Return to me when you are finished.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedDefenders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the purulent defenders.") + + if QuestIsComplete(Player, 98) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step2_complete_killedSoldiers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain the moldering soldiers.") + + if QuestIsComplete(Player, 98) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the undead soldiers for Laexyra.") + + AddQuestStepChat(Quest, 3, "I need to speak with Laexyra Y'Barriath.", 1, "I should return to Laexyra Y'Barriath now that I have thinned out the undead.", 0, 340109) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have thinned out the undead population north of T'Vatar Post.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedDefenders(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedSoldiers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/purposeful_trinkets.lua b/Lua/Quests/Darklight/purposeful_trinkets.lua new file mode 100755 index 000000000..e3ebb2198 --- /dev/null +++ b/Lua/Quests/Darklight/purposeful_trinkets.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/Darklight/purposeful_trinkets.lua + Script Purpose : Handles the quest, "Purposeful Trinkets" + Script Author : Scatman + Script Date : 2009.02.03 + + Zone : Darklight Wood + Quest Giver: Laexyra Y'Barriath + Preceded by: None + Followed by: Public Service (public_service.lua) +--]] + + +function Init(Quest) + -- Oiled Leggings + -- Padded Leg Chains + -- Copper Riveted Legplates + -- Hardened Fungus Fragment + + + -- soldier's trinket + AddQuestStepObtainItem(Quest, 1, "I need to collect five soldier's trinkets.", 5, 100, ".", 368, 8967) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotTinkets") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/laexyra_y_barriath/darklight_wood/tvatar_post/laexyra/laexyra007.mp3", "", "", 2780056941, 3072789247, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Good.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotTinkets(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the trinkets.") + + AddQuestStepChat(Quest, 2, "I need to return to Laexyra Y'Barriath.", 1, ".", 0, 340109) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove all 5 'soldier's trinket's + UpdateQuestDescription(Quest, "I have collected the trinkets for Laexyra Y'Barriath.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotTinkets(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/reaping_the_benefits_of_a_monopoly.lua b/Lua/Quests/Darklight/reaping_the_benefits_of_a_monopoly.lua new file mode 100755 index 000000000..d9d88481c --- /dev/null +++ b/Lua/Quests/Darklight/reaping_the_benefits_of_a_monopoly.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Darklight/reaping_the_benefits_of_a_monopoly.lua + Script Purpose : Handles the quest, "Reaping the Benefits of a Monopoly" + Script Author : Scatman + Script Date : 2009.02.04 + + Zone : Darklight Wood + Quest Giver: Dirzdia T'Zauvirr + Preceded by: Smoking the Competition (smoking_the_competition.lua) + Followed by: So Hot You Catch Them Cooked (so_hot_you_catch_them_cooked.lua) +--]] + + +function Init(Quest) + + + AddQuestStepObtainItem(Quest, 1, "I need to fish up eight searing trout.", 8, 100, ".", 2542, 45370) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_caughtFish") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia012.mp3", "", "", 2680874987, 3116118568, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Great! Just bring them back to me when you've caught them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_caughtFish(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have caught the trout.") + + AddQuestStepChat(Quest, 2, "I need to bring these trout back to Dirzdia.", 1, ".", 2542, 340139) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove the fish + UpdateQuestDescription(Quest, "I have caught the searing trout and brought it back to Dirzdia.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_caughtFish(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/reclaiming_the_sablevein_tear.lua b/Lua/Quests/Darklight/reclaiming_the_sablevein_tear.lua new file mode 100755 index 000000000..f9a113876 --- /dev/null +++ b/Lua/Quests/Darklight/reclaiming_the_sablevein_tear.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/Darklight/reclaiming_the_sablevein_tear.lua + Script Purpose : Handles the quest, "Reclaiming the Sablevein Tear" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Verex N'Za + Preceded by: The First Step (the_first_step.lua) + Followed by: None +--]] + + +function Init(Quest) + + + + AddQuestStepKill(Quest, 1, "I need to destroy eight of the elementals inside the Sablevein Tear!", 8, 100, ".", 611, 340063, 340059, 340064) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedPulverizers") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/verex_n_za/darklight_wood/hates_envy/verex/verex013.mp3", "", "", 3010718218, 2537871754, Player) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "I thought so.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedPulverizers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have destroyed the elementals.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have destroyed the elementals.") + + AddQuestStepChat(Quest, 2, "I need to return to Verex N'Za.", 1, ".", 0, 340043) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have destroyed the elementals within the Sablevein Tear. Through my help, the miners of Hate's Envy will be able to go back to work.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedPulverizers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/rotting_scum.lua b/Lua/Quests/Darklight/rotting_scum.lua new file mode 100755 index 000000000..522abca56 --- /dev/null +++ b/Lua/Quests/Darklight/rotting_scum.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : Quests/Darklight/rotting_scum.lua + Script Purpose : Handles the quest, "Rotting Scum" + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ginwyss D'Arkenett + Preceded by: None + Followed by: Picking up Slack (picking_up_slack.lua) +--]] + + +function Init(Quest) + -- Hammered Steel Necklace + -- Mineralized Guards + -- Fallen Corpse Jerkin + -- Pitted Waraxe + -- Fire Hardened Pike + + + AddQuestStepKill(Quest, 1, "I need to kill seven fallen rangers.", 7, 100, "Ginwyss D'Arkenett wants the zombies southwest of T'Vatar Post slain.", 611, 340096) + AddQuestStepKill(Quest, 2, "I need to kill seven stout cadavers.", 7, 100, "Ginwyss D'Arkenett wants the zombies southwest of T'Vatar Post slain.", 611, 340098) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedRangers") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedCadavers") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss/ginwyss006.mp3", "", "", 931914154, 1041693399, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Return to me after you've 'killed' them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedRangers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the fallen rangers.") + + if QuestIsComplete(Player, 88) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function step2_complete_killedCadavers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain the stout cadavers.") + + if QuestIsComplete(Player, 88) then + MultipleStepsComplete(Quest, QuestGiver, Player) + end +end + +function MultipleStepsComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the zombies.") + + AddQuestStepChat(Quest, 3, "I must speak with Ginwyss D'Arkenette.", 1, "I have slain the zombies and should return to Ginwyss D'Arkenette.", 0, 340110) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the zombies for Ginwyss D'Arkenette.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedRangers(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedCadavers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/sablevein_rubble.lua b/Lua/Quests/Darklight/sablevein_rubble.lua new file mode 100755 index 000000000..4842a9ba1 --- /dev/null +++ b/Lua/Quests/Darklight/sablevein_rubble.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/Darklight/sablevein_rubble.lua + Script Purpose : Handles the quest, "Sablevein Rubble" + Script Author : Scatman + Script Date : 2009.02.01 + + Zone : Darklight Wood + Quest Giver: Danya Halfmoon + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + -- Sablevein rubble + AddQuestStepObtainItem(Quest, 1, "I need to gather six samples of Sablevein rubble.", 6, 100, ".", 183, 10242) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotRubble") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya005.mp3", "", "", 2830883681, 1931267037, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Good. That will serve to keep my mind off of these people around me.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotRubble(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the Sablevein rubble.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the Sablevein rubble.") + + AddQuestStepChat(Quest, 2, "I need to bring the rubble back to Danya Halfmoon.", 1, ".", 183, 340073) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- Sablevein rubble + while HasItem(Player, 10242, 1) do + RemoveItem(Player, 10242) + end + + UpdateQuestDescription(Quest, "I have brought Danya the Sablevein rubble she asked for.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedIthari(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/smoking_the_competition.lua b/Lua/Quests/Darklight/smoking_the_competition.lua new file mode 100755 index 000000000..6daefde57 --- /dev/null +++ b/Lua/Quests/Darklight/smoking_the_competition.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/Darklight/smoking_the_competition.lua + Script Purpose : Handles the quest, "Smoking the Competition" + Script Author : Scatman + Script Date : 2009.02.04 + + Zone : Darklight Wood + Quest Giver: Dirzdia T'Zauvirr + Preceded by: None + Followed by: Reaping the Benefits of a Monopoly (reaping_the_benefits_of_a_monopoly.lua) +--]] + + +function Init(Quest) + -- Cross Stitch Britches + -- Barkbiter + + -- JA: Why are there two of the same items in a selection? + -- Add QuestSelectableRewardItem(Quest, 3, 1) -- had to breakup function name for auto-updates script + + + AddQuestStepKill(Quest, 1, "I need to kill the razormaw that swim in the Searing Tendril and bring them back to Dirzdia.", 8, 100, ".", 139, 340137) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedRazormaws") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia006.mp3", "", "", 1689993769, 508680301, Player) + AddConversationOption(conversation, "I'll be back when I've killed them.") + StartConversation(conversation, QuestGiver, Player, "Great! I appreciate it!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedRazormaws(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the razormaw.") + + AddQuestStepChat(Quest, 2, "I need to bring the razormaw flesh back to Dirzdia.", 1, ".", 0, 340139) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought Dirzdia the razormaw flesh she wanted.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedRazormaws(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/so_hot_you_catch_them_cooked.lua b/Lua/Quests/Darklight/so_hot_you_catch_them_cooked.lua new file mode 100755 index 000000000..d4c608f05 --- /dev/null +++ b/Lua/Quests/Darklight/so_hot_you_catch_them_cooked.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Darklight/so_hot_you_catch_them_cooked.lua + Script Purpose : Handles the quest, "So Hot You Catch Them Cooked" + Script Author : Scatman + Script Date : 2009.02.04 + + Zone : Darklight Wood + Quest Giver: Dirzdia T'Zauvirr + Preceded by: Reaping the Benefits of a Monopoly (reaping_the_benefits_of_a_monopoly.lua) + Followed by: The Big One (the_big_one.lua) +--]] + + +function Init(Quest) + + + AddQuestStepObtainItem(Quest, 1, "I need to catch eight seared char.", 8, 100, ".", 2541, 45366) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_caughtFish") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia016.mp3", "", "", 3096333821, 2080368744, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Glad to hear it! I'll be waiting here... fishing!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_caughtFish(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have caught the seared char.") + + AddQuestStepChat(Quest, 2, "I need to bring these fish back to Dirzdia.", 1, ".", 2541, 340139) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove the fish + UpdateQuestDescription(Quest, "I have brought Dirzdia the seared char she wanted.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_caughtFish(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/the_big_one.lua b/Lua/Quests/Darklight/the_big_one.lua new file mode 100755 index 000000000..1af9a2756 --- /dev/null +++ b/Lua/Quests/Darklight/the_big_one.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/Darklight/the_big_one.lua + Script Purpose : Handles the quest, "The Big One" + Script Author : Scatman + Script Date : 2009.02.04 + + Zone : Darklight Wood + Quest Giver: Dirzdia T'Zauvirr + Preceded by: So Hot You Catch Them Cooked (so_hot_you_catch_them_cooked.lua) + Followed by: () +--]] + + +function Init(Quest) + + + + AddQuestStepObtainItem(Quest, 1, "I need to catch eight seared char.", 8, 100, ".", 2541, 40609) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_caughtFish") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia016.mp3", "", "", 3096333821, 2080368744, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Glad to hear it! I'll be waiting here... fishing!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_caughtFish(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have caught the seared char.") + + AddQuestStepChat(Quest, 2, "I need to bring these fish back to Dirzdia.", 1, ".", 2541, 340139) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove the fish + UpdateQuestDescription(Quest, "I have brought Dirzdia the seared char she wanted.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_caughtFish(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/the_first_step.lua b/Lua/Quests/Darklight/the_first_step.lua new file mode 100755 index 000000000..420f75d7d --- /dev/null +++ b/Lua/Quests/Darklight/the_first_step.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/Darklight/the_first_step.lua + Script Purpose : Handles the quest, "The First Step" + Script Author : Scatman + Script Date : 2009.01.31 + + Zone : Darklight Wood + Quest Giver: Verex N'Za + Preceded by: Prowler Annoyance (prowler_annoyance.lua) + Followed by: Reclaiming the Sablevein Tear (reclaiming_the_sablevein_tear.lua) +--]] + + +function Init(Quest) + + -- Shadowed Glen Blade + -- Blade of the Outcast + -- Smoldering Scepter + + + AddQuestStepKill(Quest, 1, "I need to destroy six Sablevein pulverizers.", 6, 100, ".", 611, 340058) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedPulverizers") + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/verex_n_za/darklight_wood/hates_envy/verex/verex010.mp3", "", "", 1616419105, 2681650739, Player) + AddConversationOption(conversation, "On my way.") + StartConversation(conversation, QuestGiver, Player, "All right. Get to work, then.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedPulverizers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have destroyed the Sablevein pulverizers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have destroyed the Sablevein pulverizers.") + + AddQuestStepChat(Quest, 2, "I need to return to Verex N'Za.", 1, ".", 0, 340043) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have destroyed the Sablevein pulverizers and am ready to move further into the cave.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedPulverizers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/the_mother_lode.lua b/Lua/Quests/Darklight/the_mother_lode.lua new file mode 100755 index 000000000..5e4abb494 --- /dev/null +++ b/Lua/Quests/Darklight/the_mother_lode.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/Darklight/the_mother_lode.lua + Script Purpose : Handles the quest, "The Mother Lode" + Script Author : Scatman + Script Date : 2009.02.03 + + Zone : Darklight Wood + Quest Giver: Ilmtar D'Viervs + Preceded by: More Luxuries (more_luxuries.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Changeling Sigil + -- Rusty Dragoon Javelin + -- Cured Rawhide Boots + -- Iron Ingot Leggings + + + AddQuestStepKill(Quest, 1, "I need to collect the scales from eight scar wurms for Ilmtar D'Viervs.", 8, 100, "Ilmtar D'Viervs needs more snake scales, this time from the scar wurms in Innoruuk's Scar. He also wants pheromone sacs from the male scar wurms.", 172, 340104, 340101, 340102, 340103) + AddQuestStepKill(Quest, 2, "I need to collect pheromone sacs from the scar wurms.", 4, 35, "Ilmtar D'Viervs needs more snake scales, this time from the scar wurms in Innoruuk's Scar. He also wants pheromone sacs from the male scar wurms.", 187, 340104, 340101, 340102, 340103) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotScales") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_gotSacs") + +end + +--example only from Murrar Shar.lua +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + Say(QuestGiver, "Thank you for accepting this task " .. GetName(Player) .. ". Please return to me when you have completed it.") + Emote(QuestGiver, " thanks you warmly.", Player) + end + end +end + +function Declined(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + Say(QuestGiver, "If you change your mind " .. GetName(Player) .. ", you know where to find me.") + Emote(QuestGiver, " glares at you.", Player) + end + end +end + +function KilledAllCrabs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I killed the crabs as Murrar requested.") + UpdateQuestDescription(Quest, "I killed some of the crabs on the beach. Return to Murrar Shar for your reward.") +end + + + diff --git a/Lua/Quests/Darklight/thexian_taint.lua b/Lua/Quests/Darklight/thexian_taint.lua new file mode 100755 index 000000000..06e05d5a8 --- /dev/null +++ b/Lua/Quests/Darklight/thexian_taint.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : Quests/Darklight/thexian_taint.lua + Script Purpose : Handles the quest, "Thexian Taint" + Script Author : Scatman + Script Date : 2009.02.01 + + Zone : Darklight Wood + Quest Giver: Sselnyl Do'Zyth + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to kill seven untamed spirits.", 7, 100, "Sselnyl Do'Zyth wants me to kill the spirits near the Wellspring of Nightmares and the Thexian responsible.", 611, 340062, 340061) + AddQuestStep(Quest, 2, "I need to kill the Thexian responsible for rousing the spirits at the Wellspring of Nightmares.", 1, 100, "Sselnyl Do'Zyth wants me to kill the spirits near the Wellspring of Nightmares and the Thexian responsible.", 611) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedSpirits") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedThexian") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl/sselnyl008.mp3", "", "", 2647473511, 1776002890, Player) + AddConversationOption(conversation, "Goodbye.") + StartConversation(conversation, QuestGiver, Player, "And you, " .. GetName(Player) .. ".") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedSpirits(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the spirits.") + + if QuestIsComplete(Player, 87) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step2_complete_killedThexian(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected the head of the Thexian responsible.") + + if QuestIsComplete(Player, 87) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected slain the Thexian responsible for rousing the untamed spirits.") + + AddQuestStepChat(Quest, 3, "I need to bring Ginryne X'Treval's head to Ginwyss D'Arkenette at T'Vatar Post.", 1, "I need to bring the head to Ginwyss D'Arkenette.", 0, 340110) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I took out the Thexian responsible for the untammed spirits and brought his head to Ginwyss D'Arkenette.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedSpirits(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedThexian(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/trinkets.lua b/Lua/Quests/Darklight/trinkets.lua new file mode 100755 index 000000000..f22f5dcd0 --- /dev/null +++ b/Lua/Quests/Darklight/trinkets.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/Darklight/trinkets.lua + Script Purpose : Handles the quest, "trinkets.lua" + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ilmtar D'Viervs + Preceded by: Useful Materials (useful_materials.lua) + Followed by: Luxuries for the Rich (luxuries_for_the_rich.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need eight pairs of screecher teeth for Ilmtar D'Viervs.", 8, 100, ".", 167, 340131, 340163, 340129, 340130, 340133) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotTeeth") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ilmtar_d_viervs/darklight_wood/tvatar_post/ilmtar/ilmtar015.mp3", "", "", 3602136713, 273222269, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Good is good.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotTeeth(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the screecher teeth for Ilmtar.") + + AddQuestStepChat(Quest, 2, "I need to bring these screecher teeth to Ilmtar D'Viervs.", 1, ".", 167, 340123) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the screecher teeth for Ilmtar.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotTeeth(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/useful_materials.lua b/Lua/Quests/Darklight/useful_materials.lua new file mode 100755 index 000000000..2e480c8af --- /dev/null +++ b/Lua/Quests/Darklight/useful_materials.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : Quests/Darklight/useful_materials.lua + Script Purpose : Handles the quest, "Useful Materials" + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ilmtar D'Viervs + Preceded by: One Man's Waste... (one_mans_waste.lua) + Followed by: Trinkets (trinkets.lua) +--]] + + +function Init(Quest) + -- Coarse Cloth Sleeves + -- Sanctified Helm + -- Scale Leaf Gloves + -- Shingled Helm + -- Stone Rivet Sabatons + -- Stitched Tracking Cap + + + -- discarded wood + AddQuestStepObtainItem(Quest, 1, "I need to collect six pieces of wood for Ilmtar D'Viervs.", 6, 100, ".", 830, 4584) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotWood") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ilmtar_d_viervs/darklight_wood/tvatar_post/ilmtar/ilmtar011.mp3", "", "", 2167619330, 3237098781, Player) + AddConversationOption(conversation, "I'll return.") + StartConversation(conversation, QuestGiver, Player, "Good.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotWood(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the wood.") + + AddQuestStepChat(Quest, 2, "I need to bring the wood back to Ilmtar.", 1, ".", 830, 340123) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove all six 'discarded wood' + UpdateQuestDescription(Quest, "I have brought Ilmtar the wood he asked for.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotWood(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/wanted_ithari_kxyrae.lua b/Lua/Quests/Darklight/wanted_ithari_kxyrae.lua new file mode 100755 index 000000000..3f2533016 --- /dev/null +++ b/Lua/Quests/Darklight/wanted_ithari_kxyrae.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Darklight/wanted_ithari_kxyrae.lua + Script Purpose : Handles the quest, "Wanted: Ithari K'Xyrae" + Script Author : Scatman + Script Date : 2009.02.01 + + Zone : Darklight Wood + Quest Giver: Wanted: Ithari K'Xyrae poster + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + -- Blooddrop Loop + -- Morning Dew Trinket + -- Granite Pounded Helm + -- Heavy Plated Shield + -- Faded Wraps + + + -- Head of Ithari K'Xyrae + AddQuestStepObtainItem(Quest, 1, "I need the head of Ithari K'Xyrae.", 1, 100, ".", 2459, 5622) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedIthari") + +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedIthari(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have Ithari K'Xyrae's head.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have Ithari K'Xyrae's head.") + + AddQuestStepChat(Quest, 2, "I need to bring Ithari K'Xyrae's head to Sselnyl Do'Zylth.", 1, ".", 0, 340087) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain Ithari K'Xyrae and brought her head to Sselnyl Do'Zyth.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedIthari(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Darklight/whats_in_demand.lua b/Lua/Quests/Darklight/whats_in_demand.lua new file mode 100755 index 000000000..268d1a761 --- /dev/null +++ b/Lua/Quests/Darklight/whats_in_demand.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Darklight/whats_in_demand.lua + Script Purpose : Handles the quest, "What's in Demand?" + Script Author : Scatman + Script Date : 2009.02.02 + + Zone : Darklight Wood + Quest Giver: Ilmtar D'Viervs + Preceded by: None + Followed by: One Man's Waste... (one_mans_waste.lua) +--]] + + +function Init(Quest) + -- Merchant's Pouch + + + AddQuestStepKill(Quest, 1, "I need to collect ten bone fragments from the zombies around T'Vatar Post.", 10, 100, ".", 418, 340126, 340117, 340096, 340098, 340118, 340114) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotBones") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/neriak/ilmtar_d_viervs/darklight_wood/tvatar_post/ilmtar/ilmtar003.mp3", "", "", 2929478773, 1922139925, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Then I await your return.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotBones(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Bone Fragment Found") + + AddQuestStepChat(Quest, 2, "I need to bring these bone fragments to Ilmtar.", 1, ".", 418, 340123) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Ilmtar the bones he requested.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotBones(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/EnchantedLands/Drodo'sGoodies.lua b/Lua/Quests/EnchantedLands/Drodo'sGoodies.lua new file mode 100755 index 000000000..7a70f5728 --- /dev/null +++ b/Lua/Quests/EnchantedLands/Drodo'sGoodies.lua @@ -0,0 +1,94 @@ +--[[ + Script Name : Quests/EnchantedLands/Drodo'sGoodies.lua + Script Purpose : Handles the quest "Drodo's Goodies" + Script Author : Cynnar + Script Date : 2015.05.13 + Script Notes : + + Zone : Enchanted Lands + Quest Giver : Augin Drodo + Preceded by : None + Followed by : None +--]] + +local DrodosGoodies = 119 + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,95), math.random(39,49), math.random(1,1), 0) + AddQuestStepKill(Quest, 1, "I must hunt grove badgers.", 1, 40, "I must hunt the critters near the granary in Enchanted Lands. They should have Drodo's goodies.", 2299, 390041) + AddQuestStepKill(Quest, 2, "I must hunt lancer wasps.", 1, 40, "I must hunt the critters near the granary in Enchanted Lands. They should have Drodo's goodies.", 1229, 390092) + AddQuestStepKill(Quest, 3, "I must hunt klakrok drones.", 1, 40, "I must hunt the critters near the granary in Enchanted Lands. They should have Drodo's goodies.", 1225, 390069) + AddQuestStepKill(Quest, 4, "I must hunt briarpaw cubs.", 1, 40, "I must hunt the critters near the granary in Enchanted Lands. They should have Drodo's goodies.", 928, 390104) + AddQuestStepCompleteAction(Quest, 1, "deck") + AddQuestStepCompleteAction(Quest, 2, "comb") + AddQuestStepCompleteAction(Quest, 3, "dice") + AddQuestStepCompleteAction(Quest, 4, "box") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, DrodosGoodies, 1) and QuestStepIsComplete(Player, DrodosGoodies, 2) and QuestStepIsComplete(Player, DrodosGoodies, 3) and QuestStepIsComplete(Player, DrodosGoodies, 4) then + UpdateQuestTaskGroupDescription(Quest, 1, "I hunted the critters near the granary and collected all of Drodo's goodies.") + AddStep5(Quest, QuestGiver, Player) + end +end + +function AddStep5(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 5, "I must return the goodies.", 1, "I must return the goodies to Augin Drodo at the granary near Bobick in the Enchanted Lands.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") +end + +function deck(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found Drodo's King's Court deck!") + CheckProgress(Quest, QuestGiver, Player) +end + +function comb(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I found Drodo's foot comb!") + CheckProgress(Quest, QuestGiver, Player) +end + +function dice(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found Drodo's goblin dice!") + CheckProgress(Quest, QuestGiver, Player) +end + +function box(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found Drodo's brunch box!") + CheckProgress(Quest, QuestGiver, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "augin_drodo/enchanted/augin_drodo003.mp3", "", "", 3982874170, 1388125971, Spawn) + AddConversationOption(conversation, "I'll return with your goodies.") + StartConversation(conversation, QuestGiver, Player, "Excellent! That would be very neighborly of you! Wish I could help, but I got a bum knee ya know. Otherwise these critters would fear the name Drodo.") +end + +function QuestComplete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, DrodosGoodies, 1) then + deck(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, DrodosGoodies, 2) then + comb(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, DrodosGoodies, 3) then + dice(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, DrodosGoodies, 4) then + box(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/EnchantedLands/HelpingSarmaSingebellows.lua b/Lua/Quests/EnchantedLands/HelpingSarmaSingebellows.lua new file mode 100755 index 000000000..f09120f98 --- /dev/null +++ b/Lua/Quests/EnchantedLands/HelpingSarmaSingebellows.lua @@ -0,0 +1,128 @@ +--[[ + Script Name : Quests/EnchantedLands/HelpingSarmaSingebellows.lua + Script Purpose : Handles the quest "Helping Sarma Singebellows" + Script Author : Cynnar + Script Date : 2015.03.21 + Script Notes : Reward coin goes up each time quest is repeated + + Zone : Enchanted Lands + Quest Giver : Sarma Singebellows + Preceded by : + Followed by : +--]] + +local kill8 = 8 +local kill9 = 9 +local kill10 = 10 +local kill11 = 11 +local kill12 = 12 + +function Init(Quest) + SetQuestFeatherColor(Quest, 3) + SetQuestRepeatable(Quest) +end + +function Accepted(Quest, QuestGiver, Player) + + if GetTempVariable(Player, "HelpingSarmaSingebellows") == "true" then + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/sarma_singebellows002.mp3", "", "", 2943069626, 2445316031, Spawn) + AddConversationOption(conversation, "I shall return when they are destroyed.") + StartConversation(conversation, NPC, Spawn, "Excellent! You worked hard to kill all of those goblins, but we need to make sure they don't regain their foothold.") + else + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/sarma_singebellows002.mp3", "", "", 2943069626, 2445316031, Spawn) + AddConversationOption(conversation, "As you wish.") + StartConversation(conversation, NPC, Spawn, "Excellent! Goblins are tainting the water and withering the trees at a watermill by a nearby lake. I want you to destroy as many of them as you can!") + end + + SetTempVariable(Player, "HelpingSarmaSingebellows", nil) + + if GetQuestFlags(Quest) == 0 then + local quantity = math.random(8, 12) + local flags = 0 + + if quantity == 8 then + flags = flags + kill8 + elseif quantity == 9 then + flags = flags + kill9 + elseif quantity == 10 then + flags = flags + kill10 + elseif quantity == 11 then + flags = flags + kill11 + elseif quantity == 12 then + flags = flags + kill12 + end + + SetQuestFlags(Quest, flags) + SetStep(Quest, Player, quantity) + + else -- need the else for /reload quest + CheckBitMask(Quest, Player, GetQuestFlags(Quest)) + end +end + +function hasflag(flags, flag) + return flags % (2*flag) >= flag +end + +function CheckBitMask(Quest, Player, Flags) + local quantity = 0 + + if hasflag(Flags, kill8) then + quantity = 8 + elseif hasflag(Flags, kill9) then + quantity = 9 + elseif hasflag(Flags, kill10) then + quantity = 10 + elseif hasflag(Flags, kill11) then + quantity = 11 + elseif hasflag(Flags, kill12) then + quantity = 12 + end + + SetStep(Quest, Player, quantity) +end + +function SetStep(Quest, Player, quantity) + if quantity == 8 then + AddQuestStepKill(Quest, 1, "Hunt some goblins in the Enchanted Lands", quantity, 100, "I need to kill as many goblins as I am able to prevent them from tainting this land further. I need to slay more goblins!", 159, 390028, 390018, 390002, 390006, 390151, 390154, 390003, 390029) + elseif quantity == 9 then + AddQuestStepKill(Quest, 1, "Hunt some goblins in the Enchanted Lands", quantity, 100, "I need to kill as many goblins as I am able to prevent them from tainting this land further. I need to slay more goblins!", 159, 390028, 390018, 390002, 390006, 390151, 390154, 390003, 390029) + elseif quantity == 10 then + AddQuestStepKill(Quest, 1, "Hunt some goblins in the Enchanted Lands", quantity, 100, "I need to kill as many goblins as I am able to prevent them from tainting this land further. I need to slay more goblins!", 159, 390028, 390018, 390002, 390006, 390151, 390154, 390003, 390029) + elseif quantity == 11 then + AddQuestStepKill(Quest, 1, "Hunt some goblins in the Enchanted Lands", quantity, 100, "I need to kill as many goblins as I am able to prevent them from tainting this land further. I need to slay more goblins!", 159, 390028, 390018, 390002, 390006, 390151, 390154, 390003, 390029) + elseif quantity == 12 then + AddQuestStepKill(Quest, 1, "Hunt some goblins in the Enchanted Lands", quantity, 100, "I need to kill as many goblins as I am able to prevent them from tainting this land further. I need to slay more goblins!", 159, 390028, 390018, 390002, 390006, 390151, 390154, 390003, 390029) + end + + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed quite a few goblins, I should report back to Sarma Singebellows now.") + AddQuestStepChat(Quest, 2, "I need to speak to Sarma Singebellows in the Enchanted Lands.", 1, "I need to kill as many goblins as I am able to prevent them from tainting this land further. I need to slay more goblins!", 0, 390181) + AddQuestStepCompleteAction(Quest, 2, "QuestReward") + +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) + SetTempVariable(Player, "HelpingSarmaSingebellows", nil) +end + +function QuestReward(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + SetCompleteFlag(Quest) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 0 then + CheckBitMask(Quest, Player, GetQuestFlags(Quest)) + elseif Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestReward(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/EnchantedLands/LousyFairies.lua b/Lua/Quests/EnchantedLands/LousyFairies.lua new file mode 100755 index 000000000..f854be7b3 --- /dev/null +++ b/Lua/Quests/EnchantedLands/LousyFairies.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/EnchantedLands/LousyFairies.lua + Script Purpose : Handles the quest "Lousy Fairies" + Script Author : Cynnar + Script Date : 2015.04.01 + Script Notes : + + Zone : Enchanted Lands + Quest Giver : Gubbo Chaley + Preceded by : + Followed by : + Notes : Missing Fae Dusted Bracelet of Acumen, Alacrity, Resolve, and Piety. Random chance for one of the 4. +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Kill fairies along the coast.", 10, 100, "I'm going to kill a bunch of fairies to avenge the death of Gubbo's friend Fritz. There are fairies all along the coast and aren't difficult to find. Lousy fairies.", 611, 390063, 390163, 390065, 390161, 390164, 390160, 390224, 390058, 390060, 390066, 390057, 390059, 390061, 390229, 390036, 390039, 390040, 390044, 390517, 390037, 390043, 390045, 390049, 390165, 390233, 390075) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Alright.") + StartConversation(conversation, QuestGiver, Player, "Right over there, along the coast ... those blasted, smug fairies!") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've slain a good many fairies along the coast. I shall return to Gubbo and inform him of what I've done.") + AddQuestStepChat(Quest, 2, "I should return to Gubbo and tell him of the victorious slayings of fairies in honor of his good friend Fritz.", 1, "I'm going to kill a bunch of fairies to avenge the death of Gubbo's friend Fritz. There are fairies all along the coast and aren't difficult to find. Lousy fairies.", 0, 390078) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestReward(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/EnchantedLands/ThreeMeaningsOfLife.lua b/Lua/Quests/EnchantedLands/ThreeMeaningsOfLife.lua new file mode 100755 index 000000000..1d3048975 --- /dev/null +++ b/Lua/Quests/EnchantedLands/ThreeMeaningsOfLife.lua @@ -0,0 +1,84 @@ +--[[ + Script Name : Quests/EnchantedLands/ThreeMeaningsOfLife.lua + Script Purpose : Handles the quest "The Curious Augur's Three Meanings of Life" + Script Author : Cynnar + Script Date : 2015.02.24 + Script Notes : + + Zone : Enchanted Lands + Quest Giver : The Curious Augur + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to answer the Curious Augur's riddle correctly", 1, "The Curius Augur is teaching me three meanings of life.", 0, 390082) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I have seven fear feeders and eighteen shoal serpents.", "QuestChat_0_4") + AddConversationOption(conversation, "I have fifteen fear feeders and ten shoal serpents.", "QuestChat_0_2") + AddConversationOption(conversation, "I have five fear feeders and twenty shoal serpents.", "QuestChat_0_2") + AddConversationOption(conversation, "I have no idea.", "QuestChat_0_2") + StartConversation(conversation, QuestGiver, Player, "There are many meanings to life and I can teach you only three. The first meaning is that of the nimble mind. Curiosity is a start, but you must be able to unravel this mystery to proceed. You have slain many fear feeders and shoal serpents. You have collected twenty five heads and fifty six legs. How many of each have you slain?") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've answered the riddle correctly.") + AddQuestStepChat(Quest, 2, "I must speak with the Curious Augur to learn the second meaning of life.", 1, "The Curius Augur is teaching me three meanings of life.", 0, 390082) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with the Curious Augur.") + AddQuestStepKill(Quest, 3, "I need to clear the shore of salt snappers.", 7, 100, "The Curius Augur is teaching me three meanings of life.", 171, 390064) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I removed the salt snapper menace.") + AddQuestStepChat(Quest, 4, "I must speak with the Curious Augur in the Enchanted Lands to learn the thrid meaning of life.", 1, "The Curius Augur is teaching me three meanings of life.", 0, 390082) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I've spoken with the Curious Augur.") + AddQuestStepChat(Quest, 5, "I should seek out Sarma Singebellows.", 1, "The Curius Augur is teaching me three meanings of life.", 0, 390181) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I've encountered Sarma Singebellows.") + AddQuestStepChat(Quest, 6, "I must return to the Curious Augur in the Enchanted Lands.", 1, "The Curius Augur is teaching me three meanings of life.", 0, 390082) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Everfrost/a_pioneer_without_a_wagon.lua b/Lua/Quests/Everfrost/a_pioneer_without_a_wagon.lua new file mode 100755 index 000000000..52ec5aae5 --- /dev/null +++ b/Lua/Quests/Everfrost/a_pioneer_without_a_wagon.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/Everfrost/a_pioneer_without_a_wagon.lua + Script Author : Flunklesnarkin + Script Date : 2016.02.07 14:18:25 + Script Purpose : + + Zone : Everfrost + Quest Giver: Li Ning Ventur + Preceded by: The Stories of Everfrost + Followed by: The Gift of a Token +--]] + +function Init(Quest) + + AddQuestRewardCoin(Quest, math.random(30,70), math.random(50,90), math.random(3,4), 0) + + AddQuestStep(Quest, 1, "I need to retrieve crates of the family's belongings from the ocean floor", 8, 100, "I should recover crates full of the Venturs' possessions from the ocean floor.") + AddQuestStepCompleteAction(Quest, 1, "GotCrates") + +end + +function Accepted(Quest, QuestGiver, Player) + + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I am glad to help.") + AddConversationOption(conversation, "I am sure your gratitude will be expressed in some sort of coin reward.") + StartConversation(conversation, QuestGiver, Player, "You cannot know what it means to hear that.") + +end + +function Declined(Quest, QuestGiver, Player) + +end + + +function Reload(Quest, QuestGiver, Player, Step) + +end + +function Deleted(Quest, QuestGiver, Player) + +end \ No newline at end of file diff --git a/Lua/Quests/Everfrost/cull_the_threat_to_the_pioneers.lua b/Lua/Quests/Everfrost/cull_the_threat_to_the_pioneers.lua new file mode 100755 index 000000000..4aebf12c3 --- /dev/null +++ b/Lua/Quests/Everfrost/cull_the_threat_to_the_pioneers.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Everfrost/cull_the_threat_to_the_pioneers.lua + Script Author : Flunklesnarkin + Script Date : 2015.10.24 02:10:26 + Script Purpose : + + Zone : Everfrost + Quest Giver: Brahnagan MacLahnan + Preceded by: The Stories of Everfrost + Followed by: Further Culling +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(60,97), math.random(50,80), 1, 0) + AddQuestStepKill(Quest, 1, "I need to kill the primal frostfins that inhabit the waters around Everfrost.", 15, 100, "Pioneers crossing the Bay have often been attacked by frostfin sharks that inhabit its waters. I should cull this threat and reduce the number of primal frostfins living within the Bay.", 611, 410003) + AddQuestStepCompleteAction(Quest, 1, "KilledSharks") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.") + StartConversation(conversation, QuestGiver, Player, "Good, report to me when it's done. You'll be rewarded. Having fewer of the sharks will encourage more pioneers to come.") + + +end + +function KilledSharks(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have cleared the waters of primal frostfins.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 2, "I should speak with Brahnagan MacLahgan.", 1, "I need to return to MacLahnan and tell him I've done as he asked.", 0, 410006) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported my success to MacLahnan.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + + + diff --git a/Lua/Quests/Everfrost/fish_for_grunthor.lua b/Lua/Quests/Everfrost/fish_for_grunthor.lua new file mode 100755 index 000000000..fb4a40637 --- /dev/null +++ b/Lua/Quests/Everfrost/fish_for_grunthor.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : Quests/Everfrost/fish_for_grunthor.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.03 12:09:31 + Script Purpose : + + Zone : Everfrost + Quest Giver: Burm Grunthor + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,80), 1, 0) + AddQuestStepObtainItem(Quest, 1, "I need to harvest a number of fish for Grunthor.", 10, 100, "I need to fish for Grunthor in Everfrost.", 2549, 4869, 5475) + AddQuestStepCompleteAction(Quest, 1, "GatheredFish") +end + + +function Declined(Quest, QuestGiver, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + + +function GatheredFish(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have harvested a number of fish for Grunthor.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 2, "I should return these fish to Grunthor.", 1, "I should return these fish to Grunthor.", 0, 410014) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have fished a number of fish for Grunthor.") + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 136, 1) then + GatheredFish(Quest, QuestGiver, Player) + elseif QuestStepIsComplete(Player, 136, 2) then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Everfrost/further_culling.lua b/Lua/Quests/Everfrost/further_culling.lua new file mode 100755 index 000000000..b27e5eab8 --- /dev/null +++ b/Lua/Quests/Everfrost/further_culling.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/Everfrost/further_culling.lua + Script Author : Flunklesnarkin + Script Date : 2015.11.29 12:11:13 + Script Purpose : + + Zone : Everfrost + Quest Giver: Brahnagan MacLahnan + Preceded by: Cull the Threat to the Pioneers + Followed by: Supplies for the Pioneers +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(60,97), math.random(50,80), 1, 0) + AddQuestStepKill(Quest, 1, "I need to kill the ancient frostfins that live in the waters around Everfrost.", 10, 100, "I need to clear the waters of ancient frostfins to make the area safer for travelers.", 611, 410001) + AddQuestStepCompleteAction(Quest, 1, "KilledSharks") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Um, I hope not.") + StartConversation(conversation, QuestGiver, Player, "I am sure you won't lose too many fingers dealing with them.") + + +end + +function KilledSharks(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have cleared the waters of ancient frostfins.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 2, "I should speak with Brahnagan MacLahgan.", 1, "I need to return to MacLahnan and tell him I've done as he asked.", 0, 410006) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported my success to MacLahnan.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Everfrost/marta_terrilons_fur_hunt.lua b/Lua/Quests/Everfrost/marta_terrilons_fur_hunt.lua new file mode 100755 index 000000000..e8d07c73d --- /dev/null +++ b/Lua/Quests/Everfrost/marta_terrilons_fur_hunt.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/Everfrost/marta_terrilons_fur_hunt.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.04 11:09:29 + Script Purpose : + + Zone : Everfrost + Quest Giver: Marta Terrilon + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + local Pelt_Type = math.random(1,2) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,80), math.random(3,5), 0) + if Pelt_Type == 1 then + AddQuestStepKill(Quest, 1, "Hunt glacier bears in Everfrost", math.random(8,12), 100, "I'm suppose to help Marta Terrilon get the furs that she needs. I should return to her with the furs as soon as I've gathered enough.", 126, 410087, 410088, 410122) + AddQuestStepCompleteAction(Quest, 1, "KilledBeasts") + + else + AddQuestStepKill(Quest, 1, "Hunt northern stags in Everfrost.", math.random(8,12), 100, "I'm suppose to help Marta Terrilon get the furs that she needs. I should return to her with the furs as soon as I've gathered enough.", 122, 410041, 410079) + AddQuestStepCompleteAction(Quest, 1, "KilledBeasts") + + end +end + + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function KilledBeasts(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've hunted a large number of furred creatures, I hope these will satisfy Marta's quota.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 2, "I should return to Marta Terrilon in Everfrost.", 1, "I should return to Marta Terrilon in Everfrost.", 0, 410004) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "Marta rewarded me once I returned with the furs.") + GiveQuestReward(Quest, Player) + +end + + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 161, 1) then + KilledBeasts(Quest, QuestGiver, Player) + elseif QuestStepIsComplete(Player, 161, 2) then + Quest_Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Everfrost/scouting_the_jagged_plains.lua b/Lua/Quests/Everfrost/scouting_the_jagged_plains.lua new file mode 100755 index 000000000..0ee557a71 --- /dev/null +++ b/Lua/Quests/Everfrost/scouting_the_jagged_plains.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/Everfrost/scouting_the_jagged_plains.lua + Script Author : Flunklesnarkin + Script Date : 2016.01.13 02:01:35 + Script Purpose : + + Zone : Everfrost + Quest Giver: Thyr Stormhammer + Preceded by: Supplies for the Pioneers (Not a requirement though) + Followed by: Peace with the Valkyries +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(20,60), math.random(30,90), math.random(3,5), 0) + + AddQuestStepLocation(Quest, 1, "I need to survey one point in the Jagged Plains.", 30, "I need to hit a number of locations within the Jagged Plains to ensure that I have scouted the whole area.", 0, 125, 20, -422) + AddQuestStepLocation(Quest, 2, "I need to survey a second point in the Jagged Plains.", 30, "I need to hit a number of locations within the Jagged Plains to ensure that I have scouted the whole area.", 0, -41, 20, -380) + AddQuestStepLocation(Quest, 3, "I need to survey a third point in the Jagged Plains.", 30, "I need to hit a number of locations within the Jagged Plains to ensure that I have scouted the whole area.", 0, -132, 20, -465) + AddQuestStepLocation(Quest, 4, "I need to survey a fourth point in the Jagged Plains.", 30, "I need to hit a number of locations within the Jagged Plains to ensure that I have scouted the whole area.", 0, 47, 30, -510) + AddQuestStepLocation(Quest, 5, "I need to survey a fifth point in the Jagged Plains.", 30, "I need to hit a number of locations within the Jagged Plains to ensure that I have scouted the whole area.", 0, 130, 20, -651) + AddQuestStepLocation(Quest, 6, "I need to survey a sixth point in the Jagged Plains.", 30, "I need to hit a number of locations within the Jagged Plains to ensure that I have scouted the whole area.", 0, 79, 24, -633) + + AddQuestStepCompleteAction(Quest, 1, "Visited_Locations") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sounds easy enough.") + StartConversation(conversation, QuestGiver, Player, "Do a thorough sweep of the valley, and then return to me.") + + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function Visited_Locations(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have scouted the whole of the Jagged Plains, searching for a liveable space.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 2, "I need to speak with Thyr Stormhammer.", 1, "I need to return to Thyr Stormhammer at the Bitterwind Pioneer Camp and report what I have observed.", 0, 410068) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Everfrost/supplies_for_the_pioneers.lua b/Lua/Quests/Everfrost/supplies_for_the_pioneers.lua new file mode 100755 index 000000000..5100d2aaa --- /dev/null +++ b/Lua/Quests/Everfrost/supplies_for_the_pioneers.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/Everfrost/supplies_for_the_pioneers.lua + Script Author : Flunklesnarkin + Script Date : 2015.11.29 01:11:25 + Script Purpose : + + Zone : Everfrost + Quest Giver: Brahnagan MacLahnan + Preceded by: Further Culling + Followed by: Scouting the Jagged Plains +--]] + +function Init(Quest) + + AddQuestRewardCoin(Quest, math.random(20,60), math.random(30,90), math.random(3,5), 0) + + AddQuestStepChat(Quest, 1, "I need to deliver the supplies to the pioneers in the Bitterwind Trench.", 1, "I have been given a box of supplies to deliver to the Bitterwind Trench Pioneer Encampment from Brahnagan MacLahnan.", 0, 410068) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") + +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 5642, 1) + SetCompleteFlag(Quest) + + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you to you.") + StartConversation(conversation, QuestGiver, Player, "Many thanks and best of luck to you in your journeys.") + + +end + +function Declined(Quest, QuestGiver, Player) + +end + + +function Reload(Quest, QuestGiver, Player, Step) + +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, 5642, 1) do + RemoveItem(Player, 5642) + end +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have delivered the supplies to the pioneers.") + while HasItem(Player, 5642, 1) do + RemoveItem(Player, 5642) + end + GiveQuestReward(Quest, Player) +end + diff --git a/Lua/Quests/Everfrost/the_stories_of_everfrost.lua b/Lua/Quests/Everfrost/the_stories_of_everfrost.lua new file mode 100755 index 000000000..cac44c4ac --- /dev/null +++ b/Lua/Quests/Everfrost/the_stories_of_everfrost.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/Everfrost/the_stories_of_everfrost.lua + Script Author : Flunklesnarkin + Script Date : 2015.10.14 12:10:29 + Script Purpose : + + Zone : Everfrost + Quest Giver: Brahnagan MacLahnan + Preceded by: None + Followed by: Cull the Threat to the Pioneers +--]] + +function Init(Quest) + + AddQuestRewardCoin(Quest, math.random(20,60), math.random(30,90), math.random(3,5), 0) + + AddQuestStepChat(Quest, 1, "I should interview Newlyn Icebreaker.", 1, "I have been sent by MacLahnan to speak with a number of individuals around Stormedge Isle so I can better appreciate the situation in Everfrost.", 0, 410013) + AddQuestStepChat(Quest, 2, "I should interview Li Ning Ventur.", 1, "I have been sent by MacLahnan to speak with a number of individuals around Stormedge Isle so I can better appreciate the situation in Everfrost.", 0, 410011) + AddQuestStepCompleteAction(Quest, 1, "Spoke_To_Newlyn_Icebreaker") + AddQuestStepCompleteAction(Quest, 2, "Spoke_To_Li_Ning_Ventur") + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + +function Spoke_To_Newlyn_Icebreaker(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have interviewed Newlyn Icebreaker.") + ProgressCheck_Quest1(Quest, QuestGiver, Player) +end + +function Spoke_To_Li_Ning_Ventur(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have interviewed Li Ning Ventur") + ProgressCheck_Quest1(Quest, QuestGiver, Player) +end + +function ProgressCheck_Quest1(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 167, 1) and QuestStepIsComplete(Player, 167, 2) then + Add_Quest1_Step3(Quest, QuestGiver, Player) + end +end + +function Add_Quest1_Step3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have heard the stories of the people of Stormedge Isle.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 3, "I should speak with Brahnagan MacLahnan.", 1, "Having spoken with a number of individuals around Stormedge Isle, I should return to MacLahnan", 0, 410006) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") + +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + diff --git a/Lua/Quests/ForestRuins/magnificent_machinery.lua b/Lua/Quests/ForestRuins/magnificent_machinery.lua new file mode 100755 index 000000000..7d5395eaa --- /dev/null +++ b/Lua/Quests/ForestRuins/magnificent_machinery.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : Quests/ForestRuins/magnificent_machinery.lua + Script Purpose : Handles the quest, "Magnificent Machinery" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Forest Ruins + Quest Giver: Poko Zing + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + -- machine parts + AddQuestStepObtainItem(Quest, 1, "I need to collect some machine parts for Poko Zing. He says the junk parts are strewn about the Forest Ruins.", 6, 100, "Poko Zing is in need of mechanical parts and has come across quite a few in the Forest Ruins. He has asked that I help him by collecting some parts for him.", 1042, 7883) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotMachineParts") + + -- the spawn is 'mechanical components' +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko004a.mp3", "", "", 3746859101, 2602853428, Player) + AddConversationOption(conversation, "I will return shortly.") + StartConversation(conversation, QuestGiver, Player, "Once you get them, bring them back to me and I will recycle them for my purposes.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotMachineParts(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the machine parts.") + + AddQuestStepChat(Quest, 2, "I need to bring these machine parts back to Poko Zing.", 1, "Poko Zing is in need of mechanical parts and has come across quite a few in the Forest Ruins. He has asked that I help him by collecting some parts for him.", 0, 1960014) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithPoko") +end + +function Step2_Complete_SpokeWithPoko(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Poko the machine parts he asked for.") + + -- remove machine parts + while HasItem(Player, 7883) do + RemoveItem(Player, 7883) + end + + AddQuestStepChat(Quest, 3, "I need to report to Lieutenant Germain.", 1, "Poko Zing is in need of mechanical parts and has come across quite a few in the Forest Ruins. He has asked that I help him by collecting some parts for him.", 0, 1960011) + AddQuestStepCompleteAction(Quest, 3, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have reported to Lieutenant Germain.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the parts that Poko needed. One of the parts I found surprised Poko and he asked me to speak with Lieutenant Germain.") + UpdateQuestDescription(Quest, "I have collected the parts that Poko needed. One of the parts I found surprised Poko and he asked me to speak with Lieutenant Germain.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_GotMachineParts(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithPoko(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ForestRuins/news_for_germain.lua b/Lua/Quests/ForestRuins/news_for_germain.lua new file mode 100755 index 000000000..6614326ce --- /dev/null +++ b/Lua/Quests/ForestRuins/news_for_germain.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : Quests/ForestRuins/news_for_germain.lua + Script Purpose : Handles the quest, "News for Germain" + Script Author : Scatman + Script Date : 2009.04.25 + + Zone : The Forest Ruins + Quest Giver: Acting Lieutenant Germain + Preceded by: None + Followed by: Favors (favors.lua) +--]] + +function Init(Quest) + + + -- machine parts + AddQuestStepObtainItem(Quest, 1, "I need to check west of the ruins for any sign of Del Varun. He was supposed to be near the pond on the western end of the ruins.", 1, 100, "Lieutenant Germain has asked that I search for Del Varun - a scout assigned to the Forest Ruins.", 0, DEL_VARUNS_PACK) + + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundPack") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Don't be foolish. Don't get yourself hurt, but if you notice anything that might lead us to him, please let me know.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundPack(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found Del Varun's pack.") + + AddQuestStepChat(Quest, 2, "I should see what I can find in Del Varun's pack (Dev note: Speak to Germain for now).", 1, "Lieutenant Germain has asked that I search for Del Varun, a scout assigned to the Forest Ruins.", 0, 1960011) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_InspectedPack") +end + +function Step2_Complete_InspectedPack(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have read Del Varun's log.") + + AddQuestStepChat(Quest, 3, "I should investigate the strange plants north of the pond that Del Varun spoke of.", 1, "Lieutenant Germain has asked that I search for Del Varun, a scout assigned to the Forest Ruins.", 0, 1960011) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_InvestigatedPlants") +end + +function Step3_Complete_InvestigatedPlants(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I witnessed the strange plants that Del Varun spoke of. I collected a leaf sample from one of them.") + + AddQuestStepChat(Quest, 4, "I should take this plant sample back to Lieutenant Germain.", 1, "Lieutenant Germain has asked that I search for Del Varun, a scout assigned to the Forest Ruins.", 2102, 1960011) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) +--remove pack + UpdateQuestDescription(Quest, "I found Del Varun's satchel and log. The log led me to a strange phenomenon north of the pond on the western side of the ruins.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_GotMachineParts(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_InspectedPack(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_InvestigatedPlants(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/FrostfangSea/a_fine_halasian_welcome.lua b/Lua/Quests/FrostfangSea/a_fine_halasian_welcome.lua new file mode 100755 index 000000000..27657a7fb --- /dev/null +++ b/Lua/Quests/FrostfangSea/a_fine_halasian_welcome.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Quests/FrostfangSea/a_fine_halasian_welcome.lua + Script Purpose : Handles the quest "A Fine Halasian Welcome" + Script Author : Sylva1n (updated by theFoof) + Script Date : 2011.10.23 (2013.5.2) + + Zone : Frostfang Sea + Quest Giver : Galinda Goodfaith + Preceded by : None + Followed by : Stonefist's Art of Combat +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Seek out Yasha Redblade.", 1, "I have been asked to report to Yasha Redblade in the broken ship's hull to the northeast of Galinda Goodfaith on the Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + quest_complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/a_good_distraction.lua b/Lua/Quests/FrostfangSea/a_good_distraction.lua new file mode 100755 index 000000000..14cd05afb --- /dev/null +++ b/Lua/Quests/FrostfangSea/a_good_distraction.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : Quests/FrostfangSea/a_good_distraction.lua + Script Purpose : for the quest "A Good Distraction" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Ry'Gorr Mining Operation + Followed by : Sleetfoot Search Party +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(24,40), 0, 0) + AddQuestStepChat(Quest, 1, "I should speak with Ordin Sleetfoot and begin our journey.", 1, "Thirin Veliumdelver wants me to speak with Ordin Sleetfoot when I am ready to venture into the Velinoid Catacombs.", 0, 4700965) + AddQuestStepCompleteAction(Quest, 1, "TalkedOrdin") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave010.mp3", "", "", 2867242801, 3355205024, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "I am learning that with each passing hour. Be safe, my friend.") +end + +function Deleted(Quest, QuestGiver, Player) + local zone = GetZone(Player) + if GetZoneID == 470 then + AddSpawnAccess(GetSpawnByLocationID(zone, 32643), Player) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedOrdin(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Ordin, who has vanished into the shadows.") + AddQuestStep(Quest, 2, "I should travel deeper into the Velinoid Catacombs and seek out Ordin.", 1, 100, "I should travel into the Velinoid Catacombs and act as a distraction so none of the Velinoids discover Ordin. He says I will eventually find him as I travel through the cavern.", 0) + AddQuestStepCompleteAction(Quest, 2, "KilledVelinoids") +end + +function KilledVelinoids(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Ordin was attacked by Velinoids but I was able to fend them off.") + AddQuestStepChat(Quest, 3, "I should make sure that Ordin is okay before continuing on.", 1, "I should travel into the Velinoid Catacombs and act as a distraction so none of the Velinoids discover Ordin. He says I will eventually find him as I travel through the cavern.", 0, 4700965) + AddQuestStepCompleteAction(Quest, 3, "FoundOrdin") +end + +function FoundOrdin(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "Ordin is fine and has returned to the shadows.") + UpdateQuestTaskGroupDescription(Quest, 2, "Ordin has returned to the shadows and wants to continue exploring the catacombs. I imagine I'll find him again further in.") + AddQuestStep(Quest, 4, "I should travel deeper into the Velinoid Catacombs and seek out Ordin.", 1, 100, "I should travel further into the Velinoid Catacombs, continuing to act as a distraction for Ordin. As before I will find him as I travel futher into the catacombs.", 0) + AddQuestStepCompleteAction(Quest, 4, "KilledAmbush") +end + +function KilledAmbush(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "Ordin was attacked by Velinoids but I was able to fend them off.") + AddQuestStepChat(Quest, 5, "I should make sure that Ordin is okay before continuing on.", 1, "I should travel further into the Velinoid Catacombs, continuing to act as a distraction for Ordin. As before I will find him as I travel futher into the catacombs.", 0, 4700965) + AddQuestStepCompleteAction(Quest, 5, "FoundOrdin2") +end + +function FoundOrdin2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "Ordin is fine and has instructed me to return to Thirin Veliumdelver.") + UpdateQuestTaskGroupDescription(Quest, 3, "While Ordin is checking out one last section of the catacombs, he has instructed me to return to Thirin Veliumdelver at the cavern's entrance.") + AddQuestStepChat(Quest, 6, "I should speak with Thirin Veliumdelver.", 1, "I should return to Thirin Veliumdelver, as Ordin instructed, and tell him the layout of the catacombs. Ordin should be waiting for me there if he's as good a scout as claimed.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 6, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedOrdin(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledVelinoids(Quest, QuestGiver, Player) + elseif Step == 3 then + FoundOrdin(Quest, QuestGiver, Player) + elseif Step == 4 then + KilledAmbush(Quest, QuestGiver, Player) + elseif Step == 5 then + FoundOrdin2(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua b/Lua/Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua new file mode 100755 index 000000000..fa2304c53 --- /dev/null +++ b/Lua/Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua + Script Purpose : the quest A Murky Miasma of a Mystery + Script Author : theFoof + Script Date : 2013.5.26 + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : The Glimmer Orc + Followed by : A Scattering of Ashes +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard020.mp3", "", "", 3770331911, 592699035, Player) + AddConversationOption(conversation, "I suspect they will have what you need.") + AddConversationOption(conversation, "Let's hope this isn't a dead end.") + StartConversation(conversation, QuestGiver, Player, "Ye'll find the miasmas not far from here. Look to the icy shelf above the battlefield, south of here. Bring back whatever you can find after taking them out, and hopefully it'll solve the mystery of the Ry'Gorr's invisibility.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must collect several deepice crystals from deepice miasmas.", 8, 100, "I must collect several deepice crystals from deepice miasmas. The miasmas tend to wander to the west of Herga's Choke, on the ledge above the battlefield.", 3774, 4700085) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected several deepice crystals.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/a_scattering_of_ashes.lua b/Lua/Quests/FrostfangSea/a_scattering_of_ashes.lua new file mode 100755 index 000000000..1edcc8b9a --- /dev/null +++ b/Lua/Quests/FrostfangSea/a_scattering_of_ashes.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/FrostfangSea/a_scattering_of_ashes.lua + Script Purpose : the quest A Scattering of Ashes + Script Author : theFoof + Script Date : 2013.5.27 + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : A Murky Miasma of a Mystery + Followed by : Totem Annihilation +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(23,99), math.random(6,15), 0, 0) + AddQuestStep(Quest, 1, "I must scatter the ashes of the fallen coldain at Pride Overlook.", 1, 100, "I must travel to the peak of Pride Overlook, and then scatter the ashes of the fallen coldain. The Overlook is the peak of the outcropping of the icy cliff just north of the Great Shelf.", 569) + AddQuestStepCompleteAction(Quest, 1, "ScatteredAshes") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 49022) then + SummonItem(Player, 49022, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard028.mp3", "", "", 564515719, 107243017, Player) + AddConversationOption(conversation, "Thank you. I'd be happy to help.") + AddConversationOption(conversation, "Like the Dain? That's a wild exaggeration, but I appreciate the compliment.") + AddConversationOption(conversation, "I'd rather see a coldain honor his brethren.") + StartConversation(conversation, QuestGiver, Player, "I'd be perfectly happy to give this job to one of my brothers, but I'd rather you do it, Tuce. I trust ye. Yer capable and ye fight like the Dain himself.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function ScatteredAshes(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have scattered the ashes.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + ScatteredAshes(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/all_that_remains.lua b/Lua/Quests/FrostfangSea/all_that_remains.lua new file mode 100755 index 000000000..c412ec01d --- /dev/null +++ b/Lua/Quests/FrostfangSea/all_that_remains.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : Quests/FrostfangSea/all_that_remains.lua + Script Purpose : for the quest All That Remains + Script Author : theFoof + Script Date : 2013.6.5 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : Forsaking the Grave + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStep(Quest, 1, "I must recover Herga's helm from the jetty of ice below the choke.", 1, 100, "I must recover Herga's helm from the jetty of ice below Herga's Choke.", 2736) + AddQuestStepCompleteAction(Quest, 1, "ClickedHelm") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga056.mp3", "", "", 1633477200, 3542606661, Player) + AddConversationOption(conversation, "I will recover your helmet.") + AddConversationOption(conversation, "This is the least I can do for you.") + StartConversation(conversation, QuestGiver, Player, "I have no kin, as the duties of a Battlepriest precluded the possibility of a quiet life. I never started a family. My ancestral helm is all that remains.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function ClickedHelm(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I located Herga's helm, but was attacked when I attempted to retrieve it!") + AddQuestStepKill(Quest, 2, "I must kill the frenzied orc that is guarding Herga's helm.", 1, 100, "I must recover Herga's helm from the jetty of ice below Herga's Choke.", 611, 4701122) + AddQuestStepCompleteAction(Quest, 2, "KilledOrc") +end + +function KilledOrc(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed the frenzied orc that was guarding Herga's helm.") + AddQuestStep(Quest, 3, "Now that I have slain the frenzied orc, I must recover Herga's helm from the jetty of ice below the choke.", 1, 100, "I must recover Herga's helm from the jetty of ice below Herga's Choke.", 2736) + AddQuestStepCompleteAction(Quest, 3, "GotHelmet") +end + +function GotHelmet(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have recovered Herga's helm.") + AddQuestStepChat(Quest, 4, "I must return the helm to Battlepriest Herga.", 1, "I must return the helm to Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + ClickedHelm(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledOrc(Quest, QuestGiver, Player) + elseif Step == 3 then + GotHelmet(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/an_essential_ingredient.lua b/Lua/Quests/FrostfangSea/an_essential_ingredient.lua new file mode 100755 index 000000000..e40a2d945 --- /dev/null +++ b/Lua/Quests/FrostfangSea/an_essential_ingredient.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : Quests/FrostfangSea/an_essential_ingredient.lua + Script Purpose : the quest An Essential Ingredient + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Cod and Chips + Followed by : Field Testing +--]] + +local EssentialIngredient = 22 + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45388, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_039.mp3", "", "", 153842278, 3257954458, Player) + AddConversationOption(conversation, "I will return to you once I have collected the elementals.") + StartConversation(conversation, QuestGiver, Player, "Thanks, and good luck!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,90), math.random(2,5), 0, 0) + AddQuestStep(Quest, 1, "I must capture iceflows.", 4, 100, "I must capture iceflows and snowpacks. The iceflows and snowpacks can be found on the Icemane Plains west of Gwenevyn's Cove.", 1203) + AddQuestStep(Quest, 2, "I must capture snowpacks.", 4, 100, "I must capture iceflows and snowpacks. The iceflows and snowpacks can be found on the Icemane Plains west of Gwenevyn's Cove.", 1203) + AddQuestStepCompleteAction(Quest, 1, "GotIceflows") + AddQuestStepCompleteAction(Quest, 2, "GotSnowpacks") +end + +function GotIceflows(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have captured the iceflows.") + CheckProgress(Quest, QuestGiver, Player) +end + +function GotSnowpacks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have captured the snowpacks.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, EssentialIngredient, 1) and QuestStepIsComplete(Player, EssentialIngredient, 2) then + NextStep(Quest, QuestGiver, Player) + end +end + +function NextStep(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have captured enough iceflows and snowpacks.") + AddQuestStepChat(Quest, 3, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return the captured iceflows and snowpacks to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 45388) then + RemoveItem(Player, 45388) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotIceflows(Quest, QuestGiver, Player) + end + if Step == 2 then + GotSnowpacks(Quest, QuestGiver, Player) + end + if Step == 3 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/an_unbearable_problem.lua b/Lua/Quests/FrostfangSea/an_unbearable_problem.lua new file mode 100755 index 000000000..3416a5c4e --- /dev/null +++ b/Lua/Quests/FrostfangSea/an_unbearable_problem.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/an_unbearable_problem.lua + Script Purpose : the quest An Unbearable Problem + Script Author : theFoof + Script Date : 2013.5.21 + + Zone : Frostfang Sea + Quest Giver : Flibbit Quaqmarr + Preceded by : None + Followed by : Little Lost Froglok +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_023.mp3", "", "", 537970765, 1600868781, Player) + AddConversationOption(conversation, "Goodbye, Flibbit.") + StartConversation(conversation, QuestGiver, Player, "I shall watch for your return.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill blizzard grizzlies.", 6, 100, "I must go south from Gwenevyn's Cove and kill blizzard grizzlies.", 611, 4700043, 4700048, 4700047, 4700052, 4701098, 4700050) + AddQuestStepCompleteAction(Quest, 1, "KilledBears") +end + +function KilledBears(Quest, QuestGiver, Player) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Player), 5217), Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed blizzard grizzlies south of Gwenevyn's Cove.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I must return to Flibbit Quagmarr in Gwenevyn's Cove and inform him that I have killed the blizzard grizzlies.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledBears(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/arcane_elements.lua b/Lua/Quests/FrostfangSea/arcane_elements.lua new file mode 100755 index 000000000..232c609ef --- /dev/null +++ b/Lua/Quests/FrostfangSea/arcane_elements.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/arcane_elements.lua + Script Purpose : the quest Arcane Elements + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : None + Followed by : Bear Bottoms +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_017.mp3", "", "", 4004735863, 2962223721, Player) + AddConversationOption(conversation, "I'll be back once I have collected the ore you need.") + StartConversation(conversation, QuestGiver, Player, "Great! As I said, you can find the arcane imbued ore on the rolling stones to the southeast of Gwenevyn's Cove. They should not be too hard to find. Let me know if you get into any trouble.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill rolling stones to collect arcane imbued ore.", 5, 100, "I must kill the rolling stones that roll along the beach front southeast of Gwenevyn's Cove to collect the arcane imbued ore that is contained within the rocks.", 1119, 4700030, 4700032) + AddQuestStepCompleteAction(Quest, 1, "KilledStones") +end + +function KilledStones(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the arcane imbued ore from the rolling stones.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return the arcane imbued ore to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledStones(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/bartering_crystals.lua b/Lua/Quests/FrostfangSea/bartering_crystals.lua new file mode 100755 index 000000000..ee7e8f12a --- /dev/null +++ b/Lua/Quests/FrostfangSea/bartering_crystals.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/bartering_crstals.lua + Script Purpose : for the quest "Bartering Crystals" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : The Absent Effigy + Followed by : Pelted +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect strange ice crystals from upon the Icemane Plains.", 5, 100, "I should head out to the Icemane Plains and collect any strange ice crystals I may find.", 2938) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") + AddQuestRewardCoin(Quest, math.random(9,80), math.random(13,25), 0, 0) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_044.mp3", "", "", 86681713, 2082517769, Player) + AddConversationOption(conversation, "I shall return with the crystals.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. ".") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the strange ice crystals.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/bear_bottoms.lua b/Lua/Quests/FrostfangSea/bear_bottoms.lua new file mode 100755 index 000000000..9ec0af50e --- /dev/null +++ b/Lua/Quests/FrostfangSea/bear_bottoms.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/bear_bottoms.lua + Script Purpose : the quest Bear Bottoms + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Arcane Elements + Followed by : Cod and Chips +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_025.mp3", "", "", 3290905220, 1893346275, Player) + AddConversationOption(conversation, "I will return to you once I have gathered the pelts.") + StartConversation(conversation, QuestGiver, Player, "Thanks. I know it's distasteful to kill cubs, but I need their softer fur to make blankets. Thank you for doing this for me, " .. GetName(Player) .. ".") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill blizzard grizzly cubs to collect unmarred fur pelts.", 3, 100, "I must hunt blizzard grizzly cubs for their pelts. I can find the cubs northwest of Gwenevyn's Cove.", 122, 4700048) + AddQuestStepCompleteAction(Quest, 1, "KilledCubs") +end + +function KilledCubs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the unmarred fur pelts from the blizzard grizzly cubs.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return the unmarred fur pelts to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCubs(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/becoming_another_orcbane.lua b/Lua/Quests/FrostfangSea/becoming_another_orcbane.lua new file mode 100755 index 000000000..5620222f8 --- /dev/null +++ b/Lua/Quests/FrostfangSea/becoming_another_orcbane.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/FrostfangSea/becoming_another_orcbane.lua + Script Purpose : the quest "Becoming Another Orcbane" + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Mystery on the Orc Iceberg + Followed by : Flawless Core Chore +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "After dealing enough damage to the Ry'Gorr tunnelers, use the cadaver's dram on them to finish the job!", 6, 100, "Knut gave you a potion to help you battle the ranks of Ry'Gorr tunnelers within Demon's Delve.", 328) + AddQuestStepCompleteAction(Quest, 1, "UsedDram") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45453, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_042.mp3", "", "", 3041202396, 3394706601, Player) + AddConversationOption(conversation, "Hurt them and then use the cadaver's dram. Got it!") + StartConversation(conversation, QuestGiver, Player, "Not so fast! It can only be used on them after their health has been reduced. They must be weak in order to be susceptible to the cadaver's dram.") +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, 45453) do + RemoveItem(Player, 45453) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedDram(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You used the cadaver's dram on a great number of Ry'Gorr tunnelers.") + AddQuestStepChat(Quest, 2, "Return to Knut Orcbane now that you have reduced the number of Ry'Gorr forces within the Demon's Delve tunnels.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that you have reduced the number of Ry'Gorr forces within the Demon's Delve tunnels.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + while HasItem(Player, 45453) do + RemoveItem(Player, 45453) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedDram(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/beets_the_alternative.lua b/Lua/Quests/FrostfangSea/beets_the_alternative.lua new file mode 100755 index 000000000..db91d7dfc --- /dev/null +++ b/Lua/Quests/FrostfangSea/beets_the_alternative.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/FrostfangSea/beets_the_alternative.lua + Script Purpose : the quest Beets the Alternative + Script Author : theFoof + Script Date : 2013.5.18 + + Zone : Frostfang Sea + Quest Giver : Wregan Firebeard + Preceded by : + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(50,90), math.random(2,5), 0, 0) + AddQuestStep(Quest, 1, "Gather tundra beets along the frozen beach front north of Gwenevyn's Cove, between the pillars of ice.", 3, 100, "First though, you must help gather provisions necessary for the journey.", 816) + AddQuestStepCompleteAction(Quest, 1, "GatheredBeets") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_007.mp3", "", "", 2495625045, 3478965655, Player) + AddConversationOption(conversation, "I will, believe me.") + StartConversation(conversation, QuestGiver, Player, "Yes. Now go and harvest some tundra beets. They grow along the frozen beach front north of us, between the pillars of ice. Be wary of the blizzard grizzlies nearby!") +end + +function GatheredBeets(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You gathered tundra beets.") + AddQuestStep(Quest, 2, "You should gather one more tundra beet.", 1, 100, "First though, you must help gather provisions necessary for the journey.", 816) + AddQuestStepCompleteAction(Quest, 2, "GotLastBeet") +end + +function GotLastBeet(Quest, QuestGiver, Player) + RemoveSpawnAccess(GetSpawn(Player, 4700035), Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You gathered enough tundra beets, but you also found fresh orc footprints within the snow and ice!") + AddQuestStepChat(Quest, 3, "Return to Wregan Firebeard and tell him of the orcish threat!", 1, "You should return to Wregan Firebeard, the Pilgrimage Guardian, in Gwenevyn's Cove, and tell him of the orcish threat!", 0, 4700034) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GatheredBeets(Quest, QuestGiver, Player) + elseif Step == 2 then + GotLastBeet(Quest, QuestGiver, Player) + elseif Step == 3 then + CompleteQuest(Quest, QuestGiver, Player) + end +end + \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/below_the_frozen_waves.lua b/Lua/Quests/FrostfangSea/below_the_frozen_waves.lua new file mode 100755 index 000000000..2abf40cce --- /dev/null +++ b/Lua/Quests/FrostfangSea/below_the_frozen_waves.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/FrostfangSea/below_the_frozen_waves.lua + Script Purpose : for the quest Below the Frozen Waves + Script Author : theFoof + Script Date : 2013.6.11 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Through Thine Eyes + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStepLocation(Quest, 1, "I should travel down to the Ry'Gorr caves and see what's inside.", 15, "Using the knowledge gained through the eyes of a Ry'Gorr orc I am to travel below the waves to the underwater tunnel below Erollis.", 0, -4.45, -66.71, 233.13) + AddQuestStepCompleteAction(Quest, 1, "FoundCaves") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 48603) then + SummonItem(Player, 48603, 1) + end + local thirin = GetSpawnByLocationID(GetZone(QuestGiver), 14520) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(thirin, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver020.mp3", "", "", 3456248509, 1625770921, Player) + AddConversationOption(conversation, "I'll be safe, Thirin.") + StartConversation(conversation, thirin, Player, "And if ye want another, just return here, and grab it. Brell protect ye, now. You're going to need it!") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function FoundCaves(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "There seems to be a network of caves. I should have a better look around.") + UpdateQuestTaskGroupDescription(Quest, 1, "It appears the orcs have created a network of tunnels underneath Erollis.") + AddQuestStepLocation(Quest, 2, "I should examine the suspicious cave-in to the north.", 15, "I have found that the orcs have built a network of caves under Erollis. From where I stand I can see a suspicious looking cave-in to the north. I should check it out.", 0, -9.93, -67.63, 157.29) + AddQuestStepCompleteAction(Quest, 2, "FoundCaveIn") +end + +function FoundCaveIn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have examined the suspicious cave-in to the north.") + UpdateQuestTaskGroupDescription(Quest, 2, "Upon examining the cave-in, it appears to have been hastily made, possibly using explosives. This is more evident by the crushed Ry'gorr tunneler found at the cave-in. I should return to Thirin Veliumdelver and inform him on what I've found.") + AddQuestStepChat(Quest, 3, "I must speak with Thirin Veliumdelver.", 1, "I need to return to Thirin Veliumdelver and inform him of the Ry'Gorrs' network of caves and of the suspicious cave-in.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + FoundCaves(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundCaveIn(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua b/Lua/Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua new file mode 100755 index 000000000..00ce77322 --- /dev/null +++ b/Lua/Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua + Script Purpose : the quest "Blood Spilled for the Blood Maiden" + Script Author : theFoof + Script Date : 2013.6.14 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : None + Followed by : Skulls for the Taking +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,38), 0, 0) + AddQuestStepKill(Quest, 1, "Slay the invading Ry'Gorr!", 8, 100, "Hillfred has ordered you to stain the frozen beachfront south of Cragged Spine with the blood of the charging Ry'Gorr.", 611, 4700117) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_005.mp3", "", "", 106446536, 3096406437, Player) + AddConversationOption(conversation, "Gladly.") + StartConversation(conversation, QuestGiver, Player, "Then do your worst! Stain the frozen beach front with the blood of the charging Ry'Gorr.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have slain enough of the invading Ry'Gorr.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have slain enough of the invading Ry'Gorr.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, now that you have slain enough of the invading Ry'Gorr.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/boatload_of_work.lua b/Lua/Quests/FrostfangSea/boatload_of_work.lua new file mode 100755 index 000000000..b7d665ae0 --- /dev/null +++ b/Lua/Quests/FrostfangSea/boatload_of_work.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : Quests/FrostfangSea/boatload_of_work.lua + Script Purpose : Handles the quest "Boatload of Work" + Script Author : theFoof + Script Date : 2013.5.5 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Call to Arms + Followed by : Flame On! +--]] + +local Barricade = 46842 + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(0,1), 0, 0) + AddQuestStep(Quest, 1, "I need to gather planks of wood.", 3, 100, "I am to gather planks of wood around the bow of the old boat wreckage on the western side of Pilgrims' Landing, and then give them to Yasha.", 2361) + AddQuestStepCompleteAction(Quest, 1, "GatheredPlanks") +end + +function GatheredPlanks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the bow planks Yasha needs.") + AddQuestStepChat(Quest, 2, "Return to Yasha Redblade", 1, "I am to gather planks of wood around the bow of the old boat wreckage on the western side of Pilgrims' Landing, and then give them to Yasha.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 2, "TalkedYasha") +end + +function TalkedYasha(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "Yasha was able to craft a makeshift barricade piece out of the planks of wood I gave her.") + SummonItem(Player, Barricade, 1) + AddQuestStep(Quest, 3, "Complete the Pilgrims' Landing barricade.", 1, 100, "I am to set the makeshift barricade piece on the ground where the break in the barricade line, south of Yasha, is lit by two torches", 0) + AddQuestStepCompleteAction(Quest, 3, "SetBarricade") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 46842) then + RemoveItem(Player, 46842) + end +end + +function SetBarricade(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "The barricade keeping the orcs at bay is now complete!") + AddQuestStepChat(Quest, 4, "Return Yasha Redblade", 1, "I am to return to Yasha Redblade near the broken ship's hull on southern section of Pilgrims' Landing.", 0 ,4700005) + AddQuestStepCompleteAction(Quest, 4, "FinishQuest") +end + +function FinishQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GatheredPlanks(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedYasha(Quest, QuestGiver, Player) + elseif Step == 3 then + SetBarricade(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/FrostfangSea/call_to_arms.lua b/Lua/Quests/FrostfangSea/call_to_arms.lua new file mode 100755 index 000000000..fcb1a5b47 --- /dev/null +++ b/Lua/Quests/FrostfangSea/call_to_arms.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/FrostfangSea/call_to_arms.lua + Script Purpose : Handles the quest "Call to Arms" + Script Author : thefoof + Script Date : 2013.5.4 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Stonefist's Art of Combat + Followed by : Boatload of Work +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(8,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "Slay Ry'Gorr centurions.", 4, 100, "I am to slay any of the Ry'Gorr centurions that are attacking the southeastern side of Pilgrims' Landing", 611, 4700027, 4700413) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I defended Pilgrims' Landing by slaying several of the attacking Ry'Gorr centurions!") + AddQuestStepChat(Quest, 2, "Return to Yasha Redblade", 1, "I am to return to to Yasha Redblade near the broken ship's hull on Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 2, "TalkedYasha") +end + +function TalkedYasha(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedYasha(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/calling_them_back.lua b/Lua/Quests/FrostfangSea/calling_them_back.lua new file mode 100755 index 000000000..09f993b23 --- /dev/null +++ b/Lua/Quests/FrostfangSea/calling_them_back.lua @@ -0,0 +1,165 @@ +--[[ + Script Name : Quests/FrostfangSea/calling_them_back.lua + Script Purpose : the quest Calling Them Back + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Totem Annihilation + Followed by : The Gauntlet +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(23,90), math.random(13,20), 0, 0) + AddQuestStep(Quest, 1, "I must plant the Azia ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 2, "I must plant the Beza ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 3, "I must plant the Caza ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 4, "I must plant the Dena ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 5, "I must plant the Ena ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStepCompleteAction(Quest, 1, "PlantedAzia") + AddQuestStepCompleteAction(Quest, 2, "PlantedBeza") + AddQuestStepCompleteAction(Quest, 3, "PlantedCaza") + AddQuestStepCompleteAction(Quest, 4, "PlantedDena") + AddQuestStepCompleteAction(Quest, 5, "PlantedEna") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 45448) then + SummonItem(Player, 45448, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard059.mp3", "", "", 118933813, 3206945922, Player) + AddConversationOption(conversation, "I understand.") + AddConversationOption(conversation, "Shouldn't be a problem.") + StartConversation(conversation, QuestGiver, Player, "Here are the wards. Head to the south, where the fighting is heaviest and poke around. Ye'll want to keep an eye out for arcane patterns drawn in the snow. Those designs indicate the best locations to place the wards.") +end + +function Deleted(Quest, QuestGiver, Player) + RemoveItem(Player, 45448) + local zone = GetZone(Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572695), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572694), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572693), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572692), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572696), Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function PlantedAzia(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572693) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 1, "I have planted the Azia ward.") + SendMessage(Player, "You place the Azia ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedBeza(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572694) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 2, "I have planted the Beza ward.") + SendMessage(Player, "You place the Beza ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedCaza(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572695) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 3, "I have planted the Caza ward.") + SendMessage(Player, "You place the Caza ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedDena(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572692) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 4, "I have planted the Dena ward.") + SendMessage(Player, "You place the Dena ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedEna(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572696) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 5, "I have planted the Ena ward.") + SendMessage(Player, "You place the Ena ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 35, 1) and QuestStepIsComplete(Player, 35, 2) and QuestStepIsComplete(Player, 35, 3) and QuestStepIsComplete(Player, 35, 4) and QuestStepIsComplete(Player, 35, 5) then + AddStep6(Quest, QuestGiver, Player) + end +end + +function AddStep6(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have placed the spirit wards.") + AddQuestStepChat(Quest, 6, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 6, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + RemoveItem(Player, 45448) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 35, 1) then + PlantedAzia(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 2) then + PlantedBeza(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 3) then + PlantedCaza(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 4) then + PlantedDena(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 5) then + PlantedEna(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 1) and QuestStepIsComplete(Player, 35, 2) and QuestStepIsComplete(Player, 35, 3) and QuestStepIsComplete(Player, 35, 4) and QuestStepIsComplete(Player, 35, 5) then + AddStep6(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/campside_spores.lua b/Lua/Quests/FrostfangSea/campside_spores.lua new file mode 100755 index 000000000..de5449734 --- /dev/null +++ b/Lua/Quests/FrostfangSea/campside_spores.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/FrostfangSea/campside_spores.lua + Script Purpose : the quest Campside Spores + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : Highly Flammable Materials + Followed by : Ry'Gorr Tool Taking +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Apply the crustose spores to any Ry'Gorr provisions on Jagged Daggers.", 4, 100, "Odon wants to apply the crustose spores to any Ry'Gorr provisions you find within their encampment on Jagged Daggers.", 569) + AddQuestStepCompleteAction(Quest, 1, "UsedSpores") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45807) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_028.mp3", "", "", 2284024418, 845774504, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Oh, but you are not the one that will be doing it. We're going to leave that up to the crustose. Take this pouch of crustose spores and spread them on any Ry'Gorr provisions that you find on Jagged Daggers Isle. Return to me when you have accomplished this task.") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 45807) then + RemoveItem(Player, 45807) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedSpores(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You spread crustose spores on many provision stashes the Ry'Gorr had and survived the ensuing attacks by angered orcs.") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson now that you have spread crustose spores on the Ry'Gorr provisions and survived the ensuing attacks by angered orcs.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you have spread crustose spores on the Ry'Gorr provisions and survived the ensuing attacks by angered orcs.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 45807) then + RemoveItem(Player, 45807) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedSpores(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/clan_of_the_cave_imps.lua b/Lua/Quests/FrostfangSea/clan_of_the_cave_imps.lua new file mode 100755 index 000000000..6f82ec8d2 --- /dev/null +++ b/Lua/Quests/FrostfangSea/clan_of_the_cave_imps.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/FrostfangSea/clan_of_the_cave_imps.lua + Script Purpose : the quest Clan of the Cave Imps + Script Author : theFoof + Script Date : 2013.7.21 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Impish Threats + Followed by : Mystery on the Orc Iceberg +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Reclaim any Cragged Spine supply crates you locate within the glacial imp cave.", 4, 100, "Reclaim the Cragged Spine provisions that the miscreants and scoundrels have stolen.", 655) + AddQuestStepKill(Quest, 2, "Slay any imps that may stand in your way within the glacial imp cave.", 6, 100, "Reclaim the Cragged Spine provisions that the miscreants and scoundrels have stolen.", 611, 4700066, 4700065, 4701106, 4701143) + AddQuestStepCompleteAction(Quest, 1, "GotCrates") + AddQuestStepCompleteAction(Quest, 2, "KilledImps") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrates(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found all of the Cragged Spine supply crates!") + ProgressCheck(Quest, QuestGiver, Player) +end + +function KilledImps(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "You've slain enough of the imps!") + ProgressCheck(Quest, QuestGiver, Player) +end + +function ProgressCheck(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 79, 1) and QuestStepIsComplete(Player, 79, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found all of the Cragged Spine supply crates and have slain many imps in the process!") + AddQuestStepChat(Quest, 3, "Return to Knut Orcbane now that you retrieved all of the stolen Cragged Spine provisions.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that you retrieved all of the stolen Cragged Spine supplies.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 79, 1) then + GotCrates(Quest, QuestGiver, Player) + elseif QuestStepIsComplete(Player, 79, 2) then + KilledImps(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/cod_and_chips.lua b/Lua/Quests/FrostfangSea/cod_and_chips.lua new file mode 100755 index 000000000..5238fea40 --- /dev/null +++ b/Lua/Quests/FrostfangSea/cod_and_chips.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/cod_and_chips.lua + Script Purpose : the quest Cod and Chips + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Bear Bottoms + Followed by : Essential Ingredient +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_032.mp3", "", "", 911192006, 688179245, Player) + AddConversationOption(conversation, "Then I shall return with the large Iceclad cod.") + StartConversation(conversation, QuestGiver, Player, "You will find the large Iceclad cod in the Frostfang Sea, northwest of here. I will need them to be large Iceclad cod in order to feed everyone.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must hunt large Iceclad cod.", 3, 100, "I must hunt large Iceclad cod. They can be found swimming in the Frostfang Sea northwest of Gwenevyn's Cove, on the western side of Erollis.", 2541, 4700031) + AddQuestStepCompleteAction(Quest, 1, "KilledCod") +end + +function KilledCod(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have hunted the large Iceclad cod. I should return to Gwenevyn's Cove.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "Blorpisa thanked me for bringing her the large Iceclad cod.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCod(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/crustose_removal.lua b/Lua/Quests/FrostfangSea/crustose_removal.lua new file mode 100755 index 000000000..000469799 --- /dev/null +++ b/Lua/Quests/FrostfangSea/crustose_removal.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/FrostfangSea/crustose_removal.lua + Script Purpose : the quest Crustose Removal + Script Author : theFoof + Script Date : 2013.5.12 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : None + Followed by : Repelling Little Critters +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,50), math.random(1,3), 0, 0) + AddQuestStepKill(Quest, 1, "Slay crustore defenders or sporetenders.", 4, 100, "I am to slay any of the crustose defenders or sporetenders I find on the western side of the isle in search of spore samples.", 811, 4700405, 4700003, 4700408, 4700019) + AddQuestStepCompleteAction(Quest, 1, "KilledFungus") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledFungus(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain crustose fungusmen I found on the western side of the isle.") + AddQuestStepChat(Quest, 2, "Return to Arrin Clelland.", 1, "I am to return to Arrin Clelland in Pilgrims' Landing.", 0, 4700000) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledFungus(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/disarming_the_rygorr.lua b/Lua/Quests/FrostfangSea/disarming_the_rygorr.lua new file mode 100755 index 000000000..6d10245c3 --- /dev/null +++ b/Lua/Quests/FrostfangSea/disarming_the_rygorr.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/disarming_the_rygorr.lua + Script Purpose : the quest Disarming the Ry'Gorr + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Weapon of Choice + Followed by : Perfectly Missing +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must cleanse Ry'Gorr weapons.", 5, 100, "I must go to the battlefield and cleanse Ry'Gorr weapons.", 616) + AddQuestStepCompleteAction(Quest, 1, "CleansedWeapons") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 47614) then + SummonItem(Player, 47614, 1) + end +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 47614) then + RemoveItem(Player, 47614) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function CleansedWeapons(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have cleansed the Ry'Gorr weapons I found on the battlefield.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild. Blorpisa is staying at the Great Shelf.", 1, "I must return to Blorpisa at the Great Shelf and tell her that her potion was a success.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + if HasItem(Player, 47614) then + RemoveItem(Player, 47614) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CleansedWeapons(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/displaced_and_discouraged,lua b/Lua/Quests/FrostfangSea/displaced_and_discouraged,lua new file mode 100755 index 000000000..b59e28b74 --- /dev/null +++ b/Lua/Quests/FrostfangSea/displaced_and_discouraged,lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/displaced_and_discouraged.lua + Script Purpose : for the quest "Displaced and Discouraged" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : None + Followed by : Reclaiming Their Honor +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several Ry'Gorr raiders.", 8, 100, "I must kill several Ry'Gorr raiders. The raiders can be found on the jetties of ice below Pride Overlook and Herga's Choke, or on Ry'Gorr Isle.", 611, 4701108, 4700868) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Brell be with you, as well.") + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "We could surely use your help with these orcs. Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several Ry'Gorr raiders.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/displaced_and_discouraged.lua b/Lua/Quests/FrostfangSea/displaced_and_discouraged.lua new file mode 100755 index 000000000..b59e28b74 --- /dev/null +++ b/Lua/Quests/FrostfangSea/displaced_and_discouraged.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/displaced_and_discouraged.lua + Script Purpose : for the quest "Displaced and Discouraged" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : None + Followed by : Reclaiming Their Honor +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several Ry'Gorr raiders.", 8, 100, "I must kill several Ry'Gorr raiders. The raiders can be found on the jetties of ice below Pride Overlook and Herga's Choke, or on Ry'Gorr Isle.", 611, 4701108, 4700868) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Brell be with you, as well.") + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "We could surely use your help with these orcs. Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several Ry'Gorr raiders.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/domestication_is_the_new_survivalism.lua b/Lua/Quests/FrostfangSea/domestication_is_the_new_survivalism.lua new file mode 100755 index 000000000..6911ddbbd --- /dev/null +++ b/Lua/Quests/FrostfangSea/domestication_is_the_new_survivalism.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/domestication_is_the_new_survivalism.lua + Script Purpose : for the quest "Domestication is the New Survivalism" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Tackling the Basilisks + Followed by : Domestication is the New Survivalism +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must harvest frostbiter basilisk eggs.", 8, 100, "I must harvest frostbiter basilisk eggs. The basilisks' nests can be found to the east of the Great Shelf, along the shoreline past the battlefield.", 1190) + AddQuestStepCompleteAction(Quest, 1, "GotEggs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "You can count on me.") + AddConversationOption(conversation, "We all do what we can.") + StartConversation(conversation, QuestGiver, Player, "I don't expect the adult basilisks will take kindly to ye poking around in their nests, so prepare for a fight. And thank ye, in advance, for the help. Yer a reliable and generous sort and it'd be a bleak world without ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotEggs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have harvested the frostbiter basilisk eggs.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotEggs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/fewer_orcs_to_worry_about.lua b/Lua/Quests/FrostfangSea/fewer_orcs_to_worry_about.lua new file mode 100755 index 000000000..4e43a8a8d --- /dev/null +++ b/Lua/Quests/FrostfangSea/fewer_orcs_to_worry_about.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/fewer_orcs_to_worry_about.lua + Script Purpose : the quest Fewer Orcs to Worry About + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Green Mystery + Followed by : Geode Caching +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,40), 0, 0) + AddQuestStepKill(Quest, 1, "Slay any Ry'Gorr tunnelers you find within the Demon's Delve tunnels.", 8, 100, "Hillfred is sure that the Ry'Gorr that survived the green, billowing clouds have been weakened by it. She has tasked you with returning to the Demon's Delve tunnels.", 611, 4700105) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have slain enough Ry'Gorr tunnelers for Hillfred.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have slain so many Ry'Gorr tunnelers from within the Demon's Delve.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, now that you have slain so many Ry'Gorr tunnelers from within the Demon's Delve.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/field_testing.lua b/Lua/Quests/FrostfangSea/field_testing.lua new file mode 100755 index 000000000..37b84180f --- /dev/null +++ b/Lua/Quests/FrostfangSea/field_testing.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/field_testing.lua + Script Purpose : the quest Field Testing + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : An Essential Ingredient + Followed by : Field Testing Part Two +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_049.mp3", "", "", 3167062203, 1810444442, Player) + AddConversationOption(conversation, "I shall return to you once I have gathered the ice lilies.") + StartConversation(conversation, QuestGiver, Player, "They grow on the Icemane Plains. You should have no trouble finding them, they are quite beautiful. Here, I shall cast the spell on you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(20,50), math.random(6,12), 0, 0) + AddQuestStep(Quest, 1, "I must collect ice lilies.", 5, 100, "I must head to the Icemane Plains and collect ice lilies.", 1958) + AddQuestStepCompleteAction(Quest, 1, "GotLilies") +end + +function GotLilies(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the ice lilies.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove", 1, "I must return the collected ice lilies to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotLillies(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/field_testing_part_two.lua b/Lua/Quests/FrostfangSea/field_testing_part_two.lua new file mode 100755 index 000000000..983d06978 --- /dev/null +++ b/Lua/Quests/FrostfangSea/field_testing_part_two.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/field_testing_part_two.lua + Script Purpose : the quest Field Testing Part Two + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Field Testing + Followed by : None +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_057.mp3", "", "", 4242418516, 2706446294, Player) + AddConversationOption(conversation, "I will return to you once I have scouted out the location.") + StartConversation(conversation, QuestGiver, Player, "Here, let me cast the spell on you. Do take care!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,50), math.random(5,12), 0, 0) + AddQuestStepLocation(Quest, 1, "I must test the Frost-born Ward's effectiveness by scouting the Pride Overlook.", 25, "I must head to the Pride Overlook on the Icemane Plains to test the new Frost-born Ward. Pride Overlook is west of Gwenevyn's Cove.", 3163, 598.01, 66.20, -505.68) + AddQuestStepCompleteAction(Quest, 1, "ScoutedPride") +end + +function ScoutedPride(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have determined that the Frost-born Ward is still ineffective.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + ScoutedPride(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/flame_on.lua b/Lua/Quests/FrostfangSea/flame_on.lua new file mode 100755 index 000000000..058e7721a --- /dev/null +++ b/Lua/Quests/FrostfangSea/flame_on.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/flame_on.lua + Script Purpose : the quest Flame On! + Script Author : theFoof + Script Date : 2013.5.9 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Boatload of Work + Followed by : Ride Upon the Gwenevyn II +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random (10,80), math.random(1,2), 0, 0) + AddQuestStep(Quest, 1, "Light the signal fire.", 1, 100, "I must climb the rope ladder affixed to the imposing wall of ice east of Yasha Redblade to reach the signal fire.", 2233) + AddQuestStepCompleteAction(Quest, 1, "LitFire") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function LitFire(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have lit the signal fire.") + AddQuestStep(Quest, 2, "Kill the ambushing orcs!", 1, 100, "I was ambushed by orcs while I was lighting the signal fire on the ice shelf above the eastern end of the island!", 0) + AddQuestStepCompleteAction(Quest, 2, "KilledOrcs") +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I was ambushed by orcs while I was lighting the signal fire! I faced them valiantly and live to tell the tale.") + AddQuestStepChat(Quest, 3, "Return to Yasha Redblade", 1, "I am to return to Yasha Redblade near the broken ship's hull on Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 3, "CompletedQuest") +end + +function CompletedQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + LitFire(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledOrcs(Quest, QuestGiver, Player) + elseif Step == 3 then + CompletedQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/flawless_core_chore.lua b/Lua/Quests/FrostfangSea/flawless_core_chore.lua new file mode 100755 index 000000000..055590ad8 --- /dev/null +++ b/Lua/Quests/FrostfangSea/flawless_core_chore.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/flawless_core_chore.lua + Script Purpose : the quest "Flawless Core Chore" + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Becoming Another Orcbane + Followed by : Sometimes You Feel Like a Knut +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,50), 0, 0) + AddQuestStepKill(Quest, 1, "Slay velinoid smashers in your effort to obtain their flawless velium cores.", 6, 80, "Slay velinoid smashers in your effort to obtain their flawless velium cores.", 3029, 4700554) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_053.mp3", "", "", 592887905, 3275413012, Player) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, QuestGiver, Player, "It is them, the Velinoid crystal men. The old magick is in them. Seize an armful of their flawless velium cores and return to us.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have obtained enough flawless velium cores to suffice.") + AddQuestStepChat(Quest, 2, "Return to Knut Orcbane with the flawless velium cores you obtained.", 1, "You should return to Knut Orcbane, at Cragged Spine, with the flawless velium cores you obtained.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/foiling_the_flank.lua b/Lua/Quests/FrostfangSea/foiling_the_flank.lua new file mode 100755 index 000000000..4410c4993 --- /dev/null +++ b/Lua/Quests/FrostfangSea/foiling_the_flank.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/FrostfangSea/foiling_the_flank.lua + Script Purpose : for the quest "Foiling the Flank" + Script Author : theFoof + Script Date : 2013.6.2 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Rakan RockBreaker + Preceded by : The Demand for Supplies + Followed by : None +--]] + + +function Init(Quest) + SetQuestRepeatable(Quest) + SetQuestFeatherColor(Quest, 3) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several sprinting Ry'Gorr gatecallers.", 5, 100, "I must kill several sprinting Ry'Gorr gatecallers and several Ry'Gorr portal casters. The gatecallers have been sneaking up the choke from the battlefield, and the portal casters can be found at the summit of Herga's Choke.", 611, 4700075) + AddQuestStepKill(Quest, 2, "I must kill several Ry'Gorr portal casters.", 3, 100, "I must kill several sprinting Ry'Gorr gatecallers and several Ry'Gorr portal casters. The gatecallers have been sneaking up the choke from the battlefield, and the portal casters can be found at the summit of Herga's Choke.", 611, 4701115, 4701120) + AddQuestStepCompleteAction(Quest, 1, "KilledGateCaller") + AddQuestStepCompleteAction(Quest, 2, "KilledPortalCaster") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker013.mp3", "", "", 3252337968, 480414167, Player) + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "I will be back shortly.") + StartConversation(conversation, QuestGiver, Player, "Ye delivered the last of the visors to Orica Deadshot, but ye should still be able to pick out the camouflaged Ry'Gorr gatecallers if ye look for that tell-tale glimmer. Head to the peak of Herga's Choke to find the portal casters. Good luck and good hunting, " .. GetName(Player) .. ".") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledGateCaller(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I successfully killed several sprinting Ry'Gorr gatecallers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledPortalCaster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I successfully killed several Ry'Gorr portal casters.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 46, 1) and QuestStepIsComplete(Player, 46, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I successfully killed several sprinting Ry'Gorr gatecallers and several Ry'Gorr portal casters.") + AddQuestStepChat(Quest, 3, "I must speak to Rakan Rockbreaker.", 1, "I must speak to Rakan Rockbreaker, who can be found in the cave at the Great Shelf.", 0, 4700082) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 46, 1) then + KilledGateCaller(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 46, 2) then + KilledPortalCaster(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/forsaking_the_grave.lua b/Lua/Quests/FrostfangSea/forsaking_the_grave.lua new file mode 100755 index 000000000..eb4c65168 --- /dev/null +++ b/Lua/Quests/FrostfangSea/forsaking_the_grave.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/FrostfangSea/forsaking_the_grave.lua + Script Purpose : the quest Forsaking the Grave + Script Author : theFoof + Script Date : 2013.6.5 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : The Siege is Not Over + Followed by : All That Remains +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several reanimated Ry'Gorr skeletons on the Forbidden Ossuary of Ice.", 8, 100, "I must kill several reanimated Ry'Gorr skeletons on the Forbidden Ossuary of Ice.", 611, 4700878) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga044.mp3", "", "", 2826724628, 2053031770, Player) + AddConversationOption(conversation, "The abominations will be eliminated.") + AddConversationOption(conversation, "I know exactly where to find them.") + StartConversation(conversation, QuestGiver, Player, "Seek out the skeletons on the isle known as the Forbidden Ossuary of Ice. The Ossuary floats off the coast, to the southwest of Erollis.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several reanimated Ry'Gorr skeletons.") + AddQuestStepChat(Quest, 2, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/frigid_fishing.lua b/Lua/Quests/FrostfangSea/frigid_fishing.lua new file mode 100755 index 000000000..8cfa8c5f6 --- /dev/null +++ b/Lua/Quests/FrostfangSea/frigid_fishing.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/FrostfangSea/frigid_fishing.lua + Script Purpose : the quest "Frigid Fishing" + Script Author : theFoof + Script Date : 2013.5.15 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : Scraggly Foodstuffs + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(30,60), math.random(2,4), 0, 0) + AddQuestStepKill(Quest, 1, "Hunt Iceclad cod.", 5, 100, "I promised to hunt Iceclad cod in the waters around Pilgrims' Landing.", 2540, 4700028) + AddQuestStepCompleteAction(Quest, 1, "KilledCod") +end + +function KilledCod(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have hunted Iceclad cod in the waters around Pilgrims' Landing.") + AddQuestStepChat(Quest, 2, "Return the Iceclad cod to Arrin.", 1, "I am to return the Iceclad cod to Arrin Clelland in Pilgrims' Landing.", 2540, 4700000) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCod(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/frozen_pincer_chowder.lua b/Lua/Quests/FrostfangSea/frozen_pincer_chowder.lua new file mode 100755 index 000000000..fe87e23dc --- /dev/null +++ b/Lua/Quests/FrostfangSea/frozen_pincer_chowder.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/FrostfangSea/frozen_pincer_chowder.lua + Script Purpose : the quest "Frozen Pincer Chowder" + Script Author : theFoof + Script Date : 2013.9.1 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Olga Macleod + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect a sprig of halasian reeds for Olga.", 1, 100, "I must collect a sprig of halasian reeds for Olga. I can find the halasian reed plant down near the water's edge at the Erollis Dock, east of New Halas.", 822) + AddQuestStepCompleteAction(Quest, 1, "GotSprig") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_006.mp3", "", "", 1415155134, 885074882, Player) + AddConversationOption(conversation, "I shall be back with the parsley and pincers!") + StartConversation(conversation, QuestGiver, Player, "How nice of you! If you do so, you can have a bowl of the chowder for yourself. What I need is frozen pincers and halasian reeds. The halasian reeds and the frozen pincers are down near the water's edge at the Erollis Dock, east of New Halas.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotSprig(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the halasian reeds for Olga.") + AddQuestStepKill(Quest, 2, "I must kill frozen pincers for Olga's chowder.", 4, 100, "I must kill frozen pincers for Olga. The pincers are at the Erollis Dock in New Halas.", 77, 4700215) + AddQuestStepCompleteAction(Quest, 2, "KilledCrabs") +end + +function KilledCrabs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected the frozen pincer meat for Olga.") + AddQuestStepChat(Quest, 3, "I must speak with Olga Macleod near The Stone Hammer.", 1, "I must return the halasian parsley and frozen pincer meat to Olga Macleod. Olga is at the fire next to the mender's workshop, The Stone Hammer, in New Halas.", 0, 4700258) + AddQuestStepCompleteAction(Quest, 3, "TalkedOlga") +end + +function TalkedOlga(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Olga.") + AddQuestStep(Quest, 4, "I must try some of Olga's frozen pincer chowder.", 1, 100, "Olga has taken the ingredients I collected and prepared her recipe for frozen pincer chowder.", 294) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotSprig(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledCrabs(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedOlga(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/geode_caching.lua b/Lua/Quests/FrostfangSea/geode_caching.lua new file mode 100755 index 000000000..3800ac28b --- /dev/null +++ b/Lua/Quests/FrostfangSea/geode_caching.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/geode_caching.lua + Script Purpose : the quest Geode Caching + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Fewer Orcs to Worry About + Followed by : None +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 3) + SetQuestRepeatable(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(52,99), 0, 0) + AddQuestStep(Quest, 1, "Search the Velinoid Catacombs in hopes of attaining rare cerise velium crystals.", 6, 100, "Hillfred's interest was piqued by the Velinoid Catacombs you found within the caves below Erollis. She believes a place like that could house the rare cerise velium crystal.", 3776) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found quite a few of the rare cerise velium crystals.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have found quite a few of the rare cerise velium crystals.", 1, "You presented Hillfred with all of the rare cerise velium crystals you found.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/green_mystery.lua b/Lua/Quests/FrostfangSea/green_mystery.lua new file mode 100755 index 000000000..fce9fa96b --- /dev/null +++ b/Lua/Quests/FrostfangSea/green_mystery.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/green_mystery.lua + Script Purpose : the quest "Green Mystery" + Script Author : theFoof + Script Date : 2013.6.14 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Skulls for the Taking + Followed by : Fewer Orcs to Worry About +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Throw some of the ice upon flames within the Demon's Delve tunnels.", 6, 100, "Hillfred has been holding on to some green ice that was found embedded within The Great Shelf. She is convinced it contains the deadly Green Mist.", 2521) + AddQuestStepCompleteAction(Quest, 1, "UsedIce") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 7928) then + SummonItem(Player, 7928, 1) + end +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 7928) then + RemoveItem(Player, 7928) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedIce(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "The green ice worked!") + UpdateQuestTaskGroupDescription(Quest, 1, "The green ice worked! It killed any Ry'Gorr orc that breathed the billowing cloud of fumes.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch and tell her how the green ice killed any Ry'Gorr orc that breathed the billowing cloud of fumes.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, and tell her how the green ice worked!", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedIce(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/ham_and_beans.lua b/Lua/Quests/FrostfangSea/ham_and_beans.lua new file mode 100755 index 000000000..356bf50e1 --- /dev/null +++ b/Lua/Quests/FrostfangSea/ham_and_beans.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/FrostfangSea/ham_and_beans.lua + Script Purpose : the quest Ham and Beans + Script Author : theFoof + Script Date : 2013.9.2 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Barker Gordon + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect halasian beans for Barker's meal.", 1, 100, "I must collect halasian beans for Barker. I can find the halasian beans at the shaman hut called Pilgrims' Hearth in southwest New Halas.", 805) + AddQuestStepCompleteAction(Quest, 1, "GotBeans") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_008.mp3", "", "", 3672106737, 3369025535, Player) + AddConversationOption(conversation, "Okay then, I will return with the ham and beans.") + StartConversation(conversation, QuestGiver, Player, "Since you'll be up that way, could you also pick me up some halasian beans? They're at the shaman hut called Pilgrims' Hearth in southwest New Halas.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotBeans(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the halasian beans for Barker.") + AddQuestStepKill(Quest, 2, "I must kill Bentor the Mighty for Barker's meal.", 1, 100, "I must kill Bentor the Mighty for Barker. Bentor the Mighty is in the pen next to the mender's workshop, The Stone Hammer, in New Halas.", 611, 4700251) + AddQuestStepCompleteAction(Quest, 2, "KilledPig") +end + +function KilledPig(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected Bentor the Mighty's meat for Barker.") + AddQuestStepChat(Quest, 3, "I must speak with Barker Gordon at the Erollis Dock.", 1, "I must return the halasian beans and meat from Bentor to Barker Gordon. Barker is at the Erollis Dock in New Halas.", 0, 4700242) + AddQuestStepCompleteAction(Quest, 3, "TalkedBarker") +end + +function TalkedBarker(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Barker.") + AddQuestStep(Quest, 4, "I must try some of Barker's ham and beans.", 1, 100, "Barker has taken the ingredients I collected and prepared his recipe for ham and beans.", 297) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotBeans(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledPig(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedBarker(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/highly_flammable_materials.lua b/Lua/Quests/FrostfangSea/highly_flammable_materials.lua new file mode 100755 index 000000000..06eafd345 --- /dev/null +++ b/Lua/Quests/FrostfangSea/highly_flammable_materials.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/FrostfangSea/highly_flammable_materials.lua + Script Purpose : the quest Highly Flammable Materials + Script Author : theFoof + Script Date : 2013.6.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : Whirling Ice Time + Followed by : Campside Spores +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Find an item to torch the Ry'Gorr encampments with on Jagged Daggers.", 1, 100, "Find a way to burn down any Ry'Gorr encampments you find on Jagged Daggers.", 2230) + AddQuestStepCompleteAction(Quest, 1, "GotTorch") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_016.mp3", "", "", 1474162446, 1230111187, Player) + AddConversationOption(conversation, "Gladly!") + StartConversation(conversation, QuestGiver, Player, "And if you find any Ry'Gorr encampments, destroy them by any means necessary!") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 47882) then + RemoveItem(Player, 47882) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotTorch(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found a Ry'Gorr firepit torch!") + AddQuestStep(Quest, 2, "Burn down any Ry'Gorr encampments on Jagged Daggers.", 6, 100, "Find a way to burn down any Ry'Gorr encampments you find on Jagged Daggers.", 2572) + AddQuestStepCompleteAction(Quest, 2, "BurnedTents") +end + +function BurnedTents(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You burned down the Ry'Gorr encampments you found on Jagged Daggers!") + AddQuestStepChat(Quest, 3, "Return to Odon Scourgeson at Cragged Spine.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you burned down the Ry'Gorr encampments you found on Jagged Daggers.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 47882) then + RemoveItem(Player, 47882) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotTorch(Quest, QuestGiver, Player) + elseif Step == 2 then + BurnedTents(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/if_i_had_a_hammer.lua b/Lua/Quests/FrostfangSea/if_i_had_a_hammer.lua new file mode 100755 index 000000000..cf5f2a903 --- /dev/null +++ b/Lua/Quests/FrostfangSea/if_i_had_a_hammer.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : Quests/FrostfangSea/if_i_had_a_hammer.lua + Script Purpose : the quest If I Had A Hammer + Script Author : theFoof + Script Date : 2013.5.16 + + Zone : Frostfang Sea + Quest Giver : Bull the Craft + Preceded by : Tutorial: Learning to Harvest + Followed by : +--]] +-- reward is "Handbook of the Ravens of the North", 722 tradeskill xp, +250 Ravens of the North faction and 6-8 silver + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepObtainItem(Quest, 1, "I need to get the recipe from the table.", 1, 100, "Bull the mender has instructed me to get what I'll need for crafting. There is a recipe on the table, sack of coal on the ground, and I'll need some of the tin and lead clusters I harvested earlier.", 0, 32122) + AddQuestStepCompleteAction(Quest, 1, "GotRecipe") +end + +function GotRecipe(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I picked up the recipe, and should examine it in my inventory to scribe it.") + AddQuestStepObtainItem(Quest, 2, "I need to pick up some coal from the sack.", 1, 100, "Bull the mender has instructed me to get what I'll need for crafting. There is a recipe on the table, sack of coal on the ground, and I'll need some of the tin and lead clusters I harvested earlier.", 0, 5771) + AddQuestStepCompleteAction(Quest, 2, "GotCoal") +end + +function GotCoal(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I obtained the supplies I will need.") + AddQuestStepObtainItem(Quest, 3, "I should ensure I have a tin and lead cluster in my bags, then use the mender's anvil to craft.", 1, 100, "I should scribe the recipe book, and ensure I have a lead and tin cluster in my bags. Then click on the anvil in front of the mender to use it. Select the lucky wolf paw recipe and then click 'Create', then 'Begin'.", 0, 163306) + AddQuestStepCompleteAction(Quest, 3, "CraftedPaw") +end + +function CraftedPaw(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I created a Lucky Wolf Paw charm.") + AddQuestStepChat(Quest, 4, "I should return to Bull once again.", 1, "Bull the mender is at the wrecked boat on Pilgrims' Landing. I should let him know that I made the lucky wolf paw charm.", 0, 4700009) + AddQuestStepCompleteAction(Quest, 4, "TalkedBull") +end + +function TalkedBull(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "Bull has suggested that I speak to the tradeskill tutor once I reach Halas to learn more about crafting.") + AddQuestStepChat(Quest, 5, "I should find the tradeskill tutor in the city to learn more about crafting.", 1, "Once I reach Halas, the tradeskill tutor can be found in the crafting area of Ravens' Roost, near the bank and housing.", 0, 4700220) + AddQuestStepCompleteAction(Quest, 5, "CompleteQuest") +end + + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + SendPopUpMessage(Player, "This quest cannot be fully completed yet. Do not report as bug.", 255, 0, 0) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I'll get those items now.") + StartConversation(conversation, QuestGiver, Player, "Pick up a copy of my lucky charm recipe over there beside me, and scribe it into your recipe book. Then grab some coal from the sack. You'll also need one of the tin clusters and lead clusters that you harvested earlier, and make sure you have them with you in your bags.") + AddSpawnAccess(GetSpawn(Player, 4701805), Player) + AddSpawnAccess(GetSpawn(Player, 4701804), Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotRecipe(Quest, QuestGiver, Player) + elseif Step == 2 then + GotCoal(Quest, QuestGiver, Player) + elseif Step == 3 then + CraftedPaw(Quest, QuestGiver, Player) + elseif Step == 4 then + TalkedBull(Quest, QuestGiver, Player) + elseif Step == 5 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/impish_threats.lua b/Lua/Quests/FrostfangSea/impish_threats.lua new file mode 100755 index 000000000..180f2272f --- /dev/null +++ b/Lua/Quests/FrostfangSea/impish_threats.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/impish_threats.lua + Script Purpose : the quest Impish Threats + Script Author : theFoof + Script Date : 2013.7.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : None + Followed by : Clan of the Cave Imps +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStepKill(Quest, 1, "Slay the glacial imps that inhabit the cliff north of Cragged Spine.", 8, 100, "The defenders at Cragged Spine are finding it difficult to face the attacking Ry'Gorr orcs while they are being pestered by imps from behind.", 611, 4700066, 4700065, 4701106) + AddQuestStepCompleteAction(Quest, 1, "KilledImps") +end + +function Accepted(Quest, QuestGiver, Spawn) + FaceTarget(QuestGiver, Spawn) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_015.mp3", "", "", 2593056094, 2652573993, Spawn) + AddConversationOption(conversation, "Will do!") + StartConversation(conversation, QuestGiver, Spawn, "As I knew you would! There's no shying away from duty for you. Report back to me when you have completed this mission, " .. GetName(Spawn) .. ".") +end + +function Deleted(Quest, QuestGiver, Spawn) +end + +function Declined(Quest, QuestGiver, Spawn) +end + +function KilledImps(Quest, QuestGiver, Spawn) + UpdateQuestTaskGroupDescription(Quest, 1, "The number of glacial imps has been reduced.") + AddQuestStepChat(Quest, 2, "Return to Knut Orcbane now that the number of glacial imps has been reduced.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that the number of glacial imps has been reduced.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Spawn) + GiveQuestReward(Quest, Spawn) +end + +function Reload(Quest, QuestGiver, Spawn, Step) + if Step == 1 then + KilledImps(Quest, QuestGiver, Spawn) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/kestrel_pot_pie.lua b/Lua/Quests/FrostfangSea/kestrel_pot_pie.lua new file mode 100755 index 000000000..328afaff3 --- /dev/null +++ b/Lua/Quests/FrostfangSea/kestrel_pot_pie.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : Quests/FrostfangSea/kestrel_pot_pie.lua + Script Purpose : the quest Kestrel Pot Pie + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Alice Swamprunner + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect ice shrooms for Alice's pie.", 5, 100, "I must collect ice shrooms for Alice. I can find the ice shrooms in the cave leading to the Erollis Dock.", 811) + AddQuestStepCompleteAction(Quest, 1, "GotShrooms") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_006.mp3", "", "", 2612887763, 84831884, Player) + AddConversationOption(conversation, "I shall return to you Alice with the meat and shrooms.") + StartConversation(conversation, QuestGiver, Player, "Great! Return the ingredients to me at your convenience.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + + +function GotShrooms(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the ice shrooms for Alice.") + AddQuestStepKill(Quest, 2, "I must kill downy kestrels for Alice's pie.", 3, 100, "I must kill downy kestrels for Alice. The kestrels are at the south entrance to New Halas.", 80, 4700122) + AddQuestStepCompleteAction(Quest, 2, "KilledBirds") +end + +function KilledBirds(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected the downy kestrel meat for Alice.") + AddQuestStepChat(Quest, 3, "I must speak with Alice Swamprunner in Ravens' Roost.", 1, "I must return the ice shrooms and downy kestrel meat to Alice Swamprunner. Alice is at the restaurant in Ravens' Roost in New Halas.", 0, 4700230) + AddQuestStepCompleteAction(Quest, 3, "TalkedAlice") +end + +function TalkedAlice(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Alice.") + AddQuestStep(Quest, 4, "I must try some of Alice's kestrel pot pie.", 1, 100, "Alice has taken the ingredients I collected and prepared her recipe for kestrel pot pie.", 2558) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotShrooms(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledBirds(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedAlice(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/little_lost_froglok.lua b/Lua/Quests/FrostfangSea/little_lost_froglok.lua new file mode 100755 index 000000000..5c3a7363e --- /dev/null +++ b/Lua/Quests/FrostfangSea/little_lost_froglok.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/FrostfangSea/an_unbearable_problem.lua + Script Purpose : the quest An Unbearable Problem + Script Author : theFoof + Script Date : 2013.5.21 + + Zone : Frostfang Sea + Quest Giver : Flibbit Quaqmarr + Preceded by : An Unbearable Problem + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_029.mp3", "", "", 1372379832, 3108068275, Player) + AddConversationOption(conversation, "I will return once I have news for you.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. "! Please hurry!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + if GetTempVariable(Player, "splorp") ~= nil then + Despawn(GetTempVariable(Player, "splorp")) + SetTempVariable(Player, "splorp", nil) + end +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepChat(Quest, 1, "I must speak with Sigbrith MacInnes. Sigbrith MacInnes is the mender for Gwenevyn's Cove.", 1, "I must ask Sigbrith MacInnes if she has seen Splorpy.", 0, 4700046) + AddQuestStepCompleteAction(Quest, 1, "TalkedSibrith") +end + +function TalkedSibrith(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "Sigbrith MacInnes informed me that I should search for Splorpy southwest of Gwenevyn's Cove.") + AddQuestStepChat(Quest, 2, "I must find Splorpy Quagmarr.", 1, "I should search for Splorpy. He was last seen southwest of Gwenevyn's Cove, past the blizzard grizzlies.", 0, 4700044) + AddQuestStepCompleteAction(Quest, 2, "FoundSplorpy") +end + +function FoundSplorpy(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have found Splorpy and should return him to his father in Gwenevyn's Cove.") + AddQuestStepChat(Quest, 3, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I must return Splorpy to his father Flibbit Quagmarr in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedSibrith(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundSplorpy(Quest, QuestGiver, Player) + elseif Step == 3 then + FoundSplorpy(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/loosening_their_grip.lua b/Lua/Quests/FrostfangSea/loosening_their_grip.lua new file mode 100755 index 000000000..70974c347 --- /dev/null +++ b/Lua/Quests/FrostfangSea/loosening_their_grip.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/loosening_their_grip.lua + Script Purpose : the quest Loosening Their Grip + Script Author : theFoof + Script Date : 2013.6.4 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : None + Followed by : The Charge +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must cut the lines of the spears.", 5, 100, "I must cut the lines of the spears thrust into the two ice jetties below Herga's Choke and Pride Overlook.", 287) + AddQuestStepCompleteAction(Quest, 1, "CutLines") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga010.mp3", "", "", 1073162923, 3013834754, Player) + AddConversationOption(conversation, "I will return.") + AddConversationOption(conversation, "I'll take care of them. Someone has to.") + StartConversation(conversation, QuestGiver, Player, "Remove the claws of the Ry'Gorr, " .. GetName(Player) .. ". Loosen their grip upon our land.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CutLines(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.") + AddQuestStepChat(Quest, 2, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CutLines(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua b/Lua/Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua new file mode 100755 index 000000000..de38e5307 --- /dev/null +++ b/Lua/Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua + Script Purpose : the quest Mystery on the Orc Iceberg + Script Author : theFoof + Script Date : 2013.7.23 + Script Notes : + + Zone : Frostfang Sea + QuestGiver : Knut Orcbane + Preceded by : Clan of the Cave Imps + Followed by : Becoming Another Orcbane +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Obtain any clues as to what the Ry'Gorr orcs are scheming on the small iceberg.", 4, 100, "Investigate what the Ry'Gorr orcs are doing on the small iceberg south of Jagged Daggers Isle.", 1668) + AddQuestStepKill(Quest, 2, "Dispose of any Ry'Gorr orcs you happen to find on the iceberg.", 3, 100, "Investigate what the Ry'Gorr orcs are doing on the small iceberg south of Jagged Daggers Isle.", 611, 4700120, 4700543, 4700538, 4700119, 4700121, 4700542) + AddQuestStepCompleteAction(Quest, 1, "FoundClues") + AddQuestStepCompleteAction(Quest, 2, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_033.mp3", "", "", 4051446009, 1752564808, Player) + AddConversationOption(conversation, "Gladly!") + StartConversation(conversation, QuestGiver, Player, "I knew my confidence was not misplaced in you! Go over to the iceberg and see what you can find out. Kill any Ry'Gorr you encounter, but more importantly, see what items you can find that may tell us what they are up to.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function FoundClues(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found Ry'Gorr pickaxes stashed on the small iceberg.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "You've slain enough orcs.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 80, 1) and QuestStepIsComplete(Player, 80, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found Ry'Gorr pickaxes stashed on the small iceberg and dealt with several orcs, along the way.") + AddQuestStepChat(Quest, 3, "Return to Knut Orcbane and tell him of the Ry'Gorr pickaxes stashed on the small iceberg.", 1, "You should return to Knut Orcbane, at Cragged Spine, and tell him of the Ry'Gorr pickaxes stashed on the small iceberg.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 80, 1) then + FoundClues(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 80, 2) then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/nap_time_for_evigis.lua b/Lua/Quests/FrostfangSea/nap_time_for_evigis.lua new file mode 100755 index 000000000..0ca041b42 --- /dev/null +++ b/Lua/Quests/FrostfangSea/nap_time_for_evigis.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : Quests/FrostfangSea/nap_time_for_evigis.lua + Script Purpose : for the quest "Nap Time for Evigis" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Torli Blackbow + Preceded by : Seeking Elemental Education + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(71,86), math.random(0,1), 0) + AddQuestStep(Quest, 1, "Reduce Evigis the Ancient's health and then cast Gerla's Elemental Lullaby upon it", 1, 100, "Return to the Velinoid Catacombs to face Evigis the Ancient with Gerla's Elemental Lullaby.", 3774) + AddQuestStepCompleteAction(Quest, 1, "KilledEvigis") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 46463) then + SummonItem(Player, 46463) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_013.mp3", "", "", 280356547, 1472834780, Player) + AddConversationOption(conversation, "I will not fail.") + StartConversation(conversation, QuestGiver, Player, "I never doubted ye for a moment, " .. GetName(Player) .. "! Take this and go with Brell's blessings upon ye!") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 46463) then + RemoveItem(Player, 46463) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledEvigis(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You returned Evigis to his slumber!") + AddQuestStepChat(Quest, 2, "Return to Torli Blackbow at the White Lodge.", 1, "You should return to Torli Blackbow at the White Lodge, the guard house for New Halas.", 0, 4700137) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 46463) then + RemoveItem(Player, 46463) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledEvigis(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/no_substitute_for_shard_work.lua b/Lua/Quests/FrostfangSea/no_substitute_for_shard_work.lua new file mode 100755 index 000000000..e220a0812 --- /dev/null +++ b/Lua/Quests/FrostfangSea/no_substitute_for_shard_work.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/no_substitute_for_shard_work.lua + Script Purpose : for the quest "No Substitute for Shard Work" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Pouring One Out for My Skellies + Followed by : Tackling the Basilisks +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must collect several velium shards.", 5, 100, "I must collect several velium shards. The velium shards litter the battlefield of the Great Shelf.", 1085) + AddQuestStepCompleteAction(Quest, 1, "GotShards") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Brell's blessing to you, as well.") + AddConversationOption(conversation, "Farewell.") + StartConversation(conversation, QuestGiver, Player, "There'll be reward and gratitude waiting fer ye when ye return. Brell's blessing.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotShards(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the velium shards.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotShards(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/nothing_to_waste.lua b/Lua/Quests/FrostfangSea/nothing_to_waste.lua new file mode 100755 index 000000000..79bc37129 --- /dev/null +++ b/Lua/Quests/FrostfangSea/nothing_to_waste.lua @@ -0,0 +1,99 @@ +--[[ + Script Name : Quests/FrostfangSea/nothing_to_waste.lua + Script Purpose : for the quest Nothing to Waste + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : None + Followed by : Roughing Up The Reinforcements +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepObtainItem(Quest, 1, "I must collect some Ry'Gorr Invader helmets.", 3, 100, "I must collect Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.", 1541, 11818) + AddQuestStepObtainItem(Quest, 2, "I must collect some Ry'Gorr Invader chestguards.", 3, 100, "I must collect Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.", 1537, 11817) + AddQuestStepObtainItem(Quest, 3, "I must collect some Ry'Gorr Invader warhammers.", 3, 100, "I must collect Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.", 1658, 11824) + AddQuestStepCompleteAction(Quest, 1, "GotHelmets") + AddQuestStepCompleteAction(Quest, 2, "GotChestguards") + AddQuestStepCompleteAction(Quest, 3, "GotHammers") +end + +function Accepted(Quest, QuestGiver, Player) + local thirin = GetSpawnByLocationID(GetZone(Player), 14520) + FaceTarget(thirin, Player) + local conversation = CreateConversation() + + PlayFlavor(thirin, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver007.mp3", "", "", 3327550252, 85419352, Player) + AddConversationOption(conversation, "Did you say useless?") + StartConversation(conversation, thirin, Player, "Good. The orcs are attacking from the south beach, so seek them out there. Do some good around here and I may think of you as more than useless.") +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, 11818) do + RemoveItem(Player, 11818) + end + while HasItem(Player, 11817) do + RemoveItem(Player, 11817) + end + while HasItem(Player, 11824) do + RemoveItem(Player, 11824) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotHelmets(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected some Ry'Gorr Invader helmets.") + CheckProgress(Quest, QuestGiver, Player) +end + +function GotChestguards(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected some Ry'Gorr Invader chestguards.") + CheckProgress(Quest, QuestGiver, Player) +end + +function GotHammers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected some Ry'Gorr Invader warhammers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 56, 1) and QuestStepIsComplete(Player, 56, 2) and QuestStepIsComplete(Player, 56, 3) then + AddStep4(Quest, QuestGiver, Player) + end +end + +function AddStep4(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.") + AddQuestStepChat(Quest, 4, "I must speak with Thirin Veliumdelver.", 1, "With the items collected, I should return them to Thirin Veliumdelver at the Cragged Spine.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + while HasItem(Player, 11818) do + RemoveItem(Player, 11818) + end + while HasItem(Player, 11817) do + RemoveItem(Player, 11817) + end + while HasItem(Player, 11824) do + RemoveItem(Player, 11824) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 56, 1) then + GotHelmets(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 56, 2) then + GotChestguards(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 56, 3) then + GotHammers(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/off_to_the_ossuary.lua b/Lua/Quests/FrostfangSea/off_to_the_ossuary.lua new file mode 100755 index 000000000..9767d2419 --- /dev/null +++ b/Lua/Quests/FrostfangSea/off_to_the_ossuary.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/FrostfangSea/off_to_the_ossuary.lua + Script Purpose : the quest Off to the Ossuary + Script Author : theFoof + Script Date : 2013.6.17 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : The Gauntlet + Followed by : Severing the Head +--]] + +function Init(Quest) + UpdateQuestZone(Quest, "Cave of Illboding Dark") + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill the Ry'Gorr reanimators in the Cave of Illboding Dark.", 2, 100, "I must find the cave on the Forbidden Ossuary of Ice and hunt down the reanimators within. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 611, 5160006) + AddQuestStepKill(Quest, 2, "I must kill the Ry'Gorr lackeys in the Cave of Illboding Dark.", 4, 100, "I must find the cave on the Forbidden Ossuary of Ice and hunt down the reanimators within. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 611, 5160005) + AddQuestStepCompleteAction(Quest, 1, "KilledRean") + AddQuestStepCompleteAction(Quest, 2, "KilledLackey") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard085.mp3", "", "", 2080430397, 2045091210, Player) + AddConversationOption(conversation, "I'll deliver my own brand of personal justice.") + AddConversationOption(conversation, "I will slip in unseen and have a look around.") + AddConversationOption(conversation, "You can count on me, Dolur.") + StartConversation(conversation, QuestGiver, Player, "We call the floating isle the Forbidden Ossuary of Ice. Search for the cavern entrance there, and then have a look inside for the necromancers. If ye find any, give them the sharp side of an axe for me.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledRean(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the Ry'Gorr reanimators.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledLackey(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed the Ry'Gorr lackeys.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 71, 1) and QuestStepIsComplete(Player, 71, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestZone(Quest, "Frostfang Sea") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several reanimators and their lackeys in the Cave of Illboding Dark.") + AddQuestStepChat(Quest, 3, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 71, 1) then + KilledRean(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 71, 2) then + KilledLackey(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/pelted.lua b/Lua/Quests/FrostfangSea/pelted.lua new file mode 100755 index 000000000..fe75b53cd --- /dev/null +++ b/Lua/Quests/FrostfangSea/pelted.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/pelted.lua + Script Purpose : for the quest "Pelted" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : Bartering Crystals + Followed by : To The Great Shelf! +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill icemane cubs for their pelts. I can find the cubs in the Icemane Caves south of Gwenevyn's Cove.", 6, 100, "I must kill icemane cubs.", 122, 4700060, 4700481) + AddQuestStepCompleteAction(Quest, 1, "GotPelts") + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_052.mp3", "", "", 1207372169, 2214842448, Player) + AddConversationOption(conversation, "I will return once I have the pelts for you.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. ". May Mithaniel light your way!") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotPelts(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the icemane cubs.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I should return the icemane cub pelts to Flibbit Quagmarr in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotPelts(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/perfectly_missing.lua b/Lua/Quests/FrostfangSea/perfectly_missing.lua new file mode 100755 index 000000000..c4bc8ae8f --- /dev/null +++ b/Lua/Quests/FrostfangSea/perfectly_missing.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/perfectly_missing.lua + Script Purpose : the quest Perfectly Missing + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Disarming the Ry'Gorr + Followed by : The Last Ingredient +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must harvest the perfect ice slurry core.", 1, 50, "I must harvest a perfect ice slurry core from the ice slurries on the hill south of the Great Shelf.", 1174, 4700101) + AddQuestStepCompleteAction(Quest, 1, "GotCore") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_030.mp3", "", "", 1741611934, 1901038615, Player) + AddConversationOption(conversation, "I shall return as soon as I find the perfect core.") + StartConversation(conversation, QuestGiver, Player, "You can find the ice slurries on the hill south of the Great Shelf. Please hurry. The sooner you return with the core, the sooner I can perfect the spell to protect the pilgrims.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCore(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have harvested a perfect ice slurry core from the ice slurries.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild. Blorpisa is staying at the Great Shelf.", 1, "I must return the perfect ice slurry core to Blorpisa Bogchild in the Great Shelf.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "Blorpisa thanked me for harvesting the perfect ice slurry core.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCore(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/pilgrim_pathfinder.lua b/Lua/Quests/FrostfangSea/pilgrim_pathfinder.lua new file mode 100755 index 000000000..777b83d62 --- /dev/null +++ b/Lua/Quests/FrostfangSea/pilgrim_pathfinder.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/pilgrim_pathfinder.lua + Script Purpose : the quest Pilgrim Pathfinder + Script Author : theFoof + Script Date : 2013.5.19 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Sifting Through the Grizzly Garbage + Followed by : Pilgrim Scout +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,90), math.random(2,5), 0, 0) + AddQuestStepLocation(Quest, 1, "Hike to the top of the blizzard grizzly cave.", 15, "From the top of the blizzard grizzly cave you should be able to find the best path to the city of New Halas.", 0, 166.79, 65.23, -470.68) + AddQuestStepCompleteAction(Quest, 1, "HikedTop") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function HikedTop(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "There seems to be a path leading into the hills. Perhaps by taking it you can avoid the dangerous plains below?") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh and tell him of the path leading into the hills above the dangerous plains.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, and tell him of the path leading into the hills above the dangerous plains.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + HikedTop(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/pilgrim_pelts.lua b/Lua/Quests/FrostfangSea/pilgrim_pelts.lua new file mode 100755 index 000000000..fcc68186a --- /dev/null +++ b/Lua/Quests/FrostfangSea/pilgrim_pelts.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/pilgrim_pelts.lua + Script Purpose : the quest Pilgrim Pelts + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Pilgrim Scout + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_023.mp3", "", "", 4231608247, 3609708675, Player) + AddConversationOption(conversation, "I'm glad to help.") + StartConversation(conversation, QuestGiver, Player, "Thank you, brave " .. GetName(Player) .. ". I thank the gods that you arrived here when you did.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(20,80), math.random(13,20), 0, 0) + AddQuestStepKill(Quest, 1, "Slay any of the big icemane felines you find upon the dangerous Icemane Plains.", 6, 100, "The froglok pilgrims were not blessed by Marr with much protection from the elements. Verien fears they may die due to exposure during the trip.", 126, 4700072, 4700070, 4700074) + AddQuestStepCompleteAction(Quest, 1, "KilledCats") +end + +function KilledCats(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have slain many icemane felines for their pelts.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh with the icemane pelts you obtained.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, with the icemane pelts you obtained.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCats(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/pilgrim_scout.lua b/Lua/Quests/FrostfangSea/pilgrim_scout.lua new file mode 100755 index 000000000..5a5584bbe --- /dev/null +++ b/Lua/Quests/FrostfangSea/pilgrim_scout.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/pilgrim_scout.lua + Script Purpose : the quest Pilgrim Scout + Script Author : theFoof + Script Date : 2013.5.19 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Pilgrim Pathfinder + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_015.mp3", "", "", 1474870749, 1583499766, Player) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, QuestGiver, Player, "Forgive me if you think I'm being timid, but I am leery about walking into a trap or into a treacherous situation.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(5,10), 0, 0) + AddQuestStepLocation(Quest, 1, "Follow the path that travels west from the pilgrims' camp, keeping the wall of ice and stone on your left, as far as you can.", 10, "Scout ahead of the pilgrims and confirm that the path you spotted from atop the blizzard grizzly den is indeed traversable.", 0, 300, 53.22, -260.45) + AddQuestStepCompleteAction(Quest, 1, "CheckedPath") +end + +function CheckedPath(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "The path is a dead end! An avalanche of ice and stone blocks your way.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh and inform him that the path leads nowhere.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, and tell him the unfortunate news.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CheckedPath(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua b/Lua/Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua new file mode 100755 index 000000000..379976146 --- /dev/null +++ b/Lua/Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua + Script Purpose : for the quest "Pouring One Out for My Skellies" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : 'Tis Most Unnatural + Followed by : No Substitute for Shard Work +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must pour Fronden's Finest on several Ry'Gorr bone piles.", 5, 100, "I must pour Fronden's Finest on several Ry'Gorr bone piles. The bone piles litter the battlefield of the Great Shelf.", 2209) + AddQuestStepCompleteAction(Quest, 1, "PouredAle") + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 46438) then + SummonItem(Player, 46438, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "We'll find out. Wish me luck.") + AddConversationOption(conversation, "I wasn't expecting it to be easy.") + StartConversation(conversation, QuestGiver, Player, "I can't imagine a skeleton will hold still long enough to let ye splash them, so ye'll want to pour this on the bone piles of the recently re-deceased.") +end + +function Deleted(Quest, QuestGiver, Player) + RemoveItem(Player, 46438) +end + +function Declined(Quest, QuestGiver, Player) +end + +function PouredAle(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have successfully destroyed the Ry'Gorr bone piles.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1 ,"I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + RemoveItem(Player, 46438) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + PouredAle(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/reclaiming_their_honor.lua b/Lua/Quests/FrostfangSea/reclaiming_their_honor.lua new file mode 100755 index 000000000..4e39da442 --- /dev/null +++ b/Lua/Quests/FrostfangSea/reclaiming_their_honor.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/reclaiming_their_honor.lua + Script Purpose : for the quest "Reclaiming Their Honor" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Displaced and Discouraged + Followed by : 'Tis Most Unnatural +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must reclaim several coldain signet rings from the Ry'Gorr raiders.", 8, 80, "I must reclaim several coldain signet rings from the Ry'Gorr raiders. The raiders can be found on the jetties of ice below Pride Overlook and Herga's Choke, or on Ry'Gorr Isle.", 592, 4701108, 4700868) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I look forward to punishing the orcs.") + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "I look forward to your return. ") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have reclaimed several coldain signet rings.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/repelling_little_critters.lua b/Lua/Quests/FrostfangSea/repelling_little_critters.lua new file mode 100755 index 000000000..37bbb59f5 --- /dev/null +++ b/Lua/Quests/FrostfangSea/repelling_little_critters.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/FrostfangSea/repelling_little_critters.lua + Script Purpose : the quest Repelling Little Critters + Script Author : theFoof + Script Date : 2013.5.12 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : Crustose Removal + Followed by : Scraggly Foodstuffs +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(30,60), math.random(0,2), 0, 0) + AddQuestStep(Quest, 1, "Test the new repellent on crustose sporetenders.", 6, 100, "I should test the new repllent in my inventory on the crustose sporetenders wandering amongst the lichen covered stones.", 811) + AddQuestStepCompleteAction(Quest, 1, "SprayedRepellent") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45806, 1) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 45806) then + RemoveItem(Player, 45806) + elseif HasItem(Player, 45805) then + RemoveItem(Player, 45805) + end +end + +function SprayedRepellent(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have tested a new repellent on the crustone sporetenders wandering amongst the lichen covered stones") + AddQuestStepChat(Quest, 2, "Return to Arrin Clelland", 1, "I should return to Arrin Clelland in Pilgrims' Landing.", 0, 4700000) + AddQuestStepCompleteAction(Quest, 2, "TalkedArrin") +end + +function TalkedArrin(Quest, QuestGiver, Player) + if HasItem(Player, 45806) then + RemoveItem(Player, 45806) + end + SummonItem(Player, 45805, 1) + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to Arrin Clelland in Pilgrims' Landing.") + AddQuestStep(Quest, 3, "Apply the crustose repellent to the barrels of provisions.", 1, 100, "The provisions found under the protection of the other half of the ancient ship wreck in the northern section of Pilgrims' Landing are overrun by crustose.", 2285) + AddQuestStepCompleteAction(Quest, 3, "RepelledFood") +end + +function RepelledFood(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "The crustose were sent running away from the barrles of provisions!") + AddQuestStepChat(Quest, 4, "Return to Arrin Clelland", 1, "I am to return to Arrin Clelland in Pilgrims' Landing.", 0, 4700000) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 45805) then + RemoveItem(Player, 45805) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + SprayedRepellent(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedArrin(Quest, QuestGiver, Player) + elseif Step == 3 then + RepelledFood(Quest, QuestGiver, Player) + elseif Step == 4 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/report_to_cragged_spine.lua b/Lua/Quests/FrostfangSea/report_to_cragged_spine.lua new file mode 100755 index 000000000..0bb8207ad --- /dev/null +++ b/Lua/Quests/FrostfangSea/report_to_cragged_spine.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/FrostfangSea/report_to_cragged_spine.lua + Script Purpose : for the quest "Report to Cragged Spine" + Script Author : theFoof + Script Date : 2013.6.1 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Domestication is the New Survivalism + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepChat(Quest, 1, "I must report to Tad Ironstein at the Cragged Spine.", 1, "I must report to Tad Ironstein at the Cragged Spine outpost. The Cragged Spine is south of the Great Shelf, past the frostbiter basilisks.", 0, 4700106) + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "And with you. Farewell!") + AddConversationOption(conversation, "On to bigger and better things.") + StartConversation(conversation, QuestGiver, Player, "Yer actions have given us all hope out here, " .. GetName(Player) .. ", and ye've personally rescued me from the depths of despair. We will miss having ye around. Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua b/Lua/Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua new file mode 100755 index 000000000..a177522bc --- /dev/null +++ b/Lua/Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua + Script Purpose : the quest Ride Upon the Gwenevun II + Script Author : theFoof + Script Date : 2013.5.14 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Boatload of Work + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,70), math.random(0,1), 0, 0) + AddQuestStepChat(Quest, 1, "Report to Wregan Firebeard.", 1, "I am to report to Wregan Firebeard at Gwenevyn's Cove.", 0, 4700035) + AddQuestStepCompleteAction(Quest, 1, "CompletedQuest") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function CompletedQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/roughing_up_the_reinforcements.lua b/Lua/Quests/FrostfangSea/roughing_up_the_reinforcements.lua new file mode 100755 index 000000000..0af8dc144 --- /dev/null +++ b/Lua/Quests/FrostfangSea/roughing_up_the_reinforcements.lua @@ -0,0 +1,101 @@ +--[[ + Script Name : Quests/FrostfangSea/roughing_up_the_reinforcements.lua + Script Purpose : for the quest Roughing Up the Reinforcements + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Nothing to Waste + Followed by : Through Thine Eyes +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,24), 0, 0) + AddQuestStepKill(Quest, 1, "I must slay four Ry'Gorr grenadiers.", 4, 100, "I must travel to the Jagged Daggers Isle and engage the Ry'Gorr orcs. While there I should also destroy as many weapon supplies as I can find.", 2488, 4700120, 4700543) + AddQuestStepKill(Quest, 2, "I must slay four Ry'Gorr infiltrators.", 4, 100, "I must travel to the Jagged Daggers Isle and engage the Ry'Gorr orcs. While there I should also destroy as many weapon supplies as I can find.", 2488, 4700119, 4700538) + AddQuestStep(Quest, 3, "I must destroy four of the Ry'Gorr orcs' weapon supplies.", 4, 100, "I must travel to the Jagged Daggers Isle and engage the Ry'Gorr orcs. While there I should also destroy as many weapon supplies as I can find.", 287) + AddQuestStepCompleteAction(Quest, 1, "KilledGrenadiers") + AddQuestStepCompleteAction(Quest, 2, "KilledInfiltrators") + AddQuestStepCompleteAction(Quest, 3, "DestroyedSpears") +end + +function Accepted(Quest, QuestGiver, Player) + local thirin = GetSpawnByLocationID(GetZone(QuestGiver), 14520) + FaceTarget(thirin, Player) + conversation = CreateConversation() + + PlayFlavor(thirin, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver012.mp3", "", "", 830312044, 2813539587, Player) + AddConversationOption(conversation, "And you, Thirin.") + StartConversation(conversation, thirin, Player, "Good. Brell be with you on your quest, adventurer.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledGrenadiers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain four Ry'Gorr grenadiers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledInfiltrators(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain four Ry'Gorr infiltrators.") + CheckProgress(Quest, QuestGiver, Player) +end + +function DestroyedSpears(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have destroyed the Ry'Gorr orcs' weapon supplies.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 57, 1) and QuestStepIsComplete(Player, 57, 2) and QuestStepIsComplete(Player, 57, 3) then + AddStep4(Quest, QuestGiver, Player) + end +end + +function AddStep4(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "With so many Ry'Gorr weapons and orcs destroyed, re-enforcement will be hard.") + AddQuestStepKill(Quest, 4, "Thirin requested that I slay a war shaman as well, to prevent their scrying magics.", 1, 100, "I should slay a Ry'Gorr war shaman so the Ry'Gorr will be unable to scry Thirin's encampment.", 2488, 4700542, 4700121) + AddQuestStepCompleteAction(Quest, 4, "KilledShaman") +end + +function KilledShaman(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "The Ry'Gorr war shaman, now slain, may have something useful on them.") + AddQuestStepObtainItem(Quest, 5, "I should see what the Ry'Gorr war shaman has. There may be something of use.", 1, 100, "I should slay a Ry'Gorr war shaman so the Ry'Gorr will be unable to scry Thirin's encampment.", 83, 11820) + AddQuestStepCompleteAction(Quest, 5, "GotEye") +end + +function GotEye(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "It appears to the war shaman has some sort of Orcish scrying eye. I should show this to Thirin Veliumdelver at the Cragged Spine.") + UpdateQuestTaskGroupDescription(Quest, 2, "I found an odd Orcish scrying eye. Thirin would be interested in this.") + AddQuestStepChat(Quest, 6, "I must speak with Thirin Veliumdelver.", 1, "I should return to Thirin Veliumdelver, with the Orcish scrying eye, at the Cragged Spine.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 6, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 57, 1) and GetQuestStep(Player, 57) < 4 then + KilledGrenadiers(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 57, 2) and GetQuestStep(Player, 57) < 4 then + KilledInfiltrators(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 57, 3) and GetQuestStep(Player, 57) < 4 then + DestroyedSpears(Quest, QuestGiver, Player) + end + if GetQuestStep(Player, 57) == 4 then + AddStep4(Quest, QuestGiver, Player) + elseif Step == 4 then + KilledShaman(Quest, QuestGiver, Player) + elseif Step == 5 then + GotEye(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/rygorr_mining_operations.lua b/Lua/Quests/FrostfangSea/rygorr_mining_operations.lua new file mode 100755 index 000000000..b36151f26 --- /dev/null +++ b/Lua/Quests/FrostfangSea/rygorr_mining_operations.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/FrostfangSea/rygorr_mining_operations.lua + Script Purpose : for the quest "Ry'Gorr Mining Operations' + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Below The Frozen Waves + Followed by : A Good Distraction +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,40), 0, 0) + AddQuestStep(Quest, 1, "I should look for an exploding barrel and set it in front of the hastily made wall.", 1, 100, "I should look around for a Ry'Gorr Explosive Mining Barrel and use it on the wall I discovered.", 0) + AddQuestStepCompleteAction(Quest, 1, "DestroyedWall") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave005.mp3", "", "", 3687695451, 727081902, Player) + AddConversationOption(conversation, "I won't, Thirin.") + StartConversation(conversation, QuestGiver, Player, "I'll be expecting a good show, adventurer. Don't let me down.") +end + +function Deleted(Quest, QuestGiver, Player) + local zone = GetZone(Player) + if GetZoneID(zone) == 470 then + AddSpawnAccess(GetSpawnByLocationID(zone, 441164), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 571511), Player) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function DestroyedWall(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I was able to destroy the wall.") + AddQuestStepLocation(Quest, 2, "With the wall destroyed I should investigate what is on the other side.", 10, "I should look around for a Ry'Gorr Explosive Mining Barrel and use it on the wall I discovered.", 0, -44.05, -67.39, 141.07) + AddQuestStepCompleteAction(Quest, 2, "FoundCreatures") +end + +function FoundCreatures(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have discovered velium creatures that appear to have slain a number of Ry'Gorr orcs. I should report what I've found to Thirin Veliumdelver.") + UpdateQuestTaskGroupDescription(Quest, 1, "I was able to destroy the wall and discovered creatures that appear to be made from velium.") + AddQuestStepChat(Quest, 3, "I should speak with Thirin Veliumdelver of the creatures I've found.", 1, "I should return to Thirin Veliumdelver and tell him of the velium creatures I found beyond the cave-in.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + DestroyedWall(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundCreatures(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/rygorr_tool_taking.lua b/Lua/Quests/FrostfangSea/rygorr_tool_taking.lua new file mode 100755 index 000000000..a0525a9cf --- /dev/null +++ b/Lua/Quests/FrostfangSea/rygorr_tool_taking.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/rygorr_tool_taking.lua + Script Purpose : the quest Ry'Gorr Tool Taking + Script Author : theFoof + Script Date : 2013.7.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : Campside Spores + Followed by : Watch Out Below! +--]] + + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,40), 0, 0) + AddQuestStep(Quest, 1, "Obtain the Ry'Gorr digging tools from within the Demon's Delve tunnels.", 6, 100, "Return to the Demon's Delve tunnels below Erollis in search of the magically imbued tools.", 1668) + AddQuestStepCompleteAction(Quest, 1, "GotPicks") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotPicks(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You've stolen enough of the Ry'Gorr digging tools.") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson now that you've stolen enough of the Ry'Gorr digging tools.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you've stolen enough of the magically imbued Ry'Gorr digging tools.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotPicks(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/scraggly_foodstuffs.lua b/Lua/Quests/FrostfangSea/scraggly_foodstuffs.lua new file mode 100755 index 000000000..459004763 --- /dev/null +++ b/Lua/Quests/FrostfangSea/scraggly_foodstuffs.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/scraggly_foodstuffs.lua + Script Purpose : the quest "Scraggly Foodstuffs" + Script Author : theFoof + Script Date : 2013.5.15 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : Repelling Little Critters + Followed by : Frigid Fishing +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(20,90), math.random(2,3), 0, 0) + AddQuestStep(Quest, 1, "Gather some tubers from the scraggly shrubs.", 3, 100, "I must gather some scraggly tubers on the windy cliffs overlooking the sea, on the northern side of Pilgrims' Landing.", 2313) + AddQuestStepCompleteAction(Quest, 1, "GatheredTubers") +end + +function GatheredTubers(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered some tubers from the scraggly shrubs growing on the northeast side of Pilgrims' Landing.") + AddQuestStepChat(Quest, 2, "Return the scraggly tubers to Arrin.", 1, " I am to return the tubers to Arrin Clelland, Camp Provisioner, in Pilgrims' Landing.", 2313, 4700000) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GatheredTubers(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/seeking_elemental_education.lua b/Lua/Quests/FrostfangSea/seeking_elemental_education.lua new file mode 100755 index 000000000..669d11c7f --- /dev/null +++ b/Lua/Quests/FrostfangSea/seeking_elemental_education.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : Quests/FrostfangSea/seeking_elemental_education.lua + Script Purpose : for the quest "Seeking Elemental Education" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Sleetfoot Search Party + Followed by : Nap Time for Evigis +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStepChat(Quest, 1, "Speak with Torli Blackbow at the White Lodge, the guard house for New Halas.", 1, "Thirin Veliumdelver has sent you within New Halas to alert others of Evigis the Ancient.", 0, 4700137) + AddQuestStepCompleteAction(Quest, 1, "TalkedTorli") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave018.mp3", "", "", 706555413, 2480131387, Player) + AddConversationOption(conversation, "I will do this, for Ordin.", "ExtraChat") + AddConversationOption(conversation, "I am sorry, but this is too much right now.") + StartConversation(conversation, QuestGiver, Player, GetName(Player) .. ". That is a good name. My friend, I ask one more favor. I need you to deliver the news of this creature to Torli Blackbow. I need to be with my men or I would go myself. You can find her East of the Cragged Spine, in the White Lodge. She is an old friend and will know how to handle this creature.") +end + +function ExtraChat(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave019.mp3", "", "", 1580967348, 3299722606, Player) + AddConversationOption(conversation, "You too, Thirin. You too.") + StartConversation(conversation, QuestGiver, Player, "Thank you, my friend. Brell be with you, always.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedTorli(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You spoke with Torli Blackbow.") + AddQuestStepChat(Quest, 2, "Speak with Gerla Meltwater at Glacierbane's Vault, in New Halas.", 1, "Thirin Veliumdelver has sent you within New Halas to alert others of Evigis the Ancient.", 0, 4700183) + AddQuestStepCompleteAction(Quest, 2, "TalkedGerla") +end + +function TalkedGerla(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "You spoke with Torli Blackbow.") + UpdateQuestTaskGroupDescription(Quest, 1, "Gerla Meltwater knew quite a bit about Evigis the Ancient!") + AddQuestStepChat(Quest, 3, "Deliver Gerla's satchel to Torli Blackbow.", 1, "You should return to Torli Blackbow at the White Lodge, the guard house for New Halas.", 0, 4700137) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedTorli(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedGerla(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/severing_the_head.lua b/Lua/Quests/FrostfangSea/severing_the_head.lua new file mode 100755 index 000000000..bf096dbcb --- /dev/null +++ b/Lua/Quests/FrostfangSea/severing_the_head.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : Quests/FrostfangSea/severing_the_head.lua + Script Purpose : the quest "Severing the Head" + Script Author : theFoof + Script Date : 2013.6.17 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Off to the Ossuary + Followed by : The Nightmare is Over +--]] + +function Init(Quest) + UpdateQuestZone(Quest, "Cave of Illboding Dark: The Source") + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill Orug Deathmaker in the Cave of Illboding.", 1, 100, "I must return to the Cave of Illboding on the Ossuary of Ice, defeat the head necromancer, Orug Deathmaker, and shatter the dark crystal. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 611, 5170003) + AddQuestStepCompleteAction(Quest, 1, "KilledOrc") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard098.mp3", "", "", 2381129063, 239921883, Player) + AddConversationOption(conversation, "I will return.") + AddConversationOption(conversation, "The orcs will need the luck more than I will.") + StartConversation(conversation, QuestGiver, Player, "Best of luck to ye, " .. GetName(Player) .. ".") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrc(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed Orug Deathmaker.") + AddQuestStep(Quest, 2, "I must smash the dark crystal.", 1, 100, "I must return to the Cave of Illboding on the Ossuary of Ice, defeat the head necromancer, Orug Deathmaker, and shatter the dark crystal. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 3528) + AddQuestStepCompleteAction(Quest, 2, "SmashedCrystal") +end + +function SmashedCrystal(Quest, QuestGiver, Player) + UpdateQuestZone(Quest, "Frostfang Sea") + UpdateQuestStepDescription(Quest, 2, "I have smashed the dark crystal.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed Orug Deathmaker and shattered the dark crystal.") + AddQuestStepChat(Quest, 3, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrc(Quest, QuestGiver, Player) + elseif Step == 2 then + SmashedCrystal(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua b/Lua/Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua new file mode 100755 index 000000000..61358b467 --- /dev/null +++ b/Lua/Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua + Script Purpose : the quest Sifting Through the Grizzly Garbage + Script Author : theFoof + Script Date : 2013.5.19 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Beets the Alternative + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStep(Quest, 1, "Search for any sign of the orcs within the blizzard grizzly den.", 3, 100, "Search for any sign of the orcs within the blizzard grizzly den north west of the pilgrims' camp in Gwenevyn's Cove.", 2359) + AddQuestStepCompleteAction(Quest, 1, "Searched") +end + +function Searched(Quest, QuestGiver, Player) + RemoveSpawnAccess(GetSpawn(QuestGiver, 4701834), Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found no sign of the orcs within the blizzard grizzly den.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh at the pilgrims' camp. You told Verien how there was no sign of the orcs within the blizzard grizzly cave.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, even though you haven't been able to find any sign of the orcs.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Searched(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/skulls_for_the_taking.lua b/Lua/Quests/FrostfangSea/skulls_for_the_taking.lua new file mode 100755 index 000000000..920b1ae6b --- /dev/null +++ b/Lua/Quests/FrostfangSea/skulls_for_the_taking.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/skulls_for_the_taking.lua + Script Purpose : the quest "Skulls for the Taking" + Script Author : theFoof + Script Date : 2013.6.14 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Blood Spilled for the Blade Maiden + Followed by : Great Mystery +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,38), 0, 0) + AddQuestStepKill(Quest, 1, "Slay the Ry'Gorr orcs that are camped out on Jagged Daggers isle.", 8, 100, "Hillfred believes the orcs are staging their beachfront charge from the nearby isle known as Jagged Daggers.", 611, 4700120, 4700543, 4700119, 4700538, 4700542, 4700121, 4700118) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_010.mp3", "", "", 1103422610, 3121183656, Player) + AddConversationOption(conversation, "This should be fun!") + StartConversation(conversation, QuestGiver, Player, "Swim over there and fall upon the beasts as if you were a rabid wolf of the Everfrost! Bring me back a great many skulls as trophies to adorn our defenses.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have enough Ry'Gorr skulls to suffice.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have enough Ry'Gorr skulls.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, now that you have enough Ry'Gorr skulls.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/sleetfoot_search_party.lua b/Lua/Quests/FrostfangSea/sleetfoot_search_party.lua new file mode 100755 index 000000000..bfe6add78 --- /dev/null +++ b/Lua/Quests/FrostfangSea/sleetfoot_search_party.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/sleetfoot_search_party.lua + Script Purpose : for the quest "Sleetfoot Search Party" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : A Good Distraction + Followed by : Seeking Elemental Education +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(52,65), 0, 0) + AddQuestStepLocation(Quest, 1, "I need to search for Ordin Sleetfoot.", 5, "I should return to where I last saw Ordin Sleetfoot and make sure he is okay.", 0, -254.09, -17.42, -37.16) + AddQuestStepCompleteAction(Quest, 1, "FoundBody") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave014.mp3", "", "", 2567826241, 991797781, Player) + AddConversationOption(conversation, "We will. I will return shortly when I've found him.") + StartConversation(conversation, QuestGiver, Player, "Thank ye, my friend. Perhaps we will share an ale together with Ordin once this is all done.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function FoundBody(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found Ordin Sleetfoot.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have discovered Ordin Sleetfoot's body, near a large elemental creature made of ice and velium") + AddQuestStepChat(Quest, 2, "I should speak with Thirin Veliumdelver about Ordin.", 1, "I have discovered Ordin Sleetfoot's body, near what appears to be a creature made of ice and velium. I should return to Thirin Veliumdelver and tell him of Ordin's fate.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + FoundBody(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua b/Lua/Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua new file mode 100755 index 000000000..495fab502 --- /dev/null +++ b/Lua/Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua + Script Purpose : the quest "Sometimes You Feel Like A Knut" + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Flawless Core Chore + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(27,40), 0, 0) + AddQuestStep(Quest, 1, "If you listen to Griz carefully, perhaps he can help guide you.", 1, 100, "While wearing Griz as your head equipment, explore the caves and tunnels within Demon's Delve.", 0) + AddQuestStepCompleteAction(Quest, 1, "GotBag") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 157116) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Wonderful.") + StartConversation(conversation, NPC, Spawn, "You must wear him in order to hear him. Now, promise to bring him back -safe and sound. And do not be swayed by his bloodlust. He often forgets he no longer has claws.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotBag(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found the sack that once contained the magick item.") + AddQuestStep(Quest, 2, "Continue to explore the caves with Griz. If you listen to him carefully, perhaps he can help guide you.", 1, 100, "While wearing Griz as your head equipment, explore the caves and tunnels within Demon's Delve.", 0) + AddQuestStepCompleteAction(Quest, 2, "FoundTotem") +end + +function FoundTotem(Quest, QuestGiver, Player) + AddSpawnAccess(GetSpawnByLocationID(GetZone(Player), 579551), Player) + UpdateQuestStepDescription(Quest, 2, "Griz has helped you locate the source of the magick.") + AddQuestStep(Quest, 3, "Griz is rather insistent. You must destroy the magick item -it is a Ry'Gorr necromantic totem!", 1, 100, "While wearing Griz as your head equipment, explore the caves and tunnels within Demon's Delve.", 0) + AddQuestStepCompleteAction(Quest, 3, "DestroyedTotem") +end + +function DestroyedTotem(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You destroyed the necromantic totem!") + AddQuestStepChat(Quest, 4, "Return to Knut Orcbane now that you have destroyed the necromantic crystal the orcs had within the Demon's Delve tunnels.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that you have destroyed the necromantic crystal the orcs had within the Demon's Delve tunnels.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "You told Knut how Griz helped you locate and destroy the Ry'Gorr necromantic crystal.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotBag(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundTotem(Quest, QuestGiver, Player) + elseif Step == 3 then + DestroyedTotem(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/spider_puffs.lua b/Lua/Quests/FrostfangSea/spider_puffs.lua new file mode 100755 index 000000000..ca3589ede --- /dev/null +++ b/Lua/Quests/FrostfangSea/spider_puffs.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : Quests/FrostfangSea/spider_puffs.lua + Script Purpose : the quest "Spider Puffs" + Script Author : theFoof + Script Date : 2013.8.27 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Ribbit Hopson + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(52,99), 0, 0) + AddQuestStep(Quest, 1, "I must collect dame's rockets for Ribbit's puffs.", 2, 100, "I must collect dame's rockets for Ribbit. I can find the dame's rockets in Ribbit's garden, outside of his house in New Halas.", 1976) + AddQuestStepCompleteAction(Quest, 1, "CollectedRockets") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_007.mp3", "", "", 1643468307, 2055311986, Player) + AddConversationOption(conversation, "I shall return to you once I have collected all of the ingredients you require.") + StartConversation(conversation, QuestGiver, Player, "Wonderful! If you do not mind, could you pick some of my dame's rocket as well? It's just right outside my door in my little garden. The local spiders are called woolly silkspinners and they are in the cave leading to the Erollis Dock.") + ShowDamesRockets(QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CollectedRockets(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the dame's rockets for Ribbit.") + AddQuestStepKill(Quest, 2, "I must kill woolly silkspinners for Ribbit's puffs.", 4, 100, "I must kill woolly silkspinners for Ribbit. The silkspinners are in the cave leading to the Erollis Dock.", 1878, 4700164) + AddQuestStepCompleteAction(Quest, 2, "KilledSpiders") +end + +function KilledSpiders(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected the woolly silkspinner meat for Ribbit.") + AddQuestStepChat(Quest, 3, "I must speak with Ribbit Hopson at his New Halas home.", 1, "I must return the dame's rockets and spider meat to Ribbit Hopson. Ribbit is in his house near the entrance to New Halas.", 0, 4700151) + AddQuestStepCompleteAction(Quest, 3, "TalkedRibbit") +end + +function TalkedRibbit(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Ribbit.") + AddQuestStep(Quest, 4, "I must try some of Ribbit's spider puffs.", 1, 100, "Ribbit has taken the ingredients I collected and prepared his recipe for spider puffs.", 296) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function ShowDamesRockets(QuestGiver, Player) + local zone = GetZone(QuestGiver) + AddSpawnAccess(GetSpawnByLocationID(zone, 442806), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442807), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442808), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442809), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442810), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442811), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442812), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442813), Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CollectedRockets(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledSpiders(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedRibbit(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/stonefists_art_of_combat.lua b/Lua/Quests/FrostfangSea/stonefists_art_of_combat.lua new file mode 100755 index 000000000..67c7c21c9 --- /dev/null +++ b/Lua/Quests/FrostfangSea/stonefists_art_of_combat.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/FrostfangSea/stonefists_art_of_combat.lua + Script Purpose : Handles the quest "Stonefist's Art of Combat" + Script Author : theFoof + Script Date : 2013.5.3 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : A Fine Halasian Welcome + Followed by : Call to Arms +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(1,3), 0, 0) + AddQuestStepChat(Quest, 1, "Speak to Trainer Ragnhild Stonefist.", 1, "I need to learn about combat from Trainer Ragnhild Stonefist at the Training Grounds east of Yasha Redblade.", 0, 4700015) + AddQuestStepCompleteAction(Quest, 1, "TalkedToStonefist") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedToStonefist(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Ragnhild Stonefist.") + AddQuestStepKill(Quest, 2, "Defeat a sparring partner in combat.", 1, 100, "I need to learn about combat from Trainer Ragnhild Stonefist at the Training Grounds east of Yasha Redblade.", 0, 4700018, 4700017, 4700014) + AddQuestStepCompleteAction(Quest, 2, "KilledSparringPartner") +end + +function KilledSparringPartner(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated a sparring partner in combat.") + AddQuestStepChat(Quest, 3, "Speak with Trainer Ragnhild Stonefist.", 1, "I need to learn about combat from Trainer Ragnhild Stonefist at the Training Grounds east of Yasha Redblade.", 0, 4700015) + AddQuestStepCompleteAction(Quest, 3, "ReturnedToStonefist") +end + +function ReturnedToStonefist(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have won a match against one of the sparring partners.") + AddQuestStepChat(Quest, 4, "Return to Yasha Redblade.", 1, "I am to return to Yasha Redblade near the ship's hull on Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 4, "ReturnToYasha") +end + +function ReturnToYasha(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedToStonefist(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledSparringPartner(Quest, QuestGiver, Player) + elseif Step == 3 then + ReturnedToStonefist(Quest, QuestGiver, Player) + elseif Step == 4 then + ReturnToYasha(Quest, QuestGiver, Player) + end +end + + diff --git a/Lua/Quests/FrostfangSea/tackling_the_basilisks.lua b/Lua/Quests/FrostfangSea/tackling_the_basilisks.lua new file mode 100755 index 000000000..3df287846 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tackling_the_basilisks.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/tackling_the_basilisks.lua + Script Purpose : for the quest "Tackling the Basilisks" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : No Substitute for Shard Work + Followed by : Domestication is the New Survivalism +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several frostbiter basilisks.", 8, 100, "The basilisks can be found to the east of the Great Shelf, along the shoreline past the battlefield.", 611, 4700103) + AddQuestStepCompleteAction(Quest, 1, "KilledBasilisks") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I appreciate the vote of confidence.") + AddConversationOption(conversation, "Of course they won't give me much trouble.") + StartConversation(conversation, QuestGiver, Player, "I don't imagine they'll give you much trouble, " .. GetName(Player) .. ". If I could say that about the rest of the outsiders that have washed up on Erollis, we'd be much better off. ") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledBasilisks(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several frostbiter basilisks") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledBasilisks(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_absent_effigy.lua b/Lua/Quests/FrostfangSea/the_absent_effigy.lua new file mode 100755 index 000000000..db314f31e --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_absent_effigy.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_absent_effigy.lua + Script Purpose : Handles the quest "The Absent Effigy" + Script Author : theFoof + Script Date : 2013.5.5 + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : Little Lost Froglok + Followed by : Bartering Crystals +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_037.mp3", "", "", 727383716, 4227868188, Player) + AddConversationOption(conversation, "I will look for Splorpy's Effigy of Mithaniel and return to you if I find it.") + StartConversation(conversation, QuestGiver, Player, "I think it might have been picked up in the eddy of a frigid whirlstorm. I fear it is long gone by now, but if you happen to come across it in your travels, Splorpy and I would be grateful for its return.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(6,15), 0, 0) + AddQuestPrereqQuest(Quest, LostFroglok) -- change quest step to obtain item 'an Effigy of Mithaniel' drop from frigid whirlstorms/ The Deadly Icewind + AddQuestStepKill(Quest, 1, "I must kill frigid whirlstorms to find Splorpy's Effigy of Mithaniel.", 1, 75, "I should kill frigid whirlstorms around Gwenevyn's Cove to find Splorpy's Effigy of Mithaniel.", 1059, 4700054, 4700069) + AddQuestStepCompleteAction(Quest, 1, "GotEffigy") +end + +function GotEffigy(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Splorpy's Effigy of Mithaniel.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I should return Splorpy's Effigy of Mithaniel to his father Flibbit Quagmarr in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotEffigy(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_charge.lua b/Lua/Quests/FrostfangSea/the_charge.lua new file mode 100755 index 000000000..e6494f92d --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_charge.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : Quests/FrostfangSea/the_charge.lua + Script Purpose : the quest The Charge + Script Author : theFoof + Script Date : 2013.6.5 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : Loosening Their Grip + Followed by : The Siege is Not Over +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several Ry'Gorr bushwhackers.", 3, 100, "I must kill several Ry'Gorr orcs on Ry'Gorr Isle. The isle is to the west, off the coast of Erollis.", 611, 4701123) + AddQuestStepKill(Quest, 2, "I must kill several Ry'Gorr zealots.", 2, 100, "I must kill several Ry'Gorr orcs on Ry'Gorr Isle. The isle is to the west, off the coast of Erollis.", 611, 4701125, 4700875) + AddQuestStepKill(Quest, 3, "I must kill several Ry'Gorr marauders.", 3, 100, "I must kill several Ry'Gorr orcs on Ry'Gorr Isle. The isle is to the west, off the coast of Erollis.", 611, 4700874, 47001124) + AddQuestStepCompleteAction(Quest, 1, "KilledBush") + AddQuestStepCompleteAction(Quest, 2, "KilledZeal") + AddQuestStepCompleteAction(Quest, 3, "KilledMaur") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga018.mp3", "", "", 1084322054, 1642797259, Player) + AddConversationOption(conversation, "I will kill the orcs in your honor.") + AddConversationOption(conversation, "Consider them done for.") + AddConversationOption(conversation, "The battle is over as far as I'm concerned. Goodbye.") + StartConversation(conversation, QuestGiver, Player, "Clinging. Clinging to life. The orcs cling to their foothold on the floating rock, south of Erollis. Take the fight to them.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledBush(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed several Ry'Gorr bushwhackers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledZeal(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed several Ry'Gorr zealots.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledMaur(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have killed several Ry'Gorr marauders.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 52, 1) and QuestStepIsComplete(Player, 52, 2) and QuestStepIsComplete(Player, 52, 3) then + AddStep4(Quest, QuestGiver, Player) + end +end + +function AddStep4(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several Ry'Gorr orcs on Ry'Gorr Isle.") + AddQuestStepChat(Quest, 4, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 52, 1) then + KilledBush(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 52, 2) then + KilledZeal(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 52, 3) then + KilledMaur(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_demand_for_supplies.lua b/Lua/Quests/FrostfangSea/the_demand_for_supplies.lua new file mode 100755 index 000000000..e956c1d31 --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_demand_for_supplies.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : Quests/FrostfangSea/the_demand_for_supplies.lua + Script Purpose : for the quest "The Demand for Supplies" + Script Author : theFoof + Script Date : 2013.6.1 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Rakan RockBreaker + Preceded by : None + Followed by : Foiling the Flank +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepChat(Quest, 1, "I must deliver the supplies to Orica Deadshot.", 1, "I must deliver the supplies to Orica Deadshot and Battlemaster Golben. They can be found near the peak of Herga's Choke, facing off against a horde of Ry'Gorr.", 398, 4701112) + AddQuestStepChat(Quest, 2, "I must deliver the supplies to Battlemaster Golben.", 1, "I must deliver the supplies to Orica Deadshot and Battlemaster Golben. They can be found near the peak of Herga's Choke, facing off against a horde of Ry'Gorr.", 398, 4700098) + AddQuestStepCompleteAction(Quest, 1, "DeliveredOrica") + AddQuestStepCompleteAction(Quest, 2, "DeliveredGolben") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker005.mp3", "", "", 2645967514, 1229482070, Player) + AddConversationOption(conversation, "Don't worry.") + AddConversationOption(conversation, "I'll be right back!") + StartConversation(conversation, QuestGiver, Player, "Please do, " .. GetName(Player) .. ", and hurry!") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + + +function DeliveredOrica(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have delivered the supplies to Orica Deadshot.") + CheckProgress(Quest, QuestGiver, Player) +end + +function DeliveredGolben(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have delivered the supplies to Battlemaster Golben.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 45, 1) and QuestStepIsComplete(Player, 45, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have delivered the supplies to Orica Deadshot and Battlemaster Golben.") + AddQuestStepChat(Quest, 3, "I must speak to Rakan Rockbreaker.", 1, "I must speak to Rakan Rockbreaker, who can be found in the cave at the Great Shelf.", 0, 4700082) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + DeliveredOrica(Quest, QuestGiver, Player) + end + if Step == 2 then + DeliveredGolben(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_gauntlet.lua b/Lua/Quests/FrostfangSea/the_gauntlet.lua new file mode 100755 index 000000000..be634c68c --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_gauntlet.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/the_gauntlet.lua + Script Purpose : for the quest "The Gauntlet" + Script Author : theFoof + Script Date : 2013.5.29 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Calling Them Back + Followed by : Off to the Ossuary +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(6,15), 0, 0) + AddQuestStep(Quest, 1, "I must smash several piles of Ry'Gorr bones.", 5, 100, "I must smash several piles of Ry'Gorr bones. These piles of bones litter the battlefield at the Great Shelf.", 90) + AddQuestStepCompleteAction(Quest, 1, "SmashedBones") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard069.mp3", "", "", 269705072, 2630405776, Player) + AddConversationOption(conversation, "Of course.") + AddConversationOption(conversation, "I will return post-haste.") + AddConversationOption(conversation, "Consider them dust.") + StartConversation(conversation, QuestGiver, Player, "My patience for these shuffling skeletons is running out. Best we destroy them at the source, and quickly. Wend your way through the forces of the Ry'Gorr orcs, running the gauntlet, or so to speak. Then grind these bones into dust.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function SmashedBones(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I attempted to smash the piles of Ry'Gorr bones, but they reformed into skeletons and attacked me!") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + SmashedBones(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_glimmer_orc.lua b/Lua/Quests/FrostfangSea/the_glimmer_orc.lua new file mode 100755 index 000000000..0284c2c7f --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_glimmer_orc.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_glimmer_orc.lua + Script Purpose : the quest The Glimmer Orc + Script Author : theFoof + Script Date : 2013.5.26 + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : None + Followed by : A Murky Miasma of a Mystery +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard012.mp3", "", "", 2959588390, 53288716, Player) + AddConversationOption(conversation, "I will be back shortly.") + AddConversationOption(conversation, "Any orc that ambushes me will be sorry.") + StartConversation(conversation, QuestGiver, Player, "The snowflurries tend to wander around the icy cliffs just outside our hideaway. Ye can't miss 'em. Brell guide ye, " .. GetName(Player) .. ".") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must collect several glimmer powders from luminous snowflurries.", 8, 90, "I must collect several glimmer powders from luminous snowflurries. The snowflurries tend to wander just outside the cave, at the Great Shelf, or on Pride Overlook.", 3479, 4700064) + AddQuestStepCompleteAction(Quest, 1, "GotPowder") + AddQuestRewardCoin(Quest, math.random(23,80), math.random(13,22), 0, 0) +end + +function GotPowder(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected several glimmer powders.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotPowder(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_icemanes_cometh.lua b/Lua/Quests/FrostfangSea/the_icemanes_cometh.lua new file mode 100755 index 000000000..a7585b421 --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_icemanes_cometh.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/FrostfangSea/the_icemanes_cometh.lua + Script Purpose : the quest The Icemanes Cometh + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Pilgrim Pelts + Followed by : None +--]] + +function Accepted(Quest, QuestGiver, Player) + if HasItem(Player, 46664) == false then + SummonItem(Player, 46664, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_030.mp3", "", "", 2735698585, 1703243228, Player) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, QuestGiver, Player, "Be sure to escort them back here. Then tether them to the icemane post nearby. That is our only hope in dealing with them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + SetTempVariable(Player, "cub1", nil) + SetTempVariable(Player, "cub2", nil) + SetTempVariable(Player, "cub3", nil) + SetTempVariable(Player, "cub4", nil) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,80), math.random(6,12), 0, 0) + AddQuestStep(Quest, 1, "Use the binding tether on icemane cubs upon the Icemane Plains, then bring them back to the lion post near Verien Skysigh at the pilgrims' camp within Gwenevyn's Cove.", 4, 100, "Verien believes the grizzlies will avoid attacking any pilgrim who is being escorted by icemane cubs. He has tasked you with leashing some and bringing them back to the camp using the binding tether he provided you.", 2329) + AddQuestStepCompleteAction(Quest, 1, "GotCubs") +end + +function GotCubs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You brought back enough tethered icemane cubs.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh now that you have presented him with enough tethered icemane cubs.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, now that you have presented him with enough tethered icemane cubs.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCubs(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_last_ingredient.lua b/Lua/Quests/FrostfangSea/the_last_ingredient.lua new file mode 100755 index 000000000..aa7b4150c --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_last_ingredient.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_last_ingredient.lua + Script Purpose : the quest The Last Ingredient + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Perfectly Missing + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must harvest an aged ice slurry core.", 1, 50, "I must harvest a core from the aged ice slurries on the hill south of the Great Shelf.", 2944, 4700102) + AddQuestStepCompleteAction(Quest, 1, "GotCore") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_038.mp3", "", "", 2165797862, 1375729873, Player) + AddConversationOption(conversation, "I shall return with an aged ice slurry core.") + StartConversation(conversation, QuestGiver, Player, "The aged ice slurries are in the same place as the others. They gather on the hill south of the Great Shelf.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCore(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have harvested a core from the aged ice slurries.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild at the Great Shelf.", 1, "I must return the aged ice slurry core to Blorpisa Bogchild in the Great Shelf.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "Blorpisa thanked me for harvesting the aged ice slurry core.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCore(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_nightmare_is_over.lua b/Lua/Quests/FrostfangSea/the_nightmare_is_over.lua new file mode 100755 index 000000000..a9caa3139 --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_nightmare_is_over.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/FrostfangSea/the_nightmare_is_over.lua + Script Purpose : the quest "The Nightmare is Over" + Script Author : theFoof + Script Date : 2013.6.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Severing the Head + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(9,22), 0, 0) + AddQuestStepChat(Quest, 1, "I must report to Tad Ironstein at the Cragged Spine.", 1, "I must report to Tad Ironstein at the Cragged Spine outpost. The Cragged Spine is south of the Great Shelf, past the frostbiter basilisks.", 0, 4700106) + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I look forward to meeting them.") + AddConversationOption(conversation, "Perhaps they will be a bit more organized.") + StartConversation(conversation, QuestGiver, Player, "Thank ye for sticking with us through the worst of it, " .. GetName(Spawn) .. ". Yer no fair weather friend. I'll say taht about ye. I've sent word to Cragged Spine that yer coming and put in a good word or two. They should welcome ye right away. Ye'll find it far to the south of here, past the battlefield and the basilisks.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/the_siege_is_not_over.lua b/Lua/Quests/FrostfangSea/the_siege_is_not_over.lua new file mode 100755 index 000000000..dc7acf9d3 --- /dev/null +++ b/Lua/Quests/FrostfangSea/the_siege_is_not_over.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_siege_is_not_over.lua + Script Purpose : the quest The Siege is Not Over + Script Author : theFoof + Script Date : 2013.6.5 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : The Charge + Followed by : Forsaking the Grave +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must sabotage the ballistae on Ry'Gorr Isle.", 6, 100, "I must sabotage the ballistae on Ry'Gorr Isle.", 2361) + AddQuestStepCompleteAction(Quest, 1, "SabotagedBallistae") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga029.mp3", "", "", 3545707783, 4113839123, Player) + AddConversationOption(conversation, "It shouldn't be a problem.") + AddConversationOption(conversation, "Brell have mercy on them, because I certainly won't.") + StartConversation(conversation, QuestGiver, Player, "The orcs are nothing if not tenacious. They have crafted these devastating devices from driftwood and sea-rusted steel. ") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function SabotagedBallistae(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have sabotaged the ballistae.") + AddQuestStepChat(Quest, 2, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + SabotagedBallistae(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/through_thine_eyes.lua b/Lua/Quests/FrostfangSea/through_thine_eyes.lua new file mode 100755 index 000000000..ef723c55c --- /dev/null +++ b/Lua/Quests/FrostfangSea/through_thine_eyes.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/FrostfangSea/through_thine_eyes.lua + Script Purpose : for the quest Through Thine Eyes + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Roughing Up the Reinforcements + Followed by : Below The Frozen Waves +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,24), 0, 0) + AddQuestStep(Quest, 1, "I need to use the Ry'Gorr Scrying Eye on a " .. '"lazy Ry' .. "'" .. 'Gorr orc."', 1, 100, "I need to travel to the iceberg, east of the Jagged Daggers Isle, and use the Ry'Gorr Scrying Eye on an unsuspecting orc.", 0) + AddQuestStepCompleteAction(Quest, 1, "UsedEye") +end + +function Accepted(Quest, QuestGiver, Player) + local thirin = GetSpawnByLocationID(GetZone(QuestGiver), 14520) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(thirin, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver016.mp3", "", "", 2746219212, 3926805260, Player) + AddConversationOption(conversation, "I'll let you know what I learn.") + StartConversation(conversation, thirin, Player, "Your value grows, adventurer. You won't be able to use this in the middle of their camp, but I have heard reports say there are a few Ry'gorr on the iceberg to the east of the Jagged Daggers Isle. See what you find there, perhaps an opportunity to use the eye will present itself.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedEye(Quest, QuestGiver, Player) -- add cutscene here when we have the ability + if HasItem(Player, 11820) then + RemoveItem(Player, 11820) + end + UpdateQuestStepDescription(Quest, 1, "I have used the Ry'Gorr Scrying Eye on " .. '"' .. "a lazy Ry'Gorr orc." .. '"') + UpdateQuestTaskGroupDescription(Quest, 1, "I was able to use the scrying eye on a lazy Ry'Gorr Orc and see through his eyes.") + AddQuestStepChat(Quest, 2, "I should speak with Thirin Veliumdelver about the underwater tunnel.", 1, "It appears there is an underwater tunnel that leads underneath Erollis. I should inform Thirin Veliumdelver right away.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedEye(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tis_most_unnatural.lua b/Lua/Quests/FrostfangSea/tis_most_unnatural.lua new file mode 100755 index 000000000..08c560126 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tis_most_unnatural.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/tis_most_unnatural.lua + Script Purpose : for the quest "'Tis Most Unnatural" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Reclaiming Their Honor + Followed by : Pouring One Out for My Skellies +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several risen Ry'Gorr skeletons.", 8, 100, "I must kill several risen Ry'Gorr skeletons. These skeletons can be found on the battlefield of the Great Shelf.", 611, 4700087, 4700872) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I will return.") + AddConversationOption(conversation, "Brell be with you, as well.") + StartConversation(conversation, QuestGiver, Player, "Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several risen Ry'Gorr skeletons.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/to_the_great_shelf.lua b/Lua/Quests/FrostfangSea/to_the_great_shelf.lua new file mode 100755 index 000000000..adc1ffd49 --- /dev/null +++ b/Lua/Quests/FrostfangSea/to_the_great_shelf.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/to_the_great_shelf.lua + Script Purpose : for the quest "To the Great Shelf!" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : Pelted + Followed by : None +--]] +require"SpawnScripts/FrostfangSea/FlibbitQuagmarr" + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(8,80), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must make sure Splorpy is ready to leave.", 1, 100, "I must speak with Splorpy at Gwenevyn's Cove and make sure he is ready to go.", 0) + AddQuestStepCompleteAction(Quest, 1, "GotSplorpy") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_059.mp3", "", "", 1062705629, 386941071, Player) + AddConversationOption(conversation, "I'm ready. Is Splorpy ready to go?", "Quest6Chat_6") + StartConversation(conversation, QuestGiver, Player, "Thank you! I will catch up with you both, soon. I have heard rumors of a small cavern carved out by some dwarves. I'll meet you there.") +end + +function Deleted(Quest, QuestGiver, Player) + SetTempVariable(Player, "splorp", nil) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotSplorpy(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Splorpy is ready to leave.") + UpdateQuestTaskGroupDescription(Quest, 1, "Splorpy and I have begun our journey across the Icemane Plains to the Great Shelf.") + AddQuestStepChat(Quest, 2, "I must take Splorpy to his father Flibbit Quagmarr. Flibbit is at The Great Shelf.", 1, "I must escort Splorpy to his father Flibbit at The Great Shelf.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotSplorpy(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/totem_annihilation.lua b/Lua/Quests/FrostfangSea/totem_annihilation.lua new file mode 100755 index 000000000..60d80f2a0 --- /dev/null +++ b/Lua/Quests/FrostfangSea/totem_annihilation.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/totem_annihilation.lua + Script Purpose : the quest Totem Annihilation + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : A Scattering of Ashes + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(13,20), 0 ,0) + AddQuestStep(Quest, 1, "I must destroy several totems that are being used to raise the Ry'Gorr skeletons.", 5, 100, "I must destroy several totems that are being used to raise the Ry'Gorr skeletons. These totems have been planted all over the battlefield, which is south of the cave at the Great Shelf.", 3596) + AddQuestStepCompleteAction(Quest, 1, "DestroyedTotems") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard044.mp3", "", "", 4252179126, 1393655567, Player) + AddConversationOption(conversation, "They don't scare me.") + AddConversationOption(conversation, "I'll fight tooth and nail to get the job done.") + StartConversation(conversation, QuestGiver, Player, "Ha! I was just telling ol' Rockbreaker here that you were the one for the job. Head back to the battlefield to the south and look for the totems there. And don't expect the Ry'Gorr to let you succeed without putting up a fight.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function DestroyedTotems(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have destroyed the totems.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + DestroyedTotems(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/trust_issues.lua b/Lua/Quests/FrostfangSea/trust_issues.lua new file mode 100755 index 000000000..86d6b3f1b --- /dev/null +++ b/Lua/Quests/FrostfangSea/trust_issues.lua @@ -0,0 +1,90 @@ +--[[ + Script Name : Quests/FrostfangSea/trust_issues.lua + Script Purpose : the quest "Trust Issues" + Script Author : theFoof + Script Date : 2013.8.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Brogan MacLellan + Preceded by : None + Followed by : Trusted Referral +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(10,30), 1, 0) + AddQuestStepChat(Quest, 1, "I must speak with Blibba Nugrud.", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700148) + AddQuestStepChat(Quest, 2, "I must speak with Dandi McCarren", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700252) + AddQuestStepChat(Quest, 3, "I must speak with Sister Aalarya.", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700284) + AddQuestStepChat(Quest, 4, "I must speak with Pretchon Ironstein.", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700271) + AddQuestStepCompleteAction(Quest, 1, "TalkedBlibba") + AddQuestStepCompleteAction(Quest, 2, "TalkedDandi") + AddQuestStepCompleteAction(Quest, 3, "TalkedSister") + AddQuestStepCompleteAction(Quest, 4, "TalkedPretchon") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan010.mp3", "", "", 1533537529, 2198675230, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Head into town and look for Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud. Find out what they're doing here, and why they don't leave for greener pastures.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedBlibba(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Blibba Nugrud.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TalkedDandi(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Dandi McCarren.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TalkedSister(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Sister Aalarya.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TalkedPretchon(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Pretchon Ironstein.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 85, 1) and QuestStepIsComplete(Player, 85, 2) and QuestStepIsComplete(Player, 85, 3) and QuestStepIsComplete(Player, 85, 4) then + AddStep5(Quest, QuestGiver, Player) + end +end + +function AddStep5(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I spoke to Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud about their reasons for coming to, and staying in, New Halas.") + AddQuestStepChat(Quest, 5, "I must speak to Brogan MacLellan.", 1, "I must return to Brogan MacLellan at the New Halas Guard House just outside of town and inform him of my findings.", 0, 4700126) + AddQuestStepCompleteAction(Quest, 5, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 85, 1) then + TalkedBlibba(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 85, 2) then + TalkedDandi(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 85, 3) then + TalkedSister(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 85, 4) then + TalkedPretchon(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/trusted_referral.lua b/Lua/Quests/FrostfangSea/trusted_referral.lua new file mode 100755 index 000000000..8c2c7e3df --- /dev/null +++ b/Lua/Quests/FrostfangSea/trusted_referral.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/FrostfangSea/trusted_referral.lua + Script Purpose : the quest Trusted Referral + Script Author : theFoof + Script Date : 2013.8.25 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Brogan MacLellan + Preceded by : Trust Issues + Followed by : None +--]] + +-- *** THIS SCRIPT IS NOT COMPLETE, BUTCHERBLOCK MUST BE SPAWNED FIRST *** + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(19,30), 0, 0) + AddQuestStepChat(Quest, 1, "You should speak to Belinda MacLellan at the Butcherblock Bay docks.", 1, "You should speak to Belinda MacLellan at the Butcherblock Bay docks.", 0, "BELINDAMACLELLAN") + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll get this to her, right away!") + StartConversation(conversation, QuestGiver, Player, "She's as reluctant to trust others, too, but I'll write you my recommendation. And if she doesn't have any work, I bet she'll know who there does.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_alchemical_experiments.lua b/Lua/Quests/FrostfangSea/tutorial_alchemical_experiments.lua new file mode 100755 index 000000000..1249e04a2 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_alchemical_experiments.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_alchemical_experiments.lua + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Scribing Scrolls + Followed by : Tutorial: Essential Outfitting +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create an Essence of Intercept (Journeyman) using the chemistry table.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 2219, 112413) + AddQuestStepCompleteAction(Quest, 1, "MadeIntercept") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeIntercept(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestTaskGroupDescription(Quest, 1, "I have created an Essence of Intercept (Journeyman).") + AddQuestStepChat(Quest, 2, "I should return to the tutor with the Essence of Intercept.", 1, "I should return to the tutor with the Essence of Intercept.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + MadeIntercept(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_countering_problems.lua b/Lua/Quests/FrostfangSea/tutorial_countering_problems.lua new file mode 100755 index 000000000..d219e36f4 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_countering_problems.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_countering_problems.lua + Script Purpose : Tutorial: Countering Problems + Script Author : theFoof + Script Date : 2013.10.9 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Forging Ahead + Followed by : Tutorial: Learning to Cook +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a lead bracelet using the recipe the tutor gave me.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 952, 151332) + AddQuestStepCompleteAction(Quest, 1, "CraftedBracelet") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 31373, 1) + SummonItem(Player, 4142, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll do my best!") + StartConversation(conversation, QuestGiver, Player, "No, that was a particularly easy recipe. In most other cases though, you have the chance of these warnings appearing. They're random, but will always occur at the beginning of a new crafting round. You have until the end of that 4 second round to counter the event. I'd like you to go to the jeweler's workbench now and create a lead bracelet. You'll find the recipe in this book. Take care this time to watch out for warnings and counter them correctly. And don't forget you can also use your arts to help out even when there's no warning showing.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CraftedBracelet(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have created a lead bracelet.") + AddQuestStepChat(Quest, 2, "I should return to the tutor with my bracelet.", 1, "I should return to the tutor with my bracelet.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CraftedBracelet(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_essential_outfitting.lua b/Lua/Quests/FrostfangSea/tutorial_essential_outfitting.lua new file mode 100755 index 000000000..3ea52d3ee --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_essential_outfitting.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_essential_outfitting.lua + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Alchemical Experiments + Followed by : None +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a chainmail coat using the forge.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 2407, 185658) + AddQuestStepCraft(Quest, 2, "I should return to the tutor with the equipment I created.", 1, 100, "I should return to the tutor with my work.", 402, 20805) + AddQuestStepCompleteAction(Quest, 1, "MadeCoat") + AddQuestStepCompleteAction(Quest, 2, "MadePack") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeCoat(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have created a chainmail coat.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function MadePack(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I created a rawhide backpack.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function ProgressCheck(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 97, 1) and QuestStepIsComplete(Player, 97, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestTaskGroupDescription(Quest, 1, "I have reviewed the process of crafting an item.") + AddQuestStepChat(Quest, 3, "I should return to the tutor with the equipment I created.", 1, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 97, 1) then + MadeCoat(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 97, 2) then + MadePack(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_forging_ahead.lua b/Lua/Quests/FrostfangSea/tutorial_forging_ahead.lua new file mode 100755 index 000000000..2477e6b88 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_forging_ahead.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_forging_ahead.lua + Script Purpose : Tutorial: Forging Ahead + Script Author : theFoof + Script Date : 2013.10.6 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Learning to Harvest + Followed by : Tutorial: Countering Problems +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a simple candelabra using the recipe the tutor gave me.", 1, 100, "I must follow the tutor's instructions to create a simple candelabra.", 189, 64876) + AddQuestStepCompleteAction(Quest, 1, "CraftedCandelabra") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 31371, 1) + SummonItem(Player, 4142, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks. Here I go.") + StartConversation(conversation, QuestGiver, Player, "Of course, it'll be easier to understand once you can see it in action. Here's a recipe book, and some fuel. Scribe the recipe book by finding it in your inventory and right-clicking it. Check that you have some elm, tin, and roots in your bags, and head over to the forge. Click on the forge to bring up your recipe list, and select the recipe for the simple candelabra.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CraftedCandelabra(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have reviewed the process of crafting an item.") + AddQuestStepChat(Quest, 2, "I should return to the tutor with my candelabra.", 1, "I should return to the tutor with the candelabra.", 0, 4700220) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") + SetCompleteFlag(Quest) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CraftedCandelabra(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_learning_to_cook.lua b/Lua/Quests/FrostfangSea/tutorial_learning_to_cook.lua new file mode 100755 index 000000000..deffd1ff3 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_learning_to_cook.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_learning_to_cook.lua + Script Purpose : Tutorial: Learning to Cook + Script Author : theFoof + Script Date : 2013.10.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Countering Problems + Followed by : Tutorial: The Art of Weapons +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create some jum jum cider using the recipe the tutor gave me.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 310, 36399) + AddQuestStepCompleteAction(Quest, 1, "MadeCider") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeCider(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have created some jum jum cider.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 2, "I should return to the tutor with the jum jum cider.", 1, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + MadeCider(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_learning_to_harvest.lua b/Lua/Quests/FrostfangSea/tutorial_learning_to_harvest.lua new file mode 100755 index 000000000..fa91ac855 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_learning_to_harvest.lua @@ -0,0 +1,125 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_learning_to_harvest.lua + Script Purpose : the quest Tutorial: Learning to Harvest + Script Author : theFoof + Script Date : 2013.5.15 + + Zone : Unknown (global) + Quest Giver : Trainer Hawk Dunlop (and other harvesting tutors will add as I get to those zones) + Preceded by : None + Followed by : "If I Had a Hammer" & "Tutorial: Forging Ahead" +--]] + +local HarvestTutorial = 11 + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Harvest some elm lumber.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 826, 12098) + AddQuestStepHarvest(Quest, 2, "Harvest some roots.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 200, 11637) + AddQuestStepHarvest(Quest, 3, "Mine some tin clusters.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 3391, 14463) + AddQuestStepHarvest(Quest, 4, "Mine some lead clusters.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 1086, 8808) + AddQuestStepHarvest(Quest, 5, "Fish up some sunfish.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 2540, 13586) + AddQuestStepHarvest(Quest, 6, "Harvest jumjum from a shrub or garden.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 816, 8486) + AddQuestStepHarvest(Quest, 7, "Trap some rawhide leather pelts from an animal den.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 125 , 11267) + AddQuestStepCompleteAction(Quest, 1, "Lumber") + AddQuestStepCompleteAction(Quest, 2, "Root") + AddQuestStepCompleteAction(Quest, 3, "TinCluster") + AddQuestStepCompleteAction(Quest, 4, "LeadCluster") + AddQuestStepCompleteAction(Quest, 5, "Sunfish") + AddQuestStepCompleteAction(Quest, 6, "Jumjum") + AddQuestStepCompleteAction(Quest, 7, "RawhidePelt") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, HarvestTutorial, 1) and QuestStepIsComplete(Player, HarvestTutorial, 2) and QuestStepIsComplete(Player, HarvestTutorial, 3) and QuestStepIsComplete(Player, HarvestTutorial, 4) and QuestStepIsComplete(Player, HarvestTutorial, 5) and QuestStepIsComplete(Player, HarvestTutorial, 6) and QuestStepIsComplete(Player, HarvestTutorial, 7) then + UpdateQuestTaskGroupDescription(Quest, 1, "I harvested some crafting supplies.") + AddStep8(Quest, QuestGiver, Player) + end +end + +function AddStep8(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 8, "I must return to the trainer with the harvested items.", 1, "I must return to the trainer who sent me out harvesting.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 8, "CompleteQuest") +end + +function Root(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have gathered some roots.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Lumber(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have harvested some elm lumber.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TinCluster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have mined some tin clusters.") + CheckProgress(Quest, QuestGiver, Player) +end + +function LeadCluster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I harvested some lead clusters.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Sunfish(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have harvested some sunfish.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Jumjum(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have gathered some jumjum.") + CheckProgress(Quest, QuestGiver, Player) +end + +function RawhidePelt(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have trapped a number of pelts.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 20747, 1) then + SummonItem(Player, 20747) + end + if GetName(QuestGiver) == "Glin Hammerhelm" then + conversation = CreateConversation() + FaceTarget(QuestGiver, Player) + + AddConversationOption(conversation, "I'll get right on it.") + StartConversation(conversation, QuestGiver, Player, "Harvesting resources tend to be segregated by areas - for example, you'll be able to harvest items (often also called nodes) for making equipment for level 1-9 adventurers, in the same areas where you'll find level 1-9 adventurers hunting. There are seven types of harvestable item: wood, roots, ore, soft metal, animal dens, shrubs, and fish. I'd like you to get a few harvests from each type of harvestable item.") + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, HarvestTutorial, 1) then + Lumber(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 2) then + Root(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 3) then + TinCluster(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 4) then + LeadCluster(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 5) then + Sunfish(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 6) then + Jumjum(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 7) then + RawhidePelt(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_scribing_scrolls.lua b/Lua/Quests/FrostfangSea/tutorial_scribing_scrolls.lua new file mode 100755 index 000000000..5f166adc7 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_scribing_scrolls.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_scribing_scrolls.lua + Script Purpose : Tutorial: Scribing Scrolls + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: The Art of Weapons + Followed by : Tutorial: Alchemical Experiments +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a spell scroll of Shackle (Journeyman) using the engraved desk.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 715, 119296) + AddQuestStepCompleteAction(Quest, 1, "MadeScroll") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeScroll(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestTaskGroupDescription(Quest, 1, " I have created a spell scroll of Shackle (Journeyman).") + AddQuestStepChat(Quest, 2, "I should return to the tutor with the scroll of Shackle.", 1, 100, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + MadeScroll(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/tutorial_the_art_of_weapons.lua b/Lua/Quests/FrostfangSea/tutorial_the_art_of_weapons.lua new file mode 100755 index 000000000..b21efec53 --- /dev/null +++ b/Lua/Quests/FrostfangSea/tutorial_the_art_of_weapons.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_the_art_of_weapons.lua + Script Purpose : Tutorial: The Art of Weapons + Script Author : theFoof + Script Date : 2013.10.19 + Script Notes :Edited 8/19/17 correct quest number in progress check and reload, + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Learning to Cook + Followed by : Tutorial: Scribing Scrolls +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create an elm greatstaff using the woodworking table.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 622, 76153) + AddQuestStepCraft(Quest, 2, "I must create a tin hand axe using the forge.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 2154, 89113) + AddQuestStepCompleteAction(Quest, 1, "MadeStaff") + AddQuestStepCompleteAction(Quest, 2, "MadeAxe") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeStaff(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have created an elm greatstaff.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function MadeAxe(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I created a tin hand axe.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function ProgressCheck(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 94, 1) and QuestStepIsComplete(Player, 94, 2) then + UpdateQuestTaskGroupDescription(Quest, 1, "I have reviewed the process of crafting an item.") + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 3, "I should return to the tutor with the weapons.", 1, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 94, 1) then + MadeStaff(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 94, 2) then + MadeAxe(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/watch_out_below.lua b/Lua/Quests/FrostfangSea/watch_out_below.lua new file mode 100755 index 000000000..476b0e2fe --- /dev/null +++ b/Lua/Quests/FrostfangSea/watch_out_below.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/watch_out_below.lua + Script Purpose : the quest Watch Out Below! + Script Author : theFoof + Script Date : 2013.7.18 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Sourgeson + Preceded by : Ry'Gorr Tool Taking + Followed by : None +--]] + +function Init(Quest) + SetQuestRepeatable(Quest) + SetQuestFeatherColor(Quest, 3) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(52,70), 0, 0) + AddQuestStep(Quest, 1, "Break off glimmering velium crystals that grow from the cave ceiling, and gather them up.", 5, 100, "Return to the Velinoid Catacombs in search of glimmering velium crystals.", 3774) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_042.mp3", "", "", 2099746411, 4081524190, Player) + AddConversationOption(conversation, "That will be good.") + StartConversation(conversation, QuestGiver, Player, "That's wonderful! The money raised by selling the velium can help to buy us more goods and weapons out here on the front.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have gathered enough glimmering velium crystals.") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson now that you have gathered enough glimmering velium crystals.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you have gathered enough glimmering velium crystals.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/weapon_of_choice.lua b/Lua/Quests/FrostfangSea/weapon_of_choice.lua new file mode 100755 index 000000000..52e4f9b2c --- /dev/null +++ b/Lua/Quests/FrostfangSea/weapon_of_choice.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : Quests/FrostfangSea/weapon_of_choice.lua + Script Purpose : the quest Weapon of Choice + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Field Testing Part Two + Followed by : Disarming the Ry'Gorr +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must collect coldain weapons from the slain coldain.", 5, 100, "I must collect coldain weapons from the slain coldain that have died at the battlefield southeast of the Great Shelf.", 1650) + AddQuestStepCompleteAction(Quest, 1, "GotWeapons") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotWeapons(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the coldain weapons for Blorpisa.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild. Blorpisa is staying at the Great Shelf.", 1, "I must return the weapons I have collected to Blorpisa in the Great Shelf.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotWeapons(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/FrostfangSea/whirling_ice_time.lua b/Lua/Quests/FrostfangSea/whirling_ice_time.lua new file mode 100755 index 000000000..78fdaf0a9 --- /dev/null +++ b/Lua/Quests/FrostfangSea/whirling_ice_time.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/FrostfangSea/whirling_ice_time.lua + Script Purpose : for the quest Whirling Ice Time + Script Author : theFoof + Script Date : 2013.6.16 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : None + Followed by : Highly Flammable Materials +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Apply the Draught of Whirling Ice to the green sparkling arrows that have been shot upon the Cragged Spine beachfront.", 6, 100, "Odon gave you a Draught of Whirling Ice, which he claims will create whirling eddies of fog and ice on the beachfront, causing confusion amongst the Ry'Gorr.", 2511) + AddQuestStepCompleteAction(Quest, 1, "UsedDraught") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 6556) then + SummonItem(Player, 6556) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_011.mp3", "", "", 57352685, 126930630, Player) + AddConversationOption(conversation, "I will, Odon.") + StartConversation(conversation, QuestGiver, Player, "Here is the Draught of Whirling Ice I spoke of. Use it at the locations marked by a glowing green arrow shaft.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedDraught(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, " The icy whirlstorms conjured by the Draught of Whirling Ice worked wonders!") + UpdateQuestTaskGroupDescription(Quest, 1, "The icy whirlstorms conjured by the Draught of Whirling Ice worked wonders!") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson at Cragged Spine.", 1, "You should return return to Odon Scourgeson now that the Draught of Whirling Ice caused confusion and chaos on the near by beach front.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + if HasItem(Player, 6556) then + RemoveItem(Player, 6556) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedDraught(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/GMHall/TestQuest.lua b/Lua/Quests/GMHall/TestQuest.lua new file mode 100755 index 000000000..694008497 --- /dev/null +++ b/Lua/Quests/GMHall/TestQuest.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Quests/GMHall/TestQuest.lua + Script Author : TyroneSWG + Script Date : 2019.01.29 02:01:27 + Script Purpose : + + Zone : GMHall + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepKill(Quest, 1, "I need to help clean up the area.", 1, 100, "The Gods have asked that i help with cleanup around the mythical hall.", 2693, 1970017) +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Graveyard/bringing_out_your_souls.lua b/Lua/Quests/Graveyard/bringing_out_your_souls.lua new file mode 100755 index 000000000..f7dfe2da6 --- /dev/null +++ b/Lua/Quests/Graveyard/bringing_out_your_souls.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : bring_out_your_souls.lua + Script Purpose : Handles the quest, "Bring Out Your Souls" + Script Author : Scatman + Script Date : 2009.07.12 + + Zone : The Graveyard + Quest Giver: Zekvila Dizelk + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill ten undead and trap their souls.", 10, 100, "I should kill some undead like Zekvila asked of me. I'll hold out the crystal as each one is destroyed.", 611, 1250024, 1250028, 1250035, 1250042, 1250080, 1250068, 1250059, 1250021, 1250029, 1250063, 1250057, 1250081, 1250055, 1250043, 1250064, 1250053, 1250036, 1250087, 1250060, 1250041, 1250056, 1250046, 1250052, 1250049, 1250038, 1250091, 1250026, 1250006, 1250016, 1250037, 1250075, 1250012, 1250019, 1250020, 1250017, 1250097, 1250090, 1250079, 1250066, 1250034, 1250031) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledUndead") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I understand. I'll be back when it's done.") + StartConversation(conversation, QuestGiver, Player, "You choose wisely, friend. I shall use the lessons taught to the Iksar by our dead emperor, Venril Sathir. This is where you come in ... the magic of the dead will put a stop to Ithelz's pompous belief that he is our new ruler. I will tell you only once: take the crystal, go to the graveyard, and kill the undead knights. As the beasts die, hold out the crystal and collect their souls. Return when you fill the crystal.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledUndead(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the undead.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've killed ten undead and collected their souls.") + + AddQuestStepChat(Quest, 2, "I need to speak with Zekvila.", 1, "I should return to Zekvila the crystal as she had commanded.", 0, 1250069) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Zekvila.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have given Zekvila the crystal filled with souls.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "Zekvila was pleased with the crystal. She claims that it will help her topple her rival's rule. I think I may ask her later if she needs any more help, in case she actually is successful.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledUndead(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Graveyard/finding_the_pages.lua b/Lua/Quests/Graveyard/finding_the_pages.lua new file mode 100755 index 000000000..5fdb97b48 --- /dev/null +++ b/Lua/Quests/Graveyard/finding_the_pages.lua @@ -0,0 +1,117 @@ +--[[ + Script Name : finding_the_pages.lua + Script Purpose : Handles the quest, "Finding the Pages" + Script Author : Scatman + Script Date : 2009.07.11 + + Zone : The Graveyard + Quest Giver: Custodian Zaddar Sullissia + Preceded by: Paying a Visit (paying_a_visit.lua) + Followed by: Testing the Ward (testing_the_ward.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I must destroy some of the undead to see if they have any of the pieces of parchment.", 5, 100, "I should search near the ruins of the Tower of Marr. Others pages might have been taken by the local undead. I should also search near the tombs of the fallen Knights of Truth.", 2180, 1250024, 1250028, 1250035, 1250042, 1250080, 1250068, 1250059, 1250021, 1250029, 1250063, 1250057, 1250081, 1250055, 1250043, 1250064, 1250053, 1250036, 1250087, 1250060, 1250041, 1250056, 1250046, 1250052, 1250049, 1250038, 1250091, 1250026, 1250006, 1250016, 1250037, 1250075, 1250012, 1250019, 1250020, 1250017, 1250097, 1250090, 1250079, 1250066, 1250034, 1250031) + AddQuestStepObtainItem(Quest, 2, "I must search the Tower of Marr ruins for one of the pages.", 1, 100, "I should search near the ruins of the Tower of Marr. Others pages might have been taken by the local undead. I should also search near the tombs of the fallen Knights of Truth.", 2180, 2315) -- a tattered piece of paper + + AddQuestStepObtainItem(Quest, 3, "I should search beneath the elevated tombs near Zaddar for one of the pages.", 1, 100, "I should search near the ruins of the Tower of Marr. Others pages might have been taken by the local undead. I should also search near the tombs of the fallen Knights of Truth.", 2180, 2315) -- a tattered piece of paper + + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSkeletons") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SearchedTower") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_SearchedTombs") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "thank", 0, 0, Player) + AddConversationOption(conversation, "I shall return.") + StartConversation(conversation, QuestGiver, Player, "Thank you for your help! Please let me know when you have found them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSkeletons(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've found one of the seven missing pieces of parchment.") + + if QuestIsComplete(Player, 233) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_SearchedTower(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've found one of the seven missing pieces of parchment.") + + -- a tattered piece of paper + while HasItem(Player, 2660) do + RemoveItem(Player, 2660) + end + + if QuestIsComplete(Player, 233) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_SearchedTombs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've found one of the seven missing pieces of parchment.") + + -- a tattered piece of paper + while HasItem(Player, 2660) do + RemoveItem(Player, 2660) + end + + if QuestIsComplete(Player, 233) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function FoundAllPages(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I should return to Varacus with the pages I found.") + + AddQuestStepChat(Quest, 4, "I should return to Varacus and prove that I found the pages.", 1, "Return to Varacus T`Kur and scold him for not looking after the pages.", 0, 1250070) + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_SpokeToVaracus") +end + +function Step4_Complete_SpokeToVaracus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have returned to Varacus with the pages.") + UpdateQuestTaskGroupDescription(Quest, 2, "Varacus was like putty in my hands, the fool.") + + -- Ethernere Ledger + -- TODO: Display quest reward popup + if not HasItem(Player, 6016) then + SummonItem(Player, 6016) + end + + AddQuestStepChat(Quest, 5, "I should return to Zaddar with the pages he needs.", 1, "I must return to Zaddar and tell him of my findings.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- Ethernere Ledger + while HasItem(Player, 6016) do + RemoveItem(Player, 6016) + end + + UpdateQuestStepDescription(Quest, 5, "I've returned to Zaddar and gave him the pieces of parchment.") + UpdateQuestTaskGroupDescription(Quest, 3, "I've returned to Zaddar with the lost documents.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I was able to track down all seven pieces of parchment and successfully delivered them to Zaddar.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSkeletons(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SearchedTower(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_SearchedTombs(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_SpokeToVaracus(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Graveyard/obtaining_an_ancient_staff.lua b/Lua/Quests/Graveyard/obtaining_an_ancient_staff.lua new file mode 100755 index 000000000..3c877a526 --- /dev/null +++ b/Lua/Quests/Graveyard/obtaining_an_ancient_staff.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : obtaining_an_ancient_staff.lua + Script Purpose : Handles the quest, "Obtaining an Ancient Staff" + Script Author : Scatman + Script Date : 2009.07.12 + + Zone : The Graveyard + Quest Giver: Custodian Zaddar Sullissia + Preceded by: Testing the Ward (testing_the_ward.lua) + Followed by: The Book of the Dead (the_book_of_the_dead.lua) +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I must get the Staff of Ethernere from Varacus.", 1, "I've been instructed by Zaddar to obtain the ancient Staff of the Ethernere from Varacus. Zaddar feels that this relic will be a necessary component when attempting to reseal the ward.", 0, 1250070) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeToVaracus") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar064.mp3", "", "", 2541220824, 746144364, Player) + AddConversationOption(conversation, "Why do we need this staff?", "dlg_5_8") + AddConversationOption(conversation, "Enough of this story.") + StartConversation(conversation, QuestGiver, Player, "This staff has runes carved along its length that ward off the undead. It is often used by the Keepers of Ethernere during purifying rituals.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeToVaracus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've obtained the Staff of Ethernere.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've managed to talk that fool Varacus out of his staff, let's hope it was worth it.") + + AddQuestStepChat(Quest, 2, "I must take the Staff of Ethernere to Zaddar.", 1, "I must take this staff to Zaddar with haste, there is little time and much work to be done.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The Staff of Ethernere + while HasItem(Player, 12438) do + RemoveItem(Player, 12438) + end + + UpdateQuestStepDescription(Quest, 2, "I've given the staff to Zaddar.") + UpdateQuestTaskGroupDescription(Quest, 2, "I must take the Staff of Ethernere to Zaddar in the graveyard so he can begin the arcane spell to reseal the ward.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I've obtained the ancient staff used by the Keepers of Ethernere and passed it along to Zaddar.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeToVaracus(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Graveyard/paying_a_visit.lua b/Lua/Quests/Graveyard/paying_a_visit.lua new file mode 100755 index 000000000..f2aa235b9 --- /dev/null +++ b/Lua/Quests/Graveyard/paying_a_visit.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : paying_a_visit.lua + Script Purpose : Handles the quest, "Paying a Visit" + Script Author : Scatman + Script Date : 2009.07.10 + + Zone : The Graveyard + Quest Giver: Custodian Zaddar Sullissia + Preceded by: The Door Knocker (the_door_knocker.lua) + Followed by: Finding the Pages (finding_the_pages.lua) +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I must speak with Varacus T`Kur. He can be found by following the road north, then to the west.", 1, "I must seek out the dark elf Varacus T`Kur within the graveyard of Freeport. According to Zaddar, Varacus can be found to the north near the ruins of the old tower of Marr.", 0, 1250070) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar036.mp3", "", "", 931872980, 59948626, Player) + AddConversationOption(conversation, "Very well, I'm off.") + StartConversation(conversation, QuestGiver, Player, "Go now, and return when you have the pages from Varacus.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Varacus T`Kur.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Varacus and spoken with him as instructed by Zaddar.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have found Varacus and spoken to him.") +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/Graveyard/repairing_the_ward.lua b/Lua/Quests/Graveyard/repairing_the_ward.lua new file mode 100755 index 000000000..143024f2a --- /dev/null +++ b/Lua/Quests/Graveyard/repairing_the_ward.lua @@ -0,0 +1,61 @@ +--[[ + Quest Template + Script Name : repairing_the_ward.lua + Script Purpose : Handles the quest, "Repairing the Ward" + Script Author : Scatman + Script Date : 2009.07.12 + + Zone : The Graveyard + Quest Giver : Custodian Zaddar Sullissia + Preceded by : The Book of the Dead (the_book_of_the_dead.lua) + Followed by : Reporting to the Ruins (reporting_to_the_ruins.lua) +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Recite the incantations with Zaddar.", 1, "Recite the magical incantations with Zaddar to reseal the ward upon the graveyard.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithZaddar") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar100.mp3", "", "", 1431969198, 4289355071, Player) + AddConversationOption(conversation, "Very well, I'll let you prepare.") + StartConversation(conversation, QuestGiver, Player, "I must read the words from the pages of parchment that are now within the Book of the Dead. They are difficult to decipher, even with my skills. Give me a moment to study them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithZaddar(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Zaddar and I were not able to repair the ward. Now I must determine why.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've attempted to reseal the ward by reciting the incantations with Custodian Zaddar but something was wrong.") + + AddQuestStepChat(Quest, 2, "I must check the tombs of the Knights of Truth to see which one is not sealed.", 1, "Determine what is preventing the ward from being resealed.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SealedTomb") +end + +function Step2_Complete_SealedTomb(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Sir Haligan's tomb is sealed so the ritual can now be completed.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've found the tomb of Sir Haligan and resealed it.") + + AddQuestStepChat(Quest, 3, "I should go back to Zaddar and attempt the ritual once more.", 1, "Seek out Zaddar once again and make another attempt at resealing the ward.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've recited the arcane words with Zaddar and repaired the ward!") + UpdateQuestTaskGroupDescription(Quest, 3, "I've found Zaddar and reattempted to seal the ward.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I've come a long way with Zaddar here in the graveyard and it's been an interesting adventure. I hope that by repairing the ward and keeping the undead bound to the graveyard, the Overlord will take notice of my actions and maybe reward me one day.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithZaddar(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SealedTomb(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graveyard/reporting_to_the_ruins.lua b/Lua/Quests/Graveyard/reporting_to_the_ruins.lua new file mode 100755 index 000000000..16bc2937e --- /dev/null +++ b/Lua/Quests/Graveyard/reporting_to_the_ruins.lua @@ -0,0 +1,40 @@ +--[[ + Quest Template + Script Name : reporting_to_the_ruins.lua + Script Purpose : Handles the quest, "Reporting to the Ruins" + Script Author : Scatman + Script Date : 2009.07.12 + + Zone : The Graveyard + Quest Giver : Custodian Zaddar Sullissia + Preceded by : Repairing the Ward (repairing_the_ward.lua) + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should make my way to the Freeport Ruins and speak to Captain Arellius. I should return to the docks of my home district and use the bell to summon transport outside of Freeport proper.", 1, "I should make my way to the Ruins and speak to to Captain Arellius.", 0, 1270003) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar114.mp3", "", "", 463438268, 1793214191, Player) + AddConversationOption(conversation, "I'm on my way.") + StartConversation(conversation, QuestGiver, Player, "Your help in the Ruins is desperately needed. Do not delay too long, for our great city of Freeport is in peril!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I made my way to the Ruins and have spoken to Captain Arellius.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have made my way to the Ruins and reported to Captain Arellius.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found the Ruins and have reported to Captain Arellius. I will now assist in the defense of Freeport.") +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Graveyard/soothing_the_spirits_of_marr.lua b/Lua/Quests/Graveyard/soothing_the_spirits_of_marr.lua new file mode 100755 index 000000000..c665570c8 --- /dev/null +++ b/Lua/Quests/Graveyard/soothing_the_spirits_of_marr.lua @@ -0,0 +1,61 @@ +--[[ + Quest Template + Script Name : soothing_the_spirits_of_marr.lua + Script Purpose : Handles the quest, "Soothing the Spirits of Marr" + Script Author : Scatman + Script Date : 2009.07.25 + + Zone : The Graveyard + Quest Giver : An Ethernere Guard + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "In order to appease the restless Knights of Marr, I must recover their holy relics from the graverobbers here in the Graveyard.", 4, 100, "I must hunt the graverobbers in the Graveyard in order to recover the relics of Marr they have purloined.", 368, 1250093, 1250094, 1250092, 1250096) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledGraverobbers") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "an_ethernere_guard/fprt_adv02_graveyard/ethernere_keeper004.mp3", "", "", 2575556836, 1434752042, Player) + AddConversationOption(conversation, "I will fulfill my duty to the Overlord.") + StartConversation(conversation, QuestGiver, Player, "You must recover these holy relics and return them to the graves of the awakened spirits for them to find rest again.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledGraverobbers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I was able to gather the stolen relics of Marr from the graverobbers in the Graveyard.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have recovered the four stolen relics of Marr.") + + AddQuestStep(Quest, 2, "I must take these relics to the tomb of Sir Ackmin.", 1, 100, "I should return to an Ethernere guard and let them know of my success.", 0) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_BroughRelics") +end + +function Step2_Complete_BroughRelics(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned the relics to the tomb of Sir Ackmin.") + UpdateQuestTaskGroupDescription(Quest, 2, "It would seem that the return of the relics has put Sir Ackmin's soul to rest.") + + AddQuestStepChat(Quest, 3, "I should let an Ethernere guard know of my success.", 1, "I must return the relics to the tomb of Sir Ackmin.", 0, 1250074, 1250032, 1250084, 1250044) + AddQuestStepCompleteAction(Quest, 3, "Step2_Complete_BroughRelics") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "The Keepers of Ethernere were pleased to hear of my efforts.") + UpdateQuestTaskGroupDescription(Quest, 3, "The Keepers of Ethernere were pleased with my success") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "Having appeased the Spirits of Marr, things have returned to their normal level of danger here in the Graveyard.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledGraverobbers(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_BroughRelics(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graveyard/testing_the_ward.lua b/Lua/Quests/Graveyard/testing_the_ward.lua new file mode 100755 index 000000000..90e88b88c --- /dev/null +++ b/Lua/Quests/Graveyard/testing_the_ward.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : testing_the_ward.lua + Script Purpose : Handles the quest, "Testing the Ward" + Script Author : Scatman + Script Date : 2009.07.11 + + Zone : The Graveyard + Quest Giver: Custodian Zaddar Sullissia + Preceded by: Finding the Pages (finding_the_pages.lua) + Followed by: Obtaining an Ancient Staff (obtaining_an_ancient_staff.lua) +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I must speak with Zaddar in the graveyard and obtain the relic from him.", 1, "I must speak with Zaddar and obtain the relic needed.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeToZaddar") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar052.mp3", "", "", 3643355771, 3506584636, Player) + AddConversationOption(conversation, "Is something bad going to happen if I take it there?", "dlg_4_16") + AddConversationOption(conversation, "I can't help you with this.") + StartConversation(conversation, QuestGiver, Player, "Yes, the remains of that tower still serve as a tribute to Mithaniel Marr. Such a relic would be seen as an abomination to him.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeToZaddar(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Zaddar and obtained the relic.") + UpdateQuestTaskGroupDescription(Quest, 1, "I spoke with Zaddar and obtained the relic needed.") + + AddQuestStep(Quest, 2, "I must take this relic to the Tower of Marr in the graveyard.", 1, 100, "Zaddar has given me an ancient relic seeping with unholy power to take to the tower of Marr in the graveyard. He claims that by placing this relic in the doorway of the tower, it will trigger any residual energy of Marr that might still remain. Zaddar feels that if the relic is placed and nothing happens, then the ward has not lost its potency.", 0) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_PlacedRelic") +end + +function Step2_Complete_PlacedRelic(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've taken the relic to the Tower of Marr as instructed by Zaddar.") + UpdateQuestTaskGroupDescription(Quest, 2, "By placing the unholy relic within the doorway to the tower of Marr, the long-dormant residual energy of the diety Mithaniel Marr was stirred, smiting me in the process. This indication was enough for Zaddar to know that the ward is in fact weakening after four centuries and something must be done.") + + AddQuestStep(Quest, 3, "Retrieve the relic.", 1, 100, "I've placed the relic and been smited for doing so! I need to retrieve the relic!", 0) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_GotRelic") +end + +function Step3_Complete_GotRelic(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've picked-up the relic and put it in my bag.") + UpdateQuestTaskGroupDescription(Quest, 3, "I've collected the relic.") + + AddQuestStepChat(Quest, 4, "I must speak with Zaddar at once!", 1, "I must return to Zaddar and tell him of what has happened immediately!", 0, 1250014) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- Relic of Unholy Power + while HasItem(Player, 9901) do + RemoveItem(Player, 9901) + end + + UpdateQuestStepDescription(Quest, 4, "I've spoken with Zaddar and told him what has happened.") + UpdateQuestTaskGroupDescription(Quest, 4, "I've spoken with Zaddar.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found out firsthand that the ward is weakening. It seems the residual power of Marr still holds sway here.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeToZaddar(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_PlacedRelic(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_GotRelic(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Graveyard/the_book_of_the_dead.lua b/Lua/Quests/Graveyard/the_book_of_the_dead.lua new file mode 100755 index 000000000..1b3d7b1f2 --- /dev/null +++ b/Lua/Quests/Graveyard/the_book_of_the_dead.lua @@ -0,0 +1,62 @@ +--[[ + Quest Template + Script Name : the_book_of_the_dead.lua + Script Purpose : Handles the quest, "The Book of the Dead" + Script Author : Scatman + Script Date : 2009.07.12 + + Zone : The Graveyard + Quest Giver : Custodian Zaddar Sullissia + Preceded by : Obtaining an Ancient Staff (obtaining_an_ancient_staff.lua) + Followed by : Repairing the Ward (repairing_the_ward.lua) +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must confront the grave robbers in the Freeport graveyard and hope that one of them has found the Book of the Dead.", 1, 20, "I must find the Book of the Dead within the walls of the Freeport graveyard, starting with the graverobbers.", 2002, 1250093, 1250094, 1250092, 1250096) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundBook") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar079b.mp3", "", "", 2915353095, 1248129975, Player) + AddConversationOption(conversation, "I will return when I have it.") + StartConversation(conversation, QuestGiver, Player, "Excellent. Return to me when you have found it.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundBook(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've obtained the Book of the Dead.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've found the Book of the Dead and must return it to Zaddar.") + + -- The Book of the Dead + -- TODO: Display quest reward popup. + if not HasItem(Player, 12141) then + SummonItem(Player, 12141) + end + + AddQuestStepChat(Quest, 2, "Take the Book of the Dead to Zaddar.", 1, "I must return this ancient tome to Zaddar quickly.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The Book of the Dead + while HasItem(Player, 12141) do + RemoveItem(Player, 12141) + end + + UpdateQuestStepDescription(Quest, 2, "I've given Zaddar the Book of the Dead.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've given the Book of the Dead to Zaddar.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I've found one of the last known copies of the Book of the Dead and I've returned it to Zaddar as instructed.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundBook(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graveyard/the_door_knocker.lua b/Lua/Quests/Graveyard/the_door_knocker.lua new file mode 100755 index 000000000..17d4350c6 --- /dev/null +++ b/Lua/Quests/Graveyard/the_door_knocker.lua @@ -0,0 +1,108 @@ +--[[ + Script Name : the_door_knocker.lua + Script Purpose : Handles the quest, "The Door Knocker" + Script Author : Scatman + Script Date : 2009.07.09 + + Zone : The Graveyard + Quest Giver: Custodian Zaddar Sullissia + Preceded by: None + Followed by: Paying a Visit (paying_a_visit.lua) +--]] + + +function Init(Quest) + + + AddQuestStep(Quest, 1, "Find the tomb of Sir Penan to the northwest and ensure it is sealed.", 1, 100, "I need to find the tombs of the fallen knights and ensure that they have remained sealed. I should check the larger tombs, the ones that have plaques noting who is buried there.", 2339) + AddQuestStep(Quest, 2, "Find the tomb of Sir Breel to the west and ensure it is sealed.", 1, 100, "I need to find the tombs of the fallen knights and ensure that they have remained sealed. I should check the larger tombs, the ones that have plaques noting who is buried there.", 2339) + AddQuestStepKill(Quest, 3, "Find the tomb of Sir Haligan to the north and ensure it is sealed.", 1, 100, "I need to find the tombs of the fallen knights and ensure that they have remained sealed. I should check the larger tombs, the ones that have plaques noting who is buried there.", 2339, 1250054) + AddQuestStep(Quest, 4, "Find the tomb of Sir Arlin to the southwest and ensure it is sealed.", 1, 100, "I need to find the tombs of the fallen knights and ensure that they have remained sealed. I should check the larger tombs, the ones that have plaques noting who is buried there.", 2339) + AddQuestStep(Quest, 5, "Find the tomb of Sir Xantille to the north and ensure it is sealed.", 1, 100, "I need to find the tombs of the fallen knights and ensure that they have remained sealed. I should check the larger tombs, the ones that have plaques noting who is buried there.", 2339) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundTomb1") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_FoundTomb2") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_FoundTomb3") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_FoundTomb4") + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_FoundTomb5") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar030.mp3", "", "", 3091175973, 1298049191, Player) + AddConversationOption(conversation, "The things I do for fame and fortune...") + StartConversation(conversation, QuestGiver, Player, "The Overlord will have us both executed if he finds out anyone has been tampering with the tombs in his graveyard! Report back with what you discover.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundTomb1(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found the secure tomb of Sir Penan.") + + if QuestIsComplete(Player, 231) then + FoundAllTombs(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_FoundTomb2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I found the secure tomb of Sir Breel.") + + if QuestIsComplete(Player, 231) then + FoundAllTombs(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_FoundTomb3(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "The tomb of Sir Haligan appears to have been disturbed.") + + if QuestIsComplete(Player, 231) then + FoundAllTombs(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_FoundTomb4(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I found the secure tomb of Sir Arlin.") + + if QuestIsComplete(Player, 231) then + FoundAllTombs(Quest, QuestGiver, Player) + end +end + +function Step5_Complete_FoundTomb5(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I found the secure tomb of Sir Xantille.") + + if QuestIsComplete(Player, 231) then + FoundAllTombs(Quest, QuestGiver, Player) + end +end + +function FoundAllTombs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I found the tombs that Zaddar asked of me and reported my findings.") + + AddQuestStepChat(Quest, 6, "Return to Zaddar in the Graveyard.", 1, "I must return to Zaddar and let him know of my findings.", 0, 1250014) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have returned to Zaddar after checking on the tombs.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to Zaddar and told him of my findings.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "After spending time with Zaddar in the graveyard, he has taught me much of Freeport's history.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundTomb1(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_FoundTomb2(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_FoundTomb3(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_FoundTomb4(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_FoundTomb5(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Graystone/a_family_recipe.lua b/Lua/Quests/Graystone/a_family_recipe.lua new file mode 100755 index 000000000..0835c363e --- /dev/null +++ b/Lua/Quests/Graystone/a_family_recipe.lua @@ -0,0 +1,93 @@ +--[[ + Script Name : Quests/Graystone/a_family_recipe.lua + Script Purpose : Handles the quest, "A Family Recipe" + Script Author : Scatman + Script Date : 2009.10.05 + + Zone : Graystone Yard + Quest Giver: Mav Boilfist + Preceded by: None + Followed by: Cheers! (cheers.lua) +--]] + +local AFamilyRecipe = 283 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to acquire some Frozen Cherries. 4QGCG is the shipping number.", 1, 100, "I must collect the needed ingredients for Mav Boilfist. I will need to refer to the overflow shipping manifest she gave me to determine where the items are located.", 770) + AddQuestStep(Quest, 2, "I need to acquire some yeast. 2DF0F is the shipping number.", 1, 100, "I must collect the needed ingredients for Mav Boilfist. I will need to refer to the overflow shipping manifest she gave me to determine where the items are located.", 342) + AddQuestStep(Quest, 3, "I need to acquire some honey. QGC4F is the shipping number.", 1, 100, "I must collect the needed ingredients for Mav Boilfist. I will need to refer to the overflow shipping manifest she gave me to determine where the items are located.", 357) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundCherries") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_FoundYeast") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_FoundHoney") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- Overflow Manifest + if not HasItem(Player, 10268, 1) then + SummonItem(Player, 10268, 1) + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist010.mp3", "", "", 2473952435, 2751712477, Player) + AddConversationOption(conversation, "I'll go look for them.") + StartConversation(conversation, QuestGiver, Player, "It shouldn't be too hard. The orders you're looking for are #4QGCG, #2DF0F, and #QGC4F.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundCherries(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have acquired Frozen Cherries.") + + if QuestIsComplete(Player, AFamilyRecipe) then + FoundAllItems(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_FoundYeast(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have acquired some yeast.") + + if QuestIsComplete(Player, AFamilyRecipe) then + FoundAllItems(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_FoundHoney(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have acquired some honey.") + + if QuestIsComplete(Player, AFamilyRecipe) then + FoundAllItems(Quest, QuestGiver, Player) + end +end + +function FoundAllItems(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected all of the needed ingredients.") + + AddQuestStepChat(Quest, 4, "I need to bring all of these components to Mav Boilfist near the docks.", 1, "I need to bring these ingredients to Mav Boilfist in Graystone Yard.", 0, 2350016) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have given Mav all of the components she requested.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have given Mav the ingredients she asked for.") + + -- Overflow Manifest + while HasItem(Player, 10268) do + RemoveItem(Player, 10268) + end + + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have collected the ingredients for Mav and returned them to her.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundCherries(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_FoundYeast(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_FoundHoney(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/a_missing_husband.lua b/Lua/Quests/Graystone/a_missing_husband.lua new file mode 100755 index 000000000..3f9c4189d --- /dev/null +++ b/Lua/Quests/Graystone/a_missing_husband.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Graystone/A Missing Husband + Script Purpose : Handles the quest, "a_missing_husband.lua" + Script Author : Scatman + Script Date : 2009.10.05 + + Zone : Graystone Yard + Quest Giver: Mav Boilfist + Preceded by: A Stone From Home (a_stone_from_home.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to find Marv Boilfist.", 1, "I have agreed to look for Marv, Mav's husband, in the Oakmyst Forest.", 0, 1950025) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist033a.mp3", "", "", 2039112314, 2255017414, Player) + AddConversationOption(conversation, "Will do.") + StartConversation(conversation, QuestGiver, Player, "Tell him to hurry home. I miss that old lug.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found Marv Boilfist.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found Mav's husband.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found Marv Boilfist in the Oakmyst Forest.") +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/a_package.lua b/Lua/Quests/Graystone/a_package.lua new file mode 100755 index 000000000..b6e8b739f --- /dev/null +++ b/Lua/Quests/Graystone/a_package.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : Quests/Graystone/a_package.lua + Script Purpose : Handles the quest, "A Package" + Script Author : Scatman + Script Date : 2009.10.05 + + Zone : Graystone Yard + Quest Giver: Mav Boilfist + Preceded by: Cheers! (cheers.lua) + Followed by: A Stone From Home (a_stone_from_home.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with the shipping coordinator on the docks.", 1, "I need to get Mav's package for her.", 0, 2350004) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithShippingCoordinator") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist023.mp3", "", "", 3437868051, 3538588348, Player) + AddConversationOption(conversation, "I'll be right back.") + StartConversation(conversation, QuestGiver, Player, "Oh you're simply too sweet to be a dwarf. Thanks.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithShippingCoordinator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with the shipping coordinator.") + + AddQuestStep(Quest, 2, "I need to check the crates down at the end of the docks and see if any of them have Mav's package.", 1, 100, "I need to get Mav's package for her.", 0) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_FoundMavsPackage") +end + +function Step2_Complete_FoundMavsPackage(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have found Mav's package.") + + AddQuestStepChat(Quest, 3, "I need to clear this package with the shipping coordinator.", 1, "I need to get Mav's package for her.", 0, 2350004) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_SpokeWithShippingCoordinator") +end + +function Step3_Complete_SpokeWithShippingCoordinator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have cleared this package.") + + AddQuestStepChat(Quest, 4, "I need to deliver Mav's package to her.", 1, "I need to get Mav's package for her.", 0, 2350016) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have delivered Mav's package.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have given Mav her package.") + + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have collected Mav's package for her.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithShippingCoordinator(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_FoundMavsPackage(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_SpokeWithShippingCoordinator(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/a_stone_from_home.lua b/Lua/Quests/Graystone/a_stone_from_home.lua new file mode 100755 index 000000000..0de2595a2 --- /dev/null +++ b/Lua/Quests/Graystone/a_stone_from_home.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/Graystone/a_stone_from_home.lua + Script Purpose : Handles the quest, "A Stone From Home" + Script Author : Scatman + Script Date : 2009.10.05 + + Zone : Graystone Yard + Quest Giver: Mav Boilfist + Preceded by: A Package (a_package.lua) + Followed by: A Missing Husband (a_missing_husband.lua) +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to examine Mav's stone while near the Stone of Kaladim in Graystone Yard.", 1, 100, "I need to take Mav's stone to the Stone of Kaladim here in the Graystone Yard and see if anything interesting happens.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_ExaminedStone") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- Mav's Stone + if not HasItem(Player, 9384, 1) then + SummonItem(Player, 9384, 1) + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist029b.mp3", "", "", 2185318647, 3149226816, Player) + AddConversationOption(conversation, "I can't wait to see what happens!") + AddConversationOption(conversation, "I doubt anything will happen.") + StartConversation(conversation, QuestGiver, Player, "I can't wait to hear what happens!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_ExaminedStone(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have examined Mav's stone.") + + AddQuestStepChat(Quest, 2, "I should return to Mav Boilfist.", 1, "I need to take Mav's stone to the Stone of Kaladim here in the Graystone Yard and see if anything interesting happens.", 0, 2350016) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Mav Boilfist.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have done as Mav asked.") + + -- Mav's Stone + while HasItem(Player, 9384) do + RemoveItem(Player, 9384) + end + + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have returned Mav's stone to her.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_ExaminedStone(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/a_time_for_fighting.lua b/Lua/Quests/Graystone/a_time_for_fighting.lua new file mode 100755 index 000000000..bcc6ff9e7 --- /dev/null +++ b/Lua/Quests/Graystone/a_time_for_fighting.lua @@ -0,0 +1,86 @@ +--[[ + Script Name : Quests/Graystone/a_time_for_fighting.lua + Script Purpose : Handles the quest, "A Time for Fighting" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : Graystone Yard + Quest Giver: Burk Stoneshatter + Preceded by: None + Followed by: Late Shipment (late_shipment.lua) +--]] + +local ATIMEFORFIGHTING = 289 + +function Init(Quest) + + -- Ring of the Graystone Mystics + -- Ring of the Graystone Brawlers + + AddQuestStepChat(Quest, 1, "I need to pick a fight with Marus Donoval. I need should make a joke about the smell of his feet. Burk says he should be in the tavern.", 1, "Burk has given me a list of people, their locations, and insults meant to goad them into fighting me.", 0, 2350035) + AddQuestStepChat(Quest, 2, "I need to pick a fight with Angus Fallowfur. I should make a joke about his baldness. Burk says he should be behind the armory, on the corner closest to the docks.", 1, "Burk has given me a list of people, their locations, and insults meant to goad them into fighting me.", 0, 2350009) + AddQuestStepChat(Quest, 3, "I need to pick a fight with Dunda Frostgrip. I should make mention of Mav Boilfist near her. Burk says I can find her just south-west of the scribe's shop.", 1, "Burk has given me a list of people, their locations, and insults meant to goad them into fighting me.", 0, 2350047) + AddQuestStepCompleteAction(Quest, 1, "step1_completed_talkedToMarus") + AddQuestStepCompleteAction(Quest, 2, "step2_completed_talkedToAngus") + AddQuestStepCompleteAction(Quest, 3, "step3_completed_talkedToDunda") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter013a.mp3", "", "", 1501046701, 172770081, Player) + AddConversationOption(conversation, "All right. I will return.") + StartConversation(conversation, QuestGiver, Player, "Return to me once you've fought them all.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_completed_talkedToMarus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have picked a fight with Marus Donoval.") + + if QuestIsComplete(Player, ATIMEFORFIGHTING) then + insultsGiven(Quest, QuestGiver, Player) + end +end + +function step2_completed_talkedToAngus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have picked a fight with Angus Fallowfur.") + + if QuestIsComplete(Player, ATIMEFORFIGHTING) then + insultsGiven(Quest, QuestGiver, Player) + end +end + +function step3_completed_talkedToDunda(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have picked a fight with Dunda Frostgrip.") + + if QuestIsComplete(Player, ATIMEFORFIGHTING) then + insultsGiven(Quest, QuestGiver, Player) + end +end + +function insultsGiven(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have started fights with all of the people Burk suggested.") + + AddQuestStepChat(Quest, 4, "I need to return to Burk Stoneshatter near the docks.", 1, "I should return to Burk now that I've been in a few fights.", 0, 2350007) + AddQuestStepCompleteAction(Quest, 4, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Burk Stoneshatter.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Burk.") + UpdateQuestDescription(Quest, "I have gotten into three fights around Graystone Yard at the suggestion of Burk Stoneshatter.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_completed_talkedToMarus(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_completed_talkedToAngus(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_completed_talkedToDunda(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/cheers.lua b/Lua/Quests/Graystone/cheers.lua new file mode 100755 index 000000000..e92fd5030 --- /dev/null +++ b/Lua/Quests/Graystone/cheers.lua @@ -0,0 +1,108 @@ +--[[ + Script Name : Quests/Graystone/cheers.lua + Script Purpose : Handles the quest, "Cheers!" + Script Author : Scatman + Script Date : 2009.10.05 + + Zone : Graystone Yard + Quest Giver: Mav Boilfist + Preceded by: A Family Recipe (a_family_recipe.lua) + Followed by: A Package (a_package.lua) +--]] + +local CHEERS_QUEST = 285 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to collect Mav's brew from the keg next to her.", 1, 100, "I need to collect some of Mav's brew from the keg next to her.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotBrewFromKeg") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist017a.mp3", "", "", 4196748864, 1238448420, Player) + AddConversationOption(conversation, "We'll see.") + StartConversation(conversation, QuestGiver, Player, "I hope they like it!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotBrewFromKeg(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected Mav's brew.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected Mav's brew.") + + AddQuestStepChat(Quest, 2, "I need to give some of Mav's brew to Gnor Farven in the tavern.", 1, "I need to give samples of Mav's brew to a number of people around Graystone Yard.", 0, 2350036) + AddQuestStepChat(Quest, 3, "I need to give some of Mav's brew to Gurna Hadel in the tavern.", 1, "I need to give samples of Mav's brew to a number of people around Graystone Yard.", 0, 2350042) + AddQuestStepChat(Quest, 4, "I need to give some of Mav's brew to Dunda Frostgrip southwest of the scribe's shop.", 1, "I need to give samples of Mav's brew to a number of people around Graystone Yard.", 0, 2350047) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithGnor") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_SpokeWithGurna") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_SpokeWithDunda") +end + +function Step2_Complete_SpokeWithGnor(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given some of Mav's brew to Gnor Farven.") + + -- Mav's Brew + if HasItem(Player, 9383) then + RemoveItem(Player, 9383) + end + + if QuestIsComplete(Player, CHEERS_QUEST) then + SpokeWithAllFriends(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_SpokeWithGurna(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have given some of Mav's brew to Gurna Hadel.") + + -- Mav's Brew + if HasItem(Player, 9383) then + RemoveItem(Player, 9383) + end + + if QuestIsComplete(Player, CHEERS_QUEST) then + SpokeWithAllFriends(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_SpokeWithDunda(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have given some of Mav's brew to Dunda Frostgrip.") + + -- Mav's Brew + if HasItem(Player, 9383) then + RemoveItem(Player, 9383) + end + + if QuestIsComplete(Player, CHEERS_QUEST) then + SpokeWithAllFriends(Quest, QuestGiver, Player) + end +end + +function SpokeWithAllFriends(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have given samples of Mav's brew to a number of people around Graystone Yard.") + + AddQuestStepChat(Quest, 5, "I need to speak with Mav Boilfist.", 1, "I should return to Mav and let her know what everyone thought of her brew.", 0, 2350016) + AddQuestStepCompleteAction(Quest, 5, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have spoken with Mav Boilfist.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have given Mav the rest of her brew.") + + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have given some of Mav's brew to those who wanted to try it. I then told Mav about their reactions, she seemed pleased.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotBrewFromKeg(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithGnor(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_SpokeWithGurna(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_SpokeWithDunda(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/finding_bait.lua b/Lua/Quests/Graystone/finding_bait.lua new file mode 100755 index 000000000..2ed8b58b3 --- /dev/null +++ b/Lua/Quests/Graystone/finding_bait.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Graystone/finding_bait.lua + Script Purpose : Handles the quest, "Finding Bait" + Script Author : Scatman + Script Date : 2008.09.18 + + Zone : Graystone Yard + Quest Giver: Tacklemaster Moyna + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill centipedes, or crawlers, for Moyna is use as bait.", 10, 100, "I must kill ten centipedes in the Forest Ruins and gather their remains for use as bait.", 1, 1960026) + AddQuestStepCompleteAction(Quest, 1, "step1_completed_killedCentipedes") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tacklemaster_moyna/qey_village03/100_tacklemaster_barbarian_female_moyna_multhail3_629de1e4.mp3", "", "", 1963777615, 3216865707, Player) + AddConversationOption(conversation, "Calm down! I haven't left yet!") + StartConversation(conversation, QuestGiver, Player, "What's taking you so long, friend? I don't have all day! Fetch me my centipedes!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_completed_killedCentipedes(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've killed ten centipedes for Moyna.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've killed ten centipedes and gathered their remains for Moyna's bait.") + UpdateQuestZone(Quest, "Graystone Yard") + + AddQuestStepChat(Quest, 2, "I must speak with tacklemaster Moyna.", 1, "I must return to tacklemaster Moyna in the Graystone Yard for my payment", 0, 2350020) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with tacklemaster Moyna.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've returned to tacklemaster Moyna in the Graystone Yard.") + + UpdateQuestDescription(Quest, "Moyna praised me for a job well done after gathering up the centipedes she needed. She's certain that the bait will last for at least a couple days, even with the amount of fishing Brice and Ubani do.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if step == 1 then + step1_completed_killedCentipedes(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Graystone/in_the_drink.lua b/Lua/Quests/Graystone/in_the_drink.lua new file mode 100755 index 000000000..c37d4262d --- /dev/null +++ b/Lua/Quests/Graystone/in_the_drink.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : Quests/Graystone/in_the_drink.lua + Script Purpose : Handles the quest, "In the Drink" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : Graystone Yard + Quest Giver: Shipping Coordinator + Preceded by: Late Shipment (late_shipment.lua) + Followed by: Visiting a Friend (visiting_a_friend.lua) +--]] + +-- Quest ID's +local IN_THE_DRINK = 291 + +-- Item ID's +local LOCATION_BUOYS = 9109 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to attatch a location buoy to the first crate lost in the water", 1, 100, "I need to attatch a location buoy to each of the three lost boxes in the water.", 0) + AddQuestStep(Quest, 2, "I need to attatch a location buoy to the second crate lost in the water", 1, 100, "I need to attatch a location buoy to each of the three lost boxes in the water.", 0) + AddQuestStep(Quest, 3, "I need to attatch a location buoy to the third crate lost in the water", 1, 100, "I need to attatch a location buoy to each of the three lost boxes in the water.", 0) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_buoy1Attatched") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_buoy2Attatched") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_buoy3Attatched") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- Location Buoys + if not HasItem(Player, LOCATION_BUOYS, 1) then + SummonItem(Player, LOCATION_BUOYS, 1) + end + + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "Come back as soon as you've connected the last of them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_buoy1Attatched(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have attached a location buoy to the first crate.") + + if QuestIsComplete(Player, IN_THE_DRINK) then + all_buoys_placed(Quest, QuestGiver, Player) + end +end + +function step2_complete_buoy2Attatched(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have attached a location buoy to the second crate.") + + if QuestIsComplete(Player, IN_THE_DRINK) then + all_buoys_placed(Quest, QuestGiver, Player) + end +end + +function step3_complete_buoy3Attatched(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have attached a location buoy to the third crate.") + + if QuestIsComplete(Player, IN_THE_DRINK) then + all_buoys_placed(Quest, QuestGiver, Player) + end +end + +function all_buoys_placed(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have attatched a location buoy to each of the lost boxes.") + + -- Location Buoys + while HasItem(Player, LOCATION_BUOYS) do + RemoveItem(Player, LOCATION_BUOYS) + end + + AddQuestStepChat(Quest, 4, "I need to tell the Shipping Coordinator that everything is hooked up.", 1, "I have recovered Burk's package, along with other portions of the missing shipment, from the water.", 0, 2350004) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_talkedToCoordinator") +end + +function step4_complete_talkedToCoordinator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken to the Shipping Coordinator.") + + AddQuestStepChat(Quest, 5, "I need to give Burk his package.", 1, "I have recovered Burk's package, along with other portions of the missing shipment, from the water.", 0, 2350007) + AddQuestStepCompleteAction(Quest, 5, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have given Burk his package.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have given Burk his package.") + UpdateQuestDescription(Quest, "I helped the Shipping Coordinator take care of the sunk cargo. I also found Burk's shipment and got it to him.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_buoy1Attatched(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_buoy2Attatched(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_buoy3Attatched(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_talkedToCoordinator(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/late_shipment.lua b/Lua/Quests/Graystone/late_shipment.lua new file mode 100755 index 000000000..adf7ddb6d --- /dev/null +++ b/Lua/Quests/Graystone/late_shipment.lua @@ -0,0 +1,112 @@ +--[[ + Script Name : Quests/Graystone/late_shipment.lua + Script Purpose : Handles the quest, "Late Shipment" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : Graystone Yard + Quest Giver: Burk Stoneshatter + Preceded by: A Time For Fighting (a_time_for_fighting.lua) + Followed by: In the Drink (in_the_drink.lua) +--]] + +-- Items +local OVERFLOW_MANIFEST = 10268 + +function Init(Quest) + AddQuestStep(Quest, 1, "I should check the Overflow Manifest that Burk gave me to figure out where I might find the Graystone Courier.", 1, 100, "I need to figure out what has happened to Burk's package.", 0) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_inspectedManifest") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- Overflow Manifest + if not HasItem(Player, OVERFLOW_MANIFEST, 1) then + SummonItem(Player, OVERFLOW_MANIFEST, 1) + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter018.mp3", "", "", 2230644689, 1477811469, Player) + AddConversationOption(conversation, "All right, I'll return soon.") + StartConversation(conversation, QuestGiver, Player, "Hah hah hah! No, don't do that. Just see if he knows where my package is.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_inspectedManifest(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have read the Overflow Manifest.") + + AddQuestStepChat(Quest, 2, "I need to ask the Graystone Courier about Burk's shipment. I should check the locations given on the Overflow Manifest.", 1, "I need to figure out what has happened to Burk's package.", 0, 2350048) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_talkedToCourier") +end + +function step2_complete_talkedToCourier(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have questioned the Graystone Courier.") + + AddQuestStepChat(Quest, 3, "The courier doesn't have Burk's package, but suggested I talk to the Shipping Coordinator on the docks.", 1, "I need to figure out what has happened to Burk's package.", 0, 2350004) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToCoordinator") +end + +function step3_complete_talkedToCoordinator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with the Shipping Coordinator") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with a number of people but I am still not sure what has happened to Burk's package.") + + -- Overflow Manifest + while HasItem(Player, OVERFLOW_MANIFEST) do + RemoveItem(Player, OVERFLOW_MANIFEST) + end + + AddQuestStep(Quest, 4, "I need to check all 13 of the boxes and barrels on the docks to see if any of them are from Shipment #GG4QC", 13, 100, "The Shipping Coordinator has suggested that I check the shipment at the end of the docks for Burk's package.", 2285) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_inspectedBarrels") +end + +function step4_complete_inspectedBarrels(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "There are many shipments on the docks and they are all labeled. None of them appear to be shipment #GG4QC.") + UpdateQuestTaskGroupDescription(Quest, 2, "I did not find Burk's package in the shipment on the docks.") + + AddQuestStepChat(Quest, 5, "Burk's shipment was not among the newer boxes, I should speak with the Shipping Coordinator again.", 1, "I still have not found Burk's package.", 0, 2350004) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_talkedToCoordinator") +end + +function step5_complete_talkedToCoordinator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have spoken with the Shipping Coordinator.") + + AddQuestStepChat(Quest, 6, "The Shipping Coordinator has suggested I speak with the dock loader, Marus Donoval. He says he should be in the tavern.", 1, "I still have not found Burk's package.", 0, 2350035) + AddQuestStepCompleteAction(Quest, 6, "step6_complete_talkedToMarus") +end + +function step6_complete_talkedToMarus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have spoken with Marus Donoval.") + + AddQuestStepChat(Quest, 7, "Marus Donoval thinks some crates may have fallen into the water. I should speak with the Shipping Coordinator about this.", 1, "I still have not found Burk's package.", 0, 2350004) + AddQuestStepCompleteAction(Quest, 7, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have spoken with the Shipping Coordinator.") + UpdateQuestTaskGroupDescription(Quest, 3, "I believe I may know what happened to Burk's package.") + + UpdateQuestDescription(Quest, "I have determined what has happened to Burk's missing shipment. I may be able to work with the Shipping Coordinator in the Graystone Yard to get it back.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_inspectedManifest(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_talkedToCourier(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToCoordinator(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_inspectedBarrels(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_talkedToCoordinator(Quest, QuestGiver, Player) + elseif Step == 6 then + step6_complete_talkedToMarus(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Graystone/visiting_a_friend.lua b/Lua/Quests/Graystone/visiting_a_friend.lua new file mode 100755 index 000000000..9a0c294b0 --- /dev/null +++ b/Lua/Quests/Graystone/visiting_a_friend.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Graystone/visiting_a_friend.lua + Script Purpose : Handles the quest, "Visiting a Friend" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : Graystone Yard + Quest Giver: Burk Stoneshatter + Preceded by: In the Drink (in_the_drink.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Jorn Sorefoot in Oakmyst Forest near the gate to Graystone Yard.", 1, "I need to travel to the Oakmyst Forest and find Jorn Sorefoot.", 0, 1950012) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter027a.mp3", "", "", 3983218071, 1048289693, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "You deserve the best in this world, " .. GetName(Player) .. ". Please be well.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Jorn Sorefoot.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found and spoke to Jorn Sorefoot.") + UpdateQuestDescription(Quest, "I have spoken with Jorn Sorefoot.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/GreaterFaydark/bee_swatter.lua b/Lua/Quests/GreaterFaydark/bee_swatter.lua new file mode 100755 index 000000000..7f3b001be --- /dev/null +++ b/Lua/Quests/GreaterFaydark/bee_swatter.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/GreaterFaydark/bee_swatter.lua + Script Purpose : Handles the quest, "Bee Swatter" + Script Author : Scatman + Script Date : 2009.03.29 + + Zone : Greater Faydark + Quest Giver: Ami Augren + Preceded by: None + Followed by: Broken Buttons (broken_buttons.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to swat a few stingswarm buzzers to try and make Ami stop crying.", 5, 100, "Little Ami is scared of all the stringswarm buzzers that are flying around the area. If I swat a few of them it might make her happy.", 110, 1140020) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledBees") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren003.mp3", "", "", 240117721, 1491988690, Player) + AddConversationOption(conversation, "I'll take care of them.") + StartConversation(conversation, QuestGiver, Player, "They make owies! Don't let them pinch you!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledBees(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I swatted a few of the stingswarm buzzers. Hopefully that will make Ami stop crying.") + UpdateQuestTaskGroupDescription(Quest, 1, "I swatted a few of the stingswarm buzzers. Hopefully that will make Ami stop crying.") + + AddQuestStepChat(Quest, 2, "I should tell Ami I chased away the buzzers.", 1, "I should go back to Ami Augren and tell her I chased away the stingswarm buzzers.", 110, 1140019) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I swatted a few of the bees that were bothering Ami Augren. I hope this calms her down somewhat.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledBees(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/GreaterFaydark/broken_buttons.lua b/Lua/Quests/GreaterFaydark/broken_buttons.lua new file mode 100755 index 000000000..cc6df2123 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/broken_buttons.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : Quests/GreaterFaydark/broken_buttons.lua + Script Purpose : Handles the quest, "Broken Buttons" + Script Author : Scatman + Script Date : 2009.03.29 + + Zone : Greater Faydark + Quest Giver: Ami Augren + Preceded by: Shells of Protection (shells_of_protection.lua) + Followed by: Dollnapping! (dollnapping.lua) +--]] + + +function Init(Quest) + -- Aged Chain + -- Augren Friendship Token + + + AddQuestStepChat(Quest, 1, "I need to give the coat and buttons to Ami's mother. She should be near the spirit bloom nursery.", 1, ".", 281, 1140018) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren010.mp3", "", "", 3660711041, 3242516728, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Tell her I didn't mean to break it.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I gave Ami's coat to her mother, Sua. Sua said she'd fix the buttons. I hope that stops Ami from crying.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/GreaterFaydark/dollnapping.lua b/Lua/Quests/GreaterFaydark/dollnapping.lua new file mode 100755 index 000000000..bc9f4a317 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/dollnapping.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/GreaterFaydark/dollnapping.lua + Script Purpose : Handles the quest, "Dollnapping!" + Script Author : Scatman + Script Date : 2009.03.29 + + Zone : Greater Faydark + Quest Giver: Sua Augren + Preceded by: Broken Buttons (broken_buttons.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Elder's Crown + -- Redstone Loop + -- Golden Wraps + -- Steel Plated Shield + -- Dewdrop Trinket + + + AddQuestStepKill(Quest, 1, "I need to get Ami's doll back from the Klixie, Yellowjacket. The Klixies hang around the area to the southeast of Amethyst Pond.", 1, 100, "I should find the Klixie called Yellowjacket and get Ami's doll back for her. The Klixies usually hang around to the south east of Amethyst Pond.", 2254, 1140052) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledYellowjacket") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren006.mp3", "", "", 2584537319, 806721000, Player) + AddConversationOption(conversation, "No problem. I'll get the doll for Ami.") + StartConversation(conversation, QuestGiver, Player, "I couldn't ask you to do that. It would be wonderful if Ami got her doll back, but it's too dangerous.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledYellowjacket(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I got Ami's doll back from the Klixie Yellowjacket.") + UpdateQuestTaskGroupDescription(Quest, 1, "I got Ami's doll back from the Klixie Yellowjacket.") + + AddQuestStepChat(Quest, 2, "I should give the doll I recovered back to Ami.", 1, "I should give the doll I recovered from Yellowjacket to Ami Augren. It would make her really happy to see it.", 2254, 1140019) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I got Ami's doll back from Yellowjacket and returned it to her. Ami seems much happier now that she has her favorite toy again.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledYellowjacket(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/GreaterFaydark/dyer_mycoria.lua b/Lua/Quests/GreaterFaydark/dyer_mycoria.lua new file mode 100755 index 000000000..0d453232a --- /dev/null +++ b/Lua/Quests/GreaterFaydark/dyer_mycoria.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/GreaterFaydark/dyer_mycoria.lua + Script Purpose : Handles the quest, "Dyer Mycoria" + Script Author : Scatman + Script Date : 2009.03.29 + + Zone : Greater Faydark + Quest Giver: Morganellus + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I need to speak with Agarighus in Dyer Mycoria.", 1, ".", 0, 1140129) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/morganellus/_exp03/exp03_rgn_greater_faydark/shroomba/morganellus/morganellus004.mp3", "", "", 2956711105, 2602303407, Player) + AddConversationOption(conversation, "All right, I'll just find him.") + StartConversation(conversation, QuestGiver, Player, "Why would I want that? You are going to Dyer Mycoria, not me.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have found Agarighus.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/GreaterFaydark/grobin_trouble_at_the_pond.lua b/Lua/Quests/GreaterFaydark/grobin_trouble_at_the_pond.lua new file mode 100755 index 000000000..40d4ab555 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/grobin_trouble_at_the_pond.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/GreaterFaydark/grobin_trouble_at_the_pond.lua + Script Purpose : Handles the quest Grobin Trouble at the Pond + Script Author : Zcoretri + Script Date : 2009.03.04 + + Zone : Greater Faydark + Quest Giver: Matron of the Nursery + Preceded by: Running Off the Grobin Scouts + Followed by: Herbs of Healing and Growth +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to stop the grobin polluters at Amethyst Pond to the southwest of the nursery.", 4, 100, "I need to get rid of the grobin polluters at Amethyst Pond, southwest of the nursery. Hopefully, I'll be able to find out what they are up to there.", 354, 1140026) + AddQuestStepCompleteAction(Quest, 1, "KilledAllPolluters") + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery008.mp3", "", "", 3433160215, 2503556383, Player) + AddConversationOption(conversation, "I'll do my best to find out.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. ". The grobins are usually up to something devious. I hope you can find out what it is for the sake of the spirit bloom nursery.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledAllPolluters(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I ran off the polluters and found out they had jars of shrumber eggs they were pouring into the pond!") + AddQuestStepChat(Quest, 2, "I should tell the Matron of the Nursery about jars of shrumbler eggs I found on the grobin polluters.", 1, "I should return to the Matron of the Nursery and show her the jars of eggs I found on the grobin polluters.", 0, 1140004) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I found out the grobin polluters at Amethyst Pond were pouring shrumbler eggs in the pond. They were definitely behind the infestation of the spirit bloom nursery. but where did they get all those eggs...?") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + KilledAllPolluters(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/GreaterFaydark/growler_pelts_for_brink.lua b/Lua/Quests/GreaterFaydark/growler_pelts_for_brink.lua new file mode 100755 index 000000000..67a24bf09 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/growler_pelts_for_brink.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/GreaterFaydark/growler_pelts_for_brink.lua + Script Purpose : Handles the quest, "Growler Pelts for Brink" + Script Author : Scatman + Script Date : 2009.03.28 + + Zone : Greater Faydark + Quest Giver: Brink Trudger + Preceded by: None + Followed by: Spider Silk for Brink (spider_silk_for_brink.lua) +--]] + + +function Init(Quest) + -- Brink's Finely Crafted Earring + -- Brink's Carved Wooden Bow + -- Brink's Finely Stitched Bracers + + + AddQuestStepKill(Quest, 1, "I need to get growler pelts. The growlers should be found west of the spirit bloom nursery.", 5, 100, "I need to acquire growler pelts for Brink Trudger. I should be able to find the growlers just west of the spirit bloom nursery.", 93, 1140021, 1140033) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledGrowlers") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger003_offer.mp3", "", "", 179963171, 4058842652, Player) + AddConversationOption(conversation, "This should be no problem.") + StartConversation(conversation, QuestGiver, Player, "Great! I appreciate it!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledGrowlers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I should have enough growler pelts now for Brink.") + UpdateQuestTaskGroupDescription(Quest, 1, "I should have enough growler pelts now for Brink.") + + AddQuestStepChat(Quest, 2, "I should take the growler pelts back to Brink Trudger.", 1, "I should take these growler pelts to Brink Trudger. He should be busy sewing near the spirit bloom nursery.", 93, 1140005) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I was able to help Brink Trudger by getting growler hides and giving them to him. He'll be able to use the hides to make leather armor.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledGrowlers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/GreaterFaydark/herbs_of_healing_and_growth.lua b/Lua/Quests/GreaterFaydark/herbs_of_healing_and_growth.lua new file mode 100755 index 000000000..7ce23b0b6 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/herbs_of_healing_and_growth.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/GreaterFaydark/herbs_of_healing_and_growth.lua + Script Purpose : Handles the quest "Herbs of Healing and Growth + Script Author : Zcoretri + Script Date : 2009.03.05 + + Zone : Greater Faydark + Quest Giver: Matron of the Nursery + Preceded by: Grobin Trouble at the Pond + Followed by: Message from the Matron +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to gather herbs from the faeicia leaf plants west of the nursery", 5, 100, "I need to gather herbs from the faeicia leaf plant for the Matron of the Nursery. I should be able to find these herbs west of the nursery past the wolves.", 336, 6096) + AddQuestStepCompleteAction(Quest, 1, "CollectedAllLeafs") + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation + AddConversationOption(conversation, "I'll be careful") + StartConversation(conversation, QuestGiver, Player, "Be careful of the wolves though, they can be quite feisty if they haven't eaten.") + + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function CollectedAllLeafs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I should have enough of the faeicia leaf herbs for the matron.") + AddQuestStepChat(Quest, 2, "I should take these herbs to the Matron of the Nursery.", 1, "I need to take the faeicia leaf herbs I gathered to the Matron of the Nursery so that she can use them to heal the spirit blooms.", 0, 1140004) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "The Matron of the Nursery was able to magically heal the spirit blooms with the herbs I gathered for her.") + GiveQuestReward(Quest, Player) + RemoveItem(Player, 6096) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CollectedAllLeafs(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/GreaterFaydark/infestation.lua b/Lua/Quests/GreaterFaydark/infestation.lua new file mode 100755 index 000000000..8b5786e86 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/infestation.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/GreaterFaydark/infestation.lua + Script Purpose : Handles the quest "Infestation" + Script Author : Scatman + Script Date : 2013.07.31 + + Zone : Greater Faydark + Quest Giver : Matron of the Nursery + Preceded by : none + Followed by : Running Off the Grobin Scouts +--]] + + +function Init(Quest) + -- Steadfast Bracelet + -- Sand-Etched Bracers + -- Shrumbler Grips + -- Matron's Sleeve + -- Harmonic Band + AddQuestRewardCoin(Quest, 47, 2) + + +end + +function Accepted(Quest, QuestGiver, Player) +AddQuestStepKill(Quest, 1, "Kill shrumbler hatchlings.", 4, 100, ".", 98, 1140210, 1140235) + AddQuestStepCompleteAction(Quest, 1, "KilledAllShrumblers") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end + +--[[ + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + conversation = CreateConversation() + FaceTarget(QuestGiver, Player) + AddConversationOption(conversation, "I will return") + StartConversation(conversation, QuestGiver, Player, "I hope so. You are still quite young and those creatures can be very dangerous!") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledAllShrumblers(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I got rid of the shrumblers that were threatening the spirit blooms.") + AddQuestStepChat(Quest, 2, "I should let the Matron of the Nursery know I took care of the shrumbler infestation.", 1, ".", 0, 1140004) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I got rid of the shrumbler worms that were eating the spirit blooms in the nursery.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledAllShrumblers(Quest, QuestGiver, Player) + end +end + +--]] + + diff --git a/Lua/Quests/GreaterFaydark/message_from_the_matron.lua b/Lua/Quests/GreaterFaydark/message_from_the_matron.lua new file mode 100755 index 000000000..b53047266 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/message_from_the_matron.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : Quests/GreaterFaydark/message_from_the_matron.lua + Script Purpose : Handles the quest "Message From The Matron" + Script Author : Zcoretri + Script Date : 2009.3.23 + + Zone : Greater Faydark + Quest Giver: Matron of the Nursery + Preceded by: Herbs of Healing and Growth + Followed by: +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to take the matron's message to Sentry Trillis. His post is on top of a tree, southwest of Amethyst Pond. I need to find a tree to climb to get to him.", 1, ".", 374, 1140054) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") + + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + PlayFlavor(QuestGiver,"voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery016.mp3", "", "", 3997346506, 1167918210, Player) + AddConversationOption(conversation, "Goodbye, Matron of the Nursery.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. ". May Tunare bless you for all you have done! Now I have some spirit blooms to heal.") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I carried the Matron of the Nursery's message to Sentry Trillis") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/GreaterFaydark/running_off_the_grobin_scouts.lua b/Lua/Quests/GreaterFaydark/running_off_the_grobin_scouts.lua new file mode 100755 index 000000000..27a27f2d2 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/running_off_the_grobin_scouts.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/GreaterFaydark/running_off_the_grobin_scouts.lua + Script Purpose : Handles the quest Running Off the Grobin Scouts + Script Author : Zcoretri + Script Date : 2009.03.02 + + Zone : Greater Faydark + Quest Giver: Matron of the Nursery + Preceded by: Infestation! + Followed by: Grobin Trouble at the Pond +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to defeat the grobin scouts in the area southwest of the spirit bloom nursery near Amethyst Pond.", 4, 100, "The Matron of the Nursery wants me to investigate the reports about grobin near Amethyst Pond to the southwest and run off any scouts I find.", 2566, 1140022) + AddQuestStepCompleteAction(Quest, 1, "KilledAllGrobinScouts") + + + +end + +function Accepted(Quest, QuestGiver, Player) + conversation = CreateConversation() + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + AddConversationOption(conversation, "I'll take care of things.") + StartConversation(conversation, QuestGiver, Player, "Thank you. I fear for the spirit bloom nursery with the grobins so close. It wouldn't surprise me if they're behind the infestation too!") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledAllGrobinScouts(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I should tell the Matron of the Nursery that I ran off the grobins scouts.") + UpdateQuestTaskGroupDescription(Quest, 1, "I visited Amethyst Pond and scared off the grobin scouts in the area. I noticed that there were some grobin at the water's edge that seemed to be up to something.") + AddQuestStepChat(Quest, 2, "I should tell the Matron of the Nursery that I ran off the grobin scouts.", 1, "I should return to the Matron of the Nursery and let her know I scared off a few scouts but the grobin were up to something at the pond.", 0, 1140004) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I ran off the grobin scouts and told the Matron of the Nursery about the grobins I saw at the water's edge of the pond.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + KilledAllGrobinScouts(Quest, QuestGiver, Player) + end +end + + diff --git a/Lua/Quests/GreaterFaydark/sentry_trillis_report.lua b/Lua/Quests/GreaterFaydark/sentry_trillis_report.lua new file mode 100755 index 000000000..7fb24376d --- /dev/null +++ b/Lua/Quests/GreaterFaydark/sentry_trillis_report.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/GreaterFaydark/sentry_trillis_report.lua + Script Purpose : Handles the quest "Sentry Trillis Report" + Script Author : Zcoretri + Script Date : 2009.03.01 + + Zone : Greater Faydark + Quest Giver: Matron of the Nursery + Preceded by: none + Followed by: Running Off the Grobin Scouts +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should deliver Sentry Trillis' status report to Captain Steelforge. He should be outside Drippy Cave to the west.", 1, ".", 1223, 1140067) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/sentry_trillis/_exp03/exp03_rgn_greater_faydark/sentry_trillis/sentry_trillis003.mp3", "", "", 2868295834, 1763259549, Player) + AddConversationOption(conversation, "So long, Sentry Trillis.") + StartConversation(conversation, QuestGiver, Player, "Thanks. The report is a simple 'All Clear' for now, but I thought he would like to know. So long, " .. GetName(Player) .. ".") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + + diff --git a/Lua/Quests/GreaterFaydark/shells_of_protection.lua b/Lua/Quests/GreaterFaydark/shells_of_protection.lua new file mode 100755 index 000000000..60828c2a7 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/shells_of_protection.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/GreaterFaydark/shells_of_protection.lua + Script Purpose : Handles the quest, "Shells of Protection" + Script Author : Scatman + Script Date : 2009.03.28 + + Zone : Greater Faydark + Quest Giver: Brink Trudger + Preceded by: Spider Silk for Brink (spider_silk_for_brink.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Brink's Spaulders (NEED PARSE) + -- Brink's Stitched Footwraps + -- Brink's Linked Sleeves + -- Brink's Leather Boots + + + AddQuestStepKill(Quest, 1, "I need to get shells from clawsnap crabs.", 4, 100, "I should head to the beach just east of the spirit bloom nursery and collect the shells of clawsnap crabs and sand sifter turtles.", 752, 1140055, 1140074) + AddQuestStepKill(Quest, 2, "I need to get shells from sand sifter turtles.", 4, 100, "I should head to the beach just east of the spirit bloom nursery and collect the shells of clawsnap crabs and sand sifter turtles.", 201, 1140027, 1140031) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledCrabs") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledTurtles") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger012.mp3", "", "", 3911384586, 1778696172, Player) + AddConversationOption(conversation, "Okay, I'll be right back.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. ". I'll be right here putting this gear together.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledCrabs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have all of the clawsnap shells I need.") + + if QuestIsComplete(Player, 155) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledTurtles(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have all of the sand sifter shells I need.") + + if QuestIsComplete(Player, 155) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I should have all the shells I need for Brink's armor pieces.") + + AddQuestStepChat(Quest, 3, "I should give the shells to Brink Trudger at the spirit bloom nursery.", 1, "I should take these clawsnap and sand sifter shells back to Brink Trudger at the spirit bloom nursery.", 201, 1140005) + AddQuestStepCompleteAction(Quest, 3, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I collected clawsnap and sand sifter shells for Brink Trudger. He'll use them to make hard plates and build armor pieces.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledCrabs(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledTurtles(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/GreaterFaydark/spider_silk_for_brink.lua b/Lua/Quests/GreaterFaydark/spider_silk_for_brink.lua new file mode 100755 index 000000000..eff3354c3 --- /dev/null +++ b/Lua/Quests/GreaterFaydark/spider_silk_for_brink.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/GreaterFaydark/spider_silk_for_brink.lua + Script Purpose : Handles the quest, "Spider Silk for Brink" + Script Author : Scatman + Script Date : 2009.03.28 + + Zone : Greater Faydark + Quest Giver: Brink Trudger + Preceded by: Growler Pelts for Brink (growler_pelts_for_brink.lua) + Followed by: Shells of Protection (shells_of_protection.lua) +--]] + + +function Init(Quest) + -- Brink's Legplates + -- Brink's Woven Band + -- Brink's Green Knot + + + AddQuestStepKill(Quest, 1, "I should get some silkspinner webbing for Brink. The silkspinner spiders to the west, past the growlers and deer, should be a good source.", 5, 100, "I should get some silk webbing from the silkspinner spiders for Brink Trudger. The spiders are usually a bit of a distance to the west, past the growlers and deer.", 2251, 1140063, 1140062) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSpiders") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger009.mp3", "", "", 94899034, 3216566812, Player) + AddConversationOption(conversation, "I'll be careful.") + StartConversation(conversation, QuestGiver, Player, "Wonderful! The silkspinner spiders usually live in an area to the west, past the growlers. Be careful though, those silkspinners are dangerous fellers!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSpiders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I should have enough spider silk for Brink Trudger now.") + UpdateQuestTaskGroupDescription(Quest, 1, "I should have enough spider silk for Brink Trudger now.") + + AddQuestStepChat(Quest, 2, "I should give the silkspinner webs to Brink Trudger.", 1, "I should take these silkspinner webs to Brink Trudger so that he can use them to make fae clothing. He should be at his regular spot near the spirit bloom nursery.", 2251, 1140005) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I was able to help Brink Trudger by getting him silkspinner webbing. The hides and silk should go a long way to outfitting adventurers with robes and cloth armor.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSpiders(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/GreaterFaydark/unwelcome_guests.lua b/Lua/Quests/GreaterFaydark/unwelcome_guests.lua new file mode 100755 index 000000000..9f66425ad --- /dev/null +++ b/Lua/Quests/GreaterFaydark/unwelcome_guests.lua @@ -0,0 +1,10 @@ +-- Where's the header, chumps? + + +function Init(Quest) + + AddQuestStepSpell(Quest, 1, "I need to capture five shrumblers from the Dyer Mycoria Geminariums.", 5, 100, "I need to capture five shrumblers from the Dyer Mycoria Geminariums.", 172, 1) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_ReleasedShrumblers") + +end + diff --git a/Lua/Quests/LongshadowAlley/a_clear_understanding.lua b/Lua/Quests/LongshadowAlley/a_clear_understanding.lua new file mode 100755 index 000000000..2502a8161 --- /dev/null +++ b/Lua/Quests/LongshadowAlley/a_clear_understanding.lua @@ -0,0 +1,94 @@ +--[[ + Script Name : Quests/LongshadowAlley/a_clear_understanding.lua + Script Purpose : Handles the quest, "A Clear Understanding" + Script Author : Scatman + Script Date : 2009.04.07 + + Zone : Longshadow Alley + Quest Giver: Aldera V'Exxa + Preceded by: None + Followed by: A Lesson to Learn (a_lesson_to_learn.lua) +--]] + +-- Quest ID's +local A_CLEAR_UNDERSTANDING = 335 + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to make my way to the Destroyed Knowledge Portal in the center of Longshadow Alley.", 10, "I need to become familiar with Longshadow Alley.", 0, 0, 2.07, 0) + AddQuestStepLocation(Quest, 2, "Access to North Freeport is via the city gate.", 20, "I need to become familiar with Longshadow Alley.", 0, 13.52, 4.02, 65.42) + AddQuestStepLocation(Quest, 3, "There is an entrance to Thieves' Way within an elevated manhole west of the Destroyed Knowledge Portal.", 10, "I need to become familiar with Longshadow Alley.", 0, 43.82, -0.87, -23.08) + AddQuestStepLocation(Quest, 4, "Some exits are not by land, they are by water. Examine the bells on the dock in Longshadow Alley.", 10, "I need to become familiar with Longshadow Alley.", 0, -49.75, -4.67, -82.32) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_Portal") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_Gate") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_Sewer") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_Bells") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_020.mp3", "", "", 4155318250, 3441039640, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "In the center of the city is the Knowledge Portal, now destroyed. The majority of the vendors have set up shop near the Portal, including the Armor Shop and the Freeport Reserve bank. It is wise to know where the exits to our neighborhood are as well -- both gates and grates. Become familiar with the layout, then return to me.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_Portal(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've seen the Destroyed Knowledge Portal.") + + if QuestIsComplete(Player, A_CLEAR_UNDERSTANDING) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_Gate(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've located the exit to North Freeport.") + + if QuestIsComplete(Player, A_CLEAR_UNDERSTANDING) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_Sewer(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've located the entrance to the Thieves' Way.") + + if QuestIsComplete(Player, A_CLEAR_UNDERSTANDING) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_Bells(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I've taken a look around the dock.") + + if QuestIsComplete(Player, A_CLEAR_UNDERSTANDING) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've visited the Portal of Knowledge and have seen the exits from this neighborhood.") + + AddQuestStepChat(Quest, 5, "I will find Aldera V'Exxa near Longshadow Alley's dock.", 1, "Now that I have become familiar with Longshadow Alley, I should return to Aldera V'Exxa at the dock.", 0, 1380006) + AddQuestStepCompleteAction(Quest, 5, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "There are many ways in and out of Longshadow Alley and I am now familiar with them all. Being aware of all that can happen around one is vital to the Teir'Dal.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_Portal(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_Gate(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_Sewer(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_Bells(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/LongshadowAlley/a_lesson_learned.lua b/Lua/Quests/LongshadowAlley/a_lesson_learned.lua new file mode 100755 index 000000000..d6b77a7ac --- /dev/null +++ b/Lua/Quests/LongshadowAlley/a_lesson_learned.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/LongshadowAlley/a_lesson_learned.lua + Script Purpose : Handles the quest, "A Lesson Learned" + Script Author : Scatman + Script Date : 2009.04.11 + + Zone : Longshadow Alley + Quest Giver: Aldera V'Exxa + Preceded by: Brewing Trouble (brewing_trouble.lua) + Followed by: Meet the Custodian (meet_the_custodian.lua) +--]] + +-- Item ID's +local POISONED_LOAF_OF_BREAD = 10496 + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to place this poisoned bread on Lynsia's vendor booth, where Teah will be sure to find it.", 10, "Aldera has given me a loaf of poisoned bread. I need to place to loaf on Lynsia's booth near the Destroyed Knowledge Portal so Teah can find it.", 300, -1.41, 0, -19.60) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_PlacedBread") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- Poisoned Loaf of Bread + if not HasItem(Player, POISONED_LOAF_OF_BREAD) then + SummonItem(Player, POISONED_LOAF_OF_BREAD) + SendMessage(Player, "You receive 1 Poisoned Loaf of Bread") + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_025.mp3", "", "", 2044102497, 3428374214, Player) + AddConversationOption(conversation, "Of course.") + StartConversation(conversation, QuestGiver, Player, "Before we deal with Teah, I feel you must learn about the current split in our people's loyalties. You may not need this information now, but it may be useful later. Take heed of my words and choose carefully if the choice is presented to you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + RemoveBread(Player) +end + +function RemoveBread(Player) + while HasItem(Player, POISONED_LOAF_OF_BREAD, 1) do + RemoveItem(Player, POISONED_LOAF_OF_BREAD) + end +end + +function Step1_Complete_PlacedBread(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have planted the bread.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have planted the bread.") + + RemoveBread(Player) + + -- a loaf of bread + SpawnMob(GetZone(Player), 1380102, false, -3.04, 1.06, -19.24, 290) + + -- Teah + SpawnMob(GetZone(Player), 1380046, false, 16.79, 0, -16.03, 70.02) + + AddQuestStepChat(Quest, 2, "I need to return to Aldera to let her know that I am finished.", 1, "With the bread placed on Lynsia's counter, who showed up but that sloth, Teah?", 0, 1380006) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "Everything I have been working on with Aldera has gone well and Teah has learned a lesson he will never forget.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_PlacedBread(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/LongshadowAlley/a_lesson_to_learn.lua b/Lua/Quests/LongshadowAlley/a_lesson_to_learn.lua new file mode 100755 index 000000000..156ec46d3 --- /dev/null +++ b/Lua/Quests/LongshadowAlley/a_lesson_to_learn.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/LongshadowAlley/a_lesson_to_learn.lua + Script Purpose : Handles the quest, "A Lesson to Learn" + Script Author : Scatman + Script Date : 2009.04.07 + + Zone : Longshadow Alley + Quest Giver: Aldera V'Exxa + Preceded by: A Clear Understanding (a_clear_understanding.lua) + Followed by: Brewing Trouble (brewing_trouble.lua) +--]] + +-- Item ID's +local SHADOWS_KISS = 12113 + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to retrieve a few clumps of Shadows' Kiss for Alders.", 5, 100, "Aldera has sent me to collect Shadows' Kiss - a small flowery fungus near the sewer.", 318, SHADOWS_KISS) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotFungus") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_006b.mp3", "", "", 2711787328, 3720975836, Player) + AddConversationOption(conversation, "I will be back.") + StartConversation(conversation, QuestGiver, Player, "Excellent. I look forward to your return.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + RemoveShadowsKiss(Player) +end + +function RemoveShadowsKiss(Player) + while HasItem(Player, SHADOWS_KISS, 1) do + RemoveItem(Player, SHADOWS_KISS) + end +end + +function Step1_Complete_GotFungus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found all of the Shadows' Kiss Aldera needs.") + UpdateQuestTaskGroupDescription(Quest, 1, "I need to return to Aldera with the Shadows' Kiss I have collected.") + + AddQuestStepChat(Quest, 2, "I need to return to Aldera with the Shadows' Kiss.", 1, "I have collected the Shadows' Kiss for Aldera, I need to return it.", 0, 1380006) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + RemoveShadowsKiss(Player) + + UpdateQuestDescription(Quest, "I met a Teir'Dal woman named Aldera. She offered to teach me the proper ways of being Teir'Dal in exchange for helping her teach an improper Teir'Dal a lesson. The first step in this 'lesson' was to collect some poisonous fungus for her, which I have done.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotFungus(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/LongshadowAlley/brewing_trouble.lua b/Lua/Quests/LongshadowAlley/brewing_trouble.lua new file mode 100755 index 000000000..f92c2f374 --- /dev/null +++ b/Lua/Quests/LongshadowAlley/brewing_trouble.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : Quests/LongshadowAlley/brewing_trouble.lua + Script Purpose : Handles the quest, "Brewing Trouble" + Script Author : Scatman + Script Date : 2009.04.07 + + Zone : Longshadow Alley + Quest Giver: Aldera V'Exxa + Preceded by: A Lesson to Learn (a_lesson_to_learn.lua) + Followed by: A Lesson Learned (a_lesson_learned.lua) +--]] + +-- Item ID's +local ALCHEMICAL_MEDIUM = 3404 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to get an alchemical medium from a man named Kalraath.", 1, "I need to get an alchemical medium from Kalraath. He is near the gate to North Freeport.", 0, 1380043) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeToKalraath") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_011.mp3", "", "", 1591440619, 3916449893, Player) + AddConversationOption(conversation, "I will return with the medium from Kalraath.") + StartConversation(conversation, QuestGiver, Player, "Let him know that I sent you, but remember that no great Teir'Dal ever accomplished anything without discretion.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + RemoveAlchemicalMedium(Player) +end + +function Step1_Complete_SpokeToKalraath(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I need to return to Aldera with the Medium.") + UpdateQuestTaskGroupDescription(Quest, 1, "I need to return to Aldera with the Medium.") + + -- Alchemical Medium + SummonItem(Player, ALCHEMICAL_MEDIUM) + + AddQuestStepChat(Quest, 2, "I have received the alchemical medium from Kalraath, I need to return to Aldera with it now.", 1, "I have received the alchemical medium I needed from Kalraath. I need to return to Aldera.", 0, 1380006) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeToAldera") +end + +function Step2_Complete_SpokeToAldera(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Aldera was pleased with the alchemical medium that I brought her.") + UpdateQuestTaskGroupDescription(Quest, 2, "Aldera was pleased with the alchemical medium that I brought her.") + + AddQuestStepChat(Quest, 3, "By refreshing my memory with a few questions, Aldera will ensure that no mistakes are made.", 1, "Aldera wants to ensure I understand the task we are undertaking.", 0, 1380006) + AddQuestStepCompleteAction(Quest, 3, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + RemoveAlchemicalMedium(Player) + + UpdateQuestDescription(Quest, "I was able to get the alchemical medium from Kalraath, and I have given it to Aldera. She seemed pleased by it, and started another one of her long winded conversations when I gave it to her.") + GiveQuestReward(Quest, Player) +end + +function RemoveAlchemicalMedium(Player) + while HasItem(Player, ALCHEMICAL_MEDIUM, 1) do + RemoveItem(Player, ALCHEMICAL_MEDIUM) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeToKalraath(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeToAldera(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/LongshadowAlley/meet_the_custodian.lua b/Lua/Quests/LongshadowAlley/meet_the_custodian.lua new file mode 100755 index 000000000..d05e09b16 --- /dev/null +++ b/Lua/Quests/LongshadowAlley/meet_the_custodian.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Quests/LongshadowAlley/meet_the_custodian.lua + Script Purpose : Handles the quest, "Meet the Custodian" + Script Author : Scatman + Script Date : 2009.04.11 + + Zone : Longshadow Alley + Quest Giver: Aldera V'Exxa + Preceded by: A Lesson Learned (a_lesson_learned.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to locate Custodian Sullissa, whom I will find in the Graveyard.", 1, ".", 0, 1250002) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_032.mp3", "", "", 3598421392, 2829289499, Player) + AddConversationOption(conversation, "Thank you for your wisdom, I hope your friend in the Graveyard can teach me as much as you have.") + StartConversation(conversation, QuestGiver, Player, "As promised, I will direct you to where you can learn to harness the other strengths of the Teir'Dal. Now that you understand the correct etiquette, perhaps you won't get yourself killed. Go now to Custodian Zaddar Sullissia in the Graveyard. By helping him accomplish his tasks, you will gain not only the respect of your own people, you will also learn to harness your own strengths and weaknesses.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have spoken with Custodian Zaddar Sullissa in the Graveyard and will learn more from this scholar.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/NektroposCastle/FairWarningsIgnored.lua b/Lua/Quests/NektroposCastle/FairWarningsIgnored.lua new file mode 100755 index 000000000..542330b43 --- /dev/null +++ b/Lua/Quests/NektroposCastle/FairWarningsIgnored.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : Quests/NektroposCastle/FairWarningsIgnored.lua + Script Purpose : Fair Warnings Ignored + Script Author : smash + Script Date : 6/6/2018 + Script Notes : + + Zone : Nektropos Castle + Quest Giver : None + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to slay The Juggernaught in Nektropos Castle.", 1, 100, "The Juggernaught stands between me and my progress through Nektropos Castle. I must destroy it!", 611, 1780293) + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain The Juggernaught.") + UpdateQuestTaskGroupDescription(Quest, 1, "The Juggernaught, while tough, was not tough enough to keep me from progressing.") + GiveQuestReward(Quest, Player) +end \ No newline at end of file diff --git a/Lua/Quests/NektroposCastle/TheBoarsHead.lua b/Lua/Quests/NektroposCastle/TheBoarsHead.lua new file mode 100755 index 000000000..eade852fd --- /dev/null +++ b/Lua/Quests/NektroposCastle/TheBoarsHead.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/NektroposCastle/TheBoarsHead.lua + Script Purpose : The Boar's Head + Script Author : smash + Script Date : 1/26/2016 + Script Notes : + + Zone : Nektropos Castle + Quest Giver : None + Preceded by : None + Followed by : The Red Marble +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "Find a new place to put the black marble eye.", 1, 100, "Find a new place to place the black marble eye, maybe a hollow socket of another boar's head.", 1175) + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + local conversation = CreateConversation() + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, QuestGiver, Player, "You take the black marble-like eye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've placed the eye into the head of the boar.") + UpdateQuestTaskGroupDescription(Quest, 1, "Placed the black eye in a hollow socket.") + GiveQuestReward(Quest, Player) +end \ No newline at end of file diff --git a/Lua/Quests/NektroposCastle/TheEverlingLockets.lua b/Lua/Quests/NektroposCastle/TheEverlingLockets.lua new file mode 100755 index 000000000..012068dda --- /dev/null +++ b/Lua/Quests/NektroposCastle/TheEverlingLockets.lua @@ -0,0 +1,122 @@ +--[[ + Script Name : Quests/NektroposCastle/TheEverlingLockets.lua + Script Author : smash + Script Date : 2016.09.08 03:09:11 + Script Purpose : + + Zone : NektroposCastle + Quest Giver: Alexa + Preceded by: None + Followed by: +--]] + +local EVERLING_LOCKETS = 177 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to find Elise Everling and gain her locket.", 1, 100, "I need to find Rikantus Everling's six daughters and acquire their lockets.", 20, 1780273) + AddQuestStepCompleteAction(Quest, 1, "KilledElise") + + AddQuestStepKill(Quest, 2, "I need to find Crysta Everling and gain her locket.", 1, 100, "I need to find Rikantus Everling's six daughters and acquire their lockets.", 20, 1780276) + AddQuestStepCompleteAction(Quest, 2, "KilledCrysta") + + AddQuestStepKill(Quest, 3, "I need to find Melanie Everling and gain her locket.", 1, 100,"I need to find Rikantus Everling's six daughters and acquire their lockets.", 20, 1780275) + AddQuestStepCompleteAction(Quest, 3, "KilledMelanie") + + AddQuestStepKill(Quest, 4, "I need to find Deirdre Everling and gain her locket.", 1, 100, "I need to find Rikantus Everling's six daughters and acquire their lockets.", 20, 1780278) + AddQuestStepCompleteAction(Quest, 4, "KilledDeirdre") + + AddQuestStepKill(Quest, 5, "I need to find Sheila Everling and gain her locket.", 1, 100, "I need to find Rikantus Everling's six daughters and acquire their lockets.", 20, 1780272) + AddQuestStepCompleteAction(Quest, 5, "KilledSheila") + + AddQuestStepKill(Quest, 6, "I need to find Jenni Everling and gain her locket.", 1, 100, "I need to find Rikantus Everling's six daughters and acquire their lockets.", 20, 1780243) + AddQuestStepCompleteAction(Quest, 6, "KilledJenni") +end + +function CheckForStep7(Quest, Player) + if not QuestIsComplete(Player, EVERLING_LOCKETS) then + return + end + + UpdateQuestTaskGroupDescription(Quest, 1, "I have found all of the lockets.") + AddQuestStepKill(Quest, 7, "I need to find a way into the basement.", 1, 100, "I need to find a way into the basement.", 11, 1780268) + AddQuestStepCompleteAction(Quest, 7, "FoundKey") +end + +function KilledElise(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have acquired Elise's Locket.") + CheckForStep7(Quest, Player) +end + +function KilledCrysta(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have acquired Crysta's Locket.") + CheckForStep7(Quest, Player) +end + +function KilledMelanie(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have acquired Melanie's Locket.") + CheckForStep7(Quest, Player) +end + +function KilledDeirdre(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have acquired Deirdre's Locket.") + CheckForStep7(Quest, Player) +end + +function KilledSheila(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have acquired Sheila's Locket.") + CheckForStep7(Quest, Player) +end + +function KilledJenni(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have acquired Jenni's Locket.") + CheckForStep7(Quest, Player) +end + +function FoundKey(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I found a key on a decaying corpse, but I don't know what it is for.") + AddQuestStepKill(Quest, 8, "I need to figure out what this key goes to.", 1, 100, "I need to figure out what this key goes to.", 11, 1780282) + AddQuestStepCompleteAction(Quest, 8, "KilledCaptain") +end + +function KilledCaptain(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I entered Lord Everling's bedroom and was attacked by the captain of the guard. I found the guard captains sword.") + + AddQuestStepKill(Quest, 9, "I have to find Ollix Everling's pendant.", 1, 100, "I need to find Ollix Everling and take his pendant.", 13, 1780290) + AddQuestStepCompleteAction(Quest, 9, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have Ollix Everling's Pendant.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledElise(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledCrysta(Quest, QuestGiver, Player) + elseif Step == 3 then + KilledMelanie(Quest, QuestGiver, Player) + elseif Step == 4 then + KilledDeirdre(Quest, QuestGiver, Player) + elseif Step == 5 then + KilledSheila(Quest, QuestGiver, Player) + elseif Step == 6 then + KilledJenni(Quest, QuestGiver, Player) + elseif Step == 7 then + FoundKey(Quest, QuestGiver, Player) + elseif Step == 8 then + KilledCaptain(Quest, QuestGiver, Player) + elseif Step == 9 then + QuestComplete(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/NektroposCastle/TheRedMarble.lua b/Lua/Quests/NektroposCastle/TheRedMarble.lua new file mode 100755 index 000000000..74edf32f7 --- /dev/null +++ b/Lua/Quests/NektroposCastle/TheRedMarble.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/NektroposCastle/TheRedMarble.lua + Script Purpose : The Red Marble + Script Author : smash + Script Date : 1/26/2016 + Script Notes : + + Zone : Nektropos Castle + Quest Giver : None + Preceded by : The Boar's Head + Followed by : None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "Find a new place to fit this red marble.", 1, 100, "Place the red eye in a hollow socket.", 1187) + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + local conversation = CreateConversation() + AddConversationOption(conversation, "Stop inspecting the lockerbox", "CloseConversation") + StartDialogConversation(conversation, 1, QuestGiver, Player, "After rummaging around the tattered clothes and avoiding critters you find a red marble.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've placed the eye into the head of the boar.") + UpdateQuestTaskGroupDescription(Quest, 1, "Placed the black eye in a hollow socket.") + GiveQuestReward(Quest, Player) +end \ No newline at end of file diff --git a/Lua/Quests/NektroposCastle/TrinketsOfTheDead.lua b/Lua/Quests/NektroposCastle/TrinketsOfTheDead.lua new file mode 100755 index 000000000..fa73bdf55 --- /dev/null +++ b/Lua/Quests/NektroposCastle/TrinketsOfTheDead.lua @@ -0,0 +1,204 @@ +--[[ + Script Name : Quests/NektroposCastle/TrinketsOfTheDead.lua + Script Purpose : Trinkets of the Dead + Script Author : smash + Script Date : 2016.1.24 + + Zone : Nektropos Castle + Quest Giver : Master Eldin Necrosis + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddStep1(Quest) + AddStep2(Quest) + AddStep3(Quest) + AddStep4(Quest) + AddStep5(Quest) + AddStep6(Quest) + AddStep7(Quest) + AddStep8(Quest) + AddStep9(Quest) + AddStep10(Quest) +end + +function Accepted(Quest, QuestGiver, Player) + AcceptedDialog(QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted() +end + +function AcceptedDialog(QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/master_eldin_necrosis_/nektropos/eldin006.mp3", "", "", 2450617503, 1834362480, Player) + AddConversationOption(conversation, "No problem at all!") + StartConversation(conversation, QuestGiver, Player, "I'll pay you. Just head inside and bring me back whatever treasures you find! Once you finish, return to me, and I'll see about your payment!") +end + +function AddStep1(Quest) + AddQuestStepKill(Quest, 1, "I need to retrieve the Inquisitor of Ullkorruuk's censer.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 370, 1780194) + AddQuestStepCompleteAction(Quest, 1, "Step1Completed") +end + +function Step1Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found the censer.") + ShouldAddStep11(Quest, Player) +end + +function AddStep2(Quest) + AddQuestStepKill(Quest, 2, "I need to take the holy water from a priestess of Ullkorruuk.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 176, 1780009) + AddQuestStepCompleteAction(Quest, 2, "Step2Completed") +end + +function Step2Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have the holy water.") + ShouldAddStep11(Quest, Player) +end + +function AddStep3(Quest) + AddQuestStepKill(Quest, 3, "I need to retrieve one of Lord Everling's shirts from an Everling manservant.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 1736, 1780038, 1780040, 1780036) + AddQuestStepCompleteAction(Quest, 3, "Step3Completed") +end + +function Step3Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have the shirt.") + ShouldAddStep11(Quest, Player) +end + +function AddStep4(Quest) + AddQuestStepKill(Quest, 4, "I need to get the keyring from an Everling stable boy.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 2174, 1780027) + AddQuestStepCompleteAction(Quest, 4, "Step4Completed") +end + +function Step4Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have the found the keyring.") + ShouldAddStep11(Quest, Player) +end + +function AddStep5(Quest) + AddQuestStepKill(Quest, 5, "I need to take a scabard from a Thexian guard.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 921, 1780015, 1780029) + AddQuestStepCompleteAction(Quest, 5, "Step5Completed") +end + +function Step5Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have taken the scabard.") + ShouldAddStep11(Quest, Player) +end + +function AddStep6(Quest) + AddQuestStepKill(Quest, 6, "I should take the coin purse of a dark patron.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 10, 1780003, 1780192) + AddQuestStepCompleteAction(Quest, 6, "Step6Completed") +end + +function Step6Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have taken the coin purse.") + ShouldAddStep11(Quest, Player) +end + +function AddStep7(Quest) + AddQuestStepKill(Quest, 7, "I need to get the hair brush from Elise's handmaiden.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 1228, 1780195) + AddQuestStepCompleteAction(Quest, 7, "Step7Completed") +end + +function Step7Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have the brush.") + ShouldAddStep11(Quest, Player) +end + +function AddStep8(Quest) + AddQuestStepKill(Quest, 8, "I should retrieve Sheila Everling's bodice from her handmaiden.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 1738, 1780196) + AddQuestStepCompleteAction(Quest, 8, "Step8Completed") +end + +function Step8Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 8, "I have the bodice.") + ShouldAddStep11(Quest, Player) +end + +function AddStep9(Quest) + AddQuestStepKill(Quest, 9, "I need to find Crysta's bracelet. I'm sure her handmaiden has it.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 390, 1780197) + AddQuestStepCompleteAction(Quest, 9, "Step9Completed") +end + +function Step9Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 9, "I have Crysta's bracelet.") + ShouldAddStep11(Quest, Player) +end + +function AddStep10(Quest) + AddQuestStepKill(Quest, 10, "I need to find Jenni's hair bow from her handmaiden.", 1, 100, "Eldin has asked me to retrieve several different kinds of items from the ghosts in Nektropos Castle.", 739, 1780198) + AddQuestStepCompleteAction(Quest, 10, "Step10Completed") +end + +function Step10Completed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 10, "I have the hair bow.") + ShouldAddStep11(Quest, Player) +end + +function ShouldAddStep11(Quest, Player) + --Check if step 1-10 have all been completed + local i = 1 + local should_add = true + while i < 11 do + if not QuestStepIsComplete(Player, 174, i) then + should_add = false + break + end + i = i + 1 + end + + if should_add then + AddStep11(Quest) + end +end + +function AddStep11(Quest) + AddQuestStepChat(Quest, 11, "I should go speak with Eldin.", 1, "Now that I have gathered all of the trinkets I should go give them to Eldin.", 0, 1780008) + AddQuestStepCompleteAction(Quest, 11, "CompleteQuest") + UpdateQuestTaskGroupDescription(Quest, 1, "I have all of the items that Eldin wanted.") + SetCompleteFlag(Quest) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Completed(Quest, QuestGiver, Player) + end + if Step == 2 then + Step2Completed(Quest, QuestGiver, Player) + end + if Step == 3 then + Step3Completed(Quest, QuestGiver, Player) + end + if Step == 4 then + Step4Completed(Quest, QuestGiver, Player) + end + if Step == 5 then + Step5Completed(Quest, QuestGiver, Player) + end + if Step == 6 then + Step6Completed(Quest, QuestGiver, Player) + end + if Step == 7 then + Step7Completed(Quest, QuestGiver, Player) + end + if Step == 8 then + Step8Completed(Quest, QuestGiver, Player) + end + if Step == 9 then + Step9Completed(Quest, QuestGiver, Player) + end + if Step == 10 then + Step10Completed(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/NektroposCastle/VisionsOfHatred.lua b/Lua/Quests/NektroposCastle/VisionsOfHatred.lua new file mode 100755 index 000000000..e159fdaf4 --- /dev/null +++ b/Lua/Quests/NektroposCastle/VisionsOfHatred.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/NektroposCastle/VisionsOfHatred.lua + Script Purpose : + Script Author : smash + Script Date : 2016.1.24 + + Zone : Nektropos Castle + Quest Giver : None + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "The Everling manservants must pay for what they've done!", 1, 100, "I must slay the Everling manservants.", 611, 1780038, 1780040, 1780036) + AddQuestStepCompleteAction(Quest, 1, "AddStep2") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function AddStep2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found a guestroom key!") + UpdateQuestTaskGroupDescription(Quest, 1, "I found a guestroom key while slaying Everling manservants.") + GiveQuestItem(Quest, Player, "", 7979) + AddQuestStep(Quest, 2, "Examine the key.", 1, 100, "Inspect the key I found on the manservants.", 1007) + AddQuestStepCompleteAction(Quest, 2, "Completed") +end + +function Completed(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestStepDescription(Quest, 2, "I have examined the key.") + UpdateQuestTaskGroupDescription(Quest, 2, "I found a guestroom key!") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + AddStep2(Quest) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/CaptainElgrondethsDilemma.lua b/Lua/Quests/Nettleville/CaptainElgrondethsDilemma.lua new file mode 100755 index 000000000..26c685445 --- /dev/null +++ b/Lua/Quests/Nettleville/CaptainElgrondethsDilemma.lua @@ -0,0 +1,84 @@ +--[[ + Script Name : Quests/Nettleville/CaptainElgrondethsDilemma.lua + Script Purpose : Handles the quest, "Captain Elgrondeth's Dilemma" + Script Author : Jabantiz + Script Date : 6/12/2018 + Script Notes : + + Zone : Nettleville + Quest Giver : Knight-Captain Elgrondeth (2330030) + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill ten sonic shriekers in Antonica.", 10, 100, "I must seek out and slay the sonic shriekers, young brown bears and timber wolves in Antonica as required by Captain Elgrondeth.", 611, 120297, 121406) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed ten sonic shriekers.") + + AddQuestStepChat(Quest, 2, "I need to speak to Captain Elgrondeth in Nettleville.", 1, "I must seek out and slay the sonic shriekers, young brown bears and timber wolves in Antonica as required by Captain Elgrondeth.", 0, 2330030) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I spoke to Captain Elgrondeth in Nettleville.") + + AddQuestStepKill(Quest, 3, "I must kill five young brown bears roaming Antonica.", 5, 100, "I must seek out and slay the sonic shriekers, young brown bears and timber wolves in Antonica as required by Captain Elgrondeth.", 611, 120011, 121191) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have killed five young brown bears.") + + AddQuestStepChat(Quest, 4, "I need to speak to Captain Elgrondeth in Nettleville.", 1, "I must seek out and slay the sonic shriekers, young brown bears and timber wolves in Antonica as required by Captain Elgrondeth.", 0, 2330030) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I spoke to Captain Elgrondeth in Nettleville.") + + AddQuestStepKill(Quest, 5, "I must hunt down and slay ten timber wolves in Antonica.", 5, 100, "I must seek out and slay the sonic shriekers, young brown bears and timber wolves in Antonica as required by Captain Elgrondeth.", 611, 120008, 121188) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have killed ten timber wolves.") + + AddQuestStepChat(Quest, 6, "I need to speak to Captain Elgrondeth in Nettleville.", 1, "I must seek out and slay the sonic shriekers, young brown bears and timber wolves in Antonica as required by Captain Elgrondeth.", 0, 2330030) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I spoke to Captain Elgrondeth in Nettleville.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have sought out and slain the creatures required by the Captain.") + + UpdateQuestDescription(Quest, "I have accomplished all the tasks laid out before me by Captain Elgrondeth. He was impressed by my abilities. ") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif step == 5 then + Step5Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/a_budding_hunter.lua b/Lua/Quests/Nettleville/a_budding_hunter.lua new file mode 100755 index 000000000..8f452cc04 --- /dev/null +++ b/Lua/Quests/Nettleville/a_budding_hunter.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Nettleville/a_budding_hunter.lua + Script Purpose : Handles the quest, "A Budding Hunter" + Script Author : Scatman + Script Date : 2009.08.10 + + Zone : Nettleville + Quest Giver: Johfrit Gythell + Preceded by: Crate and Barrel (crate_and_barrel.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Lieutenant Dawson.", 1, "I need to find Lieutenant Dawson in the Peat Bog and see if she has work for me.", 0, 1980012) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell014.mp3", "", "", 2903854914, 2874917494, Player) + AddConversationOption(conversation, "Hmm. Thank you.") + StartConversation(conversation, QuestGiver, Player, "Lieutenant Dawson in the Peat Bog is always recruiting hands to help. She gives 'honest' work.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Lieutenant Dawson.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Lieutenant Dawson.") + UpdateQuestDescription(Quest, "I have spoken to Lieutenant Dawson.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/book_bound_to_bring_knowldege.lua b/Lua/Quests/Nettleville/book_bound_to_bring_knowldege.lua new file mode 100755 index 000000000..b98787565 --- /dev/null +++ b/Lua/Quests/Nettleville/book_bound_to_bring_knowldege.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/Nettleville/book_bound_to_bring_knowldege.lua + Script Purpose : Handles the quest, "Books Bound to Bring Knowledge" + Script Author : Scatman + Script Date : 2009.08.10 + + Zone : Nettleville + Quest Giver: Helain Conyers + Preceded by: None + Followed by: Wind Blown Brell Serilis (wind_blown_brell_serilis.lua) +--]] + +-- Item ID's +local STACK_OF_BOOKS = 13282 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Andret can be found at the scribe building, in the Northern corner of town.", 1, "She has asked me to get some books from Andret Surtees.", 718, 2330035) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithAndret") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers009.mp3", "", "", 154750033, 3665943959, Player) + AddConversationOption(conversation, "Sure thing. Be back soon!") + StartConversation(conversation, QuestGiver, Player, "Uh, thank you! Andret Surtees said that I could borrow some books from him. Always looking for more knowledge! Hehehe. Could you go pick them up for me?") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithAndret(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Andret gave me a stack of books for her.") + UpdateQuestTaskGroupDescription(Quest, 1, "Andret gave me a stack of books for her.") + + -- Stack of books + if not HasItem(Player, STACK_OF_BOOKS, 1) then + SummonItem(Player, STACK_OF_BOOKS) + end + + AddQuestStepChat(Quest, 2, "Speak to Helain. She was at the stairs leading to the Mariner's Bell.", 1, "I should return to her, now that I have run the errand.", 0, 2330007) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Helain was very thankful for the books.") + UpdateQuestTaskGroupDescription(Quest, 2, "Helain was very thankful for the books.") + + -- Stack of books + while HasItem(Player, STACK_OF_BOOKS, 1) do + RemoveItem(Player, STACK_OF_BOOKS) + end + + UpdateQuestDescription(Quest, "Helain was very thankful for Andret's books.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithAndret(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/crate_and_barrel.lua b/Lua/Quests/Nettleville/crate_and_barrel.lua new file mode 100755 index 000000000..53cd97f7d --- /dev/null +++ b/Lua/Quests/Nettleville/crate_and_barrel.lua @@ -0,0 +1,100 @@ +--[[ + Script Name : Quests/Nettleville/crate_and_barrel.lua + Script Purpose : Handles the quest, "Crate and Barrel" + Script Author : Scatman + Script Date : 2008.09.28 + + Zone : Nettleville + Quest Giver: Johfrit Gythell + Preceded by: Looking for Work is Hard Work (looking_for_work_is_hard_work.lua) + Followed by: A Budding Hunter (a_budding_hunter.lua) +--]] + +-- Item ID's +local WATERLOGGED_CRATE = 15346 +local WATERPROOF_BARREL = 15348 + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Get the crate that fell into the waterways at the Mariner's Bell", 1, 100, "Johfrit has asked me to pick up some items that are underwater at the Mariner's Bell.", 655, WATERLOGGED_CRATE) + AddQuestStepCompleteAction(Quest, 1, "Step1_complete_ObtainedCrate") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell016.mp3", "", "", 3784629349, 1480348336, Player) + AddConversationOption(conversation, "I do need the work. I'll be back with them soon!") + StartConversation(conversation, QuestGiver, Player, "It is the only task I have at hand. Retrieve both items and you will get paid for your work.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_complete_ObtainedCrate(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have obtained the crate.") + + AddQuestStepHarvest(Quest, 2, "Get the barrel that is also underwater at the Mariner's Bell.", 1, 100, "Johfrit has asked me to pick up some items that are underwater at the Mariner's Bell.", 2285, WATERPROOF_BARREL) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_ObtainedBarrel") +end + + +function Step2_Complete_ObtainedBarrel(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have obtained the barrel.") + + AddQuestStepChat(Quest, 3, "Return to Johfrit Gythell near The Golden Scabbard armory.", 1, "Johfrit has asked me to pick up some items that are underwater at the Mariner's Bell.", 0, 2330033) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_TalkedToJohfrit") +end + +function Step3_Complete_TalkedToJohfrit(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I returned to Johfrit with both items.") + UpdateQuestTaskGroupDescription(Quest, 1, "I obtained the stinky crate and barrel for Johfrit.") + + AddQuestStepChat(Quest, 4, "I am to deliver the crate to Amazu Kharliko here, in town.", 1, "I am to deliver the barrel and crate for some coin.", 397, 2330015) + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_TalkedToAmazu") +end + + +function Step4_Complete_TalkedToAmazu(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I delivered the fish-smelling crate to Amazu.") + + -- a waterlogged crate + while HasItem(Player, WATERLOGGED_CRATE, 1) do + RemoveItem(Player, WATERLOGGED_CRATE) + end + + AddQuestStepChat(Quest, 5, "I should take Luadine Shardalow her barrel. She is in the bank.", 1, "I am to deliver the barrel and crate for some coin.", 397, 2330013) + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_TalkedToLuadine") +end + +function Step5_Complete_TalkedToLuadine(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I delivered the barrel to Laudine.") + + -- a waterproof barrel + while HasItem(Player, WATERPROOF_BARREL, 1) do + RemoveItem(Player, WATERPROOF_BARREL) + end + + AddQuestStepChat(Quest, 6, "Return to Johfrit Gythell with the money from Amazu and Laudine.", 1, "I am to deliver the barrel and crate for some coin.", 0, 2330033) + AddQuestStepCompleteAction(Quest, 6, "Quest_Complete") +end + + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "Johfrit paid me for the work that I was able to do for him.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_complete_ObtainedCrate(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_ObtainedBarrel(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_TalkedToJohfrit(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_TalkedToAmazu(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_TalkedToLuadine(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/curious_findings.lua b/Lua/Quests/Nettleville/curious_findings.lua new file mode 100755 index 000000000..56dfa8a40 --- /dev/null +++ b/Lua/Quests/Nettleville/curious_findings.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Nettleville/curious_findings.lua + Script Purpose : Handles the quest, "Curious Findings" + Script Author : Scatman + Script Date : 2008.09.23 + + Zone : Nettleville + Quest Giver: Lakosha Maera + Preceded by: Ritual of Hearth (ritual_of_hearth.lua) + Followed by: Required Components (required_components.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Spiritualist Laharn Rahai, just north east of the armor shop.", 1, "Lakosha Maera has asked that I speak with Spiritist Laharn Rahai to figure out what the foreign substance was in the soil I gathered.", 0, 2330049) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToLaharn") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera013a.mp3", "", "", 529691889, 918351649, Player) + AddConversationOption(conversation, "Me too.") + StartConversation(conversation, QuestGiver, Player, "I hope he can help us.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToLaharn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Laharn Rahai.") + + AddQuestStepChat(Quest, 2, "I should speak with Assistant Alchemist Gunta in the Scribe's shop.", 1, "Lakosha Maera has asked that I speak with Spiritist Laharn Rahai to figure out what the foreign substance was in the soil I gathered.", 0, 2330026) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_talkedToGunta") +end + +function step2_complete_talkedToGunta(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Assistant Alchemist Gunta, she was not willing to help.") + + AddQuestStepChat(Quest, 3, "I need to speak with Laharn again, near the armor shop.", 1, "Lakosha Maera has asked that I speak with Spiritist Laharn Rahai to figure out what the foreign substance was in the soil I gathered.", 0, 2330049) + AddQuestStepCompleteAction(Quest, 3, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Laharn.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Laharn Rahai.") + UpdateQuestDescription(Quest, "The alchemist was unwilling to identify the substance in the soil. Because of this Laharn says we will need to take the time to do the test ourselves.") + GiveQuestReward(Quest, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/looking_for_work_is_hard_work.lua b/Lua/Quests/Nettleville/looking_for_work_is_hard_work.lua new file mode 100755 index 000000000..d0b99f849 --- /dev/null +++ b/Lua/Quests/Nettleville/looking_for_work_is_hard_work.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : Quests/Nettleville/looking_for_work_is_hard_work.lua + Script Purpose : Handles the quest, "Looking for Work is Hard Work" + Script Author : Scatman + Script Date : 2009.08.10 + + Zone : Nettleville + Quest Giver: Helain Conyers + Preceded by: Wind Blown Brell Serilis (wind_blown_brell_serilis.lua) + Followed by: Crate and Barrel (crate_and_barrel.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should find Amazu Kharliko hanging out in Market Row near the bank.", 1, "I should find her friends within Nettleville.", 0, 2330015) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_TalkedToAmazu") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers023.mp3", "", "", 455340576, 611384116, Player) + AddConversationOption(conversation, "Good day to you!") + StartConversation(conversation, QuestGiver, Player, "I do not have anything for you to do, but perhaps others do! Amazu Kharliko, Andret Surtees, Bahati Linnxar, and Laudine Shardalow are great friends of mine. I suggest you speak to each of them. May Quellious bless your journey, mighty one!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_TalkedToAmazu(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Amazu Kharliko did not have anything for me to do.") + + AddQuestStepChat(Quest, 2, "Andret Surtees can be found with the scribes in the northern most building.", 1, "I should find her friends within Nettleville.", 0, 2330035) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_TalkedToAndret") +end + + +function Step2_Complete_TalkedToAndret(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Andret Surtees didn't have any work for me, either.") + + AddQuestStepChat(Quest, 3, "The armorsmith building in the southeast corner is where I can find Bahati Linnxar.", 1, "I should find her friends within Nettleville.", 0, 2330040) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_TalkedToBahati") +end + +function Step3_Complete_TalkedToBahati(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I wasn't able to find work with Bahati Linnxar.") + + AddQuestStepChat(Quest, 4, "Luadine Shardalow should be found at the bank in the southwest building.", 1, "I should find her friends within Nettleville.", 0, 2330013) + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_TalkedToLuadine") +end + +function Step4_Complete_TalkedToLuadine(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "None of Helain's friends had work for me, but Luadine has a lead for me.") + UpdateQuestTaskGroupDescription(Quest, 1, "None of Helain's friends had work for me, but Luadine has a lead for me.") + + AddQuestStepChat(Quest, 5, "Luadine Shardalow has sent me to speak with Johfrit Gythell.", 1, "He is in the southern area of town, near The Golden Scabbard armoy.", 0, 2330033) + AddQuestStepCompleteAction(Quest, 5, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "None of Helain's friends had work for me, but Luadine had a lead for me.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_TalkedToAmazu(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_TalkedToAndret(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_TalkedToBahati(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_TalkedToLuadine(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/refill_the_oakmyst_spider_silk_jars.lua b/Lua/Quests/Nettleville/refill_the_oakmyst_spider_silk_jars.lua new file mode 100755 index 000000000..480a33d87 --- /dev/null +++ b/Lua/Quests/Nettleville/refill_the_oakmyst_spider_silk_jars.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/Nettleville/refill_the_oakmyst_spider_silk_jars.lua + Script Purpose : Handles the quest, "Refill the Oakmyst Spider Silk Jars" + Script Author : Jabantiz + Script Date : 6/13/2018 + Script Notes : + + Zone : The City of Qeynos + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must slay some Oakmyst spiders in Oakmyst Forest", 8, 100, "I must slay Oakmyst spiders and collect their silk in the local Oakmyst Forest, reachable by any mariner bell within the City of Qeynos.", 354,1950014) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain some Oakmyst spiders.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have refilled the Oakmyst spider silk jars.") + + AddQuestStepChat(Quest, 2, "I must return to Varion Smitelin", 1, "I must return the spider silk jars to Varion Smitelin, a sage within the Concordium in the Qeynos Capitol District", 354, 2330056) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I gave Smitelin the jars of spider silk.") + UpdateQuestTaskGroupDescription(Quest, 2, "I gave Smitelin the jars of spider silk.") + + UpdateQuestDescription(Quest, "I refilled the Oakmyst spider silk jars and gave them to Sage Varion Smitelin. Having not had the time to do it himself, he was very thankful.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + AddConversationOption(conversation, "[Exit]", "CloseConversation") + StartDialogConversation(conversation, 1, QuestGiver, Player, "This jar is filled with spider silk but looks rather low, I should help Varion out by gathering some more.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/required_components.lua b/Lua/Quests/Nettleville/required_components.lua new file mode 100755 index 000000000..4f1cf4134 --- /dev/null +++ b/Lua/Quests/Nettleville/required_components.lua @@ -0,0 +1,110 @@ +--[[ + Script Name : Quests/Nettleville/required_components.lua + Script Purpose : Handles the quest, "Required Components" + Script Author : Scatman + Script Date : 2008.09.23 + + Zone : Nettleville + Quest Giver: Laharn Rahai + Preceded by: Curious Findings (curious_findings.lua) + Followed by: Unfortunate Mistakes (unfortunate_mistakes.lua) +--]] + +-- Item ID's +local REACTIVE_KESMITH = 11298 +local LITSUTH_BAG = 9088 +local SELKIE_MUSHROOM = 12074 + +-- Quest ID's +local REQUIRED_COMPONENTS = 302 + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to buy Reactive Kesmith. Laharn says that Alchemist Garion Dunam in the scribe shop will sell some.", 1, 100, "I need to acquire Reactive Kesmith some moss scrapings and a Litsuth Bag.", 10, REACTIVE_KESMITH) + AddQuestStepObtainItem(Quest, 2, "I need to buy a Litsuth bag. Laharn says that I can get one from Tailor Ehuraa Rotherham on the west side of Nettleville.", 1, 100, "I need to acquire Reactive Kesmith some moss scrapings and a Litsuth Bag.", 179, LITSUTH_BAG) + AddQuestStepObtainItem(Quest, 3, "I need to collect some Selki Mushrooms. Laharn says they can be found in the ferryway near the Mariner's Bell in western Nettleville.", 4, 100, "I need to acquire Reactive Kesmith some moss scrapings and a Litsuth Bag.", 821, SELKIE_MUSHROOM) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotReactive") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_gotBag") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_gotMushrooms") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai007a.mp3", "", "", 2216928573, 1758019339, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "I will prepare the rest of what is necessary.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_gotReactive(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I bought the Reactive Kesmith.") + if QuestIsComplete(Player, REQUIRED_COMPONENTS) then + GotAllItems(Quest, QuestGiver, Player) + end +end + +function step2_complete_gotBag(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I bought a Litsuth Bag.") + if QuestIsComplete(Player, REQUIRED_COMPONENTS) then + GotAllItems(Quest, QuestGiver, Player) + end +end + +function step3_complete_gotMushrooms(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected some Selki Mushrooms.") + if QuestIsComplete(Player, REQUIRED_COMPONENTS) then + GotAllItems(Quest, QuestGiver, Player) + end +end + +function GotAllItems(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have acquired the needed reagants.") + AddQuestStepChat(Quest, 4, "I need to return to Laharn, near the armor shop.", 1, "I need to bring these reagants to Laharn and discover what the unknown substance is for Lakosha.", 0, 2330049) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_talkedToLaharn") +end + +function step4_complete_talkedToLaharn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Laharn.") + AddQuestStepChat(Quest, 5, "I need to speak with Lakosha, on the west side of Nettleville.", 1, "I need to bring these reagants to Laharn and discover what the unknown substance is for Lakosha.", 0, 2330053) + AddQuestStepCompleteAction(Quest, 5, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + -- Reactive Kesmith + while HasItem(Player, REACTIVE_KESMITH, 1) do + RemoveItem(Player, REACTIVE_KESMITH) + end + + -- Litsuth bag + while HasItem(Player, LITSUTH_BAG, 1) do + RemoveItem(Player, LITSUTH_BAG) + end + + -- Selki Mushrooms + while HasItem(Player, SELKIE_MUSHROOM, 1) do + RemoveItem(Player, SELKIE_MUSHROOM) + end + + UpdateQuestStepDescription(Quest, 5, "I have spoken with Lakosha.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have delivered the reagents and discovered what the unknown substance is.") + UpdateQuestDescription(Quest, "After I collect all of Laharn's needed components he performed his test. It turns out someone seems to be performing the Pa'Rok ceremony, in which one mourns for the dead. Unfortunately, according to Laharn, there are other compounds in the soil that may corrupt the ceremony.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotReactive(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_gotBag(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_gotMushrooms(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_talkedToLaharn(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/restocking_bog_faerie_wings.lua b/Lua/Quests/Nettleville/restocking_bog_faerie_wings.lua new file mode 100755 index 000000000..219ec2628 --- /dev/null +++ b/Lua/Quests/Nettleville/restocking_bog_faerie_wings.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/Nettleville/restocking_bog_faerie_wings.lua + Script Purpose : Handles the quest, "Restocking Bog Faerie Wings" + Script Author : Scatman + Script Date : 2009.08.12 + + Zone : Nettleville + Quest Giver: Varion Smitelin + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect eight bog faerie wings.", 8, 100, "I need to collect eight Bog Faerie Wings from the Peat Bog for Scribe Varion Smitelin.", 110, 1980007, 1980008, 1980010, 1980052, 1980026, 1980056, 1980061) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotWings") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/scribe_varion_smitelin/qey_village01/varionsmitelin004.mp3", "", "", 4154898846, 3738847882, Player) + AddConversationOption(conversation, "You don't have to worry about me.") + StartConversation(conversation, QuestGiver, Player, "Fabulous! I need a handful of the wings to restock my supply. Good luck in that nasty bog and be careful!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotWings(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the wings Varion needed.") + UpdateQuestTaskGroupDescription(Quest, 1, "I collected the eight Bog Faerie Wings for Scribe Varion Smitelin.") + UpdateQuestZone(Quest, "Nettleville") + + AddQuestStepChat(Quest, 2, "I need to return to Scribe Varion Smitelin.", 1, "I should return these eight Bog Faerie Wings to Scribe Varion Smitelin in Nettleville.", 0, 2330056) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I turned in the wings to Scribe Varion.") + UpdateQuestTaskGroupDescription(Quest, 2, "I turned in the eight Bog Faerie Wings to Scribe Varion Smitelin for money.") + UpdateQuestDescription(Quest, "I was able to resupply Scribe Varion Smitelin with Bog Faerie Wings and he paid me for a job well done.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotWings(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/ritual_of_hearth.lua b/Lua/Quests/Nettleville/ritual_of_hearth.lua new file mode 100755 index 000000000..649a20eab --- /dev/null +++ b/Lua/Quests/Nettleville/ritual_of_hearth.lua @@ -0,0 +1,89 @@ +--[[ + Script Name : Quests/Nettleville/ritual_of_hearth.lua + Script Purpose : Handles the quest, "Ritual of Hearth" + Script Author : Scatman + Script Date : 2009.08.21 + + Zone : Nettleville + Quest Giver: Lakosha Maera + Preceded by: None + Followed by: Curious Findings (curious_findings.lua) +--]] + +-- Item ID's +local LOOSE_SOIL = 9143 + +-- Quest ID's +local RITUAL_OF_HEALTH = 300 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to collect some dirt from under the tree on the west side of The Nettleville Market Row in the south western side of Nettleville.", 1, 100, "Lakosha Maera has asked that I collect some soil from around Nettleville.", 181) + AddQuestStep(Quest, 2, "I need to collect some dirt from under the tree near the entrance to the Peat Bog.", 1, 100, "Lakosha Maera has asked that I collect some soil from around Nettleville.", 181) + AddQuestStep(Quest, 3, "I need to collect some dirt from in front of the gates to South Qeynos in northwestern Nettleville.", 1, 100, "Lakosha Maera has asked that I collect some soil from around Nettleville.", 181) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotDirtMarket") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_gotDirtPeatBog") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_gotDirtGates") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera007.mp3", "", "", 127670911, 3559521649, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Just a handful from each spot should be fine. Bring it back to me once you have it collected.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_gotDirtMarket(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected some dirt from under the tree on the west side of The Nettleville Mark Row.") + if QuestIsComplete(Player, RITUAL_OF_HEALTH) then + HarvestedAllDirt(Quest, QuestGiver, Player) + end +end + +function step2_complete_gotDirtPeatBog(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected some dirt from under the tree on the west side of The Nettleville Mark Row.") + if QuestIsComplete(Player, RITUAL_OF_HEALTH) then + HarvestedAllDirt(Quest, QuestGiver, Player) + end +end + +function step3_complete_gotDirtGates(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected some dirt from in front of the gates to South Qeynos.") + if QuestIsComplete(Player, RITUAL_OF_HEALTH) then + HarvestedAllDirt(Quest, QuestGiver, Player) + end +end + +function HarvestedAllDirt(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected all the needed soil.") + AddQuestStepChat(Quest, 4, "I need to return to Lakosha Maera on the west side of Nettleville.", 1, "Now that I have collected all of the soil I should return to Lakosha", 0, 2330053) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + -- loose soil + while HasItem(Player, LOOSE_SOIL, 1) do + RemoveItem(Player, LOOSE_SOIL) + end + UpdateQuestStepDescription(Quest, 4, "I have spoken with Lakosha Maera.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Lakosha.") + UpdateQuestDescription(Quest, "I have gathered the needed soil to complete Lakosha's ritual. Within the gathered soil Lakosha found something disturbing, however.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotDirtMarket(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_gotDirtPeatBog(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_gotDirtGates(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/to_the_source.lua b/Lua/Quests/Nettleville/to_the_source.lua new file mode 100755 index 000000000..1d3366f6a --- /dev/null +++ b/Lua/Quests/Nettleville/to_the_source.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Quests/Nettleville/to_the_source.lua + Script Purpose : Handles the quest, "To The Source" + Script Author : Scatman + Script Date : 2008.09.27 + + Zone : Nettleville + Quest Giver: Lakosha Maera + Preceded by: Unfortunate Mistakes (unfortunate_mistakes.lua) + Followed by: +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should go speak with Botanist Lith in the Peat Bog.", 1, ".", 0, 1980001) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToBotanist") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "I shall.") + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera025a.mp3", "", "", 3263220772, 3077282581, Player) + StartConversation(conversation, QuestGiver, Player, "I do not know if he was looking for something like this especially, but I am sure the news will interest him. Please, seek him out.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToBotanist(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have spoken with Botanist Lith.") + GiveQuestReward(Quest, Spawn) +end diff --git a/Lua/Quests/Nettleville/toxic_glands_for_erollisis_bane.lua b/Lua/Quests/Nettleville/toxic_glands_for_erollisis_bane.lua new file mode 100755 index 000000000..2f3a0aa05 --- /dev/null +++ b/Lua/Quests/Nettleville/toxic_glands_for_erollisis_bane.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/Nettleville/toxic_glands_for_erollisis_bane.lua + Script Purpose : Handles the quest, "Toxic Glands for Erollisi's Bane" + Script Author : Scatman + Script Date : 2009.08.12 + + Zone : Nettleville + Quest Giver: Foster Graham (2330025) + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill some toxic bog slugs.", 6, 100, "I must slay six toxic bog slugs for their poison glands.", 2515, 1980006) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSlugs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/foster_graham/qey_village01/fostergraham002.mp3", "", "", 196177219, 2787738591, Player) + AddConversationOption(conversation, "I will return with your poison.") + StartConversation(conversation, QuestGiver, Player, "Thank you, friend! Your plain looks veil a superior heart. The secret ingredient comes from the gland of the toxic bog slug, which crawls about the local peat bog. I need several of the toxic glands.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSlugs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed some toxic bog slugs.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected six toxic poison glands.") + UpdateQuestZone(Quest, "Nettleville") + + AddQuestStepChat(Quest, 2, "I must return to Foster Graham.", 1, "I need to bring these toxic glands to Foster Graham in Nettleville.", 0, 2330025) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I returned to Foster Graham.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned to Foster Graham.") + UpdateQuestDescription(Quest, "I have collected and delivered the six toxic glands for Foster Graham of Nettleville. While condescending at least he pays well.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSlugs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/unfortunate_mistakes.lua b/Lua/Quests/Nettleville/unfortunate_mistakes.lua new file mode 100755 index 000000000..5b00af54e --- /dev/null +++ b/Lua/Quests/Nettleville/unfortunate_mistakes.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : UnfortunateMistakes.lua + Script Purpose : Handles the quest, "Unfortunate Mistakes" + Script Author : Jabantiz + Script Date : 6/11/2018 + Script Notes : + + Zone : Nettleville + Quest Giver : + Preceded by : Required Components (required_components.lua) + Followed by : To the Source (to_the_source.lua) +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must stop the Pa'Rok ritual.", 1, "I need to stop the Pa'Rok ritual before something bad happens. I should check the three locations I originally gathered dirt from.", 11, 2330065) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I did not stop the ceremony, but I did stop the corrupted spirit that was inadvertently summoned and learned where the contaminated soil came from.") + + AddQuestStepChat(Quest, 2, "I should return to Lakosha Maera and tell her the news.", 1, "I need to stop the Pa'Rok ritual before something bad happens. I should check the three locations I originally gathered dirt from.", 11, 2330053) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have spoken with Lakosha Maera.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found out who was attempting the Pa'Rok ritual.") + + UpdateQuestDescription(Quest, "I found the person attempting the Pa'Rok ritual. I was too late to stop the ritual, but I did prevent the spirit that was summoned from harming anyone.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera019a.mp3", "", "", 3555353396, 4246766258, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "Go quicky, and good luck.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/vida_needs_a_new_broom.lua b/Lua/Quests/Nettleville/vida_needs_a_new_broom.lua new file mode 100755 index 000000000..30e0101c4 --- /dev/null +++ b/Lua/Quests/Nettleville/vida_needs_a_new_broom.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/Nettleville/vida_needs_a_new_broom.lua + Script Purpose : Handles the quest, "Vida Needs a New Broom" + Script Author : Scatman + Script Date : 2009.08.12 + + Zone : Nettleville + Quest Giver: Vida Sweeps + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to find Tawli Whiskwind.", 1, "I need to find Tawli Whiskwind in the Baubbleshire and pick up Vida's new broom.", 0, 2380047) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithTawli") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/vida_sweeps/qey_village01/vidasweeps002.mp3", "", "", 1651808120, 3255633748, Player) + AddConversationOption(conversation, "I'll go over to the Baubbleshire and look for her.") + StartConversation(conversation, QuestGiver, Player, "Great! I need you to pick up my new broom. Don't worry! It's already paid for; I just haven't picked it up. Tawli Whiskwind, a halfling lass in the Baubbleshire, should have it ready for me. You may have a difficult time finding her -- she's always running around looking for the finest materials for her brooms.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithTawli(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found Tawli Whiskwind.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found Tawli Whiskwind and picked up the new broom for Vida.") + UpdateQuestZone(Quest, "Nettleville") + + AddQuestStepChat(Quest, 2, "I should return to Vida Sweeps.", 1, "I should get this new broom to Vida in Nettleville.", 0, 2330011) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I gave the new broom to Vida Sweeps.") + UpdateQuestTaskGroupDescription(Quest, 2, "I gave the new broom to Vida and received the dusty blue stone in payment.") + UpdateQuestDescription(Quest, "Vida seems happy with the new broom and put it to use right away. She gave me the dusty blue stone and suggested I may want to ask a mineral expert about it.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithTawli(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Nettleville/wind_blown_brell_serilis.lua b/Lua/Quests/Nettleville/wind_blown_brell_serilis.lua new file mode 100755 index 000000000..6bb7c81e1 --- /dev/null +++ b/Lua/Quests/Nettleville/wind_blown_brell_serilis.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : Quests/Nettleville/wind_blown_brell_serilis.lua + Script Purpose : Handles the quest, "Wind Blown Brell Serilis" + Script Author : Scatman + Script Date : 2009.08.10 + + Zone : Nettleville + Quest Giver: Helain Conyers + Preceded by: Book Bound to Bring Knowledge (book_bound_to_bring_knowledge.lua) + Followed by: Looking for Work is Hard Work (looking_for_work_is_hard_work.lua) +--]] + +-- Item ID's +local MISSING_PAGES = 9862 + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Find the missing pages of the book.", 6, 100, "With the pages of the book scattered by the wind they could be anywhere in town.", 185, MISSING_PAGES) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundPages") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers016.mp3", "", "", 1734136541, 86043254, Player) + AddConversationOption(conversation, "I'll be back shortly... I hope.") + StartConversation(conversation, QuestGiver, Player, "That's very nice of you. By now the wind could have carried them anywhere in Nettleville. Good luck!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundPages(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found all of the missing pages!") + UpdateQuestTaskGroupDescription(Quest, 1, "I found all of the missing pages!") + + AddQuestStepChat(Quest, 2, "Speak with Helain, and give her the pages.", 1, "Even though they are a bit dirty, I bet Helain will still be able to read them.", 0, 2330007) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Helain was very happy to have the pages returned.") + UpdateQuestTaskGroupDescription(Quest, 2, "The dirt didn't bother her at all. She was very thankful to have the book whole, again.") + + --lost book page + while HasItem(Player, MISSING_PAGES, 1) do + RemoveItem(Player, MISSING_PAGES) + end + + UpdateQuestDescription(Quest, "Helain was very happy to have the Followers of Brell Serilis book whole, again.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundPages(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/a_citizens_request.lua b/Lua/Quests/Oakmyst/a_citizens_request.lua new file mode 100755 index 000000000..5aefa820e --- /dev/null +++ b/Lua/Quests/Oakmyst/a_citizens_request.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : Quests/Oakmyst/a_citizens_request.lua + Script Purpose : Handles the quest, "A Citizen's Request" + Script Author : Scatman + Script Date : 2009.05.03 + + Zone : Oakmyst Forest + Quest Giver: Lieutenant Charlin + Preceded by: Cause for Investigation (cause_for_investigation.lua) + Followed by: An Important Meeting (an_important_meeting.lua) +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Bardrian Vorsuth on the docks in western Oakmyst Forest.", 1, "Lieutenant Charlin has asked that I head to the docks in Oakmyst Forest on his behalf.", 0, 1950082) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithBardrian") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin011a.mp3", "", "", 3187068134, 4200320763, Player) + AddConversationOption(conversation, "I'll return with his information.") + StartConversation(conversation, QuestGiver, Player, "Bring his news back to me. We'll add it to what we've already got.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithBardrian(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Bardrian Vorsuth.") + + AddQuestStepChat(Quest, 2, "I need to bring the news of the machine back to Lieutenant Charlin.", 1, "Lieutenant Charlin has asked that I head to the docks in Oakmyst Forest on his behalf.", 0, 1950015) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithCharlin") +end + +function Step2_Complete_SpokeWithCharlin(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Lieutenant Charlin.") + + AddQuestStep(Quest, 3, "Lieutenant Charlin has asked that I search Oakmyst Forest thoroughly for another machine like the one found on the docks. I should check near water.", 1, 100, "Lieutenant Charlin has asked that I head to the docks in Oakmyst Forest on his behalf.", 0) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_FoundMachine") +end + +function Step3_Complete_FoundMachine(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have found another machine.") + + AddQuestStepChat(Quest, 4, "I need to tell Lieutenant Charlin of my find.", 1, "Lieutenant Charlin has asked that I head to the docks in Oakmyst Forest on his behalf.", 0, 1950015) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken to Lieutenant Charlin.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found a mysterious machine in Oakmyst Forest.") + + UpdateQuestDescription(Quest, "I found some sort of machinery that someone had set up in Oakmyst Forest. Though its purpose was not clear it was done so covertly and as such was probably an attempt of some sort of environmental sabotage.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithBardrian(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithCharlin(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_FoundMachine(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/an_important_meeting.lua b/Lua/Quests/Oakmyst/an_important_meeting.lua new file mode 100755 index 000000000..bcc4f73ba --- /dev/null +++ b/Lua/Quests/Oakmyst/an_important_meeting.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/Oakmyst/an_important_meeting.lua + Script Purpose : Handles the quest, "An Important Meeting" + Script Author : Scatman + Script Date : 2009.05.03 + + Zone : Oakmyst Forest + Quest Giver: Lieutenant Charlin + Preceded by: A Citizen's Request (a_citizens_request.lua) + Followed by: Clean Up (clean_up.lua) +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to interrupt the meeting being held on the small hill that overlooks the falls just west of The Western Falls.", 1, 100, ".", 0, 1950066) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledGilrix") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin019a.mp3", "", "", 1345224197, 2287197630, Player) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, QuestGiver, Player, "Be safe. They won't appreciate this, heh.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledGilrix(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have interrupted the meeting.") + + -- A Gnollish Contingency Book + SummonItem(Player, 210027, 1) + + AddQuestStepChat(Quest, 2, "I need to return to Lieutenant Charlin and tell him what happened.", 1, ".", 0, 1950015) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Lieutenant Charlin.") + + UpdateQuestDescription(Quest, "I interrupted the meeting just as planned. It was between a few gnolls and a gnome. The gnome ran off but the gnolls were slain. The information found on them will help deconstruct their plans in Oakmyst Forest.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledGilrix(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/an_ode_to_oakmyst.lua b/Lua/Quests/Oakmyst/an_ode_to_oakmyst.lua new file mode 100755 index 000000000..7922c2257 --- /dev/null +++ b/Lua/Quests/Oakmyst/an_ode_to_oakmyst.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : an_ode_to_oakmyst.lua + Script Purpose : Handles the quest, "An Ode to Oakmyst" + Script Author : ememjr + Script Date : 5/9/2017 + Script Notes : + + Zone : Oakmyst Forest + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "Go to Sloshed Tree", 10, "Visit the Oakmyst location hinted of in the line \"A lonesome trunk drifting amidst the clear blue.\"", 11, 924, 2, -276) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Visited Sloshed Tree") + UpdateQuestTaskGroupDescription(Quest, 1, "I visited the Sloshed Tree.") + + AddQuestStepLocation(Quest, 2, "Go to Oakmyst Falls", 10, "Visit the Oakmyst location hinted of in the line \"The life giver billows and feeds.\"", 11, 994, 0, -204) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Visited Oakmyst Falls") + UpdateQuestTaskGroupDescription(Quest, 2, "I visited Oakmyst Falls.") + + AddQuestStepLocation(Quest, 3, "Go to Shaded Tail Glade", 10, "Visit the Oakmyst location hinted of in the line \"Dark beauty with huddled rodent masses hangs over the trailed pass.\"", 11, 866, 11, -226) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "Visited Shaded Tail Glade") + UpdateQuestTaskGroupDescription(Quest, 3, "I visited the Shaded Tail Glade") + + AddQuestStepLocation(Quest, 4, "Go to Fay Overlook", 10, "Visit the Oakmyst location hinted of in the line \"A perch above the trees to gaze down upon the shimmering fay.\"", 11, 853, 13, -314) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "Visited Fay Overlook") + UpdateQuestTaskGroupDescription(Quest, 4, "I visited the Fay Overlook.") + + AddQuestStepLocation(Quest, 5, "Go to Teardrop Cave", 10, "Visit the Oakmyst location hinted of in the line \"A place of secluded beauty, flowering an isolated teardrop.\"", 11, 935, 12, -172 ) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 5, "Visited Teardrop Cave") + UpdateQuestTaskGroupDescription(Quest, 5, "I visited Teardrop Cave.") + + UpdateQuestDescription(Quest, "I visited all the points of interests hinted at within the poem called \"An Ode to Oakmyst\".") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Oakmyst/booze_in_the_drink.lua b/Lua/Quests/Oakmyst/booze_in_the_drink.lua new file mode 100755 index 000000000..d83d77221 --- /dev/null +++ b/Lua/Quests/Oakmyst/booze_in_the_drink.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : Quests/Oakmyst/booze_in_the_drink.lua + Script Purpose : Handles the quest, "Booze in the Drink" + Script Author : Scatman + Script Date : 2008.09.19 + + Zone : Oakmyst Forest + Quest Giver: Marv Boilfist + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + -- a keg of booze + AddQuestStepObtainItem(Quest, 1, "I need to rescue the drowning booze.", 8, 100, "Marv Boilfist has lost a large amount of booze off the docks in Oakmyst Forest. He has asked that I help retrieve it.", 2285, 1807) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_RescuedBooze") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Glad to hear it!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_RescuedBooze(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have rescued the booze from the water.") + + AddQuestStepChat(Quest, 2, "I need to bring the booze back to Marv Boilfist.", 1, "Marv Boilfist has lost a large amount of booze off the docks in Oakmyst Forest. He has asked that I help retrieve it.", 0, 1950027) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithMarv") +end + +function Step2_Complete_SpokeWithMarv(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Marv his booze.") + + -- a keg of booze + while HasItem(Player, 1807) do + RemoveItem(Player, 1807) + end + + AddQuestStepChat(Quest, 3, "I need to tell Lieutenant Charlin of the Blackburrow Stout I found.", 1, "Marv Boilfist has lost a large amount of booze off the docks in Oakmyst Forest. He has asked that I help retrieve it.", 0, 1950015) + AddQuestStepCompleteAction(Quest, 3, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Lieutenant Charlin.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Marv's booze as well as some Blackburrow Stout.") + + -- blackburrow stout + while HasItem(Player, 3774) do + RemoveItem(Player, 3774) + end + + UpdateQuestDescription(Quest, "I have found Marv's kegs for him. One keg I brought back wasn't one of Marv's, but was a keg of Blackburrow Stout. I reported this to the Qeynos Guard at Marv's suggestion.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_RescuedBooze(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithMarv(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/cause_for_investigation.lua b/Lua/Quests/Oakmyst/cause_for_investigation.lua new file mode 100755 index 000000000..d40956f8d --- /dev/null +++ b/Lua/Quests/Oakmyst/cause_for_investigation.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : Quests/Oakmyst/cause_for_investigation.lua + Script Purpose : Handles the quest, "Cause for Investigation" + Script Author : Scatman + Script Date : 2009.10.07 + + Zone : Oakmyst Forest + Quest Giver: Lieutenant Charlin + Preceded by: Natural Causes? (natural_causes.lua) + Followed by: A Citizen's Request (a_citizens_request.lua) +--]] + + +function Init(Quest) + -- unearthed soil + Say(NPC, "This is me talking INit") + AddQuestStepObtainItem(Quest, 1, "Lieutenant Charlin would like me to collect soil samples from all around Oakmyst Forest.", 5, 100, "Charlin has asked that I collect soil samples from the dirt piles that are popping up all around Oakmyst Forest.", 10, 15098) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotSoil") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + Say(QuestGiver, "This is me talking try to set spawn to acive") + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin008a.mp3", "", "", 717032559, 738942880, Player) + + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "It may be nothing, but it may help us. Thanks for doing this.") + +end + +function Declined(Quest, QuestGiver, Player) + +end + + +function Step1_Complete_GotSoil(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected some soil samples for Lieutenant Charlin.") + + AddQuestStepChat(Quest, 2, "I need to bring this soil to Lieutenant Charlin.", 1, "Charlin has asked that I collect soil samples from the dirt piles that are popping up all around Oakmyst Forest.", 0, 1950008) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Lieutenant Charlin.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the soil for Charlin.") + + -- remove unearthed soil + while HasItem(Player, 15098) do + RemoveItem(Player, 15098) + end + + UpdateQuestDescription(Quest, "I have gathered the soil samples for Charlin. He hopes something will turn up from the tests.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotSoil(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Oakmyst/clean_up.lua b/Lua/Quests/Oakmyst/clean_up.lua new file mode 100755 index 000000000..8dce30f33 --- /dev/null +++ b/Lua/Quests/Oakmyst/clean_up.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : Quests/Oakmyst/clean_up.lua + Script Purpose : Handles the quest, "Clean Up" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : Oakmyst Forest + Quest Giver: Lieutenant Charlin + Preceded by: An Important Meeting (an_important_meeting.lua) + Followed by: Reinforcements (reinforcements.lua) +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill Lieutenant Gnar'Sok. I can find him hiding in an alcove just northwest of The Western Falls.", 1, 100, "I need to take out the remaining gnoll lieutenants.", 1220, 1950086) + AddQuestStepKill(Quest, 2, "I need to kill Lieutenant Chorsun. The path west from Lieutenant Charlin leads to him if I turn north before passing under the bridge.", 1, 100, "I need to take out the remaining gnoll lieutenants.", 1220, 1950085) + AddQuestStepKill(Quest, 3, "I need to kill Lieutenant Scyn. He is hiding on a rocky hill southeast of Clearwater Pond.", 1, 100, "I need to take out the remaining gnoll lieutenants.", 1220, 1950084) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledGnarSok") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledChorsun") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledScyn") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin024b.mp3", "", "", 2171842973, 3442277052, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "Taking them out will be a huge victory for us here, good luck.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledGnarSok(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain Lieutenant Gnar'Sok.") + + if QuestIsComplete(Player, 208) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end +function Step2_Complete_KilledChorsun(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain Lieutenant Chorsun.") + + if QuestIsComplete(Player, 208) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledScyn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have slain Lieutenant Scyn.") + + if QuestIsComplete(Player, 208) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the three gnoll lieutenants.") + + AddQuestStepChat(Quest, 4, "I need to return to Lieutenant Charlin.", 1, "I need to bring the news of the slain lieutenants back to Lieutenant Charlin.", 0, 1950015) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Lieutenant Charlin.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Lieutenant Charlin.") + + UpdateQuestDescription(Quest, "I have slain all three of the gnoll lieutenants. With their deaths the Oakmyst Forest should be free of gnollish corruption for some time.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledGnarSok(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledChorsun(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledScyn(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/destroy_the_corruption.lua b/Lua/Quests/Oakmyst/destroy_the_corruption.lua new file mode 100755 index 000000000..410e57548 --- /dev/null +++ b/Lua/Quests/Oakmyst/destroy_the_corruption.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/Oakmyst/destroy_the_corruption.lua + Script Purpose : Handles the quest, "Destroy the Corruption" + Script Author : Scatman + Script Date : 2009.05.09 + + Zone : Oakmyst Forest + Quest Giver: Scholar Neola + Preceded by: Judgement of the Dryads (judgement_of_the_dryads.lua) + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Find and defeat Rotweed.", 1, 100, "I must slay Rotweed. This being can be found in the Teardrop Cave in Oakmyst Forest.", 611, 1950204) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledRotweed") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/empress_anassa/qey_adv01_oakmyst/empressanassa002.mp3", "", "", 3988531876, 1061259431, Player) + AddConversationOption(conversation, "What is Rotweed?", "WhatIsRotweed") + AddConversationOption(conversation, "I will battle this Rotweed and return victorious.") + StartConversation(conversation, QuestGiver, Player, "The evil calls itself Rotweed and lurks in the darkness of Teardrop Cave. It buries itself in the cave walls and exudes corruption upon this woodland. ") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledRotweed(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found and defeated Rotweed .") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the many creatures that made up Rotweed the plant fiend.") + + AddQuestStepChat(Quest, 2, "Speak to Empress Anassa.", 1, "I must return to speak to Empress Anassa in Oakmyst Forest.", 0, 1950078) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I encountered and defeated the twisted plant fiend Rotweed. Empress Anassa of the Oakmyst dryads was very appreciative.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledRotweed(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Oakmyst/druids_legacy.lua b/Lua/Quests/Oakmyst/druids_legacy.lua new file mode 100755 index 000000000..70d686038 --- /dev/null +++ b/Lua/Quests/Oakmyst/druids_legacy.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Oakmyst/druids_legacy.lua + Script Author : Jabantiz + Script Date : 2017.12.30 05:12:17 + Script Purpose : + + Zone : Oakmyst + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/Oakmyst/far_seas_requisition_okf050.lua b/Lua/Quests/Oakmyst/far_seas_requisition_okf050.lua new file mode 100755 index 000000000..bd69c6b90 --- /dev/null +++ b/Lua/Quests/Oakmyst/far_seas_requisition_okf050.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : Quests/Oakmyst/far_seas_requisition_okf050.lua + Script Purpose : Handles the quest, "Far Seas Requisition #OKF050" + Script Author : ememjr + Script Date : 5/9/2017 + Script Notes : + + Zone : Oakmyst Forest + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must gather some mystail yearling tails.", 4, 100, "To fill the requisition, I must hunt down the creatures in Oakmyst Forest, reachable by any number of mariner bells in the City of Qeynos.", 172, 1950009) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gathered some mystail yearling tails.") + + AddQuestStepKill(Quest, 2, "I must gather tongues from clearwater frogs.", 3, 100, "To fill the requisition, I must hunt down the creatures in Oakmyst Forest, reachable by any number of mariner bells in the City of Qeynos.", 1104, 1950020) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have gathered tongues from clearwater frogs.") + + AddQuestStepKill(Quest, 3, "I must get the hide from one Oakmyst great bear.", 1, 100, "To fill the requisition, I must hunt down the creatures in Oakmyst Forest, reachable by any number of mariner bells in the City of Qeynos.", 127, 1950023) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected the hide of an Oakmyst great bear.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have hunted down all the resources to fill the requisition.") + + AddQuestStepChat(Quest, 4, "I need to talk to Diggin Diggs", 1, "I must go to the province district of Qeynos to seek out the client for this order.", 10, 6600085) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I talked to Diggin Diggs.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have delivered the goods to Diggin Diggs.") + + UpdateQuestDescription(Quest, "I filled the Far Seas Requisition and delivered the goods to the client in the Qeynos Province District. I have been paid in full for this work, but the order was late.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Oakmyst/far_seas_requisition_okf063.lua b/Lua/Quests/Oakmyst/far_seas_requisition_okf063.lua new file mode 100755 index 000000000..014a7013e --- /dev/null +++ b/Lua/Quests/Oakmyst/far_seas_requisition_okf063.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : Quests/Oakmyst/far_seas_requisition_okf063.lua + Script Purpose : Handles the quest, "Far Seas Requisition #OKF063" + Script Author : ememjr + Script Date : 5/9/2017 + Script Notes : + + Zone : Oakmyst Forest + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must collect five Oakmyst fawn pelts.", 5, 100, "To fill the requisition, I must hunt down the creatures in Oakmyst Forest, reachable by any number of mariner bells in the City of Qeynos.", 138, 1950001) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected five Oakmyst fawn pelts.") + + AddQuestStepKill(Quest, 2, "I must collect five badger cub pelts.", 5, 100, "To fill the requisition, I must hunt down the creatures in Oakmyst Forest, reachable by any number of mariner bells in the City of Qeynos.", 129, 1950035) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected five badger cub pelts.") + + AddQuestStepKill(Quest, 3, "I must collect a single bear cub pelt.", 1, 100, "To fill the requisition, I must hunt down the creatures in Oakmyst Forest, reachable by any number of mariner bells in the City of Qeynos.", 128, 1950000) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected a single bear cub pelt.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected all of the items listed in the requisition.") + + AddQuestStepChat(Quest, 4, "I need to talk to Diggin Diggs", 1, "I must go to the province district of Qeynos to seek out the client for this order.", 10, 6600085) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I talked to Diggin Diggs.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have delivered the goods to Diggin Diggs.") + + UpdateQuestDescription(Quest, "I filled the Far Seas Requisition and delivered the goods to the client in the Qeynos Province District. I have been paid in full for this work, but the order was late.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end diff --git a/Lua/Quests/Oakmyst/feed_the_sapling.lua b/Lua/Quests/Oakmyst/feed_the_sapling.lua new file mode 100755 index 000000000..77274efd0 --- /dev/null +++ b/Lua/Quests/Oakmyst/feed_the_sapling.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/Oakmyst/feed_the_sapling.lua + Script Purpose : Handles the quest, "Feed the Sapling" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : Oakmyst Forest + Quest Giver: Scholar Neola + Preceded by: None + Followed by: Judgement of the Dryads (judgement_of_the_dryads.lua) +--]] + + +function Init(Quest) + AddQuestStep(Quest, 1, "Search the alchemy shelves.", 1, 100, "I must search for the alchemist shop in Nettleville to attain the magical plant nutrient.", 182) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundNutrients") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/scholar_neola/qey_adv01_oakmyst/scholarneola002.mp3", "", "", 4033827219, 3906200141, Player) + AddConversationOption(conversation, "I will go and find this arcane nutrient.") + StartConversation(conversation, QuestGiver, Player, "I cannot leave this woodland, but you can. Within the villages of Qeynos an alchemist has created a powerful nutrient that will aid the sapling. Retrieve this prized item and feed it to the growing tree. ") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundNutrients(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I searched the alchemy shelves.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found Smitelin's Excel-o-gro in Nettleville.") + UpdateQuestZone(Quest, "Oakmyst Forest") + + AddQuestStepChat(Quest, 2, "Find the treant sapling.", 1, "I must sprinkle Smitelin's Excel-o-gro into the treant sapling of Oakmyst Forest.", 0, 1950068) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeToSapling") +end + +function Step2_Complete_SpokeToSapling(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I poured the nutrient on the treant sapling.") + UpdateQuestTaskGroupDescription(Quest, 2, "I sprinkled the magical nutrient, Smitelin's Excel-o-gro onto the treant sapling.") + + AddQuestStepChat(Quest, 3, "Speak to Scholar Neola.", 1, "I should inform Scholar Neola that I saved the treant sapling.", 0, 1950079) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I spoke to Scholar Neola.") + UpdateQuestTaskGroupDescription(Quest, 3, "I spoke to Scholar Neola and informed her the sapling was fed.") + + UpdateQuestDescription(Quest, "I found a magical plant food called Smitelin's Excel-o-gro and fed it to the treant sapling in Oakmyst Forest.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundNutrients(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeToSapling(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/glowmyst_juice.lua b/Lua/Quests/Oakmyst/glowmyst_juice.lua new file mode 100755 index 000000000..dc1aed098 --- /dev/null +++ b/Lua/Quests/Oakmyst/glowmyst_juice.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/Oakmyst/glowmyst_juice.lua + Script Purpose : Handles the quest, "Glowmyst Juice" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : Oakmyst Forest + Quest Giver: Toppa Doppster + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need ten glowmyst beetle fluid sacs for Toppa.", 10, 100, "Toppa would like me to collect some glowmyst juice for her friends.", 146, 1950002) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedBeetles") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Great! Thank you!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedBeetles(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the fluid sacs.") + + AddQuestStepChat(Quest, 2, "I need to give these fluid sacs to Toppa", 1, "Toppa would like me to collect some glowmyst juice for her friends.", 146, 1950007) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Toppa the glowmyst juice.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the fluid sacs.") + + UpdateQuestDescription(Quest, "I have given Toppa the glowmyst juice she wanted. She was very thankful.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedBeetles(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/judgement_of_the_dryads.lua b/Lua/Quests/Oakmyst/judgement_of_the_dryads.lua new file mode 100755 index 000000000..bdced7ba3 --- /dev/null +++ b/Lua/Quests/Oakmyst/judgement_of_the_dryads.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Oakmyst/judgement_of_the_dryads.lua + Script Purpose : Handles the quest, "Judgement of the Dryads" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : Oakmyst Forest + Quest Giver: Scholar Neola + Preceded by: Feed the Sapling (feed_the_sapling.lua) + Followed by: Destroy the Corruption (destroy_the_corruption.lua) +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Slay five Sunshimmer Sprites.", 5, 100, "I must hunt down and slay five Sunshimmer Sprites in Oakmyst Forest.", 611, 1950100, 1950050, 1950072, 1950099, 1950053, 1950069, 1950052, 1950098, 1950049, 1950071, 1950051, 1950101, 1950070) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KillSprites") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/judge_eunomia/qey_adv01_oakmyst/judgeeunomia002.mp3", "", "", 2678200574, 3115032598, Player) + AddConversationOption(conversation, "I shall do my best to lower their numbers.") + StartConversation(conversation, QuestGiver, Player, "They're corrupted fayfolke--bright with beauty but twisted and corrupted to the core. They're called the sunshimmer sprites. You must destroy them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KillSprites(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain five Sunshimmer Sprites.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain five Sunshimmer Sprites in Oakmyst Forest.") + + AddQuestStepChat(Quest, 2, "Speak to Judge Eunomia.", 1, "I must speak to Judge Eunomia in Oakmyst Forest.", 0, 1950077) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I spoke to Judge Eunomia.") + UpdateQuestTaskGroupDescription(Quest, 2, "I spoke to Judge Eunomia in Oakmyst Forest.") + + UpdateQuestDescription(Quest, "I have served Judge Eunomia and the dryads of Oakmyst by lowering the population of the Sunshimmer Sprites, a corrupted form of fairies that began to infest the forest.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KillSprites(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/natural_causes.lua b/Lua/Quests/Oakmyst/natural_causes.lua new file mode 100755 index 000000000..ffb7b4723 --- /dev/null +++ b/Lua/Quests/Oakmyst/natural_causes.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : Quests/Oakmyst/natural_causes.lua + Script Purpose : Handles the quest, "Natural Causes?" + Script Author : Scatman + Script Date : 2009.05.03 + modified by : Ememjr + modified date: 2017.04.21 + + Zone : Oakmyst Forest + Quest Giver: Lieutenant Charlin + Preceded by: None + Followed by: Cause for Investigation (cause_for_investigation.lua) +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect a poison gland from the frogs of Oakmyst Forest, commonly found near The Western Falls.", 1, 25, "Lieutenant Charlin has asked that I collect poison from some of the creatures local to Oakmyst Forest.", 160, 1950020) + AddQuestStepKill(Quest, 2, "I need to collect a poison sac from the spiders found near The Western Falls.", 1, 25, "Lieutenant Charlin has asked that I collect poison from some of the creatures local to Oakmyst Forest.", 158, 1950014,1950015) + AddQuestStepKill(Quest, 3, "I need to collect a poison sac from any of the mystail rats in Oakmyst Forest.", 1, 25, "Lieutenant Charlin has asked that I collect poison from some of the creatures local to Oakmyst Forest.", 112, 1950009,1950017,1950010,1950016) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotPoison") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_GotPoison") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_GotPoison") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin005a.mp3", "", "", 3816458075, 1868191399, Player) + AddConversationOption(conversation, "I will be.") + StartConversation(conversation, QuestGiver, Player, "Be careful out there.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotPoison(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected a frog poison gland.") + + if QuestIsComplete(Player, 207) then + MultipleStepComplete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_GotPoison(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have found a poison sac from a spider in Oakmyst Forest.") + + if QuestIsComplete(Player, 207) then + MultipleStepComplete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_GotPoison(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected a poison sac from a mystail rat in Oakmyst Forest.") + + if QuestIsComplete(Player, 207) then + MultipleStepComplete(Quest, QuestGiver, Player) + end +end + +function MultipleStepComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected some poison for Lieutenant Charlin.") + AddQuestStepChat(Quest, 4, "I need to speak with Lieutenant Charlin near the gates to Castleview Hamlet.", 1, "I need to return to Lieutenant Charlin and give him the poison that I have collected.", 0, 1950008) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have collected the poisons that Charlin requested. He will send the poisons back to town to have tests run on them.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotPoison(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_GotPoison(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_GotPoison(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Oakmyst/proof_of_poachers.lua b/Lua/Quests/Oakmyst/proof_of_poachers.lua new file mode 100755 index 000000000..c69422e18 --- /dev/null +++ b/Lua/Quests/Oakmyst/proof_of_poachers.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/Oakmyst/proof_of_poachers.lua + Script Purpose : Handles the quest, "Proof of Poachers" + Script Author : Scatman + Script Date : 2009.10.09 + + Zone : Oakmyst Forest + Quest Giver: Steward Tredo + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Slay two shady furriers", 2, 100, "Slay two shady furriers. They can be found at night lurking the Oakmyst Forest.", 2468, 1950006) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledPoachers") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/optional1/steward_tredo/qey_adv01_oakmyst/stewardtredo001.mp3", "", "", 3490306942, 2253910242, Player) + AddConversationOption(conversation, "I'll keep my eyes out at night.") + StartConversation(conversation, QuestGiver, Player, "A new defender of Oakmyst? Grand! Tracker Galera seeks proof of the poachers' existence. They say they lurk the shadows at night. Bring her proof, and I'm sure she'll be grateful.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledPoachers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected a frog poison gland.") + UpdateQuestTaskGroupDescription(Quest, 1, "I slew two shady furriers and retrieved poached pelts as proof of their invasion of the woods.") + + AddQuestStepChat(Quest, 2, "Speak to Tracker Galera.", 1, "Speak to Tracker Galera, a wood elf that walks the trails of Oakmyst Forest.", 0, 1950011) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken to Tracker Galera.") + UpdateQuestTaskGroupDescription(Quest, 2, "I spoke with Tracker Galera and gave her poached pelts as proof of the poaching activity going on in the forest.") + + UpdateQuestDescription(Quest, "I hunted down the shady furriers and retrieved poached pelts of the Oakmyst creatures. I gave the pelts to Tracker Galera as proof of the poacher's activity within the woods.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledPoachers(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/regrowth.lua b/Lua/Quests/Oakmyst/regrowth.lua new file mode 100755 index 000000000..34ac5b954 --- /dev/null +++ b/Lua/Quests/Oakmyst/regrowth.lua @@ -0,0 +1,93 @@ +--[[ + Script Name : Quests/Castleview/regrowth.lua + Script Purpose : Handles the quest, "Regrowth" + Script Author : Scatman + Script Date : 2009.10.02 + + Zone : Oakmyst Forest + Quest Giver: Adalin Emerael + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to cleanse the tree west of the gates to Castleview Hamlet.", 1, 100, "Adalin has asked for my help in cleansing a number of trees in the Oakmyst Forest.", 0) + AddQuestStep(Quest, 2, "I need to cleanse the tree east of the Western Falls, west of the first tree.", 1, 100, "Adalin has asked for my help in cleansing a number of trees in the Oakmyst Forest.", 0) + AddQuestStep(Quest, 3, "I need to cleanse the tree east of the entrance to the docks.", 1, 100, "Adalin has asked for my help in cleansing a number of trees in the Oakmyst Forest.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_Tree1") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_Tree2") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_Tree3") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- cleansing salve + if not HasItem(Player, 4386, 1) then + SummonItem(Player, 4386, 1) + end + + AddConversationOption(conversation, "I will, thank you.") + StartConversation(conversation, QuestGiver, Player, "This salve should allow you to cleanse them easily enough. May tunare be with you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_Tree1(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have cleansed the tree west of the gates to Castleview Hamlet.") + + if QuestIsComplete(Player, 294) then + TreesCleansed(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_Tree2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have cleansed the tree east of the Western Falls.") + + if QuestIsComplete(Player, 294) then + TreesCleansed(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_Tree3(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have cleansed the tree east of the entrance to the docks.") + + if QuestIsComplete(Player, 294) then + TreesCleansed(Quest, QuestGiver, Player) + end +end + +function TreesCleansed(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have cleansed the plants that Adalin has asked me to cleanse.") + + AddQuestStepChat(Quest, 4, "I need to return to Adalin and tell him of the gnoll attack.", 1, "I need to return to Adalin and tell him of the gnoll attack while cleansing.", 0, 1950005) + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_SpokeWithAdalin") +end + +function Step4_Complete_SpokeWithAdalin(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Adalin.") + + AddQuestStepChat(Quest, 5, "I need to bring the news of the gnoll presence to Lieutenant Charlin.", 1, "I need to return to Adalin and tell him of the gnoll attack while cleansing.", 0, 1950015) + AddQuestStepCompleteAction(Quest, 5, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have spoken with Lieutenant Charlin.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have informed Lieutenant Charlin of the gnoll presence in Oakmyst Forest.") + UpdateQuestDescription(Quest, "In helping Adalin Emerael cleanse some of the trees in Oakmyst Forest I was attacked by a gnoll. With the gnoll's paw as proof Lieutenant Charlin has agreed that a possible gnoll threat needs to be looked in to.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_Tree1(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_Tree2(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_Tree3(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_SpokeWithAdalin(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/reinforcements.lua b/Lua/Quests/Oakmyst/reinforcements.lua new file mode 100755 index 000000000..a5b326b7a --- /dev/null +++ b/Lua/Quests/Oakmyst/reinforcements.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/Oakmyst/reinforcements.lua + Script Purpose : Handles the quest, "Reinforcements" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : Oakmyst Forest + Quest Giver: Lieutenant Charlin + Preceded by: Clean Up (clean_up.lua) + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must report to Consul Bree in The Caves.", 1, "I must report to Consul Bree in The Caves to help in the defense of Qeynos.", 0, 1970010) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin027a.mp3", "", "salute", 1196044113, 40498286, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "I guess that's why they asked for you. Go, " .. GetName(Player) .. ", and be well. Thank you for all your help.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Consul Bree.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Consul Bree.") + + UpdateQuestDescription(Quest, "I have spoken with Consul Bree.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/runed_acorn.lua b/Lua/Quests/Oakmyst/runed_acorn.lua new file mode 100755 index 000000000..2beab53c9 --- /dev/null +++ b/Lua/Quests/Oakmyst/runed_acorn.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : RunedAcorn.lua + Script Purpose : Handles the quest, "Runed Acorn" + Script Author : ememjr + Script Date : 5/9/2017 + Script Notes : + + Zone : Oakmyst Forest + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill three corrupted dryads.", 3, 100, "Corrupted dryads often hide in dark, dank places such as water-filled caverns.", 611, 1950013, 1950070) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have killed three corrupted dryads.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found the corrupted dryads in a secret cave by the waterfall in Oakmyst Forest.") + + UpdateQuestDescription(Quest, "I have killed three corrupted dryads and released their souls to be reborn in the renewal of spring. I am still not sure, however, as to how they came to be corrupted.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/Oakmyst/that_cheating_gnome.lua b/Lua/Quests/Oakmyst/that_cheating_gnome.lua new file mode 100755 index 000000000..fed15305e --- /dev/null +++ b/Lua/Quests/Oakmyst/that_cheating_gnome.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/Oakmyst/that_cheating_gnome.lua + Script Purpose : Handles the quest, "That Cheating Gnome!" + Script Author : Scatman + Script Date : 2009.05.03 + + Zone : Oakmyst Forest + Quest Giver: Jorn Sorefoot + Preceded by: None + Followed by: +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to recover Jorn's money from Fluwkowir Haggleton. Jorn last saw Fluwkowir heading west toward the docks.", 1, 100, ".", 399, 1950094) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotJornsPack") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn005a.mp3", "", "", 1536076306, 896415484, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Thanks for your help. I'm just about worn out from all this looking.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotJornsPack(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have recovered Jorn's money.") + AddQuestStepChat(Quest, 2, "I need to return the money to Jorn.", 1, ".", 2165, 1950022) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithJorn") +end + +function Step2_Complete_SpokeWithJorn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have recovered Jorn's money.") + AddQuestStepChat(Quest, 3, "I need to give Fluwkowir's book to Lieutenant Charlin.", 1, ".", 0, 1950015) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + + +function QuestComplete(Quest, QuestGiver, Player) + -- Flukowir's Satchel + RemoveItem(Player, 6389) + + UpdateQuestDescription(Quest, "I found Fluwkowir. After confronting him he attacked me. On him he had a small satchel, in that satchel I found Jorn's money but also some strange notes written in Lucanic.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotJornsPack(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithJorn(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Oakmyst/the_patchwork_tapestry.lua b/Lua/Quests/Oakmyst/the_patchwork_tapestry.lua new file mode 100755 index 000000000..fbf788af1 --- /dev/null +++ b/Lua/Quests/Oakmyst/the_patchwork_tapestry.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : Quests/Oakmyst/the_patchwork_tapestry.lua + Script Purpose : Handles the quest, "The Patchwork Tapestry" + Script Author : Scatman + Script Date : 2009.10.08 + + Zone : Unknown + Quest Giver: None + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + -- Fabric Patch + AddQuestStepObtainItem(Quest, 1, "Hunt fairies in Norrath to gain fay fabric patches to study.", 7, 100, "I must obtain more patches of fay fabric to piece together the foundation of the fairy language. I must get the fabric patches from fairies of Norrath.", 417, 6079) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have a studied a fay fabric patch.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have learned Fayfolk, language of the fairies.") + + -- Learn language (fayfolk) + + UpdateQuestDescription(Quest, "I pieced together patches of fay fabric to discover the foundation of two languages, Norrathian and Fay. I have used the fabric patches to learn the language of the fairies, Fayfolk.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/OutpostOverlord/WelcometoNorrath.lua b/Lua/Quests/OutpostOverlord/WelcometoNorrath.lua new file mode 100755 index 000000000..f0a13b862 --- /dev/null +++ b/Lua/Quests/OutpostOverlord/WelcometoNorrath.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : Quests/OutpostOverlord/WelcometoNorrath.lua + Script Author : Cynnar + Script Date : 2018.09.22 01:09:08 + Script Purpose : Handles the quest, "Welcome to Norrath" + Script Notes : Reward Tayil's Dark Inspiration Item is missing in our database. + + Zone : OutpostOverlord + Quest Giver: Offered upon first arriving on the island (Proximity) + Preceded by: None + Followed by: The Art of Combat +--]] + +function Init(Quest) + -- Tayil's Dark Inspiration + + AddQuestStepChat(Quest, 1, "Speak to Tayil N'Velex, outside the entrance of Sythor's Spire in the center of the outpost.", 1, "I should speak with Tayil N'Velex. She is at the entrance to Sythor's Spire in the center of the outpost.", 11, 2780038) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I spoke with Tayil N'Velex.") + UpdateQuestTaskGroupDescription(Quest, 1, "I spoke with Tayil N'Velex.") + + UpdateQuestDescription(Quest, "I have spoken to Tayil N'Velex.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/OutpostOverlord/disruption_for_distraction.lua b/Lua/Quests/OutpostOverlord/disruption_for_distraction.lua new file mode 100755 index 000000000..3f1dfd985 --- /dev/null +++ b/Lua/Quests/OutpostOverlord/disruption_for_distraction.lua @@ -0,0 +1,130 @@ +--[[ + Script Name: Quests/OutpostOverlord/disruption_for_distraction.lua + Script Purpose: Handles the quest, "Disruption for Distraction" + Script Author: vo1d + Script Date: 10/4/2019 + + Zone: Outpost of the Overlord + Quest Giver: Tayil N'Velex + Preceded by: Preventative Maintenance (preventative_maintenance.lua) + Followed by: The Final Assault (the_final_assault.lua) +--]] + +local CoercerZlith = 2780072 +local TunarianHorseSentry = 2780070 +local TunarianMiner = 2780052 +local LapisLazuliShards = 8715 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Seek out Coercer Zlith at the camp in west Seaside Glade.", 1, + "I need to speak with Coercer Zlith at the camp in west Seaside Glade. " .. + "He will have details regarding the Tunarian mine.", 11, CoercerZlith) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return.") + + StartConversation(conversation, QuestGiver, Player, + "Who better to teach you the fine arts of distraction than a coercer? " .. + "Return to the camp in Seaside Glade where Coercer Zlith will fill you in on the details of our plan. " .. + "Report back to me after you have succeeded against the Tunarians.") + end + end +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I spoke with Coercer Zlith.") + UpdateQuestTaskGroupDescription(Quest, 1, "I spoke with Coercer Zlith at the camp in west Seaside Glade.") + + AddQuestStepKill(Quest, 2, "Kill Tunarian miners at the mine in the eastern Wilderwood.", 3, 100, + "I need to head to the Tunarian mine and cause the disruption. The mine is in the eastern Wilderwood.", + 611, TunarianMiner) + + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I killed enough Tunarian miners.") + AddQuestStepHarvest(Quest, 3, "Retrieve glimmering ore samples near the mine.", 2, 100, + "I need to head to the Tunarian mine and cause the disruption. The mine is in the eastern Wilderwood.", + 1118, LapisLazuliShards) + + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I retrieved enough ore samples.") + UpdateQuestTaskGroupDescription(Quest, 2, + "I killed the miners and retrieved the ore samples that Coercer Zlith requested.") + + AddQuestStepChat(Quest, 4, "Return to Coercer Zlith.", 1, + "I've caused some havoc at the mine and should return to Coercer Zlith now.", 11, CoercerZlith) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I returned to Coercer Zlith.") + UpdateQuestTaskGroupDescription(Quest, 3, "I returned and spoke to Coercer Zlith.") + + AddQuestStepKill(Quest, 5, + "Kill Tunarian horse sentries in the Wilderwood.", 2, 100, + "To cause a bigger distraction and take my revenge for their meddling, " .. + "I should head back into the Wilderwood and slay some of the Tunarian horse sentries.", + 2595, TunarianHorseSentry) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I killed enough horse sentries.") + UpdateQuestTaskGroupDescription(Quest, 4, + "I took out the horse sentries in the Wilderwood. This should really stir up the hornet's nest.") + + AddQuestStepChat(Quest, 6, "Return to Coercer Zlith.", 1, + "I've killed the horse sentries and should return to Coercer Zlith.", 11, CoercerZlith) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, + -- parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I returned to Coercer Zlith.") + UpdateQuestTaskGroupDescription(Quest, 5, "I returned to Coercer Zlith.") + + UpdateQuestDescription(Quest, + "I talked with Coercer Zlith at the camp in Seaside Glade and was given details on how to cause the " .. + "distraction at the Tunarian Mine. I attacked the mine and retrieved some ore samples for Tayil, " .. + "and then took out some horse sentries for good measure. " .. + "Zlith said that the distraction worked and forces were being sent to check on my havoc. " .. + "We should now be ready for our final assault.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/OutpostOverlord/preventative_maintenance.lua b/Lua/Quests/OutpostOverlord/preventative_maintenance.lua new file mode 100755 index 000000000..404a4b7e2 --- /dev/null +++ b/Lua/Quests/OutpostOverlord/preventative_maintenance.lua @@ -0,0 +1,108 @@ +--[[ + Script Name : Quests/OutpostOverlord/preventative_maintenance.lua + Script Purpose : Handles the quest, "Preventative Maintenance" + Script Author : Scatman (Updted by Cynnar 2018.09.22 02:25:24) + Script Date : 2008.09.07 + + Zone : Outpost of the Overlord + Quest Giver: Tayil N'Velex + Preceded by: Seaside Stew (seaside_stew.lua) + Followed by: Disruption for Distraction (disruption_for_distraction.lua) + Issues: Issue with quest helper after killing wilderbears + Issues: after killing the final wilderbear it does not update the quest helper +--]] + +local AssassinVamir = 2780073 +local HawkBait = 8060 + +function Init(Quest) + -- A Note from Tayil + -- Freeportian Cloth Hood + -- Freeportian Leather Cap + -- Freeportian Plated Coif + -- Freeportian Studded Helm + + AddQuestStepChat(Quest, 1, "Talk to Assassin Vamir at the camp in western Seaside Glade.", 1, "I need to find Assassin Vamir in western Seaside Glade. He should have a mission for me.", 0, AssassinVamir) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToVamir") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "Assassin Vamir will explain the details. Good luck.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToVamir(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I reported to Assassin Vamir and was given my first task.") + UpdateQuestTaskGroupDescription(Quest, 1, "I reported to Assassin Vamir and was given my first task.") + + AddQuestStepKill(Quest, 2, "Kill wilderbears. They can be found north in the Wilderwood, or west in Cliffdiver Canyon.", 4, 100, "To prevent the Tunarians from recruiting more animals once the attack has begun, I need to take out the animals they use. Bears are up first on the list. I can find bears north up the slope in the Wilderwood, or west in Cliffdiver Canyon.", 611, 2780071, 2780069, 2780080) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedBears") +end + +function step2_complete_killedBears(Quest, QuestGiver, Player) + --UpdateQuestStepDescription(Quest, 2, "I killed enough bears and I should return to Assassin Vamir at the camp in Seaside Glade.") + UpdateQuestTaskGroupDescription(Quest, 2, "I killed enough bears to hopefully thwart any training attempts.") + + AddQuestStepChat(Quest, 3, "Return to Assassin Vamir.", 1, "I killed enough bears and I should return to Assassin Vamir at the camp in Seaside Glade.", 0, AssassinVamir) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToVamir") +end + +function step3_complete_talkedToVamir(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I returned to Assassin Vamir.") + UpdateQuestTaskGroupDescription(Quest, 3, "I returned to Assassin Vamir.") + --while HasItem(Player, HawkBait) < 5 then + SummonItem(Player, HawkBait) + SummonItem(Player, HawkBait) + SummonItem(Player, HawkBait) + SummonItem(Player, HawkBait) + SummonItem(Player, HawkBait) + + + -- temporary + --SpawnMob(GetZone(Player), 2780144, false, GetX(Player), GetY(Player), GetZ(Player)) + --SpawnMob(GetZone(Player), 2780144, false, GetX(Player) + 5, GetY(Player), GetZ(Player) + 5) + --SpawnMob(GetZone(Player), 2780144, false, GetX(Player) + 10, GetY(Player), GetZ(Player) + 10) + AddQuestStepKill(Quest, 4, "Lure down hawks to kill in Cliffdiver Canyon to the west. I must examine and then release a mole rat in my inventory as bait when I'm in position under a hawk.", 3, 100, "I now need to kill hawks. Vamir gave me some mole rats to use as bait to lure down the hawks that perch high above the cliffs. When I am in position, I need to examine the mole rats in my inventory and then release one. Hopefully it works to lure down the hawks so I can take them out.", 611, 2780077, 2780109) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_killedHawks") +end + +function step4_complete_killedHawks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I used the mole rats to lure down some hawks and take them out.") + UpdateQuestTaskGroupDescription(Quest, 4, "I used the mole rats to lure down some hawks and take them out.") + + AddQuestStepChat(Quest, 5, "Return to Assassin Vamir.", 1, "I've killed enough hawks and should now return to Assassin Vamir.", 0, AssassinVamir) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_talkedToVamir") +end + +function step5_complete_talkedToVamir(Quest, QuestGiver, Player) + -- GIVE ANOTHER QUEST REWARD ITEM, , WHICH GIVES THE NEXT QUEST IN THIS SERIES + UpdateQuestDescription(Quest, "I reported to Assassin Vamir in Seaside Glade. It turns out the Tunarians on the island are masters of the animals here. To prevent them from gaining extra recruits when the attack happens, I helped to thin out the bears and hawks that they might use. I returned to Tayil after my missions with Vamir were complete and was rewarded.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToVamir(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedBears(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToVamir(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_killedHawks(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_talkedToVamir(Quest, QuestGiver, Player) + end +end + +function Deleted(Quest, QuestGiver, Player) +end diff --git a/Lua/Quests/OutpostOverlord/the_art_of_combat_evil.lua b/Lua/Quests/OutpostOverlord/the_art_of_combat_evil.lua new file mode 100755 index 000000000..9baed4be9 --- /dev/null +++ b/Lua/Quests/OutpostOverlord/the_art_of_combat_evil.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/OutpostOverlord/the_art_of_combat_evil.lua + Script Purpose : Handles the quest, "The Art of Combat" + Script Author : Scatman (Updated by Cynnar 2018.09.16 09:09:47) + Script Date : 2008.09.04 + + Zone : Outpost of the Overlord + Quest Giver: Tayil N'Velex + Preceded by: None + Followed by: Seaside Stew (seaside_stew.lua) +--]] + +function Init(Quest) + -- Freeportian Cloth Mitts + -- Freeportian Leather Gloves + -- Freeportian Studded Gloves + -- Freeportian Plated Gauntlets + + AddQuestStepChat(Quest, 1, "I need to speak with Trainer Darg Frostwind at Combat Clearing, northwest of Tayil N'Velex.", 1, "I need to speak with Darg Frostwind. He will train me in the ways of combat.", 0, 2780045) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToDarg") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex035.mp3", "", "", 613247670, 1228791827, Player) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, QuestGiver, Player, "In case you forgot, I've written down his name and location in your quest journal.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToDarg(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Darg Frostwind.") + + AddQuestStepKill(Quest, 2, "I need to defeat a sparring partner in combat. There are several sparring partners just north of Trainer Darg Frostwind.", 1, 100, "I need to speak with Darg Frostwind. He will train me in the ways of combat.", 611, 2780002,2780000,2780001) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedSparringPartner") +end + +function step2_complete_killedSparringPartner(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated a sparring partner in combat.") + + AddQuestStepChat(Quest, 3, "I need to speak with Trainer Darg Frostwind again.", 1, "I need to speak with Darg Frostwind. He will train me in the ways of combat.", 0, 2780045) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToDarg") +end + +function step3_complete_talkedToDarg(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken to Sergeant Darg Frostwind.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have defeated a sparring partner in combat.") + + AddQuestStepChat(Quest, 4, "I need to return to Tayil N'Velex.", 1, "Now that I have completed my combat training I should speak with Tayil N'Velex.", 0, 2780038) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_talkToTayil") +end + +function step4_complete_talkToTayil(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have learned some of the basics of combat from Trainer Darg Frostwind at the Outpost of the Overlord. Hopefully this knowledge helps me serve Freeport and uncover the trouble here.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToDarg(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedSparringPartner(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToDarg(Quest, QuestGiver, Player) + end +end + +function Deleted(Quest, QuestGiver, Player) +end diff --git a/Lua/Quests/OutpostOverlord/the_final_assault.lua b/Lua/Quests/OutpostOverlord/the_final_assault.lua new file mode 100755 index 000000000..e53647967 --- /dev/null +++ b/Lua/Quests/OutpostOverlord/the_final_assault.lua @@ -0,0 +1,111 @@ +--[[ + Script Name : Quests/OutpostOverlord/the_final_assault.lua + Script Purpose : Handles the quest, "The Final Assault" + Script Author : Scatman (Updated by Cynnar 2018.09.24 12:09:08) + Script Date : 2008.12.29 + + Zone : Outpost of the Overlord + Quest Giver : Tayil N'Velex + Preceded by : Disruption for Distraction (disruption_for_distraction.lua) + Followed by : None +--]] + +local CaptainTyreth = 2780099 +local KeyOfTheElders = 8588 +local TayilNVelex = 3480005 + +function Init(Quest) + -- Freeportian Bard's Dagger + -- Freeportian Brawler's Wraps + -- Freeportian Cleric's Hammer + -- Freeportian Crusader's Greatsword + -- Freeportian Druid's Scimitar + -- Freeportian Enchanter's Wand + -- Freeportian Predator's Dagger + -- Freeportian Rogue's Rapier + -- Freeportian Shaman's Spear + -- Freeportian Sorcerer's Staff + -- Freeportian Summoner's Dagger + -- Freeportian Warrior's Axe + + + AddQuestStepChat(Quest, 1, "Find Captain Tyreth in the Valley of Discipline, north of Cliffdiver Canyon. The camp is setup in an alcove on the eastern side of the valley near an archway.", 1, "I need to speak with Captain Tyreth in the Valley of Discipline. The forward camp is north past Cliffdiver Canyon and then east through the valley.", 0, CaptainTyreth) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToCaptain") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "He will not be disappointed.") + StartConversation(conversation, QuestGiver, Player, "The Overlord is counting on you.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToCaptain(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found and spoke with Captain Tyreth.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found and spoke with Captain Tyreth.") + + AddQuestStepKill(Quest, 2, "Set fire to Tunarian tents with the torch Tyreth gave me. There are tents in the Valley of Discipline and farther northeast through the archway.", 2, 100, "The attack has begun. I am to use a torch Captain Tyreth gave me to burn down a couple of the Tunarian tents in the Valley of Discipline and also to the end near Fisher Falls. If I lose the torch, I should return to Tyreth for another.", 611, 2780220, 2780216) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_burntTents") +end + +function step2_complete_burntTents(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I burned down the Tunarian tents and should return to Captain Tyreth.") + UpdateQuestTaskGroupDescription(Quest, 2, "I burned down the Tunarian tents and should return to Captain Tyreth.") + + AddQuestStepChat(Quest, 3, "Return to Captain Tyreth and tell him you burned the tents.", 1, "The tents are burning. I should return to Captain Tyreth.", 0, CaptainTyreth) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToCaptain") +end + +function step3_complete_talkedToCaptain(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I returned and spoke to Captain Tyreth.") + UpdateQuestTaskGroupDescription(Quest, 3, "I returned and spoke to Captain Tyreth.") + + AddQuestStepKill(Quest, 4, "Kill Overseer Adrium in his tree house near Fisher Falls to the east of the Valley of Discipline.", 1, 100, "The leader of the Tunarians on the island resides in a tree house to the east of the Valley of Discipline. I am to find Overseer Adrium and kill the Qeynosian before he has a chance to escape.", 611, 2780166) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_killedOverseer") +end + +function step4_complete_killedOverseer(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I found Overseer Adrium in the tree house and killed him.") + UpdateQuestTaskGroupDescription(Quest, 4, "I found Overseer Adrium in the tree house and killed him.") + + --key of the elders + SummonItem(Spawn, KeyOfTheElders) + AddQuestStepChat(Quest, 5, "I should return to Captain Tyreth and tell him that I have slain the Tunarian leader.", 1, "I need to report back to Captain Tyreth and tell him that I have slain the Tunarian leader.", 0, CaptainTyreth) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_talkedToCaptain") +end + +function step5_complete_talkedToCaptain(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I returned to Captain Tyreth.") + UpdateQuestTaskGroupDescription(Quest, 5, "I returned to Captain Tyreth.") + + AddQuestStepChat(Quest, 6, "Head into the cave north of Adrium's tree house and take out the Tunarian Circle of Elders.", 1, "A larger plot has emerged. Adrium was not the leader of the Tunarians. I am to use the key I found to enter a cave to the north of Adrium's tree house and confront the true leaders, the Circle of Elders. The precious gems from the Tunarian mine have also been stockpiled there, which is of interest to Tayil.", 0, TayilNVelex) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I burned down the Tunarian tents and killed what I thought to be the Tunarian leader, Overseer Adrium. It turned out that Tayil had known all along that there was a Circle of Elders and a horde of treasure. I was sent inside the Cave of Elders and destroyed them, with a little help from Tyil. I was given my choice from the treasure and have finished my duties helping Tayil N'Velex to take the island.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToCaptain(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_burntTents(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToCaptain(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_killedOverseer(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_talkedToCaptain(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/PeatBog/a_final_foe.lua b/Lua/Quests/PeatBog/a_final_foe.lua new file mode 100755 index 000000000..eb44cfdb7 --- /dev/null +++ b/Lua/Quests/PeatBog/a_final_foe.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/PeatBog/a_final_foe.lua + Script Purpose : Handles the quest, "A Final Foe" + Script Author : Scatman + Script Date : 2009.05.10 + + Zone : The Peat Bog + Quest Giver: Lieutenant Dawson + Preceded by: On the Move (on_the_move.lua) + Followed by: Reinforcements (reinforcements.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to kill Dentfang.", 1, 100, "I need to kill Dentfang for Lieutenant Dawson.", 0, 1980127) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledDentFang") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson019a.mp3", "", "", 2166332707, 347747136, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "He may have bodyguards, but I'm sure you can handle them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledDentFang(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed Dentfang.") + + AddQuestStepChat(Quest, 2, "I need to return to Lieutenant Dawson.", 1, "I need to kill Dentfang for Lieutenant Dawson.", 0, 1980022) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain Dentfang. Lieutenant Dawson was very pleased with my work.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledDentFang(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/PeatBog/ambushed.lua b/Lua/Quests/PeatBog/ambushed.lua new file mode 100755 index 000000000..c1c3d1dd9 --- /dev/null +++ b/Lua/Quests/PeatBog/ambushed.lua @@ -0,0 +1,93 @@ +--[[ + Script Name : Quests/PeatBog/ambushed.lua + Script Purpose : Handles the quest, "Ambushed" + Script Author : Scatman + Script Date : 2009.05.10 + + Zone : The Peat Bog + Quest Giver: Lieutenant Dawson + Preceded by: Mysterious Machine (mysterious_machine.lua) + Followed by: On the Move (on_the_move.lua) +--]] + + +function Init(Quest) + + + AddQuestStep(Quest, 1, "I need to investigate the ambush site west of Two Logs Pond, which is south of the sewer grate.", 1, 100, "Lieutenant Dawson has asked me to investigate three ambush sites.", 0) + AddQuestStep(Quest, 2, "I need to investigate the ambush site in the north eastern corner of the area east of Two Logs Pond.", 1, 100, "Lieutenant Dawson has asked me to investigate three ambush sites.", 0) + AddQuestStep(Quest, 3, "I need to investigate the ambush site in the south end of the area east of Two Logs Pond.", 1, 100, "Lieutenant Dawson has asked me to investigate three ambush sites.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_Site1") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_Site2") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_Site3") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson011a.mp3", "", "", 3239354610, 1196418998, Player) + AddConversationOption(conversation, "You're welcome, and thank you.") + StartConversation(conversation, QuestGiver, Player, "Thank you for your help, be safe.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_Site1(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have investigated the ambush site near Two Logs Pond.") + + if QuestIsComplete(Player, 217) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_Site2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have investigated the ambush site in the area east of Two Logs Pond.") + + if QuestIsComplete(Player, 217) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_Site3(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have investigated the ambush site in the southern end of the area east of Two Logs Pond.") + + if QuestIsComplete(Player, 217) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have investigated all three ambush sites.") + + -- a gnoll paw + if not HasItem(Player, 1711) then + SummonItem(Player, 1711) + SendMessage(Player, "You receieve [a gnoll paw].", "yellow") + end + + AddQuestStepChat(Quest, 4, "I need to return to Lieutenant Dawson.", 1, "I need to tell Lieutenant Dawson of what I found at one of the ambush sites.", 0, 1980022) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- a gnoll paw + while HasItem(Player, 1711) do + RemoveItem(Player, 1711) + end + + UpdateQuestDescription(Quest, "I found evidence of gnolls at one of the ambush sites.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_Site1(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_Site2(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_Site3(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/PeatBog/muck_slime.lua b/Lua/Quests/PeatBog/muck_slime.lua new file mode 100755 index 000000000..e7daf4276 --- /dev/null +++ b/Lua/Quests/PeatBog/muck_slime.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/PeatBog/muck_slime.lua + Script Purpose : Handles the quest, "Muck Slim" + Script Author : Scatman + Script Date : 2009.05.10 + + Zone : The Peat Bog + Quest Giver: Ferius Mentus + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to collect some muck toad sludge.", 10, 100, "Ferius would like me to collect some muck toad sludge.", 343, 1980007) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledFrogs") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "I should hope so; it isn't hard work. Come back quick!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledFrogs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected some muck toad sludge.") + + AddQuestStepChat(Quest, 2, "I need to return to Ferius.", 1, "Ferius would like me to collect some muck toad sludge.", 355, 1980023) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Ferius his frogs. He was very pleased.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledFrogs(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/PeatBog/mysterious_machine.lua b/Lua/Quests/PeatBog/mysterious_machine.lua new file mode 100755 index 000000000..e8b14b56d --- /dev/null +++ b/Lua/Quests/PeatBog/mysterious_machine.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : Quests/PeatBog/mysterious_machine.lua + Script Purpose : Handles the quest, \\\"Mysterious Machine\\\" + Script Author : Scatman + Script Date : 2009.05.10 + + Zone : The Peat Bog + Quest Giver: Lieutenant Dawson + Preceded by: Reclaiming the Bog (reclaiming_the_bog.lua) + Followed by: Ambushed (ambushed.lua) +--]] + + +function Init(Quest) + + + AddQuestStep(Quest, 1, "I need to find the machine in the water in the Peat Bog and attach the arcanic beacon.", 1, 100, "Lieutenant Dawson has asked that I find a machine that is supposedly in the water in the Peat Bog.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_PlacedBeacon") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + -- arcanic beacon + if not HasItem(Player, 3476) then + SummonItem(Player, 3476) + SendMessage(Player, "You receive 1 arcanic beacon.", "yellow") + SendPopUpMessage(Player, "You receive 1 arcanic beacon.", 255, 255, 255) + end + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson007a.mp3", "", "", 3084758614, 2492710708, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "That should help the research teams find it when they do get the time. Thank you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_PlacedBeacon(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have attached the arcanic beacon.") + + AddQuestStepChat(Quest, 2, "I need to return to Lieutenant Dawson near the gates to Nettleville hovel.", 1, "Lieutenant Dawson has asked that I find a machine that is supposedly in the water in the Peat Bog.", 0, 1980022) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- arcanic beacon + while HasItem(Player, 3476) do + RemoveItem(Player, 3476) + end + UpdateQuestDescription(Quest, "I have found the machine that Lieutenant Dawson heard about. While I was hooking the beacon up I was attacked by a gnoll. After killing the gnoll I was able to attach the beacon.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_PlacedBeacon(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/PeatBog/on_the_move.lua b/Lua/Quests/PeatBog/on_the_move.lua new file mode 100755 index 000000000..93329c878 --- /dev/null +++ b/Lua/Quests/PeatBog/on_the_move.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : Quests/PeatBog/on_the_move.lua + Script Purpose : Handles the quest, "On the Move" + Script Author : Scatman + Script Date : 2009.05.10 + + Zone : The Peat Bog + Quest Giver: Lieutenant Dawson + Preceded by: Ambushed (ambushed.lua) + Followed by: A Final Foe (a_final_foe.lua) +--]] + + +function Init(Quest) + + + AddQuestStep(Quest, 1, "I need to destroy the first machine.", 1, 100, "I need to kill the gnolls that are attempting to bring the three machines out of the Peat Bog.", 0) + AddQuestStep(Quest, 2, "I need to destroy the second machine.", 1, 100, "I need to kill the gnolls that are attempting to bring the three machines out of the Peat Bog.", 0) + AddQuestStep(Quest, 3, "I need to destroy the third machine.", 1, 100, "I need to kill the gnolls that are attempting to bring the three machines out of the Peat Bog.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_Machine1") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_Machine2") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_Machine3") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson011a.mp3", "", "", 3239354610, 1196418998, Player) + AddConversationOption(conversation, "You're welcome, and thank you.") + StartConversation(conversation, QuestGiver, Player, "Thank you for your help, be safe.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_Machine1(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "The first machine has been destroyed.") + + if QuestIsComplete(Player, 218) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_Machine2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "The second machine has been destroyed.") + + if QuestIsComplete(Player, 218) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_Machine3(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "The third machine has been destroyed.") + + if QuestIsComplete(Player, 218) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the gnolls moving the machines.") + + AddQuestStepChat(Quest, 4, "I need to return to Lieutenant Dawson.", 1, "Now that the gnolls guarding the machines have been killed I should return to Lieutenant Dawson.", 0, 1980022) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have killed the gnolls were trying to get the machines out of the Peat Bog.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_Machine1(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_Machine2(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_Machine3(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/PeatBog/reclaiming_the_bog.lua b/Lua/Quests/PeatBog/reclaiming_the_bog.lua new file mode 100755 index 000000000..b1213fe9a --- /dev/null +++ b/Lua/Quests/PeatBog/reclaiming_the_bog.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : Quests/PeatBog/reclaiming_the_bog.lua + Script Purpose : Handles the quest, "Reclaiming the Bog" + Script Author : Scatman + Script Date : 2009.05.10 + + Zone : The Peat Bog + Quest Giver: Lieutenant Dawson + Preceded by: None + Followed by: Mysterious Machine (mysterious_machine.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to kill six fungus men.", 6, 100, "Lieutenant Dawson has asked that I kill some ravenous bog slugs and fungus men for her.", 611, 1980078, 1980011, 1980079, 1980033, 1980034) + AddQuestStepKill(Quest, 2, "I need to kill four ravenous bog slugs.", 4, 100, "Lieutenant Dawson has asked that I kill some ravenous bog slugs and fungus men for her.", 611, 1980089, 1980086) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledFungusMen") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledSlugs") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson004a.mp3", "", "", 2845036711, 1744152200, Player) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "Once you're done with that return to me.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledFungusMen(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain six fungus men.") + + if QuestIsComplete(Player, 215) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledSlugs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed four ravenous bog slugs.") + + if QuestIsComplete(Player, 215) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain the ravenous bog slugs and the fungus men.") + + AddQuestStepChat(Quest, 3, "I need to return to Lieutenant Dawson near the gates to Nettleville hovel.", 1, "I need to return to Lieutenant Dawson now that I have completed her task.", 0, 1980022) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have completed the small task for Lieutenant Dawson.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledFungusMen(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledSlugs(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/PeatBog/reinforcements.lua b/Lua/Quests/PeatBog/reinforcements.lua new file mode 100755 index 000000000..f6ba40a56 --- /dev/null +++ b/Lua/Quests/PeatBog/reinforcements.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Quests/PeatBog/reinforcements.lua + Script Purpose : Handles the quest, "Reinforcements" + Script Author : Scatman + Script Date : 2009.05.11 + + Zone : The Peat Bog + Quest Giver: Lieutenant Dawson + Preceded by: A Final Foe (a_final_foe.lua) + Followed by: None +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I must report to Consul Bree in The Caves.", 1, "I must report to Consul Bree in The Caves to help in the defense of Qeynos.", 0, 1970010) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do this.") + StartConversation(conversation, QuestGiver, Player, "I know you can. Qeynos is counting on you, " .. GetName(Player) .. ". Make us proud!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have spoken with Consul Bree.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/QueensColny/welcome_to_norrath.lua b/Lua/Quests/QueensColny/welcome_to_norrath.lua new file mode 100755 index 000000000..d07b16012 --- /dev/null +++ b/Lua/Quests/QueensColny/welcome_to_norrath.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Quests/QueensColny/welcome_to_norrath.lua + Script Author : Zcoretri + Script Date : 2015.08.03 + Script Purpose : Handles the quest, "Welcome to Norrath" + + Zone : The Queens Colony + Quest Giver: Proximity + Preceded by: None + Followed by: The Art of Combat +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Murrar Shar. He is at the entrance to Myrrin's Tower in the center of the Colony.", 1, "Speak to Murrar Shar, outside the entrance of Myrrin's Tower in the center of the colony.", 0, 2530076) + AddQuestStepCompleteAction(Quest, 1, "step1_complete") +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I spoke with Murrar Shar.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/QueensColony/LasydiasCall.lua b/Lua/Quests/QueensColony/LasydiasCall.lua new file mode 100755 index 000000000..6751520ea --- /dev/null +++ b/Lua/Quests/QueensColony/LasydiasCall.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : LasydiasCall.lua + Script Purpose : Handles the quest, "Lasydia's Call" + Script Author : QuestParser (Replace this) + Script Date : 9/12/2016 + Script Notes : + + Zone : Queen's Colony + Quest Giver : statue_widget (2530133) + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "It is Lasydia's desire that I slay 5 razortooth sharks.", 5, 100, "I feel an overwhelming urge to end the threat that these razortooth sharks present to the refuges and inhabitants of this isle.", 611, 2530014) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I killed 5 razortooth sharks.") + UpdateQuestTaskGroupDescription(Quest, 1, "Lasydia has comforted me and the feeling to slay sharks left me after I had slain a number of them.") + + UpdateQuestDescription(Quest, "A mysterious sash floated to me out of the water after my desire to slay the vicious sharks left me. I can only guess if it was by accident or by design that the sash found me.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + local con = CreateConversation() + + AddConversationOption(con, "[exit]", "CloseConversation") + StartDialogConversation(con, 1, QuestGiver, Player, "\"Lasydia - as divinely merciful as she is beautiful. Deliverer of the drowned and caretaker of the castaway.\" A feeling of purpose surrounds and penetrates you. You feel a sudden desire to make the waters around you a safer place.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/QueensColony/a_diplomatic_mission.lua b/Lua/Quests/QueensColony/a_diplomatic_mission.lua new file mode 100755 index 000000000..f2d7095f8 --- /dev/null +++ b/Lua/Quests/QueensColony/a_diplomatic_mission.lua @@ -0,0 +1,136 @@ +--[[ + Script Name : Quests/QueensColony/a_diplomatic_mission.lua + Script Author : Zcoretri + Script Date : 2015.09.05 + Script Purpose : Handles the quest "A Diplomatic Mission" + + Zone : Queen's Colony + Quest Giver: a Sapswill soothsayer + Preceded by: Doggone It! (doggone_it.lua) + Followed by: None +--]] + +local ADiplomaticMission = 166 + +function Init(Quest) + -- Diplomat's Badge + + AddQuestStepChat(Quest, 1, "Greet a musician.", 1, "The Sapswill soothsayer said I need to get the members of their community. Guess it's all part of the diplomatic stuff.", 0, 2530039) + AddQuestStepChat(Quest, 2, "Greet an incapacitated Sapswill.", 1, "The Sapswill soothsayer said I need to get the members of their community. Guess it's all part of the diplomatic stuff.", 0, 2530039) + AddQuestStepChat(Quest, 3, "Greet a seated Sapswill.", 1, "The Sapswill soothsayer said I need to get the members of their community. Guess it's all part of the diplomatic stuff.", 0, 2530036) + AddQuestStepChat(Quest, 4, "Greet an active Sapswill.", 1, "The Sapswill soothsayer said I need to get the members of their community. Guess it's all part of the diplomatic stuff.", 0, 2530039) + AddQuestStepChat(Quest, 5, "Greet a happy Sapswill.", 1, "The Sapswill soothsayer said I need to get the members of their community. Guess it's all part of the diplomatic stuff.", 0, 2530039) + AddQuestStepChat(Quest, 6, "Greet Durg.", 1, "The Sapswill soothsayer said I need to get the members of their community. Guess it's all part of the diplomatic stuff.", 0, 2530035) + AddQuestStepChat(Quest, 7, "Greet Gonk.", 1, "The Sapswill soothsayer said I need to get the members of their community. Guess it's all part of the diplomatic stuff.", 0, 2530034) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_greetedMusician") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_greetedIncapacitated") + AddQuestStepCompleteAction(Quest, 3, "step3_complete_greetedSeated") + AddQuestStepCompleteAction(Quest, 4, "step4_complete_greetedActive") + AddQuestStepCompleteAction(Quest, 5, "step5_complete_greetedHappy") + AddQuestStepCompleteAction(Quest, 6, "step6_complete_greetedDurg") + AddQuestStepCompleteAction(Quest, 7, "step7_complete_greetedGonk") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "To long life!") + StartConversation(conversation, QuestGiver, Player, "To long life, and happy friendships!") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_complete_greetedMusician(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've greeted a Sapswill musician.") + + if QuestIsComplete(Player, ADiplomaticMission) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step2_complete_greetedIncapacitated(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Greeted a passed out Sapswill.") + + if QuestIsComplete(Player, ADiplomaticMission) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step3_complete_greetedSeated(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "Greeted a leisurely Sapswill.") + + if QuestIsComplete(Player, ADiplomaticMission) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step4_complete_greetedActive(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "Greeted a frenzied dancer.") + + if QuestIsComplete(Player, ADiplomaticMission) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step5_complete_greetedHappy(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "Greeted a very happy Sapswill.") + + if QuestIsComplete(Player, ADiplomaticMission) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step6_complete_greetedDurg(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I've greeted Durg.") + + if QuestIsComplete(Player, ADiplomaticMission) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step7_complete_greetedGonk(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I've greeted Gonk.") + + if QuestIsComplete(Player, ADiplomaticMission) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've greeted as many Sapswills as I could.") + + AddQuestStepChat(Quest, 8, "Pay respects to High Chieftain Grexx.", 1, "Now that I've introduced myself to several Sapswill goblins, I should pay my respects to High Chieftain Grexx.", 0, 2530038) + AddQuestStepCompleteAction(Quest, 8, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I greeted many of the Sapswills, including their High Chieftan Grexx. They seem like such a harmless bunch; it's hard to imagine that anyone would want to turn them from their simple ways.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_greetedMusician(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_greetedIncapacitated(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_greetedSeated(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_greetedActive(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_greetedHappy(Quest, QuestGiver, Player) + elseif Step == 6 then + step6_complete_greetedDurg(Quest, QuestGiver, Player) + elseif Step == 7 then + step7_complete_greetedGonk(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/QueensColony/a_presence_of_evil.lua b/Lua/Quests/QueensColony/a_presence_of_evil.lua new file mode 100755 index 000000000..87e0227be --- /dev/null +++ b/Lua/Quests/QueensColony/a_presence_of_evil.lua @@ -0,0 +1,91 @@ +--[[ + Script Name : Quests/QueensColony/a_presence_of_evil.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Handles the quest, "A Presence of Evil" + Modified : 2017.04.17 + Modified by: Ememjr + Note : Quest step 3 complete changed from AddQuestStep to AddQuestStepChat, was causing a quest listing erroro in journal + Zone : The Queen's Colony + Quest Giver: Murrar Shar + Preceded by: The Art of Combat + Followed by: Into the Tainted Forest +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Report to Sergeant Haggus outside the west archway.", 1, "I need to report to Sergeant Haggus outside the west archway. He should have some tasks for me to help the colony.", 0, 2530078) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkToHaggus") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, QuestGiver, Player, "Good luck, " .. GetName(Player) .. ".") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_complete_talkToHaggus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I reported to Sergeant Haggus and have been assigned my first duty.") + UpdateQuestTaskGroupDescription(Quest, 1, "I reported to Sergeant Haggus and have been assigned my first duty.") + + AddQuestStepKill(Quest, 2, "Kill tainted Sapswill invaders. They are attacking the barricades.", 3, 100, "Sergeant Haggus and the other defenders need help defending the colony. I should help fend off the attacking goblin horder.", 611, 2530085) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedInvaders") +end + +function step2_complete_killedInvaders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I was able to help fend off the attacking goblins.") + UpdateQuestTaskGroupDescription(Quest, 2, "I was able to help fend off the attacking goblins.") + AddQuestStepChat(Quest, 3, "Return to Sergeant Haggus.", 1, "I helped defend the colony and should return to Segeant Haggus to see if there is anything else I can do.", 0, 2530078) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkToHaggus") +end + +function step3_complete_talkToHaggus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I returned to Sergeant Haggus.") + UpdateQuestTaskGroupDescription(Quest, 3, "I returned to Sergeant Haggus.") + AddQuestStepChat(Quest, 4, "I should search past the barricades in Sunset Meadow for signs of the missing soldiers.", 1, "Sergeant Haggus has sent me to find out about some missing soldiers that have not returned. I should look for any sign of the missing soldiers in Sunset Meadow.", 220) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_foundDeadSoldier") +end + + +function step4_complete_foundDeadSoldier(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "The missing soldiers were dead. Even worse, their remains seemed to rise from the dead and attack me as if controlled by some diabolical force.") + UpdateQuestTaskGroupDescription(Quest, 4, "The missing soldiers were dead. Even worse, their remains seemed to rise from the dead and attack me as if controlled by some diabolical force.") + SpawnMob(GetZone(Player), 2530174, false, GetX(Player), GetY(Player), GetZ(Player)) + AddQuestStepChat(Quest, 5, "Report the bad news to Sergeant Haggus.", 1, "I need to report back to Sergeant Haggus with this grim information.", 0, 2530078) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_talkToHaggus") +end + +function step5_complete_talkToHaggus(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I reported to Sergeant Haggus that his missing soldiers are dead.") + UpdateQuestTaskGroupDescription(Quest, 5, "I reported to Sergeant Haggus that his missing soldiers are dead.") + AddQuestStepChat(Quest, 6, "Take this information back to Murrar Shar.", 1, "Sergeant Haggus would like me to take this information back to Murrar Shar.", 0, 2530076) + AddQuestStepCompleteAction(Quest, 6, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I reported to Sergeant Haggus and helped out at the barricades. The goblins were relentless, but I was able to help fend them off. It was a sad sight to see the soldier that had been killed, but the information I collected should prove useful to the colony.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkToHaggus(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedInvaders(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkToHaggus(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_foundDeadSoldier(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_talkToHaggus(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/QueensColony/a_sandy_bone_shard.lua b/Lua/Quests/QueensColony/a_sandy_bone_shard.lua new file mode 100755 index 000000000..5bdd94d38 --- /dev/null +++ b/Lua/Quests/QueensColony/a_sandy_bone_shard.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : quests/QueensColony/a_sandy_bone_shard.lua + Script Purpose : This script is for the quest, "A Sandy Bone Shard". + quest Name : Tainted + + Zone : The Queen's Colony + quest Starter : + Preceded By: Nothing + Followed By: + + Script Author : Ememjr + Script Date : 2017.04.14 +--]] + +function Init(quest) + AddQuestStepKill(quest, 1, "I should try to see if other crabs have more missing pieces to the token.", 5, 60, "I need to find the other pieces to the shattered token.", 1085, 2530051,2530052,2530079) + AddQuestStepCompleteAction(quest, 1, "step1") + +end + +function Declined(quest, questGiver, player) +end +function step1(quest, questGiver, player) + + UpdateQuestTaskGroupDescription(quest, 1, "I have found the remaining pieces.") + AddQuestStepKill(quest, 2, "I should find some fish to make glue from.", 6, 100, "The easiest and nearest source of glue is probably the skin off the fish that can be found in the waters near the docks. I should collect a few.", 2540, 2530014,2530004,2530005,2530007) + + + AddQuestStepCompleteAction(quest, 2, "step2") + +end +function step2(quest, questGiver, player) + UpdateQuestTaskGroupDescription(quest, 2, "I have glued the pieces of the token back together using the sticky gelatin from the fish skins I collected.") + AddQuestStepKill(quest, 3, "I should find a replacement cord on the goblins found on the island.", 1, 25, "The pieces of the token are now glued back together I just need a leather cord to wear it. The goblins on the island must have a suitable one somewhere.", 2180, 2530027,2530037,2530036,2530039,2530028,2530019,2530090,2530010,2530085,2530018,2530021,2530011,2530030,2530031,2530020,2530024) + AddQuestStepCompleteAction(quest, 3, "completed") +end + + +function completed(quest, questGiver, player) + UpdateQuestDescription(quest, "I have found all the pieces I needed and put the Scrimshaw Token back together.") + GiveQuestReward(quest, player) +end + +function Reload(quest, questGiver, player, Step) +SendMessage(player, "before step 1","yellow") + if Step == 1 then + step1(quest, questGiver, player) + elseif Step == 2 then + step2(quest, questGiver, player) + elseif Step == 3 then + step3(quest, questGiver, player) + end +end \ No newline at end of file diff --git a/Lua/Quests/QueensColony/doggone_it.lua b/Lua/Quests/QueensColony/doggone_it.lua new file mode 100755 index 000000000..eff4c6d8b --- /dev/null +++ b/Lua/Quests/QueensColony/doggone_it.lua @@ -0,0 +1,116 @@ +--[[ + Script Name : Quests/QueensColony/doggone_it.lua + Script Author : Zcoretri + Script Date : 2015.09.05 + Script Purpose : Handles the quest "Doggone It!" + + Zone : QueensColony + Quest Giver: a lost scout + Preceded by: None + Followed by: A Diplomatic Mission (a_diplomatic_mission.lua) +--]] + +local DoggoneIt = 165 + +function Init(Quest) + -- Torn Scout Pants + AddQuestStepKill(Quest, 1, "I need to clear out the Morak devourers near the Dead Canyon.", 5, 100, "A Qeynosian Scout has asked me to help him rid the Colony of the ferocious hounds known as Moraks.", 1222, 2530015) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedMoraks") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well Okay.") + StartConversation(conversation, QuestGiver, Player, "If they come back, you know where you'll find me -- up in this tree!") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_complete_killedMoraks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've removed the Morak devourer menace.") + + AddQuestStepChat(Quest, 2, "I should tell the lost Qeynosian scout to run while he still can!", 1, "A Qeynosian Scout has asked me to help him rid the Colony of the ferocious hounds known as Moraks.", 0, 2530197) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_talkedToScout") +end + +function step2_complete_talkedToScout(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with the Qeynosian scout.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've helped the Qeynosian scout by clearing out the Moraks.") + + numMoraks = math.random(4, 6) + + AddQuestStepLocation(Quest, 3, "Explore the Abondoned Village.", 80, "The Qeynosian scout is too terrified of the Morak to continue his mission forward and has asked me to do some unofficial scouting.", 0, 200.33, 0.01, -183.14) + AddQuestStepLocation(Quest, 4, "Explore Sapswill Hill.", 80, "The Qeynosian scout is too terrified of the Morak to continue his mission forward and has asked me to do some unofficial scouting.", 0, 148.54, 5.53, -153.11) + AddQuestStepKill(Quest, 5, "Clear away more Moraks.", numMoraks, 100, "The Qeynosian scout is too terrified of the Morak to continue his mission forward and has asked me to do some unofficial scouting.", 1222, 2530015) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_exploredVillage") + AddQuestStepCompleteAction(Quest, 4, "step4_complete_exploredHill") + AddQuestStepCompleteAction(Quest, 5, "step5_complete_killedMoraks") +end + +function step3_complete_exploredVillage(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "Explored the Abandoned Village.") + + if QuestIsComplete(Player, DoggoneIt) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step4_complete_exploredHill(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "Explored Sapswill Hill.") + + if QuestIsComplete(Player, DoggoneIt) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step5_complete_killedMoraks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "Cleared away more Moraks.") + + if QuestIsComplete(Player, DoggoneIt) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I've done a bit of scouting ahead and find that this area is teeming with Moraks.") + + AddQuestStepChat(Quest, 6, "Tell the lost Qeynosian scout about the abundant Moraks in the area.", 1, "The lost Qeynosian scout will be dismayed when he hears my report.", 0, 2530197) + AddQuestStepCompleteAction(Quest, 6, "step6_complete_talkedToScout") +end + +function step6_complete_talkedToScout(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I've delivered the bad news to the Qeynosian scout.") + UpdateQuestTaskGroupDescription(Quest, 3, "I've delivered the bad news to the Qeynosian scout.") + + AddQuestStepChat(Quest, 7, "This package must be given to the Sapswill soothsayer at the Last Stand.", 1, "As a diplomatic gesture, I need to take this package to the Sapswill soothsayer.", 0, 2530037) + AddQuestStepCompleteAction(Quest, 7, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "The lost Qeynosian scout will have a difficult time if his work takes him through the Sapswill Village with any frequency; the place is full of Moraks! Though I cleared a path for him, there are many more Moraks. Hopefully, my new friend will be able to overcome his fears and continue scouting on behalf of Qeynos. To further help him, I played diplomat-in-training and visited the Sapswill soothsayer.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedMoraks(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_talkedToScout(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_exploredVillage(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_exploredHill(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_killedMoraks(Quest, QuestGiver, Player) + elseif Step == 6 then + step6_complete_talkedToScout(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/QueensColony/ebiks_missing_parts.lua b/Lua/Quests/QueensColony/ebiks_missing_parts.lua new file mode 100755 index 000000000..7187fb714 --- /dev/null +++ b/Lua/Quests/QueensColony/ebiks_missing_parts.lua @@ -0,0 +1,85 @@ +--[[ + Script Name : Quests/QueensColony/ebiks_missing_parts.lua + Script Purpose : Handles the quest, "Ebik's Missing Parts" + Script Author : Scatman + Script Date : 2008.09.04 + + Zone : The Queen's Colony + Quest Giver: Ebik Wobblecog + Preceded by: None + Followed by: None +--]] + +local EbiksMissingParts = 185 + +function Init(Quest) + -- Constructed Wrist Spanner + + AddQuestStep(Quest, 1, "I still need to get a size 7 clunker. Perhaps Ebik lost it while getting a better view of the bay.", 1, 100, "I need to find the three items that were lost on this island. I should keep an eye out while I explore the colony.", 173) + AddQuestStep(Quest, 2, "I still need to get a copper-coated springer. It's possible Ebik could have lost it over the side of the ship.", 1, 100, "I need to find the three items that were lost on this island. I should keep an eye out while I explore the colony.", 216) + AddQuestStep(Quest, 3, "I still need to get a triangle spinner. Maybe Ebik was trying to run from something and dropped it?", 1, 100, "I need to find the three items that were lost on this island. I should keep an eye out while I explore the colony.", 86) + AddQuestStepCompleteAction(Quest, 1, "step1_complete") + AddQuestStepCompleteAction(Quest, 2, "step2_complete") + AddQuestStepCompleteAction(Quest, 3, "step3_complete") + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_secondtalk_01.mp3", "", "", 688070292, 1255284608, Player) + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, QuestGiver, Player, "I need all the parts, I can't leave without them and luckily the boat to Qeynos hasn't showed up yet. Please help me find all of the parts.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have Ebik's size 7 clunker.") + if QuestIsComplete(Player, EbiksMissingParts) then + givePartsToEbik(Quest, QuestGiver, Player) + end +end + +function step2_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have Ebik's copper-coated springer.") + if QuestIsComplete(Player, EbiksMissingParts) then + givePartsToEbik(Quest, QuestGiver, Player) + end +end + +function step3_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have Ebik's triangle spinner.") + if QuestIsComplete(Player, EbiksMissingParts) then + givePartsToEbik(Quest, QuestGiver, Player) + end +end + +function givePartsToEbik(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have found all of Ebik's parts.") + AddQuestStepChat(Quest, 4, "I should bring these parts back to Ebik.", 1, "I found all the parts Ebik needs and I should return them to him.", 0, 2530059) + AddQuestStepCompleteAction(Quest, 4, "quest_complete_gavePartsToEbik") +end + +function quest_complete_gavePartsToEbik(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have given Ebik the parts I collected.") + UpdateQuestDescription(Quest, "I gave Ebik Wobblecog all the parts he needed. Hopefully now he can meet up with his father and evade their family's famous curse.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/QueensColony/ghosts_and_goblins.lua b/Lua/Quests/QueensColony/ghosts_and_goblins.lua new file mode 100755 index 000000000..69d32ed8d --- /dev/null +++ b/Lua/Quests/QueensColony/ghosts_and_goblins.lua @@ -0,0 +1,132 @@ +--[[ + Script Name : Quests/QueensColony/ghosts_and_goblins.lua + Script Purpose : This script is for the quest, "Ghosts and Goblins". + Quest Name : Ghosts and Goblins + + Zone : The Queen's Colony + Quest Starter : Deianeira + Preceded By: Tainted (tainted.lua) + Followed By: Nothing + + Script Author : Scatman + Script Date : 2008.08.14 +--]] + +local GhostsAndGoblins = 184 + +function Init(quest) + -- Sapswill hip sack + -- Sapswill swill + AddQuestStepChat(quest, 1, "The Forest Keeper is a treant who is resisting the corruption spreading through the Queen's Colony.", 1, "I must seek the cause of the corruption in the Tainted Forest.", 0, 2530105) + AddQuestStepCompleteAction(quest, 1, "step1_complete_talkedToKeeper") +end + +function Accepted(quest, questGiver, player) + if questGiver ~= nil then + if GetDistance(player, questGiver) < 30 then + FaceTarget(questGiver, player) + conversation = CreateConversation() + PlayFlavor(questGiver, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quest/qst_deianeira_complete_111dc711.mp3", "", "", 796380527, 3559718915, player) + AddConversationOption(conversation, "Glad to be of service.") + StartConversation(conversation, questGiver, player, "It's up to us to find the answers; they're never handed to us.") + end + end +end + +function Declined(quest, questGiver, player) +end + +function step1_complete_talkedToKeeper(quest, questGiver, player) + UpdateQuestStepDescription(quest, 1, "I've spoken with the Forest Keeper.") + + AddQuestStepKill(quest, 2, "The Forest Keeper asked me to release the ghostly treants so that they can be reborn.", 3, 100, "I must seek the cause of the corruption in the Tainted Forest.", 194, 2530012) + AddQuestStepCompleteAction(quest, 2, "step2_complete_killedTreants") +end + +function step2_complete_killedTreants(quest, questGiver, player) + UpdateQuestStepDescription(quest, 2, "I've released the ghostly treants.") + + AddQuestStepChat(quest, 3, "Return to the Forest Keeper.", 1, "I must seek the cause of the corruption in the Tainted Forest.", 0, 2530105) + AddQuestStepCompleteAction(quest, 3, "step3_complete_talkedToKeeper") +end + +function step3_complete_talkedToKeeper(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've spoken to the Forest Keeper.") + + AddQuestStepChat(Quest, 4, "The Forest Keeper suggested I speak with a soothsayer at the Last Stand, the old goblin base northeast of the Tainted Forest.", 1, "I must seek the cause of the corruption in the Tainted Forest.", 0, 2530037) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_talkedToSoothsayer") +end + +function step4_complete_talkedToSoothsayer(quest, questGiver, player) + UpdateQuestStepDescription(quest, 4, "The Forest Keeper referred me to a Sapswill Soothsayer.") + UpdateQuestTaskGroupDescription(quest, 1, "The Forest Keeper referred me to a Sapswill Soothsayer.", 1) + + AddQuestStepLocation(quest, 5, "I must get water from the Hope Falls waterfall.", 30, "The Sapswill soothsayer suggested that if I gather some roots and bring him water, he could remove the taint from the Colony.", 313, -11, 0, -250) + AddQuestStepLocation(quest, 6, "I must get water from the Razortooth Falls waterfall.", 30, "The Sapswill soothsayer suggested that if I gather some roots and bring him water, he could remove the taint from the Colony.", 313, 16, -10, -88) + AddQuestStepLocation(quest, 7, "I must get water from the Sapswill Falls waterfall.", 30, "The Sapswill soothsayer suggested that if I gather some roots and bring him water, he could remove the taint from the Colony.", 313, -72, 0, -251) + AddQuestStepHarvest(quest, 8, "I must gather some roots. They're scattered around the ground in large clumps and should be easy for me to locate.", 3, 100, "The Sapswill soothsayer suggested that if I gather some roots and bring him water, he could remove the taint from the Colony.", 194, 11637) + AddQuestStepCompleteAction(quest, 5, "step5_complete_hopeFalls") + AddQuestStepCompleteAction(quest, 6, "step6_complete_razortoothFalls") + AddQuestStepCompleteAction(quest, 7, "step7_complete_sapswillFalls") + AddQuestStepCompleteAction(quest, 8, "step8_complete_gatheredRoots") +end + +function step5_complete_hopeFalls(Quest, QuestGiver, Player) + UpdateQuestStepDescription(quest, 5, "I've collected some water from Hope Falls.") + if QuestIsComplete(Player, GhostsAndGoblins) then + GotWaterAndRoots(Quest, QuestGiver, Player) + end +end + +function step6_complete_razortoothFalls(Quest, QuestGiver, Player) + UpdateQuestStepDescription(quest, 6, "I've collected some water from Razortooth falls.") + if QuestIsComplete(Player, GhostsAndGoblins) then + GotWaterAndRoots(Quest, QuestGiver, Player) + end +end + +function step7_complete_sapswillFalls(Quest, QuestGiver, Player) + UpdateQuestStepDescription(quest, 7, "I've collected some water from Sapswill Falls.") + if QuestIsComplete(Player, GhostsAndGoblins) then + GotWaterAndRoots(Quest, QuestGiver, Player) + end +end + +function step8_complete_gatheredRoots(Quest, QuestGiver, Player) + UpdateQuestStepDescription(quest, 8, "I've gathered some roots.") + if QuestIsComplete(Player, GhostsAndGoblins) then + GotWaterAndRoots(Quest, QuestGiver, Player) + end +end + +function GotWaterAndRoots(Quest, QuestGiver, Player) + --UpdateQuestStepDescription(quest, 4, "The Forest Keeper referred me to a Sapswill Soothsayer.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've gathered the resources Sapswill soothsayer needs.") + AddQuestStepChat(Quest, 9, "I must speak with the Sapswill soothsayer and give him these items so that he can remove the Colony's taint!", 1, "Now that I've done what the Sapswill soothsayer asked, I should return to him at the Last Stand.", 0, 2530037) + AddQuestStepCompleteAction(Quest, 9, "questComplete") +end + +function questComplete(quest, questGiver, player) + UpdateQuestDescription(quest, "Releasing the ghostly treants did not lessen the corruption seeping through the Tainted Forest, so the Forest Keeper sent me to consult with a Sapswill soothsayer. After gathering some roots and water that I thought would be used for divination, I returned to find out he was only using me to get things to ferment!") + GiveQuestReward(quest, player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToKeeper(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedTreants(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToKeeper(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_talkedToSoothsayer(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_hopeFalls(Quest, QuestGiver, Player) + elseif Step == 6 then + step6_complete_razortoothFalls(Quest, QuestGiver, Player) + elseif Step == 7 then + step7_complete_sapswillFalls(Quest, QuestGiver, Player) + elseif Step == 8 then + step8_complete_gatheredRoots(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/QueensColony/into_the_tainted_forest.lua b/Lua/Quests/QueensColony/into_the_tainted_forest.lua new file mode 100755 index 000000000..97278211b --- /dev/null +++ b/Lua/Quests/QueensColony/into_the_tainted_forest.lua @@ -0,0 +1,86 @@ +--[[ + Script Name : Quests/QueensColony/into_the_tainted_forest.lua + Script Author : Zcoretri + Script Date : 2015.09.04 + Script Purpose : Handles the quest "Into the Tainted Forest" + + Zone : Queen's Colony + Quest Giver: + Preceded by: A Presence of Evil (a_presence_of_evil.lua) + Followed by: Joining the Forward Ranks (joining_the_forward_ranks.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Seek out Predator Sha'dur in the Tainted Forest. Head west into the Sunset Meadow and then north up the hill.", 1, "I need to seek out Predator Sha'dur in the Tainted Forest. He is collecting tainted wildlife samples and may need my help. The Tainted Forest can be found north up the hill from the Sunset Meadow.", 0, 2530108) + AddQuestStepCompleteAction(Quest, 1, "step1_completed_talkedToPredator") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Of course.") + StartConversation(conversation, QuestGiver, Player, "Thank you for the help.") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_completed_talkedToPredator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found Predator Sha'dur. He was distraught about losing his bow and arrows.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found Predator Sha'dur. He was distraught about losing his bow and arrows.") + AddQuestStepKill(Quest, 2, "One of the nearby Sapswill tappers should have Sha'dur's bow.", 1, 25, "Predator Sha'dur is down on his luck and has lost his bow and arrows. I am to find the goblins that took his bow and get it back through any means necessary.", 629, 2530021) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedTapper") +end + +function step2_complete_killedTapper(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I was able to reclaim Sha'dur's Bow from a group of goblins in the Tainted Forest.") + UpdateQuestTaskGroupDescription(Quest, 2, "I was able to reclaim Sha'dur's Bow from a group of goblins in the Tainted Forest.") + AddQuestStepChat(Quest, 3, "Return the bow to Predator Sha'dur.", 1, "I found Sha'dur's bow off a nearby Sapswill tapper. I should return the bow to him.", 0, 2530108) + AddQuestStepCompleteAction(Quest, 3, "step3_completed_talkedToPredator") +end + +function step3_completed_talkedToPredator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I returned Sha'dur his lost bow.") + UpdateQuestTaskGroupDescription(Quest, 3, "I returned Sha'dur his lost bow.") + AddQuestStepObtainItem(Quest, 4, "Search the wood near the spider den in the Tainted Forest. The den is to the southeast within the forest.", 3, 100, "I should find some wood suitable for arrows to replace the ones Sha'dur lost. Sha'dur says he saw some piles of sticks to the east in the Tainted Forest near a large spider den.", 2359, 2394) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_gotSticks") +end + +function step4_complete_gotSticks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I gathered enough piles of sticks to provide enough wood for Sha'dur to make new arrows.") + UpdateQuestTaskGroupDescription(Quest, 4, "I gathered enough piles of sticks to provide enough wood for Sha'dur to make new arrows.") + AddQuestStepChat(Quest, 5, "Take the wood back to Predator Sha'dur.", 1, "I need to take the wood back to Predator Sha'dur.", 0, 2530108) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_talkedToPredator") +end + +function step5_complete_talkedToPredator(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I gathered enough piles of sticks to provide enough wood for Sha'dur to make new arrows.") + UpdateQuestTaskGroupDescription(Quest, 5, "I gathered enough piles of sticks to provide enough wood for Sha'dur to make new arrows.") + AddQuestStepChat(Quest, 6, "Take the samples back to Murrar Shar.", 1, "Predator Sha'dur was able to collect a few samples before he lost his gear. I need to take these samples back to Murrar Shar.", 0, 2530076) + AddQuestStepCompleteAction(Quest, 6, "step6_complete_talkedToMurrar") +end + +function step6_complete_talkedToMurrar(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I gave Murrar Shar the samples.") + UpdateQuestDescription(Quest, "I found Predator Sha'dur in the Tainted Forest. He was distraught about being attacked and losing his bow and arrows. I helped him to reclaim his bow and then gathered some sticks for use in making some new arrows. I then returned to Murrar Shar with some samples from the tainted wildlife.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_completed_talkedToPredator(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedTapper(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_completed_talkedToPredator(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_gotSticks(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_talkedToPredator(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/QueensColony/joining_the_forward_ranks.lua b/Lua/Quests/QueensColony/joining_the_forward_ranks.lua new file mode 100755 index 000000000..2514d46cd --- /dev/null +++ b/Lua/Quests/QueensColony/joining_the_forward_ranks.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : Quests/QueensColony/joining_the_forward_ranks.lua + Script Author : Zcoretri + Script Date : 2015.09.04 + Script Purpose : Handles the quest "Joining the Forward Ranks" + + Zone : The Queen's Colony + Quest Giver: Murrar Shar + Preceded by: Into the Tainted Forest (into_the_tainted_forest.lua) + Followed by: The Source of Evil (the_source_of_evil.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Find Cleric Mara'Vaen at the head of Dead Canyon to the west past Sunset Meadow.", 1, "Find Cleric Mara'Vaen in the Dead Canyon to the west of the colony past Sunset Meadow.", 0, 2530111) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToCleric") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar034.mp3", "", "", 682752455, 1067974299) + AddConversationOption(conversation, "I'll head there now.") + StartConversation(conversation, QuestGiver, Player, "She can be found at the head of Dead Canyon to the west.") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_complete_talkedToCleric(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I talked with Cleric Mara'Vaen, She already knew of my coming.") + UpdateQuestTaskGroupDescription(Quest, 1, "I talked with Cleric Mara'Vaen, She already knew of my coming.") + AddQuestStep(Quest, 2, "Pull lost scouts back to Cleric Mara'Vaen from Dead Canyon.", 3, 100, "Cleric Mara'Vaen thinks that she can resurrect some of the scouts that were consumed by evil. I need to somehow get them back to Mara'Vaen and she will attempt the resurrection.", 2516) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_pulledScouts") +end + +function step2_complete_pulledScouts(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I pulled the lost scouts back To Cleric Mara'Vaen and she was able to resurrect them.") + UpdateQuestTaskGroupDescription(Quest, 2, "I pulled the lost scouts back To Cleric Mara'Vaen and she was able to resurrect them.") + AddQuestStepChat(Quest, 3, "Talk to Cleric Mara'Vaen.", 1, "I need to talk to Mara'Vaen now that the scouts have been resurrected.", 0, 2530111) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToMara") +end + +function step3_complete_talkedToMara(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I talked to Cleric Mara'Vaen.") + UpdateQuestTaskGroupDescription(Quest, 3, "I talked to Cleric Mara'Vaen and she informed me of the Morak that have risen from the dead.") + AddQuestStepKill(Quest, 4, "Kill Morak devourers to the north in Dead Canyon.", 4, 100, "Cleric Mara'Vaen informed me of a breed of wolves that was once cleansed from the island. The evil that resides now has risen them from the dead and they now feed again. They are blocking the path of the scouts to get to the Abandoned Way, so I need to clear the way.", 142, 2530015) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_killedMorak") +end + + +function step4_complete_killedMorak(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I cleared the way for the scouts to get to the Abandoned Village.") + UpdateQuestTaskGroupDescription(Quest, 4, "I cleared the way for the scouts to get to the Abandoned Village.") + AddQuestStepChat(Quest, 5, "Return to Cleric Mara'Vaen.", 1, "I killed the Morak Devourers and I should return to Cleric Mara'Vaen.", 0, 2530111) + AddQuestStepCompleteAction(Quest, 5, "questComplete") +end + +function questComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I was able to help Cleric Mara'Vaen to resurrect some of the fallen scouts. I then cleared the way through the Morak so that the scouts could push through to the Abandoned Village. Cleric Mara'Vaen rewarded me for my assistance.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToCleric(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_pulledScouts(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToMara(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_killedMorak(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/QueensColony/seaside_stew.lua b/Lua/Quests/QueensColony/seaside_stew.lua new file mode 100755 index 000000000..6eff25fe6 --- /dev/null +++ b/Lua/Quests/QueensColony/seaside_stew.lua @@ -0,0 +1,107 @@ +--[[ + Script Name : Quests/OutpostOverlord/seaside_stew.lua + Script Purpose : Handles the quest, "Seaside Stew" + Script Author : Scatman (Updted by Cynnar 2018.09.16 10:09:24) + Script Date : 2008.09.07 + + Zone : Outpost of the Overlord + Quest Giver: Tayil N'Velex + Preceded by: The Art of Combat (the_art_of_combat_evil.lua) + Followed by: Preventative Maintenance (preventative_maintenance.lua) +--]] + +local ChefGorga = 2780057 +local TayilNVelex = 2780038 +local WorkerBees = 2780064 +local SoldierBees = 2780078 +local QueenBee = 2780076 +local CowElk = 2780066 +local ElkCalf = 2780065 +local BullElk = 2780068 + +function Init(Quest) + -- Freeportian Cloth Cuffs + -- Freeportian Leather Sleeves + -- Freeportian Plated Bracers + -- Freeportian Studded Wristguards + + AddQuestStepChat(Quest, 1, "Seek out Chef Gorga outside the west gate.", 1, "I need to seek out Chef Gorga outside the west gate. She should have some tasks for me to test out my combat skills.", 0, ChefGorga) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToGorga") + +end + + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex036.mp3", "", "", 3316986332, 3271769196, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Report back to me when your duties with Chef Gorga are done.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToGorga(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I reported to Chef Gorga and have been given my first task.") + UpdateQuestTaskGroupDescription(Quest, 1, "I reported to Chef Gorga and have been given my first task.") + + AddQuestStepKill(Quest, 2, "Kill the nearby bees to add to Gorga's stew.", 3, 100, "The first ingredient for the Seaside Stew is the nearby bees. I need to kill some for Gorga.", 611, WorkerBees, SoldierBees, QueenBee) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedBees") +end + +function step2_complete_killedBees(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I killed enough bees for the first ingredient of Gorgia's Seaside Stew.") + UpdateQuestTaskGroupDescription(Quest, 2, "I killed enough bees for the first ingredient of Gorgia's Seaside Stew.") + + AddQuestStepChat(Quest, 3, "Return to Chef Gorga.", 1, "I killed the bees that Gorga wants for her stew. I should return to her now.", 0, ChefGorga) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToGorga") +end + +function step3_complete_talkedToGorga(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I returned to Chef Gorga.") + UpdateQuestTaskGroupDescription(Quest, 3, "I returned to Chef Gorga.") + + AddQuestStepKill(Quest, 4, "Kill the elk for their livers.", 4, 100, "The second ingredient is elk livers. The elk roam throughout the Seaside Glade, out past the barricades.", 611, CowElk, ElkCalf, BullElk) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_killedElk") +end + +function step4_complete_killedElk(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I gathered enough elk livers for Gorga's Seaside Stew.") + UpdateQuestTaskGroupDescription(Quest, 4, "I gathered enough elk livers for Gorga's Seaside Stew.") + + AddQuestStepChat(Quest, 5, "Return the livers to Chef Gorga.", 1, "I've gathered the elk livers and need to return to Chef Gorga.", 0, ChefGorga) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_talkedToGorga") +end + +function step5_complete_talkedToGorga(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I returned to Chef Gorga with the elk livers for her stew.") + UpdateQuestTaskGroupDescription(Quest, 5, "I returned to Chef Gorga with the elk livers for her stew.") + + AddQuestStepChat(Quest, 6, "Return to Tayil N'Velex.", 1, "I should return to Tayil N'Velex and let her know that I've finished helping Gorga.", 0, TayilNVelex) + AddQuestStepCompleteAction(Quest, 6, "step6_complete_talkedToTayil") +end + +function step6_complete_talkedToTayil(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I reported to Chef Gorga and gathered some ingredients for her Seaside Stew. Livers! Upon returning to Tayil, I was rewarded for my efforts.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToGorga(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedBees(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToGorga(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_killedElk(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_talkedToGorga(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/QueensColony/tainted.lua b/Lua/Quests/QueensColony/tainted.lua new file mode 100755 index 000000000..9288f193f --- /dev/null +++ b/Lua/Quests/QueensColony/tainted.lua @@ -0,0 +1,165 @@ +--[[ + Script Name : Quests/QueensColony/tainted.lua + Script Purpose : This script is for the quest, "Tainted". + Quest Name : Tainted + + Zone : The Queen's Colony + Quest Starter : Deianeira + Preceded By: Nothing + Followed By: Ghosts and Goblins () + + Script Author : Scatman + Script Date : 2008.08.13 +--]] + +function Init(quest) + + -- spider fang ring + AddQuestStepKill(quest, 1, "I need to clear the Tainted Forest of these toxic crawlers!", 4, 100, "I need to clear out the toxic crawlers to keep their poison from spreading throughout the Colony.", 1857, 2530084) + AddQuestStepCompleteAction(quest, 1, "step1_toxicCrawlers") + +end + +function Accepted(quest, questGiver, player) + if questGiver ~= nil then + if GetDistance(player, questGiver) < 30 then + FaceTarget(questGiver, player) + + conversation = CreateConversation() + PlayFlavor(questGiver, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quest/qst_deianeira_complete_111dc711.mp3", "", "", 796380527, 3559718915, player) + AddConversationOption(conversation, "I'll be back when I'm done with the spiders.") + StartConversation(conversation, questGiver, player, "It's up to us to find the answers; they're never handed to us.") + end + end +end + +function Declined(quest, questGiver, player) +end + +function step1_toxicCrawlers(quest, questGiver, player) + if player ~= nil then + GiveQuestItem(quest, player, "I've cleared out many spiders and as a result found an unusual item.", 10317) + end + + UpdateQuestStepDescription(quest, 1, "I've cleared out many spiders and as a result found an unusual item.") + UpdateQuestTaskGroupDescription(quest, 1, "I've cleared out many spiders and as a result found an unusual item.") + -- SPAWN Parchment Scrap (right-click this item to Examine it), spawn this in the Quest Reward window + -- Description = I've cleared out many spiders and as a result found an unusual item. + + -- The edges of the parchment are torn and jagged as though ripped from a much larger document. + -- Examine the parchment (). + -- Put the parchment away. + -- update quest step + -- You can barely make out some writing on this scrap: "The toxic crawlers will be useful to cover our ... the + -- totem ..." The reference to a totem is puzzling. Why would someone want a totem covered in spiders? There must + -- be more pieces of this parchment amongst the toxic crawlers. + -- Put the parchment away. + + AddQuestStepChat(quest, 2, "I need to examine the parchment scrap to see if I can decipher anything.", 1, "There is more to be learned in the Tainted Forest.", 0, 2530092) + AddQuestStepCompleteAction(quest, 2, "step2_complete_examinedParchment") +end + +function step2_complete_examinedParchment(quest, questGiver, player) + UpdateQuestStepDescription(quest, 2, "I've examined the scrap.") + AddQuestStepKill(quest, 3, "While hard to decipher, the writings indicate that there is a problem with the toxic crawlers. I'll try to find another piece of parchment on one of these spiders though it may take me a while to find one with more of this parchment.", 1, 25, "There is more to be learned in the Tainted Forest.", 2180, 2530084) + AddQuestStepCompleteAction(quest, 3, "step3_complete_toxicCrawlers") +end + +function step3_complete_toxicCrawlers(quest, questGiver, player) + UpdateQuestStepDescription(quest, 3, "I've found another piece of parchment.") + -- The edges of the parchment are torn and jagged as though ripped from a much larger document. + -- Put together the parchment pieces. (). + -- Put the parchment away. + -- You line up the parchment pieces. The newest piece adds enough new words that you can read: "The toxic crawlers + -- will be useful to cover our tracks. Leave the totem in the eastern rocks..." Apparently Deianeira's concern + -- about the spiders is well-placed, though not for the reasons she thinks. I must find more of this parchment + -- to learn what this totem means. + -- Roll the parchment up. () + -- update quest + -- You carefully roll the parchment and stow it away. + -- Put the parchment away. + AddQuestStepChat(quest, 4, "I need to put the parchment pieces together to learn more about the toxic crawlers.", 1, "There is more to be learned in the Tainted Forest.", 0, 2530092) + AddQuestStepCompleteAction(quest, 4, "step4_complete_putParchmentTogether") +end + +function step4_complete_putParchmentTogether(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I've put the parchment together.") + + AddQuestStepLocation(Quest, 5, "According to the parchment, there is something hidden in the rockpile at the eastern end of the Tainted Forest. I'll need to take a closer look.", 15, "There is more to be learned in the Tainted Forest.", 0, 92, 1, 122) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_foundParchment") + + -- remove the old parchment + -- summon Parchment Scrap + RemoveItem(Player, 10317) + SummonItem(Player, 10313, 0) +end + +function step5_complete_foundParchment(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I've located the rest of the parchment.") + --spawn "a piece of parchment harvestable" + --only let Player see it + --set harvestable to "Parchment Scrap" the one that looks like it was unrolled. + SpawnMob(GetZone(Player), 2530194, true, 92.6042, 1.6355, 123.73, 290) + AddQuestStepObtainItem(Quest, 6, "Now I need to gather the parchment pieces from the spider's nest. Hopefully they are from the parchment I'm trying to put together!", 1, 100, "There is more to be learned in the Tainted Forest.", 75, 10315) + AddQuestStepCompleteAction(Quest, 6, "step6_complete_harvestedParchment") +end + +function step6_complete_harvestedParchment(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I've gathered the pieces of parchment from the spider's nest.") + -- The edges of the parchment are torn and jagged as though ripped from a much larger document. + -- Piece together the parchment (). + -- Put the parchment away. + -- The last bit of parchment was caught on the web near the large pile of rocks. You piece it together and read: + -- "The toxic crawlers will be useful to cover our tracks. Leave the totem in the eastern rocks beneath Direspike." + -- Direspike must be a tainted spider with greater power. You realize you may have to flush him from his lair + -- by picking off the nearby spiders until he appears to meet your challenge. + -- Roll the parchment up. () + -- update quest + -- You carefully roll the parchment and stow it away. + -- Put the parchment away. + AddQuestStepChat(Quest, 7, "I need to put together all the pieces of the parchment.", 1, "There is more to be learned in the Tainted Forest.", 0, 2530092) + AddQuestStepCompleteAction(Quest, 7, "step7_complete_putParchmentTogether") +end + +function step7_complete_putParchmentTogether(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I've pieced the parchment together.") + + -- remove old parchment + RemoveItem(Player, 10313) + RemoveItem(Player, 10315) + -- spawn direspike when player gets close to his loc + SpawnMob(GetZone(Player), 2530106, false, 89.7797, 4.85852, 124.289, 300) + AddQuestStepKill(Quest, 8, "The parchment refers to Direspike. I must slay Direspike, the spider that must be at the root of this problem.", 1, 100, "There is more to be learned in the Tainted Forest.", 1859, 2530106) + AddQuestStepCompleteAction(Quest, 8, "step8_complete_killedDireSpike") +end + +function step8_complete_killedDireSpike(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 8, "I've slain Direspike and in the process destroyed the tainted totem.") + AddQuestStepChat(Quest, 9, "I should tell Deianeira that the toxic crawlers are not the source of the taint.", 1, "There is more to be learned in the Tainted Forest.", 0, 2530107) + AddQuestStepCompleteAction(Quest, 9, "completed") +end + +function completed(quest, questGiver, player) + UpdateQuestDescription(quest, "While killing toxic crawlers to test Deianeira's theory on poison, I found a piece of parchment hinting that someone had influenced the toxic crawlers by hiding some kind of totem in their main nest. After I removed Direspike from the lair, the totem shattered on its own. The poison theory seems shattered as well.") + GiveQuestReward(quest, player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_toxicCrawlers(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_examinedParchment(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_toxicCrawlers(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_putParchmentTogether(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_foundParchment(Quest, QuestGiver, Player) + elseif Step == 6 then + step6_complete_harvestedParchment(Quest, QuestGiver, Player) + elseif Step == 7 then + step7_complete_putParchmentTogether(Quest, QuestGiver, Player) + elseif Step == 8 then + step8_complete_killedDireSpike(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/QueensColony/the_art_of_combat.lua b/Lua/Quests/QueensColony/the_art_of_combat.lua new file mode 100755 index 000000000..ef96be78f --- /dev/null +++ b/Lua/Quests/QueensColony/the_art_of_combat.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/QueensColony/the_art_of_combat.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Handles the quest, "The Art of Combat" + + Zone : The Queens Colony + Quest Giver: Murrar Shar + Preceded by: None + Followed by: A Presence of Evil +--]] + +function Init(Quest) + -- Qeynosian Cloth Mitts + -- Qeynosian Leather Gloves + -- Qeynosian Studded Gloves + -- Qeynosian Plated Gauntlets + AddQuestStepChat(Quest, 1, "I need to speak to Trainer Hayl McGuinness at the Training Grounds northwest of Murrar Shar.", 1, "I need to learn about combat from Trainer Hayl McGuinness.", 0, 2530070) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkToHayl") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, QuestGiver, Player, "Goodluck.") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_complete_talkToHayl(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Hayl McGuinness.") + + AddQuestStepKill(Quest, 2, "I need to defeat a sparring partner in combat. There are several sparring partners just north of Trainer Hayl McGuinness.", 1, 100, "I need to learn about combat from Trainer Hayl McGuinness.", 0, 2530000, 2530001, 2530002) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedSparringPartner") +end + +function step2_complete_killedSparringPartner(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated a sparring partner in combat.") + + AddQuestStepChat(Quest, 3, "I should speak with Trainer Hayl McGuinness and tell him of my victory.", 1, "I need to learn about combat from Trainer Hayl McGuinness.", 0, 2530070) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkToHayl") +end + +function step3_complete_talkToHayl(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken to Sergeant Hayl McGuinness.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have won a match against one of the sparring partners.") + + AddQuestStepChat(Quest, 4, "I should tell Murrar that my training was successful.", 1, "I should return to Murrar Shar to show that I am ready for my next challenege.", 0, 2530076) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_talkToMurrar") +end + +function step4_complete_talkToMurrar(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have learned some of the basics of combat from Trainer Hayl McGuinness at the Queen's Colony. Hopefully this knowledge helps me serve Qeynos and uncover the trouble here.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkToHayl(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedSparringPartner(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkToHayl(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/QueensColony/the_source_of_evil.lua b/Lua/Quests/QueensColony/the_source_of_evil.lua new file mode 100755 index 000000000..2f2d2e648 --- /dev/null +++ b/Lua/Quests/QueensColony/the_source_of_evil.lua @@ -0,0 +1,115 @@ +--[[ + Script Name : Quests/QueensColony/the_source_of_evil.lua + Script Author : Zcoretri + Script Date : 2015.09.05 + Script Purpose : Handles the quest "The Source of Evil" + + Zone : Queen's Colony + Quest Giver: Cleric Mara'Vaen + Preceded by: Joining the Forward Ranks (joining_the_forward_ranks.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Seek Sorcerer Oofala. His camp is set up north past Dead Canyon and then east down the wall of the Abandoned Village.", 1, "Head into and around the Abandoned Village in search of Sorcerer Oofala, protector of the scout camp set up there.", 0, 2530026) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToSorcerer") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks") + StartConversation(conversation, QuestGiver, Player, "Bless you, child.") + end + end +end + +function Declined(Quest, QuestGiver, Player) + +end + +function step1_complete_talkedToSorcerer(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I spoke with Sorcerer Oofala.") + UpdateQuestTaskGroupDescription(Quest, 1, "I spoke with Sorcerer Oofala.") + AddQuestStepKill(Quest, 2, "Seek and destroy the evil totems scattered around the Abandoned Village.", 3, 100, "New information gained from goblins that survived has revealed that the goblins were victims of the evil themselves. Evil totems sprang up around their village and spread a fog that devoured all that it consumed. I need to seek and destroy the evil totems.", 861, 2530153) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_killedTotems") +end + +function step2_complete_killedTotems(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I was able to find and destroy the evil totems.") + UpdateQuestTaskGroupDescription(Quest, 2, "I was able to find and destroy the evil totems.") + AddQuestStepChat(Quest, 3, "Return to Sorcerer Oofala.", 1, "I destroyed the totems and I should return to Sorcerer Oofala.", 0, 2530026) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToSorcerer") +end + +function step3_complete_talkedToSorcerer(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I spoke with Sorcerer Oofala.") + UpdateQuestTaskGroupDescription(Quest, 3, "I spoke with Sorcerer Oofala.") + --Spawn(GetZone(Player), 2530142, false, GetX(Player), GetY(Player), GetZ(Player)) + --Spawn the Dark Blademaster once you approach his location only if the player has a quest (zonescript) + --x = 154.66 y = 1.38397 z = -178.158 heading = 349.984 + AddQuestStepKill(Quest, 4, "Kill the Dark Blademaster near the fog on Sapswill Hill.", 1, 100, "Oofala explained that by removing the totems, the evil has been disturbed and produced a champion to fight back. I will need to confront the Dark Blademaster. He has emerged from a tent on Sapswill Hill.", 611, 2530032) + AddQuestStepCompleteAction(Quest, 4, "step4_complete_killedBlademaster") +end + +function step4_complete_killedBlademaster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have slain the Dark Blademaster.") + UpdateQuestTaskGroupDescription(Quest, 4, "I have slain the Dark Blademaster.") + AddQuestStepChat(Quest, 5, "Return the news of my victory to Sorcerer Oofala.", 1, "I have slain the Dark Blademaster and should return to Sorcerer Oofala. I should mention the Freeport insignia that the Dark Blademaster has in his belongings.", 0, 2530026) + AddQuestStepCompleteAction(Quest, 5, "step5_complete_talkedToSorcerer") +end + +function step5_complete_talkedToSorcerer(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I returned to sorcerer Oofala.") + UpdateQuestTaskGroupDescription(Quest, 5, "I returned to sorcerer Oofala with the news of my victory and of the insignia that the Blademaster dropped.") + AddQuestStepChat(Quest, 6, "Seek High Chieftan Grexx in the tree house east of the Abandoned Village.", 1, "Sorcerer Oofala is disturbed by the news that Freeport is involved. I need to seek out High Chieftan Grexx at his tree house to the east of the Abandoned Village.", 0, 2530038) + AddQuestStepCompleteAction(Quest, 6, "step6_complete_talkedToGrexx") +end + +function step6_complete_talkedToGrexx(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have slain the Dark Blademaster.") + UpdateQuestTaskGroupDescription(Quest, 6, "I have slain the Dark Blademaster.") + AddQuestStepKill(Quest, 7, "Enter the cave to the northeast of the tree house and deal with the source of evil.", 1, 100, "High Chieftan Grexx has pointed out that he believes the source of evil to emanate from a cave to the northeast of his tree house. I need to head inside and confront the evil.", 611, 2540005) + AddQuestStepCompleteAction(Quest, 7, "step7_complete_killedVith") +end + +function step7_complete_killedVith(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have slain the necromancer.") + UpdateQuestTaskGroupDescription(Quest, 7, "I have slain the necromancer.") + AddQuestStepChat(Quest, 8, "Return to High Chieftan Grexx.", 1, "I should return to High Chieftan Grexx and let him know that the island is saved.", 0, 2530038) + AddQuestStepCompleteAction(Quest, 8, "step8_complete_talkedToGrexx") +end + +function step8_complete_talkedToGrexx(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 8, "I returned to High Chieftain Grexx.") + UpdateQuestTaskGroupDescription(Quest, 8, "I returned to High Chieftain Grexx.") + AddQuestStepChat(Quest, 9, "Return to Murrar Shar.", 1, "I should now return to Murrar Shar with news about my victory against the necromancer.", 0, 2530076) + AddQuestStepCompleteAction(Quest, 9, "questComplete") +end + +function questComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I was able to help Sorcerer Oofala and destroyed the totems that had spread the evil into the village. Removing the totems brought forth an evil champion that I took care of as well. The Dark Blademaster had an insignia of the Freeport Militia in his belongings. Sorcerer Oofala then sent me to try and help High Chieftan Grexx at the nearby tree house as time was pressing to try and save them. High Chieftan Grexx sent me into the nearby cave to take care of the necromancer that was tainting the island. I took care of the necromancer and returned to both High Chieftan Grexx and Murrar Shar for their respective rewards.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToSorcerer(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_killedTotems(Quest, QuestGiver, Player) + elseif Step == 3 then + step3_complete_talkedToSorcerer(Quest, QuestGiver, Player) + elseif Step == 4 then + step4_complete_killedBlademaster(Quest, QuestGiver, Player) + elseif Step == 5 then + step5_complete_talkedToSorcerer(Quest, QuestGiver, Player) + elseif Step == 6 then + step6_complete_talkedToGrexx(Quest, QuestGiver, Player) + elseif Step == 7 then + step7_complete_killedVith(Quest, QuestGiver, Player) + elseif Step == 8 then + step8_complete_talkedToGrexx(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/anger_fang.lua b/Lua/Quests/Ruins/anger_fang.lua new file mode 100755 index 000000000..5b263bd10 --- /dev/null +++ b/Lua/Quests/Ruins/anger_fang.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : Quests/Ruins/anger_fang.lua + Script Purpose : Handles the quest, "Anger-Fang" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : The Ruins + Quest Giver: Mardyp Prunt + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need 20 orc fangs.", 20, 100, "Mardyp would like me to collect some orc fangs for him.", 102, 1270012, 1270153, 1270055, 1270013, 1270131, 1270035, 1270045, 1270095, 1270044, 1270010, 1270130, 1270027, 1270039, 1270022, 1270019, 1270087, 1270050, 1270066, 1270053, 1270047, 1270096, 1270067, 1270058, 1270068, 1270046, 1270057, 1270037, 1270056, 1270093, 1270170, 1270161, 1270114, 1270112, 1270082, 1270063, 1270081, 1270117, 1270118, 1270049, 1270048, 1270059, 1270041, 1270051, 1270052, 1270116, 1270113, 1270133, 1270115, 1270119, 1270120, 1270181) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll go get your fangs.") + StartConversation(conversation, QuestGiver, Player, "Good! Mardyp go back to crushing.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the orc fangs.") + + AddQuestStepChat(Quest, 2, "I need to bring the orc fangs to Mardyp.", 1, "Mardyp would like me to collect some orc fangs for him.", 0, 1270016) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Mardyp the fangs he asked for.") + UpdateQuestTaskGroupDescription(Quest, 1, "I collected the orc fangs for Mardyp.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have gotten the orc fangs for Mardyp. He was pleased.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/file_a_final_report.lua b/Lua/Quests/Ruins/file_a_final_report.lua new file mode 100755 index 000000000..fd537facc --- /dev/null +++ b/Lua/Quests/Ruins/file_a_final_report.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Ruins/file_a_final_report.lua + Script Purpose : Handles the quest, "File a Final Report" + Script Author : Scatman + Script Date : 2009.08.20 + + Zone : The Ruins + Quest Giver: Captain Arellius + Preceded by: Identifying the Lonetusk Ally (identifying_the_lonetusk_ally.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should return to the docks and tell Captain Arellius what I have learned about the Rujarkian orcs.", 1, "I must report to Captain Arellius on the docks of the Ruins.", 0, 1270003) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus022.mp3", "", "", 3956036992, 4003496180, Player) + AddConversationOption(conversation, "Thank you, lieutenant. You have earned mine as well.") + StartConversation(conversation, QuestGiver, Player, "Report back to the captain. She will take word of this discovery back to our superiors in the Militia. This is extremely valuable information, my friend. You just might have given Freeport the edge it needs to ensure its safety. You have earned my respect.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have informed the captain that the Rujarkians are supplying the orcs in the Ruins with weapons and armor.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have reported back to Captain Arellius.") + UpdateQuestDescription(Quest, "I informed Captain Arellius that the Rujarkian orcs are supplying the Brokentusk and Lonetusk orcs in the Ruins with improved weapons and armor. The captain was very pleased with my work and rewarded me well. I will now read the note she gave me to lead me to my next adventure.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/identifying_the_lonetusk_ally.lua b/Lua/Quests/Ruins/identifying_the_lonetusk_ally.lua new file mode 100755 index 000000000..ae815bfbf --- /dev/null +++ b/Lua/Quests/Ruins/identifying_the_lonetusk_ally.lua @@ -0,0 +1,83 @@ +--[[ + Script Name : Quests/Ruins/identifying_the_lonetusk_ally.lua + Script Purpose : Handles the quest, \\\"Identifying the Lonetusk Ally\\\" + Script Author : Scatman + Script Date : 2009.08.20 + + Zone : The Ruins + Quest Giver: Captain Arellius + Preceded by: Vengeance for Shoreside (vengeance_for_shoreside.lua) + Followed by: File a Final Report (file_a_final_report.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must interrogate the orc prisoner to find out the identity of the Lonetusk weapon supplier.", 1, "I must interrogate the orc prisoner to find out the identity of the Lonetusk\\\'s new benfactor.", 0, 1270104) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithOrc") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus018.mp3", "", "", 1717970804, 3719629105, Player) + AddConversationOption(conversation, "I'll return when I have the information you need, lieutenant.") + StartConversation(conversation, QuestGiver, Player, "I knew we could rely on you! Take any measures necessary to get the beast to talk. ANY measures... got it?") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSentries(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "The prisoner didn't know who is supplying the weapons and armor, but told me of a hidden document that might.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have questioned the orc prisoner and found out that the Lonetusk are hiding a document that may reveal the identity of their supplier.") + + AddQuestStepChat(Quest, 2, "I should tell the lieutenant that the orcs have a hidden document that may reveal the identity of their benefactor.", 1, "I must tell Lieutenant Imperidus what I found out from the prisoner.", 0, 1270070) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithLieutenant") +end + +function Step2_Complete_SpokeWithLieutenant(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I told the lieutenant that the Lonetusk have some kind of letter from their mysterious benefactor") + UpdateQuestTaskGroupDescription(Quest, 2, "I have told Lieutenant Imperidus what I learned from the prisoner.") + + AddQuestStep(Quest, 3, "I must search for an underground bunker where the Lonetusk are hiding some kind of document.", 1, 100, "I must search underground areas in the Ruins for a secret document in the possession of the Lonetusk orcs.", 374, 5048) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_FoundNote") +end + +function Step3_Complete_FoundNote(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found an orcish document hidden in a chest in an underground bunker.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have found the hidden orcish document. I should examine it and report back to Lieutenant Imperidus.") + + SendMessage(Player, "You search the strongbox and find a parchment with orcish writing. You place it in your inventory.") + SendPopUpMessage(Player, "You search the strongbox and find a parchment with orcish writing. You place it in your inventory.", 255, 255, 0) + -- an orcish parchment + if not HasItem(Player, 3393, 1) then + SummonItem(Player, 3393) + SendMessage(Player, "You receive [an orcish parchment].") + end + + AddQuestStepSpell(Quest, 4, "I should report back to the lieutenant.", 1, 100, "I should report back to Lieutenant Imperidus at the second Militia outpost and give her the document I found.", 0, 1270070) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + -- an orcish parchment + while HasItem(Player, 3393, 1) do + RemoveItem(Player, 3393) + end + SendMessage(Player, "You give the parchment to Lieutenant Imperidus.") + SendPopUpMessage(Player, "You give the parchment to Lieutenant Imperidus.", 255, 255, 0) + UpdateQuestStepDescription(Quest, 4, "I have reported back to the lieutenant.") + UpdateQuestTaskGroupDescription(Quest, 4, "I have reported back to Lieutenant Imperidus and gave her the orcish document.") + UpdateQuestDescription(Quest, "I interrogated the orc prisoner and learned of a document the Lonetusk were guarding. I retrieved the document and returned it to Lieutenant Imperidus of the Freeport Militia, who determined that the Lonetusk and Brokentusk are being supplied by the Rujarkian orcs, a tribe operating out of the Clefts of Rujark in the Desert of Ro. This is important information that must be given to Captain Arellius at the docks.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSentries(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithLieutenant(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_FoundNote(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/knock_the_fight_out_of_em.lua b/Lua/Quests/Ruins/knock_the_fight_out_of_em.lua new file mode 100755 index 000000000..9ce83efb6 --- /dev/null +++ b/Lua/Quests/Ruins/knock_the_fight_out_of_em.lua @@ -0,0 +1,97 @@ +--[[ + Script Name : Quests/Ruins/knock_the_fight_out_of_em.lua + Script Purpose : Handles the quest, "Knock the Fight Out of 'Em" + Script Author : Scatman + Script Date : 2009.08.18 + + Zone : The Ruins + Quest Giver: Captain Arellius + Preceded by: Stepping Up the Offense (stepping_up_the_offense.lua) + Followed by: Vengeance for Shoreside (vengeance_for_shoreside.lua) +--]] + +function Init(Quest) + AddQuestStepSpell(Quest, 1, "I should throw some dirt in the orcs' dinner pot.", 1, 100, "I must seek out the symbols that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits.", 943, 5044) + AddQuestStepSpell(Quest, 2, "I must find and deface the statue of an orc knight.", 1, 100, "I must seek out the symbols that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits.", 1214, 5045) + AddQuestStepSpell(Quest, 3, "I must find and deface one of the Lonetusk worship idols.", 1, 100, "I must seek out the symbols that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits.", 1058, 5046) + AddQuestStepSpell(Quest, 4, "I should poke a hole in the orcs' wine cask.", 1, 100, "I must seek out the symbols that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits.", 2284, 5047) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_ThrewDirt") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_DefacedStatue") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_DefacedIdols") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_PokedHole") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus009.mp3", "", "", 3046376303, 2999823619, Player) + AddConversationOption(conversation, "Do you really think wrecking statues and ruining food is going to ensure victory?", "dlg_3_8") + AddConversationOption(conversation, "I'll get to it.") + StartConversation(conversation, QuestGiver, Player, "Our surest path to victory is to take the fight out of them. Go out there and face the Lonetusk, and deface any statues you see. Seek out their supplies of food and drink and spoil them. Without symbols of victory to inspire them and food in their bellies, their spirits will crumble and they will become easy pickings for us.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_ThrewDirt(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I threw dirt in the orcs' dinner pot. Take that, orcs!") + SendMessage(Player, "You throw some dirt in the orc cooking pot.") + + if QuestIsComplete(Player, 286) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step2_Complete_DefacedStatue(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defaced the statue of an orc knight.") + SendMessage(Player, "You draw a mustace on the face of the orc statue.") + + if QuestIsComplete(Player, 286) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step3_Complete_DefacedIdols(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have defaced an idol that the Lonetusk seem to worship.") + SendMessage(Player, "You draw crazy eyes and a beard on the orc idol.") + + if QuestIsComplete(Player, 286) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step4_Complete_PokedHole(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I poked a hole in the orcs' wine cask. Now they'll be thirsty!") + SendMessage(Player, "You have poked a hole in the cask and watched the wine drain out.") + + if QuestIsComplete(Player, 286) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I found and defaced many objects the orcs hold dear. Hopefully this takes the fight out of them.") + + AddQuestStep(Quest, 5, "I should report back to Lieutenant Imperidus.", 1, "Having defaced the orc artifacts, I should return to Lieutenant Imperidus at the second outpost.", 0, 1270070) + AddQuestStepCompleteAction(Quest, 5, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have reported back to Lieutenant Imperidus.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported back to Lieutenant Imperidus.") + UpdateQuestDescription(Quest, "I followed the orders of Lieutenant Imperidus, defacing statues the Lonetusk orcs use to inspire their troops. I also threw dirt into their food and drained their supply of wine. Hopefully the lieutenant's plan will work and my actions will have takens some of the fight out of the orcs.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_ThrewDirt(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_DefacedStatue(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_DefacedIdols(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_PokedHole(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/pawns_in_the_game.lua b/Lua/Quests/Ruins/pawns_in_the_game.lua new file mode 100755 index 000000000..4e48122e7 --- /dev/null +++ b/Lua/Quests/Ruins/pawns_in_the_game.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/Ruins/pawns_in_the_game.lua + Script Purpose : Handles the quest, "Pawns in the Game" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : The Ruins + Quest Giver: Captain Arellius + Preceded by: Reporting for Duty (reporting_for_duty.lua) + Followed by: Pounding the Enemy (pounding_the_enemy.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must defeat ten Brokentusk pawns to prove my value to the Militia.", 10, 100, "I must aid Freeport by defeating the Brokentusk pawns.", 2489, 1270130, 1270027, 1270039, 1270022, 1270019, 1270087) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian009b.mp3", "", "", 3351588566, 3135177671, Player) + AddConversationOption(conversation, "I will do so.") + StartConversation(conversation, QuestGiver, Player, "Get to work, citizen. You have your orders, now carry them out.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I defeated 10 Brokentusk pawns and proved my worth.") + UpdateQuestTaskGroupDescription(Quest, 1, "I crushed the Brokentusk pawns as ordered.") + + AddQuestStepChat(Quest, 2, "I should report back to Lieutenant Argosian at the first outpost.", 1, "I should return to the lieutenant and tell him of my victory.", 0, 1270031) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have reported back to Lieutenant Argosian.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to the lieutenant.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "Following the orders of Lieutenant Argosian, I defeated a number of the Brokentusk pawns. They were relatively easy prey, so I will ask Argosian for a more challenging assignment.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/pounding_the_enemy.lua b/Lua/Quests/Ruins/pounding_the_enemy.lua new file mode 100755 index 000000000..bfcb7aa2c --- /dev/null +++ b/Lua/Quests/Ruins/pounding_the_enemy.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : Quests/Ruins/pounding_the_enemy.lua + Script Purpose : Handles the quest, "Pounding the Enemy" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : The Ruins + Quest Giver: Lieutenant Argosian + Preceded by: Pawns in the Game (pawns_in_the_game.lua) + Followed by: Prophet and Loss (prophet_and_loss.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must defeat five Brokentusk guards.", 5, 100, "I have been ordered to defeat the Brokentusk orcs and defend the vagrant squatters.", 2489, 1270035, 1270045, 1270095, 1270044) + AddQuestStepKill(Quest, 2, "I must defeat five Brokentusk warriors.", 5, 100, "I have been ordered to defeat the Brokentusk orcs and defend the vagrant squatters.", 2489, 1270037, 1270056) + AddQuestStepKill(Quest, 3, "I must defend the vagrants by slaying their overseer.", 1, 100, "I have been ordered to defeat the Brokentusk orcs and defend the vagrant squatters.", 2489, 1270010) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledGuards") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledWarriors") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledOverseer") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian015b.mp3", "", "", 102436079, 1387861460, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "I knew I could count on you. Return to me when the orcs have paid for their crimes.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledGuards(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated five Brokentusk guards") + + if QuestIsComplete(Player, 264) then + KilledAllOrcs(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledWarriors(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated five Brokentusk warriors.") + + if QuestIsComplete(Player, 264) then + KilledAllOrcs(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledOverseer(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have slain the orc overseer.") + + if QuestIsComplete(Player, 264) then + KilledAllOrcs(Quest, QuestGiver, Player) + end +end + +function KilledAllOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have defeated the orcs, keeping the vagrants safe for now.") + + AddQuestStepChat(Quest, 4, "I must report back to Lieutenant Argosian.", 1, "I should return to the lieutenant and report that the vagrants are safe for now.", 0, 1270031) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have reported back to Lieutenant Argosian.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to Lieutenant Argosian.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I defeated a variety of Brokentusk orcs and kept the squatters safe in the Ruins. The threat is far from over, however.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledGuards(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledWarriors(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledOverseer(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/prophet_and_loss.lua b/Lua/Quests/Ruins/prophet_and_loss.lua new file mode 100755 index 000000000..255d14f6d --- /dev/null +++ b/Lua/Quests/Ruins/prophet_and_loss.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : Quests/Ruins/Prophet and Loss + Script Purpose : Handles the quest, "prophet_and_loss.lua" + Script Author : Scatman + Script Date : 2009.08.02 + + Zone : The Ruins + Quest Giver: Lieutenant Argosian + Preceded by: Pounding the Enemy (pounding_the_enemy.lua) + Followed by: Requesting Further Orders (requesting_further_orders.lua) +--]] + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I must find and examine an old shrine guarded by Brokentusk prophets.", 20, "I should search for an old shrine guarded by prophets past the Brokentusks north of the docks. Then I should eliminate the orcs guarding it.", 1215, -67, 0, 65) + AddQuestStepKill(Quest, 2, "I must defeat four Brokentusk warriors guarding the shrine.", 4, 100, "I should search for an old shrine guarded by prophets past the Brokentusks north of the docks. Then I should eliminate the orcs guarding it.", 2489, 1270037, 1270056) + AddQuestStepKill(Quest, 3, "I must defeat four prophets around the shrine to see if they draw power from it.", 4, 100, "I should search for an old shrine guarded by prophets past the Brokentusks north of the docks. Then I should eliminate the orcs guarding it.", 2489, 1270053, 1270047) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_ExaminedShrine") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledWarriors") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledProphets") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian022b.mp3", "", "", 3696168160, 1150705872, Player) + AddConversationOption(conversation, "Yes, sir.") + StartConversation(conversation, QuestGiver, Player, "Go now, and report back when your duty is done.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_ExaminedShrine(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found the old shrine, which seems to be a relic of Shoreside.") + + if QuestIsComplete(Player, 264) then + KilledAllOrcs(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledWarriors(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated four Brokentusk warriors guarding the old shrine.") + + if QuestIsComplete(Player, 264) then + KilledAllOrcs(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledProphets(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have defeated four Brokentusk prophets, but they don't seem to gain any strength from this shrine.") + + if QuestIsComplete(Player, 264) then + KilledAllOrcs(Quest, QuestGiver, Player) + end +end + +function KilledAllOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I found the shrine and defeated the orcs guarding it.") + + AddQuestStepChat(Quest, 4, "I must report back to Lieutenant Argosian with news on the shrine.", 1, "I should report back to the lieutenant.", 0, 1270031) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have informed the lieutenant that I found the shrine.") + UpdateQuestTaskGroupDescription(Quest, 2, "I reported back to the lieutenant.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found the remains of an old shrine in the Ruins, but it does not seem to be giving any divine strength to the orcs. In fact, it seems to be a remnant of the lost community of Shoreside, which is what this area used to be called. I have reported back to Lieutenant Argosian of the Freeport Militia and told him what I found.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_ExaminedShrine(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledWarriors(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledProphets(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/reporting_for_duty.lua b/Lua/Quests/Ruins/reporting_for_duty.lua new file mode 100755 index 000000000..3a4a8688d --- /dev/null +++ b/Lua/Quests/Ruins/reporting_for_duty.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : Quests/Ruins/reporting_for_duty.lua + Script Purpose : Handles the quest, "Driving Back the Dervish" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : The Ruins + Quest Giver: Captain Arellius + Preceded by: None + Followed by: Pawns in the Game (pawns_in_the_game.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should seek out Lieutenant Argosian at the first outpost in the Ruins.", 1, "I have been ordered to speak to Lieutenant Argosian.", 0, 1270031) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the advice.", "dlg_2_14") + StartConversation(conversation, QuestGiver, Player, "Good. Oh, be sure to pay homage to the statue of our beloved Overlord. It would prove most beneficial for you to bask in the wisdom of his visage.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function dlg_2_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius018.mp3", "", "", 377300022, 2983031406, Spawn) + AddConversationOption(conversation, "I'll go see him.") + StartConversation(conversation, NPC, Spawn, "Lieutenant Argosian at the first outpost will be responsible for your initial training. Do not return to me until he has ordered you to do so.") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I spoke to the lieutenant.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have reported to Lietenant Argosian.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I followed the orders of Captain Arellius, who had me report to Lieutenant Argosian at the first outpost in the Ruins. I will now be aiding him in his quest to battle the Brokentusk orcs.") +end + +function Reload(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/requesting_further_orders.lua b/Lua/Quests/Ruins/requesting_further_orders.lua new file mode 100755 index 000000000..7741d6c9f --- /dev/null +++ b/Lua/Quests/Ruins/requesting_further_orders.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Ruins/requesting_further_orders.lua + Script Purpose : Handles the quest, "Requesting Further Orders" + Script Author : Scatman + Script Date : 2009.08.02 + + Zone : The Ruins + Quest Giver: Lieutenant Argosian + Preceded by: Prophet and Loss (prophet_and_loss.lua) + Followed by: Stepping up the Offensive (stepping_up_the_offensive.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must return to Captain Arellius to receive further orders.", 1, "I have been ordered to return to Captain Arellius.", 0, 1270003) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian027b.mp3", "", "", 3190269915, 3618413640, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Travel safely, citizen of Freeport.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Captain Arellius.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken to Captain Arellius.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I followed the orders of Lieutenant Argosian, who told me to report back to Captain Arellius at the docks in the Ruins. I will now see if I can be of further assistance in the defense of Freeport.") +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/stepping_up_the_offense.lua b/Lua/Quests/Ruins/stepping_up_the_offense.lua new file mode 100755 index 000000000..96234d421 --- /dev/null +++ b/Lua/Quests/Ruins/stepping_up_the_offense.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/Ruins/stepping_up_the_offense.lua + Script Purpose : Handles the quest, "Stepping Up the Offense" + Script Author : Scatman + Script Date : 2009.08.18 + + Zone : The Ruins + Quest Giver: Captain Arellius + Preceded by: Request Further Orders (requesting_further_orders.lua) + Followed by: Knock the Fight Out of 'Em (knock_the_fight_out_of_em.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should locate Lieutenant Imperidus at the second Militia outpost in the Ruins and speak to her.", 1, "I have been ordered by the captain to report to Lieutenant Imperidus.", 0, 1270070) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius028.mp3", "", "", 11330989, 3299447227, Player) + AddConversationOption(conversation, "I understand, Captain.") + StartConversation(conversation, QuestGiver, Player, "Again, keep in mind that even travel to the second outpost will be dangerous. Travel with companions to ensure your safety. Do not report back to me until you have followed the lieutenant's orders.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found Lietenant Imperidus deep in the Ruins.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have reported to Lieutenant Imperidus.") + UpdateQuestDescription(Quest, "I made my way through the Ruins and found the second Militia outpost, where I reported to Lieutenant Imperidus for duty.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/Ruins/vengeance_for_shoreside.lua b/Lua/Quests/Ruins/vengeance_for_shoreside.lua new file mode 100755 index 000000000..95faad752 --- /dev/null +++ b/Lua/Quests/Ruins/vengeance_for_shoreside.lua @@ -0,0 +1,116 @@ +--[[ + Script Name : Quests/Ruins/vengeance_for_shoreside.lua + Script Purpose : Handles the quest, "Vengeance for Shoreside" + Script Author : Scatman + Script Date : 2009.08.20 + + Zone : The Ruins + Quest Giver: Captain Arellius + Preceded by: Knock the Fight Out of 'Em (knock_the_fight_out_of_em.lua) + Followed by: Identifying the Lonetusk Ally (identifying_the_lonetusk_ally.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must slay five Lonetusk sentries.", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs.", 2488, 1270041, 1270049, 1270048, 1270059) + AddQuestStepKill(Quest, 2, "I must slay five Lonetusk warriors.", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs.", 2488, 1270115, 1270116, 1270113, 1270133) + AddQuestStepKill(Quest, 3, "I must slay five Lonetusk crushers.", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs.", 2488, 1270112, 1270114) + AddQuestStepKill(Quest, 4, "I must slay five Lonetusk pounders.", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs.", 2488, 1270063, 1270081) + AddQuestStepKill(Quest, 5, "I must slay five Lonetusk shamans.", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs.", 2488, 1270051, 1270052) + AddQuestStepKill(Quest, 6, "I must slay five Lonetusk prophets.", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs.", 2488, 1270117, 1270118) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSentries") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledWarriors") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledCrushers") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_KilledPounders") + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_KilledShaman") + AddQuestStepCompleteAction(Quest, 6, "Step6_Complete_KilledProphets") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus013.mp3", "", "", 1435258692, 228785667, Player) + AddConversationOption(conversation, "I like the sound of this plan.", "dlg_6_3") + StartConversation(conversation, QuestGiver, Player, "The surest way to take the fight out of the orcs is to thin their numbers. We have to show we will not tolerate their presence anymore. I need you to make a serious dent in the Lonetusk population. The streets of Shoreside must swell with the blood of these brutes.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSentries(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain five Lonetusk sentries.") + + if QuestIsComplete(Player, 287) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step2_Complete_KilledWarriors(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain five Lonetusk warriors.") + + if QuestIsComplete(Player, 287) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step3_Complete_KilledCrushers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have slain five Lonetusk crushers.") + + if QuestIsComplete(Player, 287) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step4_Complete_KilledPounders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have slain five Lonetusk pounders.") + + if QuestIsComplete(Player, 287) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step5_Complete_KilledShaman(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have slain five Lonetusk shamans.") + + if QuestIsComplete(Player, 287) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Step6_Complete_KilledProphets(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have slain five Lonetusk prophets.") + + if QuestIsComplete(Player, 287) then + Multiple_Steps_Complete(Player, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have honored the memory of Freeport's fallen by taking revenge on the Lonetusk.") + + AddQuestStepChat(Quest, 7, "I should report back to the lieutenant.", 1, "Having wiped out a considerable number of Lonetusk, I should report back to Lieutenant Imperidus.", 0, 1270070) + AddQuestStepCompleteAction(Quest, 7, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have reported back to the lieutenant.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported back to Lieutenant Imperidus.") + UpdateQuestDescription(Quest, "I killed Lonetusk orcs. Lots and lots of orcs. Lieutenant Imperidus and I both feel that we're making progress against these foul beasts, but more must be done to ensure Freeport's safety. The lieutenant has further orders for me that will hopefully help us turn the tide at last. Perhaps my efforts here have brought some measure of peace to the dead citizens of Shoreside.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSentries(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledWarriors(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledCrushers(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_KilledPounders(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_KilledShaman(Quest, QuestGiver, Player) + elseif Step == 6 then + Step6_Complete_KilledProphets(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/a_puppy_for_your_potion.lua b/Lua/Quests/ScaleYard/a_puppy_for_your_potion.lua new file mode 100755 index 000000000..5fb5fa390 --- /dev/null +++ b/Lua/Quests/ScaleYard/a_puppy_for_your_potion.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : Quests/ScaleYard/a_puppy_for_your_potion.lua + Script Purpose : Handles the quest, "A Puppy for Your Potion" + Script Author : Xanibunib + Script Date : 2009.03.13 + + Zone : The Scale Yard + Quest Giver: Brood Matron Vrim Malthyk + QuestID # : 340 + Preceded by: None + Followed by: He Said, he said (He_said_he_said.lua) +--]] + +-- Item ID's +local BOX_OF_ALCHEMY_COMPONENTS = 4537 + +function Init(Quest) + --Ancient Sebilisian Haversack + AddQuestStepChat(Quest, 1, "I need to speak with Melvin Dunford. He was last seen in a tavern located North of the Fountain of the Fallen Soldier.", 1, "Melvin Dunford, a freeport dockworker knows the location of a box of alchemy componenets that belong to Brood Matron Vrim. I need to blackmail Melvin into giving me the box.", 0, 1390050) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_Threat") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brood_matron_vrim_malthyk/fprt_hood06/rcp_vrim007.mp3", "", "", 3926366236, 3342203469, Spawn) + AddConversationOption(conversation, "With pleasure.") + StartConversation(conversation, QuestGiver, Player, "You , I want you to take this. It is the collar of his most beloved puppy, Wittens. Show it to him and inform Mr. Dunford if he does not tell me the location of the alchemy components poor little Wittens here will find himself in the company of a rather insatiable and ravenous friend of mine. One of... trollish persuasion.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + RemoveAlchemyComponents(Player) +end + +function RemoveAlchemyComponents(Player) + while HasItem(Player, BOX_OF_ALCHEMY_COMPONENTS, 1) do + RemoveItem(Player, BOX_OF_ALCHEMY_COMPONENTS) + end +end + +function Step1_Complete_Threat(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "My threats were successful! Melvin told me where I could find the alchemy compnents.") + + AddQuestStep(Quest, 2, "I must recover the box of alchemy components. They are suppose to be near the enterance to the Thieve's Way.", 1, 100, "I need to look for the stolen box of alchemy components.", 654) + + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_HaveBox") +end + +function Step2_Complete_HaveBox(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I recovered the box of stolen alchemy components. I need to bring them to Vrim.") + UpdateQuestTaskGroupDescription(Quest, 2, "I recovered the box of stolen alchemy components. I need to bring them to Vrim.") + + AddQuestStepChat(Quest, 3, "I've recovered the box of stolen alchemy components. I need to bring them to Vrim.", 1, "I need to return the box of alchemy componenets to Vrim.", 654, 1260055) + AddQuestStepCompleteAction(Quest, 3, "Step3_Quest_Complete") +end + +function Step3_Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've located the box of stolen alchemy components and returned them to Vrim. She is most pleased!") + GiveQuestReward(Quest, Player) + RemoveAlchemyComponents(Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_Threat(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_RecoBox(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/battle_on_the_home_front.lua b/Lua/Quests/ScaleYard/battle_on_the_home_front.lua new file mode 100755 index 000000000..16e14b688 --- /dev/null +++ b/Lua/Quests/ScaleYard/battle_on_the_home_front.lua @@ -0,0 +1,111 @@ +--[[ + Script Name : Quests/ScaleYard/battle_on_the_home_front.lua + Script Purpose : Quest 185, Battle On The Home Front + Script Author : Xanibunib + Script Date : 4.9.2009 + + Zone : Scale Yard + Quest Giver: Clan Chief Malachi Sleetspear + Quest ID # : 185 + Preceded by: Sound off! + Followed by: What Happens In The Scale Yard Stays... +--]] + +-- Quest ID's +local QUEST_3 = 348 -- 185 --Battle On The Home Front + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Malachi has asked me to speak with an Iksar named Issik. Issik was last seen talking to Arms Dealer Shilza.", 1, "Malachi wants me to speak with Issik, an Iksar in charge of Commonland Orc raiding parties. Malachi wants to know when his group will get to goon a raid.", 0, 1390043) + AddQuestStepCompleteAction(Quest, 1, "Step1_TalkedToIssik") +end + + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi058.mp3", "", "", 3619805885, 1780261513, Spawn) + AddConversationOption(conversation, "Sounds simple enough.") + StartConversation(conversation, NPC, Spawn, "You can find him west of the fountain at the end of the alley, near Arms Dealer Shilza. Go now.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Step1_TalkedToIssik(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I spoke to Issik. Malachi is not going to be happy. I should go tell him the news.") + + AddQuestStepChat(Quest, 2, "I need to let Malachi know the bad news.", 1, "Malachi wants me to speak with Issik, an Iksar in charge of Commonland Orc raiding parties. Malachi wants to know when his group will get to goon a raid.", 0, 1390004) + AddQuestStepCompleteAction(Quest, 2, "Step2_TalkedToChief") +end + +function Step2_TalkedToChief(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "Issik told me he chose another group of raiders instead of Malachi's group. I don't think he willbe very happy about this at all. Regardless, I need to let him know the news.") + + AddQuestStep(Quest, 3, "I need to smash the desk.", 1, 100, "Malachi is furious as Issik! Rather than kill him, Malachi has something different in mind. I am to smash the furniture in Issik's quarters and teach the Iskar a lesson! His quarters are up the stiars, just east of the docks.", 0) + AddQuestStep(Quest, 4, "I need to smash the chair.", 1, 100, "Malachi is furious as Issik! Rather than kill him, Malachi has something different in mind. I am to smash the furniture in Issik's quarters and teach the Iskar a lesson! His quarters are up the stiars, just east of the docks.", 0) + AddQuestStep(Quest, 5, "I need to smash the weapon rack.", 1, 100, "Malachi is furious as Issik! Rather than kill him, Malachi has something different in mind. I am to smash the furniture in Issik's quarters and teach the Iskar a lesson! His quarters are up the stiars, just east of the docks.", 0) + + AddQuestStepCompleteAction(Quest, 3, "Step3_SmashDesk") + AddQuestStepCompleteAction(Quest, 4, "Step4_SmashChair") + AddQuestStepCompleteAction(Quest, 5, "Step5_SmashWeaponRack") +end + +function Step3_SmashDesk(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have smashed the desk.") + + if QuestIsComplete(Player, QUEST_3) then + SmashingDone(Quest, QuestGiver, Player) + end +end + +function Step4_SmashChair(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have smashed the chair.") + + if QuestIsComplete(Player, QUEST_3) then + SmashingDone(Quest, QuestGiver, Player) + end +end + +function Step5_SmashWeaponRack(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have smashed the weapon rack.") + + if QuestIsComplete(Player, QUEST_3) then + SmashingDone(Quest, QuestGiver, Player) + end +end + +function SmashingDone(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have smashed the furiture in Issik's office. I should go speak with Malachi.") + + AddQuestStepChat(Quest, 6, "I need to tell Malachi the deed has been done.", 1, "I need to speak with Malachi", 0, 1390004) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "Malachi may not be leading any raiding parties soon, but I'm sure we taught Issik a lesson!") +--*Replace this line with the one above* UpdateQuestTaskGroupDescription(Quest, 1, "Malachi may not be leading any raiding parties soon, but I'm sure we taught Issik a lesson!") + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_TalkedToIssik(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_TalkToChief(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_SmashDesk(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_SmashChair(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_SmashWeaponRack(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/go_visit_the_sprawl.lua b/Lua/Quests/ScaleYard/go_visit_the_sprawl.lua new file mode 100755 index 000000000..474e81ccd --- /dev/null +++ b/Lua/Quests/ScaleYard/go_visit_the_sprawl.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/ScaleYard/go_visit_the_sprawl.lua + Script Purpose : Quest 203, Go Visit The Sprawl + Script Author : Xanibunib + Script Date : 4.10.2009 + + Zone : Scale Yard + Quest Giver: Clan Cheif Malachi Sleetspear + Preceded by: What Happens In The Scale Yard Stays... + Followed by: +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak to Enforcer Kurdek in the Sprawl.", 1, "", 0, 1260017) + AddQuestStepCompleteAction(Quest, 1, "Step1_Kurdek") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + PlayFlavor(QuestGiver, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi056.mp3", "", "", 3512384326, 3311708493, Player) + AddConversationOption(conversation, "Okay.", "dlg_0_0") + StartConversation(conversation, QuestGiver, Player, "Aye, you've done much already but I'm afraid after all the ruckus you stirred up, its best you find work elsewhere. Go speak to Enforcer Kurdek in the Sprawl and see if he could use your help.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function dlg_0_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi057.mp3", "", "", 3904497109, 418111137, Spawn) + AddConversationOption(conversation, "For New Halas!") + StartConversation(conversation, NPC, Spawn, "Good luck Fuhe, and remember... For New Halas!") +end + +function Step1_Kurdek(Quest, QuestGiver, Spawn) + UpdateQuestDescription(Quest, "I have spoken to Enforcer Kurdek.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Kurdek(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/he_said_he_said.lua b/Lua/Quests/ScaleYard/he_said_he_said.lua new file mode 100755 index 000000000..28519c985 --- /dev/null +++ b/Lua/Quests/ScaleYard/he_said_he_said.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/ScaleYard/he_said_he_said.lua + Script Purpose : Handles the quest, "He said, he said" + Script Author : Xanibunib + Script Date : 2009.03.13 + + + Zone : The Scale Yard + Quest Giver: Brood Matron Vrim Malthyk + QuestID # : 341 + Preceded by: A Puppy for Your Potion + Followed by: Paying Homage to the Past +--]] + + +function Init(Quest) + + -- Brood Matron's Private Reserve + -- Kunark Krisps + + AddQuestStepChat(Quest, 1, "I must speak with Tristan. He is standing near the Heated Stone Inn.", 1, "I need to manipulate two Barbarians into hating each other.", 0, 1390015) + + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_Tristan") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance (Player, QuestGiver) < 30 then + FaceTarget (QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Then, I'm off!") + StartConversation(conversation, QuestGiver, Player, "No, that should be enough to send thouse two off the deep end. You should be able to find Tristan near the Heated Stone Inn and Wesley tends to lurk around the South Freeport Gate.") + end + end +end + +function Declined(Quest, GuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Step1_Complete_Tristan(Quest, QestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Tristan.") + + AddQuestStepChat(Quest, 2, "I must speak with Wesley Tundrafoot. He is standing near the South Freeport gate.", 1, "I need to manipulate two Barbarians into hating each other.", 0, 1390026) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_Wesley") +end + +function Step2_Complete_Wesley(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Sucess! Tristan and Wesley are furious at one another!") + UpdateQuestTaskGroupDescription(Quest, 1, "Sucess! Tristan and Wesley are furious at one another!") + + AddQuestStepChat(Quest, 3, "These two Barbarians have completely fallen for my ruse. I must report back to Vrim.", 1, "I need to speak with Vrim", 0, 1260003) + AddQuestStepCompleteAction(Quest, 3, "Step3_QuestComplete") +end + +function Step3_QuestComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "Success! I have fooled the Barbarians and turned them agaisnt one another.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_Tristan(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_Wesley(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/kill_or_be_killed.lua b/Lua/Quests/ScaleYard/kill_or_be_killed.lua new file mode 100755 index 000000000..5d5655e11 --- /dev/null +++ b/Lua/Quests/ScaleYard/kill_or_be_killed.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/ScaleYard/kill_or_be_killed.lua + Script Purpose : Quest 343, Kill or be killed. + Script Author : Xanibunib + Script Date : 3.30.2009 + + Zone : Scale Yard + Quest Giver: Brood Matron Vrim Malthyk + Quest ID# : 343 + Preceded by: Paying Homeage To The Past + Followed by: Report To Enforcer Kurdak +--]] + +function Init(Quest) + --Brood Matron's Bangle of the Primogenitor + AddQuestStepKill(Quest, 1, "Anthony Glavias must be relived of his duty as a member of the Freeport Militia.", 1, 100, "Militia member, Anthony Glvias, has proven to be too incompetant to serve in the Freeport Militia. He must be relived of his duty. He is currently stationed West of the Fountain of the Fallen Soldier.", 0, 1390038) + AddQuestStepCompleteAction(Quest, 1, "AnthonyDead") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance (Player, QuestGiver) < 30 then + FaceTarget (QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brood_matron_vrim_malthyk/fprt_hood06/rcp_vrim036.mp3", "", "", 3345203705, 2408614113, Spawn) + AddConversationOption(conversation, "I understand. He will be disposed of immediately!") + StartConversation(conversation, NPC, Spawn, "Let me tell you something. After the Iksar proved their mettle tenfold to the Overlord, he pretty much allows us to run this yard anyway we see fit. Militia members included. If someone's not up to snuff... replace them.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function AnthonyDead(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have relived Anthony of his duty..") + + AddQuestStepChat(Quest, 2, "I must inform Vrim of my actions.", 1, "I must speak with Vrim.", 0, 1260003) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "Anthony Glavias has been retired.") + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + AnthonyDead(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/paying_homage_to_the_past.lua b/Lua/Quests/ScaleYard/paying_homage_to_the_past.lua new file mode 100755 index 000000000..d1c3474ed --- /dev/null +++ b/Lua/Quests/ScaleYard/paying_homage_to_the_past.lua @@ -0,0 +1,106 @@ +--[[ + Script Name : Quests/ScaleYard/paying_homage_to_the_past.lua + Script Purpose : Handles the quest, "Paying Homage to the Past" + Script Author : Xanibunib + Script Date : 2009.03.14 + + Zone : The Scale Yard + Quest Giver : Brood Matron Vrim Malthyk + QuestID # : 342 + Preceded by : He said, he said + Followed by : Kill or be Killed +--]] + +-- Item ID's +local IKSAR_SKULL = 8251 + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I must smash the ancient Shissar vase. No remants of our former oppressors shouldbe allowed to exist.", 1, 100, "The ritual states that I must destroy an object from the ancient Shissar civilization. I should look around Vrim's quarters. She lives up the stairs, northeast of the docks.", 569, 1390059) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_Asp") + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance (Player, QuestGiver) < 30 then + FaceTarget (QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brood_matron_vrim_malthyk/fprt_hood06/rcp_vrim028.mp3", "", "", 2174236902, 836114620, Spawn) + AddConversationOption(conversation, "I take my leave.") + StartConversation(conversation, NPC, Spawn, "Good. This ritual will begin to teach you about our people. Go now to my quarters, up the stairs to the East. I have prepared most everything you will need to complete the ritual.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + RemoveIksarSkull(Player) +end + +function RemoveIksarSkull(Player) + while HasItem(Player, IKSAR_SKULL, 1) do + RemoveItem(Player, IKSAR_SKULL) + end +end + +function Step1_Complete_Asp(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have destroyed the Shissar vase and killed an asp that was hiding within it...") + + AddQuestStepHarvest(Quest, 2, "I must collect five skulls of fallen Iksar.", 5, 100, "I Must gather several Iksar skulls scattered across the Scale Yard.", 91, IKSAR_SKULL) + + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_GotSkulls") +end + +function Step2_Complete_GotSkulls(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have collected the skulls.") + + + AddQuestStep(Quest, 3, "I must place the skulls in the brazier.", 1, 100, "I must place the skulls in the brazier and set them ablaze. I saw a brazier in Vrim's quarters, up the stairs, northeast of the docks.", 0) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_SkullsInFire") +end + +function Step3_Complete_SkullsInFire(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have placed the skulls in the fire.") + + RemoveIksarSkull(Player) + AddQuestStep(Quest, 4, "I need to take the shackles off the wall.", 1, 100, "It Appears that the Iksar were once enslave by the Overlord. However, after proving their mettle during the Battle of Defiance, the Iksar were allowed to live freely in the Scale Yard. I am to take the old shackles from the time of enslavement and cast them into the sea!", 0) + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_HaveShackles") +end + +function Step4_Complete_HaveShackles(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 4, "I've taken the shackles.") + + AddQuestStepLocation(Quest, 5, "I must cast the shackles into the sea.", 30, "I need to toss the shackles into the sea. I can do so at the docks.", 0, 0, -4.5, 105) + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_TossShackles") +end + +function Step5_Complete_TossShackles(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 5, "I have cast the shackles into the sea! Never again will the Iksar be imprisoned by a lesser race!") + + AddQuestStepChat(Quest, 6, "I have completed all the tasks mentioned in the tome. Though only a short lesson, I feel I know much more about the past glories and struggles my people have endured.", 1, "The ritual is complete. I must speak with Vrim", 0, 1260003) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have completed the ritual described in the ancient tome.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_Asp(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_GotSkulls(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_SkullsInFire(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_HaveShackles(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_TossShackles(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/report_to_enforcer_kurdek.lua b/Lua/Quests/ScaleYard/report_to_enforcer_kurdek.lua new file mode 100755 index 000000000..293beb453 --- /dev/null +++ b/Lua/Quests/ScaleYard/report_to_enforcer_kurdek.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Quests/ScaleYard/report_to_enforcer_kurdek.lua + Script Purpose : Quest 344, Report To Enforcer Kurdek + Script Author : Xanibunib + Script Date : 4.10.2009 + + Zone : Scale Yard + Quest Giver: Brood Matron Vrim Malthyk + Preceded by: Report To Enforcer Kurdek + Followed by: +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I need to speak to Enforcer Kurdek in the Sprawl.", 1, "", 0, 1260017) + AddQuestStepCompleteAction(Quest, 1, "Step1_Kurdek") + + + +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Kurdek(Quest, QuestGiver, Spawn) + UpdateQuestDescription(Quest, "I have spoken to Enforcer Kurdek.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Kurdek(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/sound_off.lua b/Lua/Quests/ScaleYard/sound_off.lua new file mode 100755 index 000000000..cd3a2e285 --- /dev/null +++ b/Lua/Quests/ScaleYard/sound_off.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/ScaleYard/sound_off.lua + Script Purpose : Quest "Sound Off!" + Script Author : Xanibunib + Script Date : 4.5.2009 + + Zone : Scale Yard + Quest Giver: Clan Cheif Malachi Sleetspear + Quest ID # : 183 + Preceded by: Wasp What I Can Do + Followed by: Battle On The Home Front +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to yell at Vleske Vylkle. I think I see him standing near some stairs.", 1, "I need to yell a fierce war cry at several people here in the Scale Yard!", 0, 1390005) + AddQuestStepCompleteAction(Quest, 1, "Step1_YelledAtVleske") +end + + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi046.mp3", "", "", 408175612, 3827489644, Spawn) + AddConversationOption(conversation, "They're going to be begging me for forgiveness!") + StartConversation(conversation, NPC, Spawn, "That's it! Scare the ugly right off an ogre, I bet you could. Now let me see that journal of yours. I got a list of people who could use a good yellin'. Go to each of these people, look 'em in the eye and let loose your fiercest howl.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Step1_YelledAtVleske(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Vleske did not seem impressed at my war cry.") + + AddQuestStepChat(Quest, 2, "I need to yell at Caleb Brazenroot. He was seen near the Heated Stone Inn.", 1, "I need to yell a fierce war cry at several people here in the Scale Yard!", 0, 1390016) + AddQuestStepCompleteAction(Quest, 2, "Step2_YelledAtCaleb") +end + +function Step2_YelledAtCaleb(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Apparently Malachi taught Caleb his war cry as well.") + + AddQuestStepChat(Quest, 3, "I need to yell at Jondy Cobbleblork. He is said to be near the Freeport Reserve.", 1, "I need to yell a fierce war cry at several people here in the Scale Yard!", 0, 1390042) + AddQuestStepCompleteAction(Quest, 3, "Step3_YelledAtJondy") +end + +function Step3_YelledAtJondy(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I yelled at everyone Malachi told me to yell at.") + + AddQuestStepChat(Quest, 4, "I should let Malachi know I've yelled at everyone.", 1, "I should go speak with Malachi", 0, 1390004) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "Though not everyone was blindly intimidated by my menancing war cry, I did manage to frighten a rather... tenacious looking gnome into submission! I must practice on more people... after I gargle with some saltwater.") + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_YelledAtVleske(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_YelledAtCaleb(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_YelledAtJondy(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/wasp_what_i_can_do.lua b/Lua/Quests/ScaleYard/wasp_what_i_can_do.lua new file mode 100755 index 000000000..2419c4e11 --- /dev/null +++ b/Lua/Quests/ScaleYard/wasp_what_i_can_do.lua @@ -0,0 +1,83 @@ +--[[ + Script Name : Quests/ScaleYard/wasp_what_i_can_do.lua + Script Purpose : Quest, "Wasp What I Can Do" + Script Author : Xanibunib + Script Date : 4.4.209 + + Zone : Scale Yard + Quest Giver: Clan Chief Malachi Sleetspear + Quest ID# : 175 + Preceded by: none + Followed by: Sound Off! +--]] + +-- Quest ID's +QUEST_1 = 346 -- 175 --Wasp What I Can Do + +function Init(Quest) + + AddQuestStepKill(Quest, 1, "I need to kill several wasps.", 4, 100, "I need to take care of the wasps near the Freeport Reserve.", 611, 1390035) + AddQuestStep(Quest, 2, "I must destroy the wasp hive.", 1, 100, "I need to take care of the wasps near the Freeport Reserve.", 0) + + AddQuestStepCompleteAction(Quest, 1, "Step1_WaspsDead") + AddQuestStepCompleteAction(Quest, 2, "Step2_HiveDestro") + + +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi007.mp3", "", "", 3983810535, 3176793285, Spawn) + AddConversationOption(conversation, "Ha! I thought this was going to be challenging! I’ll be right back!") + StartConversation(conversation, NPC, Spawn, "Go over there and get rid of that flying vermin and dispose of their hive. You’ll make fast friends clearing up this mess and establish the fact that yer handy in a tussle.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Step1_WaspsDead(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed several wasps.") + + if QuestIsComplete(Player, QUEST_1) then + OneAndTwoComplete(Quest, QuestGiver, Player) + end +end + +function Step2_HiveDestro(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have destroyed the wasp hive.") + + if QuestIsComplete(Player, QUEST_1) then + OneAndTwoComplete(Quest, QuestGiver, Player) + end +end + +function OneAndTwoComplete(Quest,QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have proved that I am indeed strong enough to survive in the Scale Yard.") + + AddQuestStepChat(Quest, 3, "I should let malachi know I've delt with the wasps.", 1, "I've taken care of the wasps and need to talk to Malachi.", 0, 1390004) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have destroyed the wasps and their hive at Malachi's request. Though they may not openly showit, I'm sure the residents of the Scale Yard appreciate my efforts.") + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_WaspDead(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_HiveDestro(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_OneAndTwoComplete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ScaleYard/what_happens_in_the_scale_yard_stays.lua b/Lua/Quests/ScaleYard/what_happens_in_the_scale_yard_stays.lua new file mode 100755 index 000000000..b63815cc3 --- /dev/null +++ b/Lua/Quests/ScaleYard/what_happens_in_the_scale_yard_stays.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/ScaleYard/what_happens_in_the_scale_yard_stays.lua + Script Purpose : Quest 185, What Happens In The Scale Yard Stays... + Script Author : Xanibunib + Script Date : 4.10.2009 + + + Zone : Scale Yard + Quest Giver: Clan Cheif Malachi Sleetspear + Preceded by: Battle On The Home Front + Followed by: Report to Kurdek. +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to slay the shadowy agents!", 2, 100, "I must intercept the agents that saw me trash Issik's quarters!", 611, 1390007) + AddQuestStepCompleteAction(Quest, 1, "Step1_KillAgents") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi050.mp3", "", "", 2097942464, 2987521072, Spawn) + AddConversationOption(conversation, "Won't the guards assist the agents?", "dlg_4_3") + AddConversationOption(conversation, "I'm gone!") + StartConversation(conversation, NPC, Spawn, "Go and silence the agents. They're probably still lurking near Issik's quarters. Go now and strike quickly before they slip away.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Step1_KillAgents(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have disposed of the agents and prevented them from finishing their report.") + + AddQuestStepChat(Quest, 2, "I need to speak with Malachi.", 1, "I need to tell Malachi that I have silenced the agents!", 0, 1390004) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I arrived just in time! The gents were still there and I was able to dispatch them before they had a chance to submit their report.") + + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_KillAgents(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/advanced_problem_solving.lua b/Lua/Quests/Sprawl/advanced_problem_solving.lua new file mode 100755 index 000000000..1075daba9 --- /dev/null +++ b/Lua/Quests/Sprawl/advanced_problem_solving.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/TheSprawl/advanced_problem_solving.lua + Script Purpose : Handles the quest, "Advanced Problem Solving" + Script Author : Scatman + Script Date : 2009.07.26 + + Zone : The Sprawl + Quest Giver: Crispin Luvinius + Preceded by: Problem Solving (problem_solving.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to beat up five Giantslayer bashers.", 5, 100, "I've heard that Giantslayer bashers hang out in the Sprawl. I should pay them a little visit.", 611, 1260122, 1260032, 1260041, 1260043, 1260031, 1260121, 1260123) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledBashers") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yah, yah.") + StartConversation(conversation, QuestGiver, Player, "Good, maybe you'll earn some respect with us.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledBashers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've beat down five Giantslayer bashers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've sent the Giantslayers a message that they shouldn't listen to vagrants who tell tall tales.") + + AddQuestStepChat(Quest, 2, "I need to talk with Crispin.", 1, "I should let Crispin know that he and his gang have nothing to worry about.", 0, 1260004) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with Crispin.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've let Crispin know these guys won't be bothering them anymore.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I've taken care of Crispin's problem. It seems that the guy isn't as tough as he acts.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_KilledBashers(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/bullying_the_bully.lua b/Lua/Quests/Sprawl/bullying_the_bully.lua new file mode 100755 index 000000000..481701636 --- /dev/null +++ b/Lua/Quests/Sprawl/bullying_the_bully.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/TheSprawl/bullying_the_bully.lua + Script Purpose : Handles the quest, "Bullying the Bully" + Script Author : Scatman + Script Date : 2009.07.25 + + Zone : The Sprawl + Quest Giver: Enforcer Kurdek + Preceded by: Training Will Get You Everywhere (training_will_get_you_everywhere.lua) + Followed by: Investigating the Black Magi (investigating_the_black_magi.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should confront Brutemaster Tarden and make him shape up.", 1, "I should find Brutemaster Tarden and show him who's boss.", 0, 1260044) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithTarden") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek025.mp3", "", "point", 3099557772, 3849829090, Player) + AddConversationOption(conversation, "I'll do it!") + StartConversation(conversation, QuestGiver, Player, "Use whatever means are necessary to teach him a lesson. Don't be afraid to push him around, because all these Giantslayers understand is violence. Now get going!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithTarden(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I intimidated Brutemaster Tarden into doing a better job.") + UpdateQuestTaskGroupDescription(Quest, 1, "I cornered Brutemaster Tardin and roughed him up a bit.") + + AddQuestStepChat(Quest, 2, "I should return to Enforcer Kurdek near the gate to Big Bend.", 1, "I should return to Enforcer Kurdek and tell him my task was a success.", 0, 1260006) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned to Enforcer Kurdek.") + UpdateQuestTaskGroupDescription(Quest, 2, "Enforcer Kurdek is pleased that I taught Brutemaster Tarden a lesson.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I confronted the leader of the Giantslayers, a barbarian named Brutemaster Tarden. He didn't show me much respect, but after using Dreadnaught tactics to rough him up a bit, he wisened up. Enforcer Kurdek seemed very pleased with my performance.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_SpokeWithTarden(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/dominating_the_dervish.lua b/Lua/Quests/Sprawl/dominating_the_dervish.lua new file mode 100755 index 000000000..adb9d18fe --- /dev/null +++ b/Lua/Quests/Sprawl/dominating_the_dervish.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : Quests/TheSprawl/dominating_the_dervish.lua + Script Purpose : Handles the quest, "Dominating the Dervish" + Script Author : Scatman + Script Date : 2009.07.26 + + Zone : The Sprawl + Quest Giver: Enforcer Kurdek + Preceded by: Investigating the Black Magi (investigating_the_black_magi.lua) + Followed by: Heading into the Ruins (heading_into_the_ruins.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to deliver a beating to four Dervish hooligans.", 4, 100, "I need to defeat some Dervish in battle.", 0, 1260014, 1260008, 1260015, 1260010, 1260011, 1260012, 1260118, 1260021) + AddQuestStepKill(Quest, 2, "I must defeat four Dervish hoodlums.", 4, 100, "I need to defeat some Dervish in battle.", 0, 1260110, 1260091, 1260067, 1260092, 1260111, 1260073, 1260073, 1260119, 1260103, 1260090, 1260065, 1260066, 1260113) + AddQuestStepKill(Quest, 3, "I must best two Dervish crooks in battle.", 2, 100, "I need to defeat some Dervish in battle.", 0, 1260098, 1260105, 1260100, 1260096, 1260117, 1260099, 1260089, 1260115, 1260114, 1260102, 1260101, 1260116) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledHooligans") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledHoodlums") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledCrooks") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek039.mp3", "", "", 2511484682, 858916391, Player) + AddConversationOption(conversation, "I'll do my best.") + StartConversation(conversation, QuestGiver, Player, "Take out some of the Dervish hooligans, hoodlums, and crooks. You may have to fight your way deeper in to find some of them. Watch your back, because the Dervish don't fight fairly. But then again, neither should you! Return to me when you've taught them a lesson, and I'll reward you handsomely on behalf of the Dreadnaughts.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledHooligans(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated four Dervish hooligans.") + + if QuestIsComplete(Player, 256) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledHoodlums(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have crushed four Dervish hoodlums") + + if QuestIsComplete(Player, 256) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledCrooks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I must best two Dervish crooks in battle.") + + if QuestIsComplete(Player, 256) then + Multiple_Steps_Complete(Quest, QuestGiver, Player) + end +end + +function Multiple_Steps_Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have taught the Dervish a lesson they won't soon forget") + + AddQuestStepChat(Quest, 4, "I should proclaim my victory to Enforcer Kurdek.", 1, "I should return to Enforcer Kurdek and tell him that I punished the Dervish.", 0, 1260006) + AddQuestStepCompleteAction(Quest, 4, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have informed Enforcer Kurdek of my success.") + UpdateQuestTaskGroupDescription(Quest, 2, "I reported back to Enforcer Kurdek.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I defeated a lot of Dervish, but they seem to have established a strong foothold here in the Sprawl. Hopefully my efforts will help the Dreadnaughts maintain control and keep them out of Freeport proper.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_KilledHooligans(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledHoodlums(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledCrooks(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/driving_back_the_dervish.lua b/Lua/Quests/Sprawl/driving_back_the_dervish.lua new file mode 100755 index 000000000..818c5160a --- /dev/null +++ b/Lua/Quests/Sprawl/driving_back_the_dervish.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/TheSprawl/driving_back_the_dervish.lua + Script Purpose : Handles the quest, "Driving Back the Dervish" + Script Author : Scatman + Script Date : 2009.07.27 + + Zone : The Sprawl + Quest Giver: Liege Aquila + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must defeat eight Dervish crooks.", 8, 100, "I must battle the Dervish to keep them in line.", 611, 1260115, 1260114, 1260102, 1260101, 1260116, 1260098, 1260105, 1260100, 1260096, 1260117, 1260099, 1260089) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledCrooks") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will do so.") + StartConversation(conversation, QuestGiver, Player, "Glad to hear it. Defeat them and return to me for your payment.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledCrooks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've defeated the Dervish in battle.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've taught the Dervish a lesson.") + + AddQuestStepChat(Quest, 2, "I should report back to Liege Aquila.", 1, "I should report back to Liege Aquila near the gate to the Ruins.", 0, 1260109) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have reported back to Liege Aquila.") + UpdateQuestTaskGroupDescription(Quest, 2, "I reported back to Liege Aquila.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I fought back against the Dervish in the Sprawl. So far they seem to be contained, but their numbers are significant. I fear this battle will be ongoing.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_KilledCrooks(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/heading_to_the_ruins.lua b/Lua/Quests/Sprawl/heading_to_the_ruins.lua new file mode 100755 index 000000000..2d3cb4c10 --- /dev/null +++ b/Lua/Quests/Sprawl/heading_to_the_ruins.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/TheSprawl/heading_into_the_ruins.lua + Script Purpose : Handles the quest, "Heading into the Ruins" + Script Author : Scatman + Script Date : 2009.07.26 + + Zone : The Sprawl + Quest Giver: Enforcer Kurdek + Preceded by: Dominating the Dervish (dominating_the_dervish.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must make my way to the Freeport Ruins and speak to Captain Arellius. I should return to the docks of my home district and use the bell to summon transport outside of Freeport proper.", 1, "I should make my way to the Ruins and speak to to Captain Arellius.", 0, 1270003) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek043.mp3", "", "", 1861012696, 1699746787, Player) + AddConversationOption(conversation, "How should I get there?", "dlg_32_4") + StartConversation(conversation, QuestGiver, Player, "Don't linger here too long, adventurer. I just got word of something major happening in the Ruins of old Freeport. You need to get there as soon as possible and lend a hand in defending the city.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I made my way to the Ruins and have spoken to Captain Arellius.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Captain Arellius in the Ruins.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found the Ruins and have reported to Captain Arellius. I will now see what duties she needs me to perform.") +end + +function Reload(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/investigating_the_black_magi.lua b/Lua/Quests/Sprawl/investigating_the_black_magi.lua new file mode 100755 index 000000000..0a13a4007 --- /dev/null +++ b/Lua/Quests/Sprawl/investigating_the_black_magi.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/TheSprawl/investigating_the_black_magi.lua + Script Purpose : Handles the quest, "Investigating the Black Magi" + Script Author : Scatman + Script Date : 2009.07.26 + + Zone : The Sprawl + Quest Giver: Enforcer Kurdek + Preceded by: Bullying the Bully (bullying_the_bully.lua) + Followed by: Dominating the Dervish (dominating_the_dervish.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should look for a ratonga named Tikkeri and trick her into revealing information about the Black Magi.", 1, "I should seek a ratonga named Tikkeri deep inside the Black Magi area.", 0, 1260094) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithTikkeri") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek030.mp3", "", "", 903390823, 1009474399, Player) + AddConversationOption(conversation, "Do you have any suggestions on how I could get her to trust me?", "dlg_27_5") + AddConversationOption(conversation, "This sounds like a lost cause.") + StartConversation(conversation, QuestGiver, Player, "Far back among the burned-out houses they inhabit is one of their leaders, a rat named Tikkeri. Find her and see if she'll talk to you. The Black Magi are extremely secretive, so I'm not sure if Tikkeri will trust you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithTikkeri(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found Arcanist Tikkeri and learned a clue about some organization called 'the Marked.'") + UpdateQuestTaskGroupDescription(Quest, 1, "I found Arcanist Tikkeri and found out about some organization called 'the Marked.'") + + AddQuestStepChat(Quest, 2, "I should return to Enforcer Kurdek near the gate to Big Bend.", 1, "I should return to Enforcer Kurdek and tell him what I learned.", 0, 1260006) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have reported back to Enforcer Kurdek.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported back to Enforcer Kurdek.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found Arcanish Tikkeri deep inside the Sprawl and tried to trick her by pretending that I had information about some kind of wheel. She saw through my plan, but not before I found out about some organization called 'the Marked.' I let Enforcer Kurdek know what I found out, and he will let the Dreadnaughts know so that the matter can be investigated more fully.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_SpokeWithTikkeri(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/problem_solving.lua b/Lua/Quests/Sprawl/problem_solving.lua new file mode 100755 index 000000000..d8f0961db --- /dev/null +++ b/Lua/Quests/Sprawl/problem_solving.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/TheSprawl/problem_solving.lua + Script Purpose : Handles the quest, "Problem Solving" + Script Author : Scatman + Script Date : 2009.07.26 + + Zone : The Sprawl + Quest Giver: Crispin Luvinius + Preceded by: None + Followed by: Advanced Problem Solving (advanced_problem_solving.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill five Dervish hoodlums.", 5, 100, "I need to send a message to the Dervish hoodlums in the Sprawl. The message will involve a lot of them breathing dirt.", 611, 1260092, 1260067, 1260111, 1260073, 1260112, 1260119, 1260103, 1260090, 1260065, 1260066, 1260113, 1260110, 1260091) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledHoodlums") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Come back when you're done.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledHoodlums(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've dealt with the hoodlums.") + UpdateQuestTaskGroupDescription(Quest, 1, "Those hoodlums got the message loud and clear.") + + AddQuestStepChat(Quest, 2, "I need to talk with Crispin.", 1, "I should let Crispin in know that his problem has been solved. I should get paid, too.", 0, 1260004) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with Crispin.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've let Crispin know that I've solved his problem.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I've taken care of Crispin's problem. I think it won't be too long before his business partner decides to do what he was told to do.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_KilledHoodlums(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/show_em_whos_boss.lua b/Lua/Quests/Sprawl/show_em_whos_boss.lua new file mode 100755 index 000000000..027c91649 --- /dev/null +++ b/Lua/Quests/Sprawl/show_em_whos_boss.lua @@ -0,0 +1,109 @@ +--[[ + Script Name : Quests/TheSprawl/show_em_whos_boss.lua + Script Purpose : Handles the quest, "Show 'Em Who's Boss" + Script Author : Scatman + Script Date : 2009.07.26 + + Zone : The Sprawl + Quest Giver: Trainer Durbok + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + local choice = math.random(1, 6) + if choice == 1 then + AddQuestStepKill(Quest, 1, "I should deliver a beating to six Dervish crooks.", 6, 100, "I need to defeat some rival gang members to show them the Dreadnaughts cannot be trifled with.", 611, ID) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledCrooks") + elseif choice == 2 then + AddQuestStepKill(Quest, 1, "I should deliver a beating to six Dervish hoodlums.", 6, 100, "I need to defeat some rival gang members to show them the Dreadnaughts cannot be trifled with.", 611, ID) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledHoodlums") + elseif choice == 3 then + AddQuestStepKill(Quest, 1, "I should deliver a beating to six Black Magi anarchists.", 6, 100, "I need to defeat some rival gang members to show them the Dreadnaughts cannot be trifled with.", 611, ID) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledAnarchists") + elseif choice == 4 then + AddQuestStepKill(Quest, 1, "I should deliver a beating to six Black Magi fanatics.", 6, 100, "I need to defeat some rival gang members to show them the Dreadnaughts cannot be trifled with.", 611, ID) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledFanatics") + elseif choice == 5 then + AddQuestStepKill(Quest, 1, "I should deliver a beating to six Black Magi dissidents.", 6, 100, "I need to defeat some rival gang members to show them the Dreadnaughts cannot be trifled with.", 611, ID) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledDissidents") + elseif choice == 6 then + AddQuestStepKill(Quest, 1, "I should deliver a beating to six Black Magi insurgents.", 6, 100, "I need to defeat some rival gang members to show them the Dreadnaughts cannot be trifled with.", 611, ID) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledInsurgents") + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok008.mp3", "", "", 2693497223, 3993753671, Player) + AddConversationOption(conversation, "Will do.") + StartConversation(conversation, QuestGiver, Player, "Sounds good. I'll jot down the particulars in your journal. Come back to me for payment when you're finished showing those scum who's boss.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledCrooks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated six Dervish crooks.") + Step1_Complete_NextStep(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledHoodlums(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated six Dervish hoodlums.") + Step1_Complete_NextStep(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledAnarchists(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated six Black Magi anarchists.") + Step1_Complete_NextStep(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledFanatics(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated six Black Magi fanatics.") + Step1_Complete_NextStep(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledDissidents(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated six Black Magi dissidents.") + Step1_Complete_NextStep(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledInsurgents(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated six Black Magi insurgents.") + Step1_Complete_NextStep(Quest, QuestGiver, Player) +end + +function Step1_Complete_NextStep(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I taught the Dreadnaughts' rivals a valuable lesson in pain.") + + AddQuestStepChat(Quest, 2, "I should return to Trainer Durbok near the Giantslayers for my reward.", 1, "Having taught those thugs a lesson, I should return to Trainer Durbok.", 0, 1260027) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have received my reward from Trainer Durbok.") + UpdateQuestTaskGroupDescription(Quest, 2, "I let Trainer Durbok know my efforts were a success.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have defeated the enemies of the Dreadnaughts and taught those rival gangs a lesson. The Sprawl should be a bit more orderly thanks to my efforts.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + local choice = math.random(1, 6) + if choice == 1 then + Step1_Complete_KilledCrooks(Quest, QuestGiver, Player) + elseif choice == 2 then + Step1_Complete_KilledHoodlums(Quest, QuestGiver, Player) + elseif choice == 3 then + Step1_Complete_KilledAnarchists(Quest, QuestGiver, Player) + elseif choice == 4 then + Step1_Complete_KilledFanatics(Quest, QuestGiver, Player) + elseif choice == 5 then + Step1_Complete_KilledDissidents(Quest, QuestGiver, Player) + elseif choice == 6 then + Step1_Complete_KilledInsurgents(Quest, QuestGiver, Player) + end + end +end \ No newline at end of file diff --git a/Lua/Quests/Sprawl/training_will_get_you_everywhere.lua b/Lua/Quests/Sprawl/training_will_get_you_everywhere.lua new file mode 100755 index 000000000..dea672581 --- /dev/null +++ b/Lua/Quests/Sprawl/training_will_get_you_everywhere.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/TheSprawl/training_will_get_you_everywhere.lua + Script Purpose : Handles the quest, "Training Will Get You Everywhere" + Script Author : Scatman + Script Date : 2009.07.25 + + Zone : The Sprawl + Quest Giver: Enforcer Kurdek + Preceded by: None + Followed by: Bullying the Bully (bullying_the_bully.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must find Trainer Durbok and ask him how his training of the Giantslayers is progressing.", 1, "I need to speak to Trainer Durbok, who is teaching combat to the Giantslayers.", 0, 1260027) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithDurbok") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek020.mp3", "", "", 593639931, 1053980414, Player) + AddConversationOption(conversation, "I'll be back when I have your information.") + StartConversation(conversation, QuestGiver, Player, "Trainer Durbok can be found ahead and to the right. Just follow the path to the west and north. You'll pass a whole lot of Giantslayers, but don't let them intimidate you. Remember, you're on official Dreadnaught business!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithDurbok(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Trainer Durbok, who is displeased with the progress of the Giantslayers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken to Trainer Durbok and must tell Enforcer Kurdek what I have learned.") + + AddQuestStepChat(Quest, 2, "I should return to Enforcer Kurdek near the gate to Big Bend.", 1, "I must return to Enforcer Kurdek with my report.", 0, 1260006) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned to Enforcer Kurdek and told him what I learned from Trainer Durbok.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported back to Enforcer Kurdek.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I spoke with Trainer Durbok, who feels that the Giantslayers are not focused enough on their training. He feels that their leader, Brutemaster Tarden, is responsible for this failing. Enforcer Kurdek has been notified and is none too happy about it.") +end + +function Reload(Quest, QuestGiver, Player) + if Step == 1 then + Step1_Complete_SpokeWithDurbok(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/StarcrestCommune/AngeliasCorrespondence.lua b/Lua/Quests/StarcrestCommune/AngeliasCorrespondence.lua new file mode 100755 index 000000000..5c50717dc --- /dev/null +++ b/Lua/Quests/StarcrestCommune/AngeliasCorrespondence.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/StarcrestCommune/AngeliasCorrespondence.lua + Script Author : Jabantiz + Script Date : 2018.06.14 08:06:17 + Script Purpose : + + Zone : StarcrestCommune + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/StarcrestCommune/BogSludgeHunt.lua b/Lua/Quests/StarcrestCommune/BogSludgeHunt.lua new file mode 100755 index 000000000..18f0d08a3 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/BogSludgeHunt.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : BogSludgeHunt.lua + Script Purpose : Handles the quest, "Bog Sludge Hunt" + Script Author : EmemJr + Script Date : 10/28/2017 + Script Notes : + + Zone : Peat Bog + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill several bog sludges", 10, 100, "I need to kill Bog Sludges in the Peat Bog.", 346, 1980002) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the bog sludges.") + + AddQuestStepChat(Quest, 2, "I need to return to Captain Santis.", 1, "I should return to Captain Santis for my reward.", 11, 2340018) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I spoke to Captain Santis.") + UpdateQuestTaskGroupDescription(Quest, 2, "I received my reward for defeating the Bog Sludges.") + + UpdateQuestDescription(Quest, "I was able to make the Peat Bog a little safer for others by getting rid of several Bog Sludges. I also made a little coin on the side thanks to the payment from Captain Santis.
") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + + diff --git a/Lua/Quests/StarcrestCommune/BuildingFawnsGarden.lua b/Lua/Quests/StarcrestCommune/BuildingFawnsGarden.lua new file mode 100755 index 000000000..ccb7339a8 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/BuildingFawnsGarden.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : BuildingFawnsGarden.lua + Script Purpose : Handles the quest, "Building Fawn's Garden" + Script Author : Ememjr + Script Date : 10/29/2017 + Script Notes : + + Zone : Starcrest Commune + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to kill sand covered crabs to obtain their diatomaceous sand for Fawn's garden.", 5, 90, "She told me that I can probably find what she requires off of various creatures in Antonica. Some diatomaceous sand to add to her soil will help protect her garden, some fish eggs for fertilizer and some seeds to get her started should be a good start.", 11, 120417,120750,121479) + AddQuestStepKill(Quest, 2, "I need to gather some fish eggs from Coldwind barracuda off the coast of Antonica.", 5, 90, "She told me that I can probably find what she requires off of various creatures in Antonica. Some diatomaceous sand to add to her soil will help protect her garden, some fish eggs for fertilizer and some seeds to get her started should be a good start.", 11, 120081, 121238) + AddQuestStepKill(Quest, 3, "I need to gather some seeds from the fur of Antonican mammals.", 5, 90, "She told me that I can probably find what she requires off of various creatures in Antonica. Some diatomaceous sand to add to her soil will help protect her garden, some fish eggs for fertilizer and some seeds to get her started should be a good start.", 11, 120257,120119,120008) + + + + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete") + +end + +function step1_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've managed to gather the sand needed for Fawn's garden.") + if QuestIsComplete(Player, EbiksMissingParts) then + givePartsToEbik(Quest, QuestGiver, Player) + end +end + +function step2_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, " I've gathered enough fish eggs for Fawn's garden.") + if QuestIsComplete(Player, EbiksMissingParts) then + givePartsToEbik(Quest, QuestGiver, Player) + end +end + +function step3_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, " I've gathered enough seeds for Fawn to use in her garden.") + if QuestIsComplete(Player, EbiksMissingParts) then + givePartsToEbik(Quest, QuestGiver, Player) + end +end +function giveitemstoFawn(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've managed to gather everything for Fawn Starstone's garden.") + AddQuestStepChat(Quest, 4, " Return to Fawn in Starcrest Commune.", 1, "I need to give these items to Fawn for her garden.", 0, 2530059) + AddQuestStepCompleteAction(Quest, 4, "quest_complete_gavePartsToEbik") +end +function quest_complete_gaveitemstoFawn(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I've given Fawn the items she needs for her garden.") + UpdateQuestDescription(Quest, "I've gathered the items Fawn needs for her garden. She was so appreciative, she gave me a little gift for my efforts.") + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + --if Step == 1 then + -- QuestComplete(Quest, QuestGiver, Player) + --end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/StarcrestCommune/EruditeDebate.lua b/Lua/Quests/StarcrestCommune/EruditeDebate.lua new file mode 100755 index 000000000..c4f27c238 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/EruditeDebate.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/StarcrestCommune/EruditeDebate.lua + Script Author : Jabantiz + Script Date : 2017.12.30 05:12:26 + Script Purpose : + + Zone : StarcrestCommune + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/StarcrestCommune/FarnsbysNewAxe.lua b/Lua/Quests/StarcrestCommune/FarnsbysNewAxe.lua new file mode 100755 index 000000000..e77a0174c --- /dev/null +++ b/Lua/Quests/StarcrestCommune/FarnsbysNewAxe.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/StarcrestCommune/FarnsbysNewAxe.lua + Script Author : Jabantiz + Script Date : 2017.12.30 05:12:15 + Script Purpose : + + Zone : StarcrestCommune + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/StarcrestCommune/GatheringGlowmyst.lua b/Lua/Quests/StarcrestCommune/GatheringGlowmyst.lua new file mode 100755 index 000000000..15711af11 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/GatheringGlowmyst.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/StarcrestCommune/GatheringGlowmyst.lua + Script Purpose : Handles the quest, "Gathering Glowmyst" + Script Author : Jabantiz + Script Date : 6/15/2018 + Script Notes : + + Zone : Starcrest Commune + Quest Giver : Bermo (2340025) + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must gather glowmyst from the beetles in Oakmyst Forest", 10, 100, "I need to gather up glowmyst juice from Oakmyst Forest, reachable by any number of mariner bells within Qeynos, by hunting down glowmyst beetles.", 1204, 1950002) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gathered the glowmyst Bermo needed.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've successfully gathered the glowmyst juice I need!") + + AddQuestStepChat(Quest, 2, "I need to return to Bartender Bermo", 1, "I should return to Bartender Bermo in the Lion's Mane Inn and Tavern in the Qeynos Capitol District.", 11, 2340025) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I've spoken with Bartender Bermo.") + UpdateQuestTaskGroupDescription(Quest, 2, "I spoke with Bartender Bermo regarding the glowmyst juice I brought him.") + + UpdateQuestDescription(Quest, "I returned to Bartender Bermo with all the juice he needed. Finding all ten beetles took quite some time, but in the end I persevered!") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end \ No newline at end of file diff --git a/Lua/Quests/StarcrestCommune/KittyWantstoPlay.lua b/Lua/Quests/StarcrestCommune/KittyWantstoPlay.lua new file mode 100755 index 000000000..ffd3aa089 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/KittyWantstoPlay.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/StarcrestCommune/KittyWantstoPlay.lua + Script Author : Jabantiz + Script Date : 2017.12.30 05:12:38 + Script Purpose : + + Zone : StarcrestCommune + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/StarcrestCommune/SoberingRemedy.lua b/Lua/Quests/StarcrestCommune/SoberingRemedy.lua new file mode 100755 index 000000000..401671d7d --- /dev/null +++ b/Lua/Quests/StarcrestCommune/SoberingRemedy.lua @@ -0,0 +1,92 @@ +--[[ + Script Name : SoberingRemedy.lua + Script Purpose : Handles the quest, "Sobering Remedy" + Script Author : QuestParser (Replace this) + Script Date : 6/15/2018 + Script Notes : + + Zone : Starcrest Commune + Quest Giver : Vondorinsarnoo (2340023) + Preceded by : None + Followed by : None +--]] + +-- Quest ID's +local SOBERING_REMEDY = 246 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must gather pieces from bog slugs", 1, 100, "I need to gather the components for Vondorinsarnoo's concoction from the Peat Bog, reachable by mariner bell within the City of Qeynos.", 289, 1980018) + AddQuestStepKill(Quest, 2, "I must gather whiskers from large scavengers", 1, 100, "I need to gather the components for Vondorinsarnoo's concoction from the Peat Bog, reachable by mariner bell within the City of Qeynos.", 2123, 1980017) + AddQuestStepKill(Quest, 3, "I must gather bile from bog sludges", 1, 100, "I need to gather the components for Vondorinsarnoo's concoction from the Peat Bog, reachable by mariner bell within the City of Qeynos.", 1162, 1980002) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have what I need from the bog slugs") + + DoneWithSteps(Quest, QuestGiver, Player) +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have gathered the whiskers I need.") + + DoneWithSteps(Quest, QuestGiver, Player) +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have gathered the bile I needed.") + + DoneWithSteps(Quest, QuestGiver, Player) +end + +function DoneWithSteps(Quest, QuestGiver, Player) + if QuestIsComplete(Player, SOBERING_REMEDY) then + GiveStep4(Quest, QuestGiver, Player) + end +end + +function GiveStep4(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've successfully gathered what Vondorinsarnoo's concoction calls for.") + + AddQuestStepChat(Quest, 4, "I must return to Vondorinsarnoo", 1, "I need to return to Vondorinsarnoo to give him the items for the concoction.", 11, 2340023) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I've spoken with Vondorinsarnoo.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've spoken with Vondorinsarnoo and given him the components he needed.") + + UpdateQuestDescription(Quest, "I retrieved the items Vondorinsarnoo required for the concoction. The mixture will undoubtedly be strong enough to bring an ogre to its knees, and should perform quite well in removing whatever contents that drunk's stomach held, including the ale.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local conversation = CreateConversation() + + AddConversationOption(conversation, "These items shouldn't be too difficult to find.", "dlg_59_3") + StartConversation(conversation, QuestGiver, Player, "I'll write in your journal what I need from the local Peat Bog. I'll create a concoction so foul that he'll expel what resides in his belly.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end \ No newline at end of file diff --git a/Lua/Quests/StarcrestCommune/confrontation.lua b/Lua/Quests/StarcrestCommune/confrontation.lua new file mode 100755 index 000000000..33d553658 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/confrontation.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : Quests/StarcrestCommune/confrontation.lua + Script Purpose : Handles the quest, "Confrontation" + Script Author : Scatman + Script Date : 2008.09.21 + + Zone : Starcrest Commune + Quest Giver: Maareona Ludimintium + Preceded by: Hidden Treasures (hidden_treasures.lua) + Followed by: +--]] + +-- Items ID's +local FOLDING_STAND = 7379 +local NULLIFICATION_STONE = 10087 +local SOUL_SPIKE = 13134 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to retrieve materials for a public demonstration from Cayan Sable. I can get to Cayan by climbing the bench behind the northwest corner of the armor shop.", 1, "I will need to confront the intended recipient of the package we intercepted. Cayan may know where to find him.", 0, 2340009) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToCayan") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona029.mp3", "", "", 2162492923, 520954117, Player) + AddConversationOption(conversation, "How do I destroy the soul spike?", "TapIt") + StartConversation(conversation, QuestGiver, Player, "He might, but do not worry. He will not harm you, not here. At most he will attempt to pull you to Freeport with him. I do not think I need to lecture you on that.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, FOLDING_STAND, 1) do + RemoveItem(Player, FOLDING_STAND) + end + + while HasItem(Player, NULLIFICATION_STONE, 1) do + RemoveItem(Player, NULLIFICATION_STONE) + end + + while HasItem(Player, SOUL_SPIKE, 1) do + RemoveItem(Player, SOUL_SPIKE) + end +end + +function step1_complete_talkedToCayan(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gotten the needed materials.") + + -- folding stand + SummonItem(Spawn, FOLDING_STAND) + + AddQuestStep(Quest, 2, "I need to put a display in the central area of the Starcrest Commune, near the fountain of Deep Reflection.", 1, 100, "I will need to confront the intended recipient of the package we intercepted. Cayan may know where to find him.") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_placedDisplay") +end + +function step2_complete_placedDisplay(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I put on my demonstration. Velderoth Malraen attempted to interrupt me.") + + AddQuestStepChat(Quest, 3, "I need to return to Maareona and tell her what happened.", 1, "I will need to confront the intended recipient of the package we intercepted. Cayan may know where to find him.", 0, 2340006) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, 3, "I have spoken with Maareona.") + UpdateQuestTaskGroupDescription(Quest, 1, "Velderoth Malraen escaped after I confronted him.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToCayan(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_placedDisplay(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/StarcrestCommune/delivering_news.lua b/Lua/Quests/StarcrestCommune/delivering_news.lua new file mode 100755 index 000000000..9656d5fc7 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/delivering_news.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/StarcrestCommune/delivering_news.lua + Script Purpose : Handles the quest, "Delivering News" + Script Author : Jabantiz + Script Date : 6/15/2018 + Script Notes : + + Zone : Starcrest Commune + Quest Giver : Maareona Ludimintium (2340006) + Preceded by : Confrontation (confrontation.lua) + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Rujiarmo Oolamein in the Peat Bog.", 1, "Maareona has asked that I speak with Rujiarmo Oolamein in the Peat Bog.", 11, 1980024) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have spoken with Rujiarmo Oolamein.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Rujiarmo as Maareona asked.") + + UpdateQuestDescription(Quest, "I have found Rujiarmo Oolamein and delivered the news.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona036a.mp3", "", "", 625407969, 2282669599, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "One more thing, " .. GetName(Player) .. ". It was nice working with you.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/StarcrestCommune/hidden_treasures.lua b/Lua/Quests/StarcrestCommune/hidden_treasures.lua new file mode 100755 index 000000000..8da1d71df --- /dev/null +++ b/Lua/Quests/StarcrestCommune/hidden_treasures.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : Quests/StarcrestCommune/hidden_treasures.lua + Script Purpose : Handles the quest, "Hidden Treasures" + Script Author : Scatman + Script Date : 2008.09.21 + + Zone : Starcrest Commune + Quest Giver: Maareona Ludimintium + Preceded by: Information Merchants (information_merchants.lua) + Followed by: Confrontation (confrontation.lua) +--]] + +-- Item ID's +local SMALL_METAL_BOX_AND_PAPER = 12950 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to swim in the ferryway in the eastern portion of Starcrest Commune and see if anything is stuck behind the grate.", 1, 100, "I need to see if the undelivered package is stuck in the ferryway in Starcrest Commune.") + AddQuestStepCompleteAction(Quest, 1, "step1_complete_inspectedBox") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona020a.mp3", "", "", 2218692163, 3483095154, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "Good luck.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_inspectedBox(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found the package Maareona spoke of.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found the package Maareona spoke of.") + + AddQuestStepChat(Quest, 2, "I must return this package to Maaereona in the eastern portion of Starcrest Commune.", 1, "I need to see if the undelivered package is stuck in the ferryway in Starcrest Commune.", 0, 2340006) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "") + GiveQuestReward(Quest, Player) + + while HasItem(Player, SMALL_METAL_BOX_AND_PAPER, 1) do + RemoveItem(Player, SMALL_METAL_BOX_AND_PAPER) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_inspectedBox(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/StarcrestCommune/information_merchants.lua b/Lua/Quests/StarcrestCommune/information_merchants.lua new file mode 100755 index 000000000..6585a2e73 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/information_merchants.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/StarcrestCommune/information_merchants.lua + Script Purpose : Handles the quest, "Information Merchants" + Script Author : Scatman + Script Date : 2008.09.21 + + Zone : Starcrest Commune + Quest Giver: Maareona Ludimintium + Preceded by: Meeting with Cayan (meeting_with_cayan.lua) + Followed by: Hidden Treasures (hidden_treasures.lua) +--]] + +function Init(Quest) + -- worthless bronze statuette + AddQuestStepObtainItem(Quest, 1, "I need to purchase a bronze statuette from Merchant Zinun Loospankina just northwest of the entrance to the Peat Bog.", 1, 100, "I need to get Maareona's information from Zinun Loospakina in Starcrest Commune.", 1059, 15571) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_obtainedStatue") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable013a.mp3", "", "bow", 2406319678, 1434130925, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "You don't need to return once you've acquired it. It was a pleasure.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_obtainedStatue(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have purchased the bronze statuette.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have purchased the bronze statuette.") + + AddQuestStep(Quest, 2, "I need to inspect the bronze statuette and discover where the information is hidden.", 1, 100, "I need to get Maareona's information from Zinun Loospakina in Starcrest Commune.") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_inspectedStatuette") +end + +function step2_complete_inspectedStatuette(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have found the hidden message.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have found the hidden message.") + + AddQuestStepChat(Quest, 3, "I need to deliver the message to Maareona in the south eastern area of Starcrest Commune.", 1, "I need to get Maareona's information from Zinun Loospakina in Starcrest Commune.", 0, 2340006) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have given Maareona the information she needed.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToCayan(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_inspectedStatuette(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/StarcrestCommune/meeting_with_cayan.lua b/Lua/Quests/StarcrestCommune/meeting_with_cayan.lua new file mode 100755 index 000000000..4bcb39018 --- /dev/null +++ b/Lua/Quests/StarcrestCommune/meeting_with_cayan.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/StarcrestCommune/meeting_with_cayan.lua + Script Purpose : Handles the quest, "Meeting with Cayan" + Script Author : Scatman + Script Date : 2008.09.21 + + Zone : Starcrest Commune + Quest Giver: Maareona Ludimintium + Preceded by: None + Followed by: Information Merchants (information_merchants.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Cayan Sable, he is in a hiding spot that can be reached by climbing the bench behind the northwestern corner of the armor shop.", 1, "I need to find Cayan Sable and get some needed information from him.", 0, 2340017) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_talkedToCayan") +end + +function Accepted(Quest, QuestGiver, Player) + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return once I get the information.") + StartConversation(conversation, QuestGiver, Player, "He will ask a favor of you. He doesn't accept payment in a traditional sense, but he will ask something of you. The more friends he has, and the more people for whom he does favors, who who do favors for him, the more information he can provide. So, please, indulge him.") + end + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function step1_complete_talkedToCayan(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Cayan Sable.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Cayan Sable.") + + -- Red Sun Berries + AddQuestStepHarvest(Quest, 2, "In exchange for his help Cayan Sable requires I help him by collecting Red Sun Berries from the bushes that grow around Starcrest Commune.", 10, 100, "I need to find Cayan Sable and get some needed information from him.", 788, 11348) + AddQuestStepCompleteAction(Quest, 2, "step2_complete_obtainedBerries") +end + +function step2_complete_obtainedBerries(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected the Red Sun Berries.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have collected the Red Sun Berries.") + + AddQuestStepChat(Quest, 3, "I must return to Cayan Sable, I can use the bench behind the northwest corner of the armor shop to get to him.", 1, "I need to find Cayan Sable and get some needed information from him.", 0, 2340006) + AddQuestStepCompleteAction(Quest, 3, "step3_complete_talkedToCayan") +end + +function step3_complete_talkedToCayan(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have done a task for Cayan in exchange for certain information. According to him I will get this information from a merchant in Starcrest Commune.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quset, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_talkedToCayan(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_obtainedBerries(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Stonestair/abolishing_curiosity.lua b/Lua/Quests/Stonestair/abolishing_curiosity.lua new file mode 100755 index 000000000..ac4b59919 --- /dev/null +++ b/Lua/Quests/Stonestair/abolishing_curiosity.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/Stonestair/abolishing_curiosity.lua + Script Purpose : Handles the quest, "Abolishing Curiosity" + Script Author : QuestParser (Replace this) + Script Date : 6/22/2018 + Script Notes : + + Zone : Stonestair Byway + Quest Giver : + Preceded by : incantation_oration.lua + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak with Sevri and pick up the herbal mixture from her.", 1, "Speak with Sevri and pick up the mixture she's created.", 11, 1350011) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni045.mp3", "", "", 1857671823, 602774054, Player) + AddConversationOption(conversation, "I wish you well, Vess.") + StartConversation(conversation, QuestGiver, Player, "That is correct. I know we can count on you. Good luck, " .. GetName(Player) .. ".") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've picked up the herbal mixutre from Sevri.") + + AddQuestStepLocation(Quest, 2, "Enact the barrier.", 5, "Speak with Sevri and pick up the mixture she's created.", 0, 40, -4, -59) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've completed the incantation.") + + AddQuestStepChat(Quest, 3, "I need to return to Vess to let him know it is done.", 1, "Speak with Sevri and pick up the mixture she's created.", 11, 1350010) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I've completed the incantation and the barrier looks to be intact. Vess, Sevri, and the others affiliated with the Abbatoirs should now have some privacy, away from the prying eyes of the Stonestair inhabitants.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Stonestair/erudite_adventures.lua b/Lua/Quests/Stonestair/erudite_adventures.lua new file mode 100755 index 000000000..8151a3eb8 --- /dev/null +++ b/Lua/Quests/Stonestair/erudite_adventures.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/Stonestair/erudite_adventures.lua + Script Purpose : Handles the quest, "Erudite Adventures" + Script Author : Jabantiz + Script Date : 6/22/2018 + Script Notes : + + Zone : Stonestair Byway + Quest Giver : + Preceded by : abolishing_curiosity.lua + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak to Custodian Zaddar in the Graveyard.", 1, "Head out to the Graveyard and speak with Custodian Zaddar.", 11, 1250002) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I've spoken to Custodian Zaddar.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've spoken with Custodian Zaddar.") + + UpdateQuestDescription(Quest, "I've spoken with Custodian Zaddar in the Graveyard about tasks he may have.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Stonestair/erudite_alchemy.lua b/Lua/Quests/Stonestair/erudite_alchemy.lua new file mode 100755 index 000000000..65c4d39d5 --- /dev/null +++ b/Lua/Quests/Stonestair/erudite_alchemy.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : Quests/Stonestair/erudite_alchemy.lua + Script Purpose : Handles the quest, "Erudite Alchemy" + Script Author : QuestParser (Replace this) + Script Date : 6/22/2018 + Script Notes : + + Zone : Stonestair Byway + Quest Giver : + Preceded by : None + Followed by : tweezing_kerra.lua +--]] + +-- Item ID's +local HERBS = 8376 + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Gather some of the herbs from around the Stonestair Byway.", 5, 100, "Find the herbs growing in the Byway for Vess.", 2312, HERBS) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni013.mp3", "", "", 2691616073, 3518000896, Player) + AddConversationOption(conversation, "Very well, it shall be done.") + StartConversation(conversation, QuestGiver, Player, "I could use some assistance with gathering a few seeds from the herbs growing here in the Byway. Once you gather them, take them over to the scribe's shop, and grind them up there.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + RemoveHerbs(Player) +end + +function RemoveHerbs(Player) + while HasItem(Player, HERBS, 1) do + RemoveItem(Player, HERBS) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've gathered enough herbs for Vess' mixture.") + + AddQuestStep(Quest, 2, "Crush the herbs in the pestle.", 1, 100, "Find the herbs growing in the Byway for Vess.", 0) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "The herbs have been crushed in the pestle.") + + RemoveHerbs(Player) + AddQuestStepChat(Quest, 3, "I must bring the crushed herbs back to Vess.", 1, "Find the herbs growing in the Byway for Vess.", 0, 1350010) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + + UpdateQuestTaskGroupDescription(Quest, 1, "The herbs have been crushed in the pestle.") + + UpdateQuestDescription(Quest, "I've completed the mixture for Vess, but at this point, am unsure as to its use.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Stonestair/incantation_oration.lua b/Lua/Quests/Stonestair/incantation_oration.lua new file mode 100755 index 000000000..cc1eb7598 --- /dev/null +++ b/Lua/Quests/Stonestair/incantation_oration.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/Stonestair/incantation_oration.lua + Script Purpose : Handles the quest, "Incantation Oration" + Script Author : QuestParser (Replace this) + Script Date : 6/22/2018 + Script Notes : + + Zone : Stonestair Byway + Quest Giver : + Preceded by : tweezing_kerra.lua + Followed by : abolishing_curiosity.lua +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Return to Vess at the dock and speak with him as Sevri asked.", 1, "Speak with Vess at the dock again.", 11, 1350010) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod011.mp3", "", "", 1345707092, 3707746556, Player) + AddConversationOption(conversation, "Alright, I'll do that. Good luck with what you're making.", "dlg_30_4") + StartConversation(conversation, QuestGiver, Player, "Wonderful. I'll look into adding this as a component. In the meantime, why don't you head back and talk to Vess? I'm sure he'd like to explain a bit more about what we've gone through here.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've spoken to Vess.") + + AddQuestStepChat(Quest, 2, "I must learn the from Vess.", 1, "Speak with Vess at the dock again.", 11, 1350010) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've learned the incantation from Vess.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've spoken with Vess Al'Ishni again.") + + UpdateQuestDescription(Quest, "Vess has taught me an incantation I'll need to use to seal the entrance.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/Stonestair/tweezing_kerra.lua b/Lua/Quests/Stonestair/tweezing_kerra.lua new file mode 100755 index 000000000..44898b11d --- /dev/null +++ b/Lua/Quests/Stonestair/tweezing_kerra.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : Quests/Stonestair/tweezing_kerra.lua + Script Purpose : Handles the quest, "Tweezing Kerra" + Script Author : QuestParser (Replace this) + Script Date : 6/22/2018 + Script Notes : + + Zone : Stonestair Byway + Quest Giver : + Preceded by : erudite_alchemy.lua + Followed by : incantation_oration.lua +--]] + +-- Item ID's +local SILVER_TWEEZERS = 48065 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak with Sevri Il'Bethod and give her the mixture. She should be near the Inn.", 1, "Speak to Sevri Il'Bethod and give her the herbal mixture.", 11, 1350011) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni017.mp3", "", "", 2088321300, 3465986991, Player) + AddConversationOption(conversation, "I'll take it to her.") + StartConversation(conversation, QuestGiver, Player, "Straight down the path, up the stairs, and to the right of the inn.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + RemoveTweezers(Player) +end + +function RemoveTweezers(Player) + while HasItem(Player, SILVER_TWEEZERS, 1) do + RemoveItem(Player, SILVER_TWEEZERS) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've spoken with Sevri and given her the mixture.") + + SummonItem(Player, SILVER_TWEEZERS) + + AddQuestStepSpell(Quest, 2, "I need to pluck some fur from kerrans.", 5, 100, "Speak to Sevri Il'Bethod and give her the herbal mixture.", 0, 2550000) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've plucked fur from several kerrans.") + + AddQuestStepChat(Quest, 3, "I need to bring this fur back to Sevri.", 1, "Speak to Sevri Il'Bethod and give her the herbal mixture.", 11, 1350011) + AddQuestStepCompleteAction(Quest, 3, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 3, "I've spoken with Sevri and given her the fur.") + UpdateQuestTaskGroupDescription(Quest, 1, "The kerra have been tweezed! I've got all the fur Sevri asked for.") + + UpdateQuestDescription(Quest, "After tweezing several of the kerra, no doubt to their complete discomfort, I returned their fur to Sevri.") + GiveQuestReward(Quest, Player) + + RemoveTweezers(Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/a_flowing_conversation.lua b/Lua/Quests/SunkenCity/a_flowing_conversation.lua new file mode 100755 index 000000000..ff7b4a2bb --- /dev/null +++ b/Lua/Quests/SunkenCity/a_flowing_conversation.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/SunkenCity/a_flowing_conversation.lua + Script Purpose : Handles the quest, "A Flowing Conversation" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Inquisitor Thorson + Preceded by: None + Followed by: Spirits of the Night (spirits_of_the_night.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak to the iksar named Saydith Yarr and listen to everything he has to say.", 1, "I should find and talk to the iksar named Saydith Yarr.", 0, 1240014) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithSaydith") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll return shortly.") + StartConversation(conversation, QuestGiver, Player, "Excellent. Return to me after you have spoken to him.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithSaydith(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Saydith Yarr and learned a bit about the Sunken City.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken to Saydith Yarr.") + + AddQuestStepChat(Quest, 2, "I should return to Inquisitor Thorson.", 1, "I should let Thorson know that I talked to Yarr.", 0, 1240007) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned to Inquisitor Thorson.") + UpdateQuestTaskGroupDescription(Quest, 2, "I told Thorson that I spoke to the strange iksar named Yarr.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have found and spoken to Saydith Yarr. He was a very disturbed fellow who gave me some basic background on the area. I will find out more details from Inquisitor Thorson, who is much more coherent.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithSaydith(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/back_to_the_inquisitor.lua b/Lua/Quests/SunkenCity/back_to_the_inquisitor.lua new file mode 100755 index 000000000..2443b0ce2 --- /dev/null +++ b/Lua/Quests/SunkenCity/back_to_the_inquisitor.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/SunkenCity/back_to_the_inquisitor.lua + Script Purpose : Handles the quest, "Back to the Inquisitor" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Investigator Curfield + Preceded by: Finding the Shrine (finding_the_shrine.lua) + Followed by: Time to Stop a Madman (time_to_stop_a_madman.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should return to Inquisitor Thorson.", 1, "I should return to Inquisitor Thorson and let him know that I have the research he needs.", 0, 1240007) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld018.mp3", "", "", 3880047652, 3528846773, Player) + AddConversationOption(conversation, "I'll take it to him.") + StartConversation(conversation, QuestGiver, Player, "Why must I be constantly bogged down by the trivialities of lesser beings? Fine, anything to be rid of you. Take this journal to Thorson and trouble me no more.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Inquisitor Thorson.") + UpdateQuestTaskGroupDescription(Quest, 1, "I returned to Inquisitor Thorson with Curfeld's journal.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I took Investigator Curfeld's journal to Thorson, but the book reveals some troubling information. It seems Curfeld is a Prexian who wants to recreate the old ritual that nearly destoyed Freeport! Something must be done to stop him!") +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/cataloging_local_critters.lua b/Lua/Quests/SunkenCity/cataloging_local_critters.lua new file mode 100755 index 000000000..3dedcf4a0 --- /dev/null +++ b/Lua/Quests/SunkenCity/cataloging_local_critters.lua @@ -0,0 +1,91 @@ +--[[ + Script Name : Quests/SunkenCity/cataloging_local_critters.lua + Script Purpose : Handles the quest, "Cataloging Local Critters" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Inquisitor Thorson + Preceded by: Spirits of the Night (spirits_of_the_night.lua) + Followed by: Finding the Investigator (finding_the_investigator) +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to catalog the presence of a brine sifter.", 1, 100, "I need to use the Catalogue Creature ability found in my Knowledge Book to obtain information on the local vermin.", 0) + AddQuestStep(Quest, 2, "I need to catalog the presence of a small rust monster.", 1, 100, "I need to use the Catalogue Creature ability found in my Knowledge Book to obtain information on the local vermin.", 0) + AddQuestStep(Quest, 3, "I must catalog the presence of a rust monster.", 1, 100, "I need to use the Catalogue Creature ability found in my Knowledge Book to obtain information on the local vermin.", 0) + AddQuestStep(Quest, 4, "I need to catalog the presence of a small scorpion.", 1, 100, "I need to use the Catalogue Creature ability found in my Knowledge Book to obtain information on the local vermin.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_BrineSifter") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SmallRustMonster") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_RustMonster") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_SmallScorpion") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll return when I'm done.") + StartConversation(conversation, QuestGiver, Player, "The Knowledge Book you obtained on the Outpost of the Overlord contains many Abilities that will prove useful to you. Among these Abilities is one called Catalogue Creature. If you draw close to a creature, you can use this ability to obtain information about it. Everything I need to know will be recorded in your Quest Journal. There is no need to attack any of these creatures, simply use the Catalogue Creature ability on them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_BrineSifter(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found that there are quite a lot of brine sifters here.") + + if QuestIsComplete(Player, 268) then + AllCreaturesCataloged(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_SmallRustMonster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have discovered that small rust monsters live in this area.") + + if QuestIsComplete(Player, 268) then + AllCreaturesCataloged(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_RustMonster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have found rust monsters here in the Sunken City.") + + if QuestIsComplete(Player, 268) then + AllCreaturesCataloged(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_SmallScorpion(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have found small scorpions here in the Sunken City.") + + if QuestIsComplete(Player, 268) then + AllCreaturesCataloged(Quest, QuestGiver, Player) + end +end + +function AllCreaturesCataloged(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have obtained information on the local creatures.") + + AddQuestStepChat(Quest, 5, "I should take the information I obtained back to Inquisitor Thorson..", 1, "I should return to Inquisitor Thorson with what I have learned.", 0, 1240007) + AddQuestStepCompleteAction(Quest, 5, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have taken the information back to Inquisitor Thorson.") + UpdateQuestTaskGroupDescription(Quest, 2, "I gave my information to Inquisitor Thorson.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I successfully gathered information on several different kinds of creatures. Though a haunted place, the Sunken City is alive with small creatures... and some larger ones.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_BrineSifter(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SmallRustMonster(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_RustMonster(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_SmallScorpion(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/exacting_revenge_on_the_crabs.lua b/Lua/Quests/SunkenCity/exacting_revenge_on_the_crabs.lua new file mode 100755 index 000000000..6e88d919b --- /dev/null +++ b/Lua/Quests/SunkenCity/exacting_revenge_on_the_crabs.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : exacting_revenge_on_the_crabs.lua + Script Purpose : Handles the quest, "Exacting Revenge on the Crabs" + Script Author : Neatz09 + Script Date : 12/31/2018 + Script Notes : Examined item (a twitching crab claw) + + Zone : Sunken City + Quest Giver : item #3034 + Preceded by : None + Followed by : None +--]] + +local crabs = 1240007 +function Init(Quest) + AddQuestStepKill(Quest, 1, "Kill crabs", 30, 100, "I need to kill crabs in the Sunken City until my rage subsides. I can reach the Sunken City by using any of the bells in and around the City of Freeport.", 77, crabs) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have killed many crabs.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've killed many crabs and this task now bores me.") + + UpdateQuestDescription(Quest, "Many crabs were slain in retaliation for that pinch. I feel much better now.
") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/SunkenCity/exotic_soups.lua b/Lua/Quests/SunkenCity/exotic_soups.lua new file mode 100755 index 000000000..6e3d82e32 --- /dev/null +++ b/Lua/Quests/SunkenCity/exotic_soups.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : Quests/SunkenCity/exotic_soups.lua + Script Purpose : Handles the quest, "Exotic Soups" + Script Author : Scatman + Script Date : 2009.08.01 + + Zone : Sunken City + Quest Giver: Tilzak N'Lim + Preceded by: None + Followed by: None +--]] + +local TilzakNLim = 1240026 +local DuskSharks = 1240025 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to collect a meaty shark fin", 1, 25, "I should start looking for the dusk sharks. I'll need a big enough fin to bring back to Tilzak.", 122, DuskSharks) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSharks") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/optional5/standard_dark_elf_male/fprt_hood05/quests/tilzaknlim/tilzak_x1_accept.mp3", "", "", 16004203, 2050489897, Player) + AddConversationOption(conversation, "I'll be back when I have them.", "dlg_3_3") + StartConversation(conversation, QuestGiver, Player, "OH! You'll help me? Oh thank you so much, friend! I wish to make a nice souffle from the fins of the Dusk Sharks that roam the waters here in the Sunken City. I need a large fin in order to make this souffle. I will be eagerly anticipating your return!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSharks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've collected the meaty shark fin.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have the shark fin Tilzak was asking for.") + + AddQuestStepChat(Quest, 2, "I need to speak with Tilzak", 1, "I should return to Tilzak then get on with my business. I don't even know why I offered to help him with this stupid task.", 0, TilzakNLim) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with Tilzak") + UpdateQuestTaskGroupDescription(Quest, 2, "I've given the fin to Tilzak the Fishmonger.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "Tilzak was pleased with the shark fin, and plans on trying his recipe right away.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSharks(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/finding_the_investigator.lua b/Lua/Quests/SunkenCity/finding_the_investigator.lua new file mode 100755 index 000000000..3222aa6bf --- /dev/null +++ b/Lua/Quests/SunkenCity/finding_the_investigator.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/SunkenCity/finding_the_investigator + Script Purpose : Handles the quest, "Finding the Investigator" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Inquisitor Thorson + Preceded by: Cataloging Local Critters (cataloging_local_critters.lua) + Followed by: Taking Back from the Blackshields (taking_back_from_the_blackshields.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak to Investigator Curfeld of the Dismal Rage.", 1, "I need to seek out Investigator Curfeld and speak to him.", 0, 1240083) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will do so.") + StartConversation(conversation, QuestGiver, Player, "You can find Investigator Curfeld by going north through the archway, then west and south. He stands past the scorpions you discovered near the gateway to the Graveyard. He knows that additional help is coming, so tell him that I sent you.") +end + +function Declined(Quest, QuestGiver, Player) +end + + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Investigator Curfeld.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Investigator Curfeld.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have found Investigator Curfeld just where Thorson said he would be. Now I will see if the investigator needs my assistance.") +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/finding_the_shrine.lua b/Lua/Quests/SunkenCity/finding_the_shrine.lua new file mode 100755 index 000000000..b6512cf99 --- /dev/null +++ b/Lua/Quests/SunkenCity/finding_the_shrine.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/SunkenCity/finding_the_shrine.lua + Script Purpose : Handles the quest, "Finding the Shrine" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Investigator Curfield + Preceded by: Taking Back from the Blackshields (taking_back_from_the_blackshields.lua) + Followed by: Back to the Inquisitor (back_to_the_inquisitor.lua) +--]] + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to determine if anything remains of the shrine to Prexus", 30, "I must search the Sunken City for a ruined shrine of Prexus.", 0, 6.9727, 2.36759, -54.6769) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundShrine") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld014.mp3", "", "", 4099914097, 989172019, Player) + AddConversationOption(conversation, "I will do so. Hopefully I'll be in one piece.") + StartConversation(conversation, QuestGiver, Player, "I heard the shrine used to be found in the northern central part of Plank's Edge. Try going east a bit, then north. Return to me when you have the knowledge I require.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundShrine(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found a shrine that seems to hum with mystical power.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found the haunted ruins of an old shrine.") + + AddQuestStepChat(Quest, 2, "I should return to Investigator Curfeld and tell him what I found.", 1, "I must return to Investigator Curfeld and tell him I found the shrine.", 0, 1240083) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I reported back to Investigator Curfeld.") + UpdateQuestTaskGroupDescription(Quest, 2, "I reported back to Curfeld.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found the remains of the shrine to Prexus, which was guarded by the remains of the fallen Darkfathom members. I heard a distinct hum, which indicated to me that the shrine still has some sort of power. I reported back to Investigator Curfeld and let him know.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundShrine(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/gerbards_coins.lua b/Lua/Quests/SunkenCity/gerbards_coins.lua new file mode 100755 index 000000000..3f73785b7 --- /dev/null +++ b/Lua/Quests/SunkenCity/gerbards_coins.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/SunkenCity/gerbards_necklace.lua + Script Purpose : Handles the quest, "Gerbard's Necklace + Script Author : Scatman + Script Date : 2009.08.01 + + Zone : Sunken City + Quest Giver: Gerbard the Snitch + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to find five pirate coins.", 5, 50, "I need to find five pirate coins.", 1763, 1240133, 1240058, 1240109, 1240045, 1240107, 1240040, 1240132, 1240038, 1240063, 1240144, 1240050, 1240061, 1240051, 1240146, 1240052, 1240057, 1240062, 1240108) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundCoins") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch002.mp3", "", "", 4172245160, 2238267271, Player) + AddConversationOption(conversation, "Thanks, I'll search out some pirate coins.") + StartConversation(conversation, QuestGiver, Player, "Where do you think they come from? They're pirate coins! Those undead buggers roam around where it's wet. I'd go get them myself, but I gambled my sword away in a sure bet.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundCoins(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found five pirate coins.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found five pirate coins.") + + AddQuestStepChat(Quest, 2, "I need to return to Gerbard.", 1, "I need to return to Gerbard.", 0, 1240020) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I returned to Gerbard.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned to Gerbard.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found the five pirate coins that Gerbard the Snitch needed.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundCoins(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/jezranazs_hideous_locket.lua b/Lua/Quests/SunkenCity/jezranazs_hideous_locket.lua new file mode 100755 index 000000000..45b0681e3 --- /dev/null +++ b/Lua/Quests/SunkenCity/jezranazs_hideous_locket.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/Sunkencity/jezranazs_hideous_locket.lua + Script Author : neatz09 + Script Date : 2018.12.31 12:12:13 + Script Purpose : + + Zone : Sunkencity + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/SunkenCity/joining_the_gang.lua b/Lua/Quests/SunkenCity/joining_the_gang.lua new file mode 100755 index 000000000..4d984c9ec --- /dev/null +++ b/Lua/Quests/SunkenCity/joining_the_gang.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : Quests/SunkenCity/joining_the_gang.lua + Script Purpose : Handles the quest, "Joining the Gang" + Script Author : Scatman + Script Date : 2009.08.01 + + Zone : Sunken City + Quest Giver: Manius Galla + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill two Blackshield raiders.", 2, 100, "I need to kill some of the Blackshields in the Sunken City.", 611, 1240123, 1240126, 1240117, 1240098, 1240124, 1240073, 1240067, 1240119, 1240140, 1240081, 1240118) + AddQuestStepKill(Quest, 2, "I must kill two Blackshield plunderers.", 2, 100, "I need to kill some of the Blackshields in the Sunken City.", 611, 1240129, 1240092, 1240111, 1240095, 1240114, 1240078, 1240068) + AddQuestStepKill(Quest, 3, "I must kill two Blackshield pillagers.", 2, 100, "I need to kill some of the Blackshields in the Sunken City.", 611, 1240090, 1240142, 1240113, 1240128, 1240069, 1240120, 1240099, 1240085, 1240148) + AddQuestStepKill(Quest, 4, "I must kill two Blackshield ravagers.", 2, 100, "I need to kill some of the Blackshields in the Sunken City.", 611, 1240094, 1240088, 1240136, 1240077, 1240130, 1240101, 1240100, 1240087, 1240074) + AddQuestStepKill(Quest, 5, "I must kill two Blackshield pirates.", 2, 100, "I need to kill some of the Blackshields in the Sunken City.", 611, 1240064, 1240093, 1240097, 1240134, 1240143, 1240055, 1240137, 1240089, 1240082, 1240147, 1240121) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledRaiders") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_KilledPlunderers") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_KilledPillagers") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_KilledRavagers") + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_KilledPirates") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/optional5/standard_dark_elf_male/fprt_hood05/quests/tilzaknlim/tilzak_x1_accept.mp3", "", "", 16004203, 2050489897, Player) + AddConversationOption(conversation, "I'll be back when I have them.", "dlg_3_3") + StartConversation(conversation, QuestGiver, Player, "OH! You'll help me? Oh thank you so much, friend! I wish to make a nice souffle from the fins of the Dusk Sharks that roam the waters here in the Sunken City. I need a large fin in order to make this souffle. I will be eagerly anticipating your return!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledRaiders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the Blackshield raiders.") + + if QuestIsComplete(Player, 278) then + KilledBlacksields(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_KilledPlunderers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed the Blackshield plunderers.") + + if QuestIsComplete(Player, 278) then + KilledBlacksields(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_KilledPillagers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have killed the Blackshield pillagers.") + + if QuestIsComplete(Player, 278) then + KilledBlacksields(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_KilledRavagers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have killed the Blackshield ravagers.") + + if QuestIsComplete(Player, 278) then + KilledBlacksields(Quest, QuestGiver, Player) + end +end + +function Step5_Complete_KilledPirates(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have killed the Blackshield pirates.") + + if QuestIsComplete(Player, 278) then + KilledBlacksields(Quest, QuestGiver, Player) + end +end + +function KilledBlacksields(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've killed all of the Blackshields that were part of my test.") + + AddQuestStepChat(Quest, 2, "I need to speak with Manius.", 1, "I should return to Manius and let him know that I've passed his test.", 0, 1240079) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with Manius.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've let Manius know that I've done what it takes to pass his test.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I've killed the raider lackeys like Manius has asked, and completed my test. He said he'll think about letting me join, but hasn't decided yet. Maybe I should check back with him later.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledRaiders(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_KilledPlunderers(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_KilledPillagers(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_KilledRavagers(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_KilledPirates(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/lukurs_antiques.lua b/Lua/Quests/SunkenCity/lukurs_antiques.lua new file mode 100755 index 000000000..b8df60924 --- /dev/null +++ b/Lua/Quests/SunkenCity/lukurs_antiques.lua @@ -0,0 +1,83 @@ +--[[ + Script Name : LukursAntiques.lua + Script Purpose : Handles the quest, "Lukur's Antiques" + Script Author : Neatz09 + Script Date : 12/27/2018 + Script Notes : Auto generated with QuestParser. + + Zone : Sunken City + Quest Giver : Lukur + Preceded by : None + Followed by : None +--]] + +local Lukur = 1240020 +local BloodMask +local ShadowedMask +local DawnMask + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to find the Blood Mask.", 1, 100, "I need to find three ceremonial masks in the Sunken City. I can reach the Sunken City by using any of the bells in and around the City of Freeport.", 878, BloodMask) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/optional1/lukur/fprt_adv01_sunken/lukur002.mp3", "", "", 2636400793, 1337735741, Player) + AddConversationOption(conversation, "Thanks, I'll start searching the area.") + StartConversation(conversation, QuestGiver, Player, "I need to add a few specific relics to my collection. Return when you fulfill my order.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found the Blood Mask.") + + AddQuestStepObtainItem(Quest, 2, "I need to find the Shadowed Mask.", 1, 100, "I need to find three ceremonial masks in the Sunken City. I can reach the Sunken City by using any of the bells in and around the City of Freeport.", 879, ShadowedMask) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I found the Shadowed Mask.") + + AddQuestStepObtainItem(Quest, 3, "I need to find the Dawn Mask.", 1, 100, "I need to find three ceremonial masks in the Sunken City. I can reach the Sunken City by using any of the bells in and around the City of Freeport.", 880, DawnMask) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found the Dawn Mask.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found three ceremonial masks.") + + AddQuestStepChat(Quest, 4, "I need to return to Lukur.", 1, "I need to return to Lukur in the Sunken City. I can reach the Sunken City by using any of the bells in and around the City of Freeport.", 11, Lukur) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I returned to Lukur.") + UpdateQuestTaskGroupDescription(Quest, 2, "I returned to Lukur.") + + UpdateQuestDescription(Quest, "I found the three ceremonial masks that Lukur needed.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/searching_for_the_ruins.lua b/Lua/Quests/SunkenCity/searching_for_the_ruins.lua new file mode 100755 index 000000000..51ce60c26 --- /dev/null +++ b/Lua/Quests/SunkenCity/searching_for_the_ruins.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : Quests/SunkenCity/searching_for_the_ruins.lua + Script Purpose : Handles the quest, "Searching for the Ruins" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Inquisitor Thorson + Preceded by: Time to Stop a Madman (time_to_stop_a_madman.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I should make my way to the Freeport Ruins and speak to Captain Arellius.", 1, "I should go to the Ruins and speak to Captain Arellius.", 0, 1270003) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I get there?", "dlg_24_3") + AddConversationOption(conversation, "I'm leaving.") + StartConversation(conversation, QuestGiver, Player, "I must remain here to finish my report for the Dismal Rage. However, I would like you to journey to the Freeport Ruins and seek out an acquaintance of mine named Captain Arellius. I have heard that your help is much needed there. I will send word that you are coming, hero of Freeport.") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson049.mp3", "", "", 3163252250, 288796806, Spawn) + AddConversationOption(conversation, "Are there any other places you could recommend where I can find adventures?", "dlg_24_4") + AddConversationOption(conversation, "Thank you, Inquisitor Thorson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The fastest route to the Ruins is to use the mariner's bell at the end of the dock for traveling outside the city proper. This will summon transportation to take you to the Ruins, where Captain Arellius of the Freeport Militia will be awaiting your assistance.") +end + +function dlg_24_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson061.mp3", "", "", 2845086086, 1715171802, Spawn) + AddConversationOption(conversation, "Tell me more about Custodian Zaddar.", "dlg_24_5") + AddConversationOption(conversation, "Tell me more about Enforcer Kurdek.", "dlg_24_6") + AddConversationOption(conversation, "I may seek them out. Thank you.") + StartConversation(conversation, NPC, Spawn, "You can speak to Custodian Zaddar in the Graveyard and Enforcer Kurdek in the Sprawl. They could both use assistance from an able adventurer.") +end + +function dlg_24_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson062.mp3", "", "", 4025975768, 1084751097, Spawn) + AddConversationOption(conversation, "Tell me more about Enforcer Kurdek.", "dlg_24_6") + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Custodian Zaddar in the Graveyard is trying to determine what's behind a recent increase in undead attacks. Use the mariner's bell on the docks of your home district to travel to Stonestair Byway. Head west until you see a passage to the south. The gate at the end leads to the Graveyard.") +end + +function dlg_24_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson063.mp3", "", "", 3377387482, 1184471101, Spawn) + AddConversationOption(conversation, "Tell me more about Custodian Zaddar.", "dlg_24_5") + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Enforcer Kurdek in the Sprawl could use a hand keeping the local gangs in line. To journey to the Sprawl, use the mariner's bell on the docks of your home district to travel to Big Bend. Follow the halls north, then take the west passageway to the west gate.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Captain Arellius in the Ruins.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken to Captain Arellius.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found the Ruins and have reported to Captain Arellius. I will now see what duties she needs me to perform.") +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/spirits_of_the_night.lua b/Lua/Quests/SunkenCity/spirits_of_the_night.lua new file mode 100755 index 000000000..0261cf619 --- /dev/null +++ b/Lua/Quests/SunkenCity/spirits_of_the_night.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/SunkenCity/spirits_of_the_night.lua + Script Purpose : Handles the quest, "Spirits of the Night" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Inquisitor Thorson + Preceded by: A Flowing Conversation (a_flowing_conversation.lua) + Followed by: Cataloging Local Critters (cataloging_local_critters.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I should defeat four undead creatures to obtain their spectral essences.", 4, 100, "I must search the Sunken City by night and collect the spectral essences of the undead that haunt this place.", 2515, 1240015, 1240012, 1240103, 1240028, 1240017, 1240030, 1240018, 1240135, 1240011, 1240016, 1240049, 1240060, 1240035, 1240059, 1240036, 1240054, 1240048, 1240053, 1240046, 1240026, 1240027, 1240034, 1240021, 1240022, 1240024, 1240070, 1240056, 1240112, 1240104, 1240045, 1240107, 1240040, 1240132, 1240038, 1240063, 1240144, 1240050, 1240061, 1240051, 1240146, 1240052, 1240057, 1240062, 1240108, 1240058, 1240109) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSkeletons") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "The undead walk just ahead, though some lurk a bit farther in. Remember, more of these ghastly creatures can be found after night falls. Return to me when you have their essences.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSkeletons(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have obtained four spectral essences from the undead.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have defeated undead creatures and collected their spectral essences.") + + AddQuestStepChat(Quest, 2, "I should take the spectral essences to Inquisitor Thorson.", 1, "I need to return to Inquisitor Thorson and give him the essences.", 0, 1240007) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned to Inquisitor Thorson.") + UpdateQuestTaskGroupDescription(Quest, 2, "I told Thorson that I spoke to the strange iksar named Yarr.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I have obtained the essences of four undead beings in the Sunken City. It is my hope that studying these essences can help Investigator Thorson uncover the mysteries of this haunted place.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSkeletons(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/taking_back_from_the_blackshields.lua b/Lua/Quests/SunkenCity/taking_back_from_the_blackshields.lua new file mode 100755 index 000000000..0d4c95586 --- /dev/null +++ b/Lua/Quests/SunkenCity/taking_back_from_the_blackshields.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/SunkenCity/taking_back_from_the_blackshields.lua + Script Purpose : Handles the quest, "Taking Back from the Blackshields" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Investigator Curfield + Preceded by: Finding the Investigator (finding_the_investigator) + Followed by: Finding the Shrine (finding_the_shrine.lua) +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I should examine the barrels I see near the Blackshield pirates.", 1, 100, "I need to search barrels near the Blackshields to find the stolen research for Curfeld.", 2285) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundBarrel") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld008.mp3", "", "", 2335171554, 1884234984, Player) + AddConversationOption(conversation, "I will watch my back.") + StartConversation(conversation, QuestGiver, Player, "My observers tell me that the Blackshields are concealing stolen goods in the old wooden barrels scattered about to the north. Be careful, though. They're an unruly bunch that won't hesitate to attack someone they think might be after their ill-gotten gain.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundBarrel(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found the research notes inside a barrel.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found the stolen research materials inside a barrel.") + + AddQuestStepChat(Quest, 2, "I must return to Investigator Curfeld.", 1, "I should take the stolen research back to Investigator Curfeld.", 0, 1240083) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have returned to Investigator Curfeld.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned the research to Investigator Curfeld.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I found Investigator Curfeld's stolen research inside one of the Blackshields' barrels and have returned the papers to Curfeld. Maybe now he won't be so curt with me.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundBarrel(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/SunkenCity/time_to_stop_a_madman.lua b/Lua/Quests/SunkenCity/time_to_stop_a_madman.lua new file mode 100755 index 000000000..eebfb05fb --- /dev/null +++ b/Lua/Quests/SunkenCity/time_to_stop_a_madman.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/SunkenCity/time_to_stop_a_madman.lua + Script Purpose : Handles the quest, "Time to Stop a Madman" + Script Author : Scatman + Script Date : 2009.07.28 + + Zone : Sunken City + Quest Giver: Inquisitor Thorson + Preceded by: Back to the Inquisitor (back_to_the_inquisitor.lua) + Followed by: Searching for the Ruins (searching_for_the_ruins.lua) +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must stop Curfeld's deadly scheme at all costs!", 1, 100, "I must confront Investigator Curfeld and do whatever it takes to stop him.", 0, 1240083) + AddQuestStepCompleteAction(Quest, 1, "Step1_complete_KilledCurfield") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson045.mp3", "", "", 1129031439, 214486034, Player) + AddConversationOption(conversation, "I will return... I hope.") + StartConversation(conversation, QuestGiver, Player, "You have my full authority to take whatever action is necessary. Fear not; I will ensure that the high priestess and the rest of the Dismal Rage know that your actions were necessary to save our city. Do this, and not only will you be rewarded but your fame will grow. Hurry, go!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_complete_KilledCurfield(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I faced Curfeld and defeated him in battle.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have ended Curfeld's threat once and for all.") + + AddQuestStepChat(Quest, 2, "I should return to Inquisitor Thorson and let him know I was victorious.", 1, "I should tell Inquisitor Thorson that Curfeld is no more.", 0, 1240007) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I let Thorson know that I helped save Freeport.") + UpdateQuestTaskGroupDescription(Quest, 2, "I told Thorson what transpired.") + GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I defeated Investigator Curfeld in battle, ending the threat he posed to Freeport. Hopefully Thorson will be true to his word and let the Dismal Rage know that I helped uncover this plot. It would certainly help increase my standing with the Overlord.") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_complete_KilledCurfield(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/TheFeerrott/history_of_the_ayrdal_part_iii.lua b/Lua/Quests/TheFeerrott/history_of_the_ayrdal_part_iii.lua new file mode 100755 index 000000000..9efa2be4d --- /dev/null +++ b/Lua/Quests/TheFeerrott/history_of_the_ayrdal_part_iii.lua @@ -0,0 +1,93 @@ +--[[ + Script Name : Quests/TheFeerrott/history_of_the_ayrdal_part_iii.lua + Script Author : Ememjr + Script Date : 2019.03.25 06:03:41 + Script Purpose : + + Zone : TheFeerrott + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to visit The Drowning Causeway.", 10, "I must see The Drowning Causeway in the Feerrott.", 11, 105, 0, -131) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have visited The Drowning Causeway.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have seen The Drowning Causeway.") + + AddQuestStep(Quest, 2, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have read the book.") + + AddQuestStepLocation(Quest, 3, "I need to visit The Jungle of Alliz Evol.", 10, "I need to visit The Jungle of Alliz Evol in the Feerrott.", 11, 10, 2, -23) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have seen The Jungle of Alliz Evol.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have seen The Jungle of Alliz Evol.") + + AddQuestStep(Quest, 4, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 4, "I have read the book.") + + AddQuestStepLocation(Quest, 5, "I need to visit Altar of the Four Canons.", 10, "I need to see the Altar of the Four Canons in the Feerrott.", 11, -730, 8, 220) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have seen Altar of the Four Canons.") + UpdateQuestTaskGroupDescription(Quest, 5, "I have seen Altar of the Four Canons.") + + AddQuestStep(Quest, 6, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 6, "I have read the book.") + + UpdateQuestDescription(Quest, "I have finished reading this history tome. Perhaps I understand more than I did before.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/AJourneyOutsidetheCity b/Lua/Quests/TheRuins/AJourneyOutsidetheCity new file mode 100755 index 000000000..bd2c8cb7c --- /dev/null +++ b/Lua/Quests/TheRuins/AJourneyOutsidetheCity @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/TheRuins/AJourneyOutsidetheCity + Script Author : neatz09 + Script Date : 2018.12.30 11:12:59 + Script Purpose : + + Zone : TheRuins + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/TheRuins/AngerFang.lua b/Lua/Quests/TheRuins/AngerFang.lua new file mode 100755 index 000000000..f91bdfcb7 --- /dev/null +++ b/Lua/Quests/TheRuins/AngerFang.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/TheRuins/AngerFang.lua + Script Author : neatz09 + Script Date : 2018.12.30 11:12:54 + Script Purpose : + + Zone : TheRuins + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/TheRuins/FileaFinalReport.lua b/Lua/Quests/TheRuins/FileaFinalReport.lua new file mode 100755 index 000000000..9617ed9ff --- /dev/null +++ b/Lua/Quests/TheRuins/FileaFinalReport.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : FileaFinalReport.lua + Script Purpose : Handles the quest, "File a Final Report" + Script Author : jakejp + Script Date : 12/29/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Lieutenant Imperidus + Preceded by : Identifying the Lonetusk Ally + Followed by : A Journey Outside the City +--]] + +local CaptainArellius = 1270000 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak to Captain Arellius", 1, "I must report to Captain Arellius on the docks of the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, CaptainArellius) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have informed the captain that the Rujarkians are supplying the orcs in the Ruins with weapons and armor.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have reported back to Captain Arellius.") + + UpdateQuestDescription(Quest, "I informed Captain Arellius that the Rujarkian orcs are supplying the Brokentusk and Lonetusk orcs in the Ruins with improved weapons and armor. The captain was very pleased with my work and rewarded me well. I will now read the note she gave me to lead me to my next adventure.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus022.mp3", "", "", 3956036992, 4003496180, Player) + AddConversationOption(conversation, "Thank you, lieutenant. You have earned mine as well.", "dlg_37_3") + StartConversation(conversation, QuestGiver, Player, "Report back to the captain. She will take word of this discovery back to our superiors in the Militia. This is extremely valuable information, my friend. You just might have given Freeport the edge it needs to ensure its safety. You have earned my respect.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/IdentifyingtheLonetuskAlly.lua b/Lua/Quests/TheRuins/IdentifyingtheLonetuskAlly.lua new file mode 100755 index 000000000..f256e6a8f --- /dev/null +++ b/Lua/Quests/TheRuins/IdentifyingtheLonetuskAlly.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : IdentifyingtheLonetuskAlly.lua + Script Purpose : Handles the quest, "Identifying the Lonetusk Ally" + Script Author : jakejp + Script Date : 12/29/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Lieutenant Imperidus + Preceded by : Vengeance for Shoreside + Followed by : File a Final Report +--]] + +local LieutenantImperidus = 1270031 +local prisoner = 1270034 +local OrcDocumentBox = 1270060 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Interrogate the orc prisoner", 1, "I must interrogate the orc prisoner in the Ruins to find out the identity of the Lonetusk's new benfactor. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, prisoner) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "The prisoner didn't know who is supplying the weapons and armor, but told me of a hidden document that might.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have questioned the orc prisoner and found out that the Lonetusk are hiding a document that may reveal the identity of their supplier.") + + AddQuestStepChat(Quest, 2, "Speak to Lieutenant Imperidus", 1, "I must tell Lieutenant Imperidus in the Ruins what I learned from the prisoner. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantImperidus) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I told the lieutenant that the Lonetusk have some kind of letter from their mysterious benefactor.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have told Lieutenant Imperidus what I learned from the prisoner.") + + AddQuestStepObtainItem(Quest, 3, "Search for an underground bunker", 1, 100, "I must search underground areas in the Ruins for a secret document in the possession of the Lonetusk orcs. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 374, OrcDocumentBox) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found an orcish document hidden in a chest in an underground bunker.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have found the hidden orcish document. I should examine it and report back to Lieutenant Imperidus.") + + AddQuestStepChat(Quest, 4, "Report to Lieutenant Imperidus", 1, "I should report back to Lieutenant Imperidus in the Ruins at the second Militia outpost and give her the document I found. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantImperidus) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I have reported back to the lieutenant.") + UpdateQuestTaskGroupDescription(Quest, 4, "I have reported back to Lieutenant Imperidus and gave her the orcish document.") + + UpdateQuestDescription(Quest, "I interrogated the orc prisoner and learned of a document the Lonetusk were guarding. I retrieved the document and returned it to Lieutenant Imperidus of the Freeport Militia, who determined that the Lonetusk and Brokentusk are being supplied by the Rujarkian orcs, a tribe operating out of the Clefts of Rujark in the Desert of Ro. This is important information that must be given to Captain Arellius at the docks.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus018.mp3", "", "", 1717970804, 3719629105, Player) + AddConversationOption(conversation, "I'll return when I have the information you need, lieutenant.", "dlg_30_4") + StartConversation(conversation, QuestGiver, Player, "I knew we could rely on you! Take any measures necessary to get the beast to talk. ANY measures... got it?") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/IfIHadAHammer.lua b/Lua/Quests/TheRuins/IfIHadAHammer.lua new file mode 100755 index 000000000..2cff53207 --- /dev/null +++ b/Lua/Quests/TheRuins/IfIHadAHammer.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/TheRuins/IfIHadAHammer.lua + Script Author : neatz09 + Script Date : 2018.12.30 11:12:40 + Script Purpose : + + Zone : TheRuins + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/TheRuins/KnocktheFightOutofEm.lua b/Lua/Quests/TheRuins/KnocktheFightOutofEm.lua new file mode 100755 index 000000000..ed621dce8 --- /dev/null +++ b/Lua/Quests/TheRuins/KnocktheFightOutofEm.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : KnocktheFightOutofEm.lua + Script Purpose : Handles the quest, "Knock the Fight Out of 'Em" + Script Author : jakejp + Script Date : 12/28/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Lieutenant Imperidus + Preceded by : Stepping Up The Offensive + Followed by : Vengeance For Shoreside +--]] + +local KnocktheFightOutofEm = 392 + +local LieutenantImperidus = 1270031 + +local OrcCauldron = 1270075 +local OrcKnight = 1270076 +local WorshipIdol = 1270074 +local WineCask = 1270073 + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Throw dirt in the orcs' dinner pot", 1, 100, "I must seek out the symbols in the Ruins that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 650, OrcCauldron) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepObtainItem(Quest, 2, "Deface the statue of an orc knight", 1, 100, "I must seek out the symbols in the Ruins that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 1214, OrcKnight) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepObtainItem(Quest, 3, "Deface a Lonetusk worship idol", 1, 100, "I must seek out the symbols in the Ruins that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 1058, WorshipIdol) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") + AddQuestStepObtainItem(Quest, 4, "Poke a hole in the orcs' wine cask", 1, 100, "I must seek out the symbols in the Ruins that the orcs use to inspire themselves. Then I will defile these objects to crush their spirits. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2287, WineCask) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, KnocktheFightOutofEm, 1) and QuestStepIsComplete(Player, KnocktheFightOutofEm, 2) and QuestStepIsComplete(Player, KnocktheFightOutofEm, 3) and QuestStepIsComplete(Player, KnocktheFightOutofEm, 4) then + NextStep(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I threw dirt in the orcs' dinner pot. Take that, orcs!") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defaced the statue of an orc knight.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have defaced an idol that the Lonetusk seem to worship.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I poked a hole in the orcs' wine cask. Now they'll be thirsty!") + CheckProgress(Quest, QuestGiver, Player) +end + +function NextStep(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I found and defaced many objects the orcs hold dear. Hopefully this takes the fight out of them.") + + AddQuestStepChat(Quest, 5, "Report to Lieutenant Imperidus", 1, "Having defaced the orc artifacts, I should return to Lieutenant Imperidus at the second outpost in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantImperidus) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 5, "I have reported back to Lieutenant Imperidus.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported back to Lieutenant Imperidus.") + + UpdateQuestDescription(Quest, "I followed the orders of Lieutenant Imperidus, defacing statues the Lonetusk orcs use to inspire their troops. I also threw dirt into their food and drained their supply of wine. Hopefully the lieutenant's plan will work and my actions will have takens some of the fight out of the orcs.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus009.mp3", "", "", 3046376303, 2999823619, Player) + AddConversationOption(conversation, "Do you really think wrecking statues and ruining food is going to ensure victory?", "dlg_3_8") + AddConversationOption(conversation, "I'll get to it.") + StartConversation(conversation, QuestGiver, Player, "Our surest path to victory is to take the fight out of them. Go out there and face the Lonetusk, and deface any statues you see. Seek out their supplies of food and drink and spoil them. Without symbols of victory to inspire them and food in their bellies, their spirits will crumble and they will become easy pickings for us.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/PawnsInTheGame.lua b/Lua/Quests/TheRuins/PawnsInTheGame.lua new file mode 100755 index 000000000..02492b6fb --- /dev/null +++ b/Lua/Quests/TheRuins/PawnsInTheGame.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : PawnsintheGame.lua + Script Purpose : Handles the quest, "Pawns in the Game" + Script Author : jakejp + Script Date : 10/4/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Lieutenant Argosian + Preceded by : Reporting For Duty + Followed by : Pounding the Enemy +--]] + +local brokentuskpawn1 = 1270005 +local brokentuskpawn2 = 1270017 +local LieutenantArgosian = 1270019 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Defeat Brokentusk pawns", 10, 100, "I must aid Freeport by defeating the Brokentusk pawns in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, brokentuskpawn1, brokentuskpawn2) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I defeated 10 Brokentusk pawns and proved my worth.") + UpdateQuestTaskGroupDescription(Quest, 1, "I crushed the Brokentusk pawns as ordered.") + + AddQuestStepChat(Quest, 2, "Report to Lieutenant Argosian", 1, "I should return to Lieutenant Argosian in the Ruins and tell him of my victory. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantArgosian) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have reported back to Lieutenant Argosian.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to the lieutenant.") + + UpdateQuestDescription(Quest, "Following the orders of Lieutenant Argosian, I defeated a number of the Brokentusk pawns. They were relatively easy prey, so I will ask Argosian for a more challenging assignment.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian009b.mp3", "", "", 3351588566, 3135177671, Player) + AddConversationOption(conversation, "I will do so.", "dlg_4_9") + StartConversation(conversation, QuestGiver, Player, "Get to work, citizen. You have your orders, now carry them out.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/PoundingTheEnemy.lua b/Lua/Quests/TheRuins/PoundingTheEnemy.lua new file mode 100755 index 000000000..de6dda7ed --- /dev/null +++ b/Lua/Quests/TheRuins/PoundingTheEnemy.lua @@ -0,0 +1,109 @@ +--[[ + Script Name : PoundingtheEnemy.lua + Script Purpose : Handles the quest, "Pounding the Enemy" + Script Author : jakejp + Script Date : 10/4/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Lieutenant Argosian + Preceded by : Pawns in the Game + Followed by : Prophet and Loss +--]] + +-- QUEST ID'S -- +local PoundingTheEnemy = 370 + +-- MOB ID'S -- +local BrokentuskGuard = 1270014 +local BrokentuskWarrior = 1270013 +local BrokentuskOverseer = 1270006 + +-- NPC ID's -- +local LieutenantArgosian = 1270019 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Defeat Brokentusk guards", 5, 100, "I have been ordered to defeat the Brokentusk orcs in the Ruins and defend the vagrant squatters. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, BrokentuskGuard) + AddQuestStepKill(Quest, 2, "Defeat Brokentusk warriors", 5, 100, "I have been ordered to defeat the Brokentusk orcs in the Ruins and defend the vagrant squatters. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, BrokentuskWarrior) + AddQuestStepKill(Quest, 3, "Slay the overseer", 1, 100, "I have been ordered to defeat the Brokentusk orcs in the Ruins and defend the vagrant squatters. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, BrokentuskOverseer) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, PoundingTheEnemy, 1) and QuestStepIsComplete(Player, PoundingTheEnemy, 2) and QuestStepIsComplete(Player, PoundingTheEnemy, 3) then + Step4Complete(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have defeated five Brokentusk guards.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated five Brokentusk warriors.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have slain the orc overseer.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have defeated the orcs, keeping the vagrants safe for now.") + + AddQuestStepChat(Quest, 4, "Report to Lieutenant Argosian", 1, "I should return to Lieutenant Argosian in the Ruins and report that the vagrants are safe for now. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantArgosian) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I have reported back to Lieutenant Argosian.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to Lieutenant Argosian.") + + UpdateQuestDescription(Quest, "I defeated a variety of Brokentusk orcs and kept the squatters safe in the Ruins. The threat is far from over, however.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + --[[ if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end + --]] + if QuestStepIsComplete(Player, PoundingTheEnemy, 1) then + Step1Complete(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, PoundingTheEnemy, 2) then + Step2Complete(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, PoundingTheEnemy, 3) then + Step3Complete(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, PoundingTheEnemy, 4) then + Step4Complete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian015b.mp3", "", "", 102436079, 1387861460, Player) + AddConversationOption(conversation, "I will.", "dlg_10_5") + StartConversation(conversation, QuestGiver, Player, "I knew I could count on you. Return to me when the orcs have paid for their crimes.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/ProphetAndLoss.lua b/Lua/Quests/TheRuins/ProphetAndLoss.lua new file mode 100755 index 000000000..8df0ac691 --- /dev/null +++ b/Lua/Quests/TheRuins/ProphetAndLoss.lua @@ -0,0 +1,97 @@ +--[[ + Script Name : ProphetandLoss.lua + Script Purpose : Handles the quest, "Prophet and Loss" + Script Author : jakejp + Script Date : 10/4/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Lieutenant Argosian + Preceded by : Pounding the Enemy + Followed by : Requesting Further Orders +--]] + +-- QUEST ID'S -- +local ProphetandLoss = 371 + +-- LOCATION ID'S -- + +-- MOB ID'S -- +local BrokentuskWarrior = 1270013 +local BrokentuskProphet = 1270009 + +-- NPC ID'S -- +local LieutenantArgosian = 1270019 + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "Find an old shrine guarded by Brokentusk orcs", 10, "I should search for an old shrine in the Ruins guarded by prophets past the Brokentusks north of the docks. Then I should eliminate the orcs guarding it. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 1215, -69, 0, 68) + AddQuestStepKill(Quest, 2, "Defeat Brokentusk warriors", 4, 100, "I should search for an old shrine in the Ruins guarded by prophets past the Brokentusks north of the docks. Then I should eliminate the orcs guarding it. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, BrokentuskWarrior) + AddQuestStepKill(Quest, 3, "Defeat Brokentusk prophets", 4, 100, "I should search for an old shrine in the Ruins guarded by prophets past the Brokentusks north of the docks. Then I should eliminate the orcs guarding it. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, BrokentuskProphet) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, ProphetandLoss, 1) and QuestStepIsComplete(Player, ProphetandLoss, 2) and QuestStepIsComplete(Player, ProphetandLoss, 3) then + ReturnToArgosian(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found the old shrine, which seems to be a relic of Shoreside.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated four Brokentusk warriors guarding the old shrine.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have defeated four Brokentusk prophets, but they don't seem to gain any strength from this shrine.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found the shrine and defeated the orcs guarding it.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function ReturnToArgosian(Quest, QuestGiver, Player) + AddQuestStepChat(Quest, 4, "Report to Lieutenant Argosian", 1, "I should report back to Lieutenant Argosian in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantArgosian) + AddQuestStepCompleteAction(Quest, 4, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 4, "I have informed the lieutenant that I found the shrine.") + UpdateQuestTaskGroupDescription(Quest, 2, "I reported back to the lieutenant.") + + UpdateQuestDescription(Quest, "I found the remains of an old shrine in the Ruins, but it does not seem to be giving any divine strength to the orcs. In fact, it seems to be a remnant of the lost community of Shoreside, which is what this area used to be called. I have reported back to Lieutenant Argosian of the Freeport Militia and told him what I found.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian022b.mp3", "", "", 3696168160, 1150705872, Player) + AddConversationOption(conversation, "Yes, sir.", "dlg_0_8") + StartConversation(conversation, QuestGiver, Player, "Go now, and report back when your duty is done.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/ReportingForDuty.lua b/Lua/Quests/TheRuins/ReportingForDuty.lua new file mode 100755 index 000000000..9d2c8727c --- /dev/null +++ b/Lua/Quests/TheRuins/ReportingForDuty.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : ReportingforDuty.lua + Script Purpose : Handles the quest, "Reporting for Duty" + Script Author : jakejp + Script Date : 10/1/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Captain Arellius + Preceded by : None + Followed by : Pawns in the Game +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Seek out Lieutenant Argosian", 1, "I have been ordered to speak to Lieutenant Argosian in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, 1270019) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I spoke to the lieutenant.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have reported to Lieutenant Argosian.") + + UpdateQuestDescription(Quest, "I followed the orders of Captain Arellius, who had me report to Lieutenant Argosian at the first outpost in the Ruins. I will now be aiding him in his quest to battle the Brokentusk orcs.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius017.mp3", "", "", 3161105606, 1921169647, Player) + AddConversationOption(conversation, "Thank you for the advice.", "dlg_1_14") + StartConversation(conversation, QuestGiver, Player, "Good. Oh, be sure to pay homage to the statue of our beloved Overlord. It would prove most beneficial for you to bask in the wisdom of his visage.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/RequestingFurtherOrders.lua b/Lua/Quests/TheRuins/RequestingFurtherOrders.lua new file mode 100755 index 000000000..819f5a96f --- /dev/null +++ b/Lua/Quests/TheRuins/RequestingFurtherOrders.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : RequestingFurtherOrders.lua + Script Purpose : Handles the quest, "Requesting Further Orders" + Script Author : jakejp + Script Date : 10/4/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Lieutenant Argosian + Preceded by : Prophet and Loss + Followed by : Stepping Up the Offensive +--]] + +-- NPC ID'S -- +local CaptainArellius = 1270000 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Return to Captain Arellius", 1, "I have been ordered to return to Captain Arellius in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, CaptainArellius) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have spoken to Captain Arellius.") + UpdateQuestTaskGroupDescription(Quest, 1, "I returned to the captain for further orders.") + + UpdateQuestDescription(Quest, "I followed the orders of Lieutenant Argosian, who told me to report back to Captain Arellius at the docks in the Ruins. I will now see if I can be of further assistance in the defense of Freeport.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian027b.mp3", "", "", 3190269915, 3618413640, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Travel safely, citizen of Freeport.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/SteppingUpTheOffensive.lua b/Lua/Quests/TheRuins/SteppingUpTheOffensive.lua new file mode 100755 index 000000000..2d2d12d8b --- /dev/null +++ b/Lua/Quests/TheRuins/SteppingUpTheOffensive.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SteppingUptheOffensive.lua + Script Purpose : Handles the quest, "Stepping Up the Offensive" + Script Author : jakejp + Script Date : 10/4/2018 + Script Notes : + + Zone : The Ruins + Quest Giver : Captain Arellius + Preceded by : Requesting Further Orders + Followed by : Knock the Fight Out of 'Em +--]] + +-- NPC ID'S -- +local LieutenantImperidus = 1270031 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak to Lieutenant Imperidus", 1, "I have been ordered by the captain to report to Lieutenant Imperidus in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantImperidus) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I found Lieutenant Imperidus deep in the Ruins.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have reported to Lieutenant Imperidus.") + + UpdateQuestDescription(Quest, "I made my way through the Ruins and found the second Militia outpost, where I reported to Lieutenant Imperidus for duty.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius028.mp3", "", "", 11330989, 3299447227, Player) + AddConversationOption(conversation, "I understand, Captain.") + StartConversation(conversation, QuestGiver, Player, "Again, keep in mind that even travel to the second outpost will be dangerous. Travel with companions to ensure your safety. Do not report back to me until you have followed the lieutenant's orders.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheRuins/VengeanceforShoreside.lua b/Lua/Quests/TheRuins/VengeanceforShoreside.lua new file mode 100755 index 000000000..418e90009 --- /dev/null +++ b/Lua/Quests/TheRuins/VengeanceforShoreside.lua @@ -0,0 +1,177 @@ +--[[ + Script Name : VengeanceforShoreside.lua + Script Purpose : Handles the quest, "Vengeance for Shoreside" + Script Author : jakejp + Script Date : 12/29/2018 + Script Notes : Wiki says mobs are chosen randomly, attempt at making quest steps random + + Zone : The Ruins + Quest Giver : Lieutenant Imperidus + Preceded by : Knock the Fight Out of 'Em + Followed by : Identifying the Lonetusk Ally +--]] + +local VengeanceforShoreside = 393 + +local LieutenantImperidus = 1270031 +local LonetuskSentry = 1270021 +local LonetuskWarrior = 1270032 +local LonetuskCrusher = 1270036 +local LonetuskPounder = 1270026 +local LonetuskShaman = 1270023 +local LonetuskProphet = 1270037 +choice = math.random(1, 6) + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Slay Lonetusk sentries", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskSentry) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + AddQuestStepKill(Quest, 2, "Slay Lonetusk warriors", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskWarrior) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + if choice == 1 then + AddQuestStepKill(Quest, 3, "Slay Lonetusk crushers", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskCrusher) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") + AddQuestStepKill(Quest, 4, "Slay Lonetusk pounders", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskPounder) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") + elseif choice == 2 then + AddQuestStepKill(Quest, 3, "Slay Lonetusk crushers", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskCrusher) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") + AddQuestStepKill(Quest, 4, "Slay Lonetusk shamans", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskShaman) + AddQuestStepCompleteAction(Quest, 4, "Step5Complete") + elseif choice == 3 then + AddQuestStepKill(Quest, 3, "Slay Lonetusk crushers", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskCrusher) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") + AddQuestStepKill(Quest, 4, "Slay Lonetusk prophets", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskProphet) + AddQuestStepCompleteAction(Quest, 4, "Step6Complete") + elseif choice == 4 then + AddQuestStepKill(Quest, 3, "Slay Lonetusk pounders", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskPounder) + AddQuestStepCompleteAction(Quest, 3, "Step4Complete") + AddQuestStepKill(Quest, 4, "Slay Lonetusk shamans", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskShaman) + AddQuestStepCompleteAction(Quest, 4, "Step5Complete") + elseif choice == 5 then + AddQuestStepKill(Quest, 3, "Slay Lonetusk pounders", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskPounder) + AddQuestStepCompleteAction(Quest, 3, "Step4Complete") + AddQuestStepKill(Quest, 4, "Slay Lonetusk prophets", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskProphet) + AddQuestStepCompleteAction(Quest, 4, "Step6Complete") + elseif choice == 6 then + AddQuestStepKill(Quest, 3, "Slay Lonetusk shamans", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskShaman) + AddQuestStepCompleteAction(Quest, 3, "Step5Complete") + AddQuestStepKill(Quest, 4, "Slay Lonetusk prophets", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, LonetuskProphet) + AddQuestStepCompleteAction(Quest, 4, "Step6Complete") + end + + --AddQuestStepKill(Quest, 3, "Slay Lonetusk crushers", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, --[[ ID's --]]) + --AddQuestStepCompleteAction(Quest, 3, "Step3Complete") + --AddQuestStepKill(Quest, 4, "Slay Lonetusk pounders", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, --[[ ID's --]]) + --AddQuestStepCompleteAction(Quest, 4, "Step4Complete") + --AddQuestStepKill(Quest, 5, "Slay Lonetusk shamans", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, --[[ ID's --]]) + --AddQuestStepCompleteAction(Quest, 5, "Step5Complete") + --AddQuestStepKill(Quest, 6, "Slay Lonetusk prophets", 5, 100, "In memory of the fallen citizens of Shoreside, I will take revenge upon the Lonetusk orcs in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 2489, --[[ ID's --]]) + --AddQuestStepCompleteAction(Quest, 6, "Step6Complete") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, VengeanceforShoreside, 1) and QuestStepIsComplete(Player, VengeanceforShoreside, 2) and QuestStepIsComplete(Player, VengeanceforShoreside, 3) and QuestStepIsComplete(Player, VengeanceforShoreside, 4) then + LastStep(Quest, QuestGiver, Player) + end +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain five Lonetusk sentries.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain five Lonetusk warriors.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have slain five Lonetusk crushers.") + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step4Complete(Quest, QuestGiver, Player) + if choice == 1 then + UpdateQuestStepDescription(Quest, 4, "I have slain five Lonetusk pounders.") + elseif choice == 4 then + UpdateQuestStepDescription(Quest, 3, "I have slain five Lonetusk pounders.") + elseif choice == 5 then + UpdateQuestStepDescription(Quest, 3, "I have slain five Lonetusk pounders.") + end + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step5Complete(Quest, QuestGiver, Player) + if choice == 2 then + UpdateQuestStepDescription(Quest, 4, "I have slain five Lonetusk shamans.") + elseif choice == 4 then + UpdateQuestStepDescription(Quest, 4, "I have slain five Lonetusk shamans.") + elseif choice == 6 then + UpdateQuestStepDescription(Quest, 3, "I have slain five Lonetusk shamans.") + end + CheckProgress(Quest, QuestGiver, Player) + +end + +function Step6Complete(Quest, QuestGiver, Player) + if choice == 3 then + UpdateQuestStepDescription(Quest, 4, "I have slain five Lonetusk prophets.") + elseif choice == 5 then + UpdateQuestStepDescription(Quest, 4, "I have slain five Lonetusk prophets.") + elseif choice == 6 then + UpdateQuestStepDescription(Quest, 4, "I have slain five Lonetusk prophets.") + end + CheckProgress(Quest, QuestGiver, Player) +end + +function LastStep(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have honored the memory of Freeport's fallen by taking revenge on the Lonetusk.") + + AddQuestStepChat(Quest, 5, "Report to Lieutenant Imperidus", 1, "Having wiped out a considerable number of Lonetusk, I should report back to Lieutenant Imperidus in the Ruins. I can reach the Ruins by using any of the bells in and around the City of Freeport.", 11, LieutenantImperidus) + AddQuestStepCompleteAction(Quest, 5, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 5, "I have reported back to the lieutenant.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported back to Lieutenant Imperidus.") + + UpdateQuestDescription(Quest, "I killed Lonetusk orcs. Lots and lots of orcs. Lieutenant Imperidus and I both feel that we're making progress against these foul beasts, but more must be done to ensure Freeport's safety. The lieutenant has further orders for me that will hopefully help us turn the tide. Perhaps my efforts here have brought some measure of peace to the dead citizens of Shoreside.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + Step6Complete(Quest, QuestGiver, Player) + elseif Step == 7 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus013.mp3", "", "", 1435258692, 228785667, Player) + AddConversationOption(conversation, "I like the sound of this plan.", "dlg_6_3") + StartConversation(conversation, QuestGiver, Player, "The surest way to take the fight out of the orcs is to thin their numbers. We have to show we will not tolerate their presence anymore. I need you to make a serious dent in the Lonetusk population. The streets of Shoreside must swell with the blood of these brutes.") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/TheSprawl/TrainingWillGetYouEverywhere.lua b/Lua/Quests/TheSprawl/TrainingWillGetYouEverywhere.lua new file mode 100755 index 000000000..f9d2435d6 --- /dev/null +++ b/Lua/Quests/TheSprawl/TrainingWillGetYouEverywhere.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : training_will_get_you_everywhere.lua + Script Purpose : Handles the quest, "Training Will Get You Everywhere" + Script Author : Neatz09 + Script Date : 1/19/2019 + Script Notes : Auto generated with QuestParser. + + Zone : The Sprawl + Quest Giver : Enforcer Kurdek + Preceded by : None + Followed by : None +--]] + +local Enforcer_Kurdek = 1260017 +local Trainer_Durbok = 1260016 + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Speak to Trainer Durbok", 1, "I need to speak to Trainer Durbok in the Sprawl, who is teaching combat to the Giantslayers. I can reach the Sprawl by using any of the bells in and around the City of Freeport.", 11, Trainer_Durbok) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken to Trainer Durbok, who is displeased with the progress of the Giantslayers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken to Trainer Durbok and must tell Enforcer Kurdek what I have learned.") + + AddQuestStepChat(Quest, 2, "Return to Enforcer Kurdek", 1, "I must return to Enforcer Kurdek in the Sprawl with my report. I can reach the Sprawl by using any of the bells in and around the City of Freeport.", 11, Enforcer_Kurdek) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have returned to Enforcer Kurdek and told him what I learned from Trainer Durbok.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have reported back to Enforcer Kurdek.") + + UpdateQuestDescription(Quest, "I spoke with Trainer Durbok, who feels that the Giantslayers are not focused enough on their training. He feels that their leader, Brutemaster Tarden, is responsible for this failing. Enforcer Kurdek has been notified and is none too happy about it.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThievesWay/TheStolenChest.lua b/Lua/Quests/ThievesWay/TheStolenChest.lua new file mode 100755 index 000000000..1b8cd738d --- /dev/null +++ b/Lua/Quests/ThievesWay/TheStolenChest.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : the_stolen_chest.lua + Script Purpose : Handles the quest, "The Stolen Chest" + Script Author : EmemJR + Script Date : 10/7/2019 + Script Notes : Auto generated with QuestParser. + + Zone : Thieves' Way + Quest Giver : + Preceded by : None + Followed by : None +--]] + +local itemId = 2115 +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill one darkblade brigand.", 1, 100, "I must kill a darkblade brigand.", 11, 1540018,1540023) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + while HasItem(Player, itemId, 1) do + RemoveItem(Player, itemId) + end +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have killed one darkblade brigand.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed a darkblade brigand.") + + UpdateQuestDescription(Quest, "I found a bounty that promised a reward for the return of a stolen chest. After I recovered the chest from the Darkblade brigands, I returned it to Anrean Velvinna. She awarded me some money for returning the chest.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThievesWay/chuggles_toolbox.lua b/Lua/Quests/ThievesWay/chuggles_toolbox.lua new file mode 100755 index 000000000..a215de7ee --- /dev/null +++ b/Lua/Quests/ThievesWay/chuggles_toolbox.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/ThievesWay/chuggles_toolbox.lua + Script Author : Ememjr + Script Date : 2019.10.08 04:10:09 + Script Purpose : + + Zone : ThievesWay + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/ThievesWay/the_darkblade_dagger.lua b/Lua/Quests/ThievesWay/the_darkblade_dagger.lua new file mode 100755 index 000000000..9a6fb7000 --- /dev/null +++ b/Lua/Quests/ThievesWay/the_darkblade_dagger.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : the_darkblade_dagger.lua + Script Purpose : Handles the quest, "The Darkblade Dagger" + Script Author : EmemJR + Script Date : 10/7/2019 + Script Notes : Auto generated with QuestParser. + + Zone : Thieves' Way + Quest Giver : + Preceded by : None + Followed by : None +--]] + +local itemId = 3767 +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill some diseased ratongas.", 10, 100, "I must kill ten diseased ratonga to unlock the power in this blade.", 611, 1540002, 1540022, 1540072, 1540024, 1540028, 1540021, 1540073) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + while HasItem(Player, itemId, 1) do + RemoveItem(Player, itemId) + end +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "I have killed some diseased ratongas.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed ten diseased ratonga.") + + UpdateQuestDescription(Quest, "I found a call to duty hidden within the hilt of a Darkblade dagger. In the hope of benefiting from this order and gaining the rewards it promised, I killed ten diseased ratonga. The fulfillment of the duty by my hand awakened an enchantment that had been stored within the blade.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThievesWay/the_spirits_release.lua b/Lua/Quests/ThievesWay/the_spirits_release.lua new file mode 100755 index 000000000..81cc0e4eb --- /dev/null +++ b/Lua/Quests/ThievesWay/the_spirits_release.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : the_spirits_release.lua + Script Purpose : Handles the quest, "The Spirit's Release" + Script Author : EmemJR + Script Date : 10/7/2019 + Script Notes : Auto generated with QuestParser. + + Zone : Thieves' Way + Quest Giver : item A mystical Sphere(id# 2304 + Preceded by : None + Followed by : None +--]] + +local itemId = 2304 +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill some netherot chanters.", 5, 100, "I must kill five netherot chanters.", 611, 1540015) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted + +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed some netherot chanters.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed five netherot chanters") + + AddQuestStep(Quest, 2, "I should inspect the orb.", 1, 100, "I should inspect the orb.", 11) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have inspected the orb.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have inspected the orb.") + + UpdateQuestDescription(Quest, "I found a magic stone that contained the spirit of a former Darkblade rogue. The spirit was freed when I killed the Netherot Chanters. The power of the stone is now mine.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThunderingSteppes/AScryingShame.lua b/Lua/Quests/ThunderingSteppes/AScryingShame.lua new file mode 100755 index 000000000..2008374f7 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/AScryingShame.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/ThunderingSteppes/AScryingShame.lua + Script Author : Jabantiz + Script Date : 2014.07.08 08:07:47 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Tish Tickers (2490042) + Preceded by: Watch your step in The Thundering Steppes, Part II + Followed by: The Gnoll Cave +--]] + +-- Quests +local WatchYourStepInTheTSPartII = 100 + +-- Items +local AnAncientSilverCoin = 3513 + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "Find five ancient silver coins for Tish.", 5, 100, "I must use the scrying stones that Tish gave me to try to find five ancient silver coins.", 2166, AnAncientSilverCoin) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have used the scrying stones to find the five ancient silver coins for Tish.") + + AddQuestStepChat(Quest, 2, "Return to Tish Tickers.", 1, "I must bring Tish her coins so that she can repay her debt and avoid a visit from the collection clockworks.", 11, 2490042) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, QuestGiver, Player, "Great! Thank you! Here, take these five scrying stones and see if you can get me my ancient silver coins. If you run out of stones, you might need to shop around and see if some of the local merchants have some. Please be fast. I don't want to get a visit from the clockworks...") + SetStepComplete(Player, WatchYourStepInTheTSPartII, 1) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/BlumbleBlunder.lua b/Lua/Quests/ThunderingSteppes/BlumbleBlunder.lua new file mode 100755 index 000000000..ed310df28 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/BlumbleBlunder.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/ThunderingSteppes/BlumbleBlunder.lua + Script Author : Jabantiz + Script Date : 2014.07.07 08:07:18 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Blerton Blumble (2490025) + Preceded by: Watch your step in The Thundering Steppes, Part I + Followed by: Search for Grandma Blumble +--]] + +local WatchYourStepInTSPartI = 99 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Look for some sign of Grandpa Blumble on the beaches north of the docks.", 1, "I must check the beaches north of the docks for some trace of Grandpa Blumble.", 11, 4490008) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Grandpa Blumble in a cave on the beaches north of the docks.") + + AddQuestStepChat(Quest, 2, "Return to Blerton Blumble.", 1, "I must return to Blerton Blumble and inform him that I have found Grandpa Blumble.", 11, 2490025) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Spawn, "Thank you very much. Grandpa sometimes gets it into his head to go searching for pirate treasure. None of us are quite sure why, but the whole family worries about him. He has a knack for getting lost. Last time we found him he had fallen asleep digging over on the beach to the north of the docks here and we've been wondering when he'd try it again. You can't miss it, he always marks his dig with a big 'X'.") + + -- Advance step 1 of Watch Your Step in The Thundering Steppes, Part I + SetStepComplete(Player, WatchYourStepInTSPartI, 1) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThunderingSteppes/DesperatelySeekingAnts.lua b/Lua/Quests/ThunderingSteppes/DesperatelySeekingAnts.lua new file mode 100755 index 000000000..4c468ff38 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/DesperatelySeekingAnts.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/ThunderingSteppes/DesperatelySeekingAnts.lua + Script Author : XionnaeEQ + Script Date : 2016.07.17 06:07:19 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/ThunderingSteppes/DesperatelySeekingButterflies.lua b/Lua/Quests/ThunderingSteppes/DesperatelySeekingButterflies.lua new file mode 100755 index 000000000..fa5b9c835 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/DesperatelySeekingButterflies.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : Quests/ThunderingSteppes/DesperatelySeekingButterflies.lua + Script Author : Jabantiz + Script Date : 2014.07.30 04:07:06 + Script Purpose : + + Zone : Thundering Steppes + Quest Giver : Elowys Laceleaf (2490013) + Preceded by : None + Followed by : Desperately Seeking Moths! +--]] + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I'm looking for a striped blue butterfly for Elowys Laceleaf.", 1, 100, "I need to find some butterflies for Elowys Laceleaf in the Thundering Steppes.", 1833, 13464) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've found a striped blue butterfly.") + AddQuestStepChat(Quest, 2, "I need to take this butterfly to Elowys Laceleaf on the docks of the Thundering Steppes.", 1, "I need to find some butterflies for Elowys Laceleaf in the Thundering Steppes.", 11, 2490013) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've given the butterfly to Elowys.") + AddQuestStepObtainItem(Quest, 3, "I'm looking for a striped violet butterfly for Elowys Laceleaf.", 1, 100, "I need to find some butterflies for Elowys Laceleaf in the Thundering Steppes.", 1836, 13494) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've found a striped violet butterfly.") + AddQuestStepChat(Quest, 4, "I need to take this butterfly to Elowys Laceleaf on the docks of the Thundering Steppes.", 1, "I need to find some butterflies for Elowys Laceleaf in the Thundering Steppes.", 11, 2490013) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I've given the butterfly to Elowys.") + AddQuestStepObtainItem(Quest, 5, "I'm looking for a spotted yellow butterfly for Elowys Laceleaf.", 1, 100, "I need to find some butterflies for Elowys Laceleaf in the Thundering Steppes.", 1830, 13265) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I've found the butterfly.") + AddQuestStepChat(Quest, 6, "I need to take this butterfly to Elowys Laceleaf on the docks of the Thundering Steppes.", 1, "I need to find some butterflies for Elowys Laceleaf in the Thundering Steppes.", 11, 2490013) + AddQuestStepCompleteAction(Quest, 6, "Step6Complete") + SetCompleteFlag(Quest) +end + +function Step6Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + Step6Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/DesperatelySeekingMoths.lua b/Lua/Quests/ThunderingSteppes/DesperatelySeekingMoths.lua new file mode 100755 index 000000000..8033f20cf --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/DesperatelySeekingMoths.lua @@ -0,0 +1,90 @@ +--[[ + Script Name : DesperatelySeekingMoths!.lua + Script Purpose : + Script Author : XionnaeEQ + Script Date : 6/11/2016 + Script Notes : + + Zone : Thundering Steppes + Quest Giver : Elowys Laceleaf (2490013) + Preceded by : Desperately Seeking Butterflies! + Followed by : Desperately Seeking Ants! +--]] + + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I'm looking for a plain brown moth for Elowys Laceleaf.", 1, 100, "I need to find some moths for Elowys Laceleaf in the Thundering Steppes.", 1899, 10409) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've found a plain brown moth.") + AddQuestStepChat(Quest, 2, "I need to take the moth to Elowys Laceleaf on the docks of the Thundering Steppes.", 1, "I need to find some moths for Elowys Laceleaf in the Thundering Steppes.", 11, 10409) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've given the moth to Elowys.") + AddQuestStepObtainItem(Quest, 3, "I'm looking for a spotted brown moth for Elowys Laceleaf.", 1, 100, "I need to find some moths for Elowys Laceleaf in the Thundering Steppes.", 1903, 13234) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've found a spotted brown moth.") + AddQuestStepObtainItem(Quest, 4, "I'm looking for a striped brown moth for Elowys Laceleaf.", 1, 100, "I need to find some moths for Elowys Laceleaf in the Thundering Steppes.", 1907, 13471) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I've found a striped brown moth.") + AddQuestStepChat(Quest, 5, "I need to take this moth to Elowys Laceleaf on the docks of the Thundering Steppes.", 1, "I need to find some moths for Elowys Laceleaf in the Thundering Steppes.", 11, 13471) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I've given the moth to Elowys.") + AddQuestStepObtainItem(Quest, 6, "I'm looking for a spotted yellow butterfly for Elowys Laceleaf.", 1, 100, "I need to find some moths for Elowys Laceleaf in the Thundering Steppes.", 1830, 13265) + AddQuestStepCompleteAction(Quest, 6, "Step6Complete") +end + +function Step6Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I've found the butterfly.") + AddQuestStepChat(Quest, 7, "I need to take this butterfly to Elowys Laceleaf on the docks of the Thundering Steppes.", 1, "I need to find some moths for Elowys Laceleaf in the Thundering Steppes.", 11, 13265) + AddQuestStepCompleteAction(Quest, 7, "QuestComplete") + SetCompleteFlag(Quest) +end + + +function Step7Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + + + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + Step6Complete(Quest, QuestGiver, Player) + elseif Step == 7 then + QuestComplete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/GranvillesRestaurantAntonica.lua b/Lua/Quests/ThunderingSteppes/GranvillesRestaurantAntonica.lua new file mode 100755 index 000000000..25e17bf49 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/GranvillesRestaurantAntonica.lua @@ -0,0 +1,90 @@ +--[[ + Script Name : GranvillesRestaurantAntonica.lua + Script Purpose : Handles the quest, "Granville's Restaurant, Antonica" + Script Author : Jabantiz + Script Date : 6/14/2016 + Script Notes : + + Zone : Thundering Steppes + Quest Giver : Tobias Granville (2490178) + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must bring back large shore crab shells for Tobias' crab bisque.", 15, 100, "I will need to obtain what Tobias needs in and around the Thundering Steppes.", 77, 2490280) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've collected several large shore crab shells.") + + AddQuestStepChat(Quest, 2, "I should take these shells back to Tobias Granville in the Village of Thundermist.", 1, "I will need to obtain what Tobias needs in and around the Thundering Steppes.", 2545, 2490178) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with Tobias.") + + AddQuestStepHarvest(Quest, 3, "I need to obtain a variety of high quality seafood for Tobias' seafood bisque, thicket crayfish should suffice.", 20, 100, "I will need to obtain what Tobias needs in and around the Thundering Steppes.", 2545, 14395) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I've obtained several thicket crayfish for Tobia's bisque.") + + AddQuestStepChat(Quest, 4, "I need to take these ingredients to Tobias Granville in the Village of Thundermist.", 1, "I will need to obtain what Tobias needs in and around the Thundering Steppes.", 11, 2490178) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I've spoken with Tobias.") + + AddQuestStepLocation(Quest, 5, "I need to check on what might be keeping the creature population low near the shore.", 30, "I will need to obtain what Tobias needs in and around the Thundering Steppes.", 11, 1481, -20, 239 ) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I've seen a siren's temple; they might be keeping the populations low.") + + AddQuestStepChat(Quest, 6, "I need to report back to Tobias Granville in the Village of Thundermist.", 1, "I will need to obtain what Tobias needs in and around the Thundering Steppes.", 11, 2490178) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I've spoken with Tobias.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've provided everything Tobias requested.") + + UpdateQuestDescription(Quest, "I've procured the basic ingredients Tobias requested. He paid part of what he owes me, but told me that his sister Tanny Granville has the rest of their funds. I will have to look Miss Granville up when I pass through Nektulos Forest to collect what's owed me...or I can forget the whole thing. Hmm...decisions, decisions.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + local conversation = CreateConversation() + + AddConversationOption(conversation, "All right, I'll be back.") + StartConversation(conversation, QuestGiver, Player, "We start by taking the shells of large shore crabs and seasoning them, then we cook them over low heat in just the right amount of liquid. The flavor intensifies over time into something completely sublime. We'll see how you handle this task before entrusting you with something a bit more delicate, eh?", "voiceover/english/tobias_granville/steppes/quests/quest_tobias_granville/tobias_granville003.mp3", 11212970, 2895684237) +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/GriffinEggForTheSteppesTowerStations.lua b/Lua/Quests/ThunderingSteppes/GriffinEggForTheSteppesTowerStations.lua new file mode 100755 index 000000000..3b1b8a922 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/GriffinEggForTheSteppesTowerStations.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/ThunderingSteppes/GriffinEggForTheSteppesTowerStations.lua + Script Author : Jabantiz + Script Date : 2014.07.14 10:07:24 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: a griffin tamer (2490000) + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "I'll have to look around the Thundering Steppes for griffin eggs. It's likely I'd find eggs near the prides that fly about the western steppes.", 1, 100, "I need to find a griffin egg for the griffin tower station trainer!", 2346, 6675) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've found an egg for the griffin tower trainer.") + + AddQuestStepChat(Quest, 2, "Return the unhatched egg to the griffin trainer at the nearest griffin station.", 1, "Return the egg to the nearest griffin tower station quickly! If the egg cools, the only thing it'll be useful for is a really big omlette!", 11, 2490000) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThunderingSteppes/HidesForBrianna.lua b/Lua/Quests/ThunderingSteppes/HidesForBrianna.lua new file mode 100755 index 000000000..f775cd024 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/HidesForBrianna.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/ThunderingSteppes/HidesForBrianna.lua + Script Author : Jabantiz + Script Date : 2014.07.11 02:07:04 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Brianna (2490170) + Preceded by: Supplies for Brianna + Followed by: +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Collect tough rumbler hides.", 15, 100, "Brianna in Thundermist village has asked me to gather tough hides from rumblers in the Steppes.", 2536, 3570000, 3570001, 3570002, 3570003, 3570004, 3570005, 3570006, 3570007, 3570008) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I gathered the rumbler hides for Brianna.") + + AddQuestStepChat(Quest, 2, "Return these hides to Brianna in Thundermist Village.", 1, "I should return these rumbler hides to Brianna in Thundermist Village.", 11, 2490170) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm on it.") + StartConversation(conversation, NPC, Spawn, "Well, the first thing I am going to need today is some tough rumbler hides, but only from the subterranean ones. If they have ever seen daylight, they just won't do. There is a special cave I found once where they tend to gather. If you can bring me 15 of them that would be great.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThunderingSteppes/HuntingForTrapperBorgus.lua b/Lua/Quests/ThunderingSteppes/HuntingForTrapperBorgus.lua new file mode 100755 index 000000000..51581fba6 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/HuntingForTrapperBorgus.lua @@ -0,0 +1,152 @@ +--[[ + Script Name : Quests/ThunderingSteppes/HuntingForTrapperBorgus.lua + Script Author : Jabantiz + Script Date : 2014.07.03 08:07:38 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: + Preceded by: None + Followed by: +--]] + +local beetles = 1 +local crabs = 2 +local antelope = 4 +local snakes = 8 + +local kill8 = 16 +local kill9 = 32 +local kill10 = 64 +local kill11 = 128 +local kill12 = 256 + +function Init(Quest) + SetQuestFeatherColor(Quest, 3) + SetQuestRepeatable(Quest) +end + +function FinishedKilling(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I've slain quite a few of the local Steppes creatures, this should be enough for the needed provisions.") + AddQuestStepChat(Quest, 6, "I should return to Trapper Borgus on the road to Antonica in the Thundering Steppes.", 1, "I should report back to Trapper Borgus.", 11, 2490327) + AddQuestStepCompleteAction(Quest, 6, "CompleteQuest") + SetCompleteFlag(Quest) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + if GetTempVariable(Player, "RepeatHuntingForTrapperBorgus") == "true" then + -- agree to do it again after turn in + PlayFlavor(QuestGiver, "voiceover/english/trapper_borgus/steppes/trapper_borgus005.mp3", "", "", 3731275829, 2804607060, Player) + AddConversationOption(conversation, "No problem.") + StartConversation(conversation, QuestGiver, Player, "Righto, I need yeh to slay some more beasts for me.") + else + PlayFlavor(QuestGiver, "voiceover/english/trapper_borgus/steppes/trapper_borgus002.mp3", "", "", 2714498539, 3912364452, Player) + AddConversationOption(conversation, "I'm ready to hunt.") + StartConversation(conversation, QuestGiver, Player, "I thank yeh, and me back thanks yeh! I just need several of each kind o' Steppes beasts that wander in these parts, they should provide enough food for the coming months! Slay them n' bring their bodies to me.") + end + + SetTempVariable(Player, "RepeatHuntingForTrapperBorgus", nil) + + if GetQuestFlags(Quest) == 0 then + -- needs to be in accept to make it random per person + local mob_type = math.random(1, 4) -- what to kill + local quantity = math.random(8, 12) + local flags = 0 + + if mob_type == 1 then -- Beetles + flags = beetles + elseif mob_type == 2 then -- Crabs + flags = crabs + elseif mob_type == 3 then -- Antelope + flags = antelope + elseif mob_type == 4 then -- Snakes + flags = snakes + end + + if quantity == 8 then + flags = flags + kill8 + elseif quantity == 9 then + flags = flags + kill9 + elseif quantity == 10 then + flags = flags + kill10 + elseif quantity == 11 then + flags = flags + kill11 + elseif quantity == 12 then + flags = flags + kill12 + end + + SetQuestFlags(Quest, flags) + SetStep(Quest, Player, mob_type, quantity) + else -- need the else for /reload quest + CheckBitMask(Quest, Player, GetQuestFlags(Quest)) + end +end + +function hasflag(flags, flag) + return flags % (2*flag) >= flag +end + +function CheckBitMask(Quest, Player, Flags) + local mob_type = 0 + local quantity = 0 + + if hasflag(Flags, beetles) then + mob_type = 1 + elseif hasflag(Flags, crabs) then + mob_type = 2 + elseif hasflag(Flags, antelope) then + mob_type = 3 + elseif hasflag(Flags, snakes) then + mob_type = 4 + end + + if hasflag(Flags, kill8) then + quantity = 8 + elseif hasflag(Flags, kill9) then + quantity = 9 + elseif hasflag(Flags, kill10) then + quantity = 10 + elseif hasflag(Flags, kill11) then + quantity = 11 + elseif hasflag(Flags, kill12) then + quantity = 12 + end + + SetStep(Quest, Player, mob_type, quantity) +end + +function Declined(Quest, QuestGiver, Player) + SetTempVariable(Player, "RepeatHuntingForTrapperBorgus", nil) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function SetStep(Quest, Player, mob, quantity) + if mob == 1 then + AddQuestStepKill(Quest, 1, "Hunt beetles in the Thundering Steppes.", quantity, 100, "I'm supposed to help Trapper Borgus get the provisions his family requires, I should get them back to him as soon as I am done.", 0, 2490206, 2490050, 2490058) + elseif mob == 2 then + AddQuestStepKill(Quest, 1, "Hunt crabs in the Thundering Steppes.", quantity, 100, "I'm supposed to help Trapper Borgus get the provisions his family requires, I should get them back to him as soon as I am done.", 0, 2490280, 2490007, 2490128, 2490200) + elseif mob == 3 then + AddQuestStepKill(Quest, 1, "Hunt antelope in the Thundering Steppes.", quantity, 100, "I'm supposed to help Trapper Borgus get the provisions his family requires, I should get them back to him as soon as I am done.", 0, 2490056, 2490052, 2490047) + else + AddQuestStepKill(Quest, 1, "Hunt snakes in the Thundering Steppes.", quantity, 100, "I'm supposed to help Trapper Borgus get the provisions his family requires, I should get them back to him as soon as I am done.", 0, 2490181, 2490110) + end + + AddQuestStepCompleteAction(Quest, 1, "FinishedKilling") +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 0 then + CheckBitMask(Quest, Player, GetQuestFlags(Quest)) + elseif Step == 1 then + FinishedKilling(Quest, QuestGiver, Player) + end +end + +function Deleted(Quest, QuestGiver, Player) +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/HuntingtheHuntresses.lua b/Lua/Quests/ThunderingSteppes/HuntingtheHuntresses.lua new file mode 100755 index 000000000..5550a6759 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/HuntingtheHuntresses.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/ThunderingSteppes/HuntingtheHuntresses.lua + Script Author : Jabantiz + Script Date : 2015.05.09 06:05:41 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Click barrel at (217, -1, -159) + Preceded by: None + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I need to slay fifteen Amazon huntresses in the Thundering Steppes.", 15, 100, "The Amazon huntresses in the Thundering Steppes are too dangerous to just allow to roam freely. They must be slain for the good of all who come through the area.", 611, 2490138) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + local con = CreateConversation() + + AddConversationOption(con, "I will slay them.", "Close") + AddConversationOption(con, "exit", "Close") + StartDialogConversation(con, 1, QuestGiver, Player, 'Looking inside the barrel you find a large horseshoe with a scroll attached to it that reads: "This horseshoe belonged to the Amazon huntress that attacked my family caravan on a trip to Windstalker Village. It is all that I have left of that terrible day - Bjorn Stormpeak." The Amazon huntresses should be destroyed!') +end + +function Declined(Quest, QuestGiver, Player) + +end + +function Deleted(Quest, QuestGiver, Player) + +end + +function QuestComplete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/ThunderingSteppes/MysteriousAssailants.lua b/Lua/Quests/ThunderingSteppes/MysteriousAssailants.lua new file mode 100755 index 000000000..0098c66f6 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/MysteriousAssailants.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/ThunderingSteppes/MysteriousAssailants.lua + Script Author : Jabantiz + Script Date : 2014.09.26 06:09:17 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Reinkor McCollin (2490027) + Preceded by: None + Followed by: Travelers Beware +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Find and slay ten drowned footsoldiers.", 10, 100, "Reinkor believes that drowned footsoldiers may be responsible for the deaths of his couriers and theft of his merchandise. Find and slay ten drowned footsoldiers.", 611, 2490137) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've found and slain ten of the drowned footsoldiers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I was able to track down a group of drowned footsoldiers and destroy wretched souls.") + + AddQuestStepChat(Quest, 2, "Return to Reinkor McCollin.", 1, "I was successful in finding a group of drowned footsoldiers and eliminating them. I should return to Reinkor and inform him of the incident.", 11, 2490027) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/OutlandBrigadeReports.lua b/Lua/Quests/ThunderingSteppes/OutlandBrigadeReports.lua new file mode 100755 index 000000000..787d638b9 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/OutlandBrigadeReports.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Quests/ThunderingSteppes/OutlandBrigadeReports.lua + Script Author : geordie0511 + Script Date : 2019.03.19 04:03:44 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + +end + +function Accepted(Quest, QuestGiver, Player) + +end + +function Declined(Quest, QuestGiver, Player) + +end + +function quest_complete(Quest, QuestGiver, Player) + +end + +function Reload(Quest, QuestGiver, Player, Step) + +end + diff --git a/Lua/Quests/ThunderingSteppes/StopTheElementals.lua b/Lua/Quests/ThunderingSteppes/StopTheElementals.lua new file mode 100755 index 000000000..a849e5f7c --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/StopTheElementals.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/ThunderingSteppes/StopTheElementals.lua + Script Author : Jabantiz + Script Date : 2014.07.09 01:07:13 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: N/A + Preceded by: The Gnoll Cave + Followed by: None +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Locate the source of the released fire elementals.", 1, 100, "If Tish's magical equipment caused this, then I should find the source to recover her property.", 11, 5940005) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have found what appears to be Tish's lost equipment.") + + AddQuestStepChat(Quest, 2, "Return the equipment to Tish Tickers.", 1, "The Rampaging Elemental was carrying some strange arcane equipment. I should bring this to Tish in the Thundering Steppes.", 11, 2490042) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/SuppliesForBrianna.lua b/Lua/Quests/ThunderingSteppes/SuppliesForBrianna.lua new file mode 100755 index 000000000..37270cae9 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/SuppliesForBrianna.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/ThunderingSteppes/SuppliesForBrianna.lua + Script Author : Jabantiz + Script Date : 2014.07.11 02:07:46 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Brianna (2490170) + Preceded by: Watch Your Step in the Thundering Steppes, Part III + Followed by: Hides for Brianna +--]] + +function Init(Quest) + AddQuestStepObtainItem(Quest, 1, "I need to get five Tin Long Swords for Brianna since I lost the original ones.", 5, 100, "I need to make the replacement items that Brianna needs.", 656, 89137) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have the items that Brianna needs now.") + + AddQuestStepChat(Quest, 2, "I need to give Brianna the five Tin Long Swords.", 1, "Now that I have all the items that Brianna needs, I should return them to her in The Thundering Steppes.", 654, 2490170) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for being so generous.") + StartConversation(conversation, NPC, Spawn, "Well here it looks like 5 Forged Tin Long Swords were damaged. I am going to need you either to buy me some new ones or make them for me. Why don't I keep this delivery receipt until you bring them to me, so I know you will return.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/TheGnollCave.lua b/Lua/Quests/ThunderingSteppes/TheGnollCave.lua new file mode 100755 index 000000000..2a0efd49c --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/TheGnollCave.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : Quests/ThunderingSteppes/TheGnollCave.lua + Script Author : Jabantiz + Script Date : 2014.07.08 10:07:08 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Tish Tickers (2490042) + Preceded by: A Scrying Shame + Followed by: +--]] + +-- Quests +local TheGnollCave = 106 + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Get cursed bone marrow from some skeletal troopers.", 5, 100, "I must collect some components for Tish Tickers.", 181, 2490218) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") + + AddQuestStepKill(Quest, 2, "Collect spirit essence from some spirited orbs.", 3, 100, "I must collect some components for Tish Tickers.", 343, 2490219) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") + + AddQuestStepKill(Quest, 3, "Gather some imbued bones from Varsoon apprentices.", 5, 100, "I must collect some components for Tish Tickers.", 418, 2490226) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have gathered some cursed bone marrow.") + CheckProgress(Quest, Player) +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected some spirit essence.") + CheckProgress(Quest, Player) +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have gathered some imbued bones.") + CheckProgress(Quest, Player) +end + +function CheckProgress(Quest, Player) + if QuestStepIsComplete(Player, TheGnollCave, 1) and QuestStepIsComplete(Player, TheGnollCave, 2) and QuestStepIsComplete(Player, TheGnollCave, 3) then + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the necessary components for Tish Tickers.") + AddQuestStepChat(Quest, 4, "Return to Tish Tickers.", 1, "I must bring these components I have collected back to Tish.", 11, 2490042) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") + end +end + +function Step4Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, QuestGiver, Player, "Great! The gnolls have taken my equipment to a cave near here, but they have used some of my own magic to seal the entrance. I'll need you to gather a few key components for me so that we can break in. Here is a list of items I will need in order to prepare a spell to counter their lock. Come see me once you've finished.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/TheWanderersThreeMeaningsOfLife.lua b/Lua/Quests/ThunderingSteppes/TheWanderersThreeMeaningsOfLife.lua new file mode 100755 index 000000000..5840aeb0d --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/TheWanderersThreeMeaningsOfLife.lua @@ -0,0 +1,228 @@ +--[[ + Script Name : Quests/ThunderingSteppes/TheWanderersThreeMeaningsOfLife.lua + Script Author : Jabantiz + Script Date : 2014.07.11 07:07:40 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: The Wandering Augur (2490318) + Preceded by: None + Followed by: None +--]] + +local STEP1_SERPENTS = 1 +local STEP1_HAWKS = 2 +local STEP1_GORGERS = 4 + +local STEP3_CRABS = 8 +local STEP3_SIRENS = 16 + +local STEP5_CEMETERY = 32 +local STEP5_LASTSTAND = 64 +local STEP5_DECAY = 128 + +function Init(Quest) + +end + +function Step1Complete(Quest, QuestGiver, Player) + local Flags = GetQuestFlags(Quest) + if hasflag(Flags, STEP1_SERPENTS) then + UpdateQuestStepDescription(Quest, 1, "I've slain a plains serpent.") + elseif hasflag(Flags, STEP1_HAWKS) then + UpdateQuestStepDescription(Quest, 1, "I've slain an elder hawk.") + elseif hasflag(Flags, STEP1_GORGERS) then + UpdateQuestStepDescription(Quest, 1, "I've slain a carrion gorger.") + end + + AddQuestStepChat(Quest, 2, "I must speak with the Wandering Augur.", 1, "The Wandering Augur is teaching me three meanings of life.", 11, 2490318) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + local step3 = math.random(1, 2) + local Flags = GetQuestFlags(Quest) + if step3 == 1 then + Flags = Flags + STEP3_CRABS + elseif step3 == 2 then + Flags = Flags + STEP3_SIRENS + end + + SetStep3Description(Quest, step3) + SetQuestFlags(Quest, Flags) +end + +function SetStep3Description(Quest, step3) + UpdateQuestStepDescription(Quest, 2, "I've spoken with the Wandering Augur.") + if step3 == 1 then + AddQuestStepKill(Quest, 3, "Learn inner strength by hunting large shore crabs in the Thundering Steppes.", 5, 100, "The Wandering Augur is teaching me three meanings of life.", 86, 2490280) + elseif step3 == 2 then + AddQuestStepKill(Quest, 3, "Learn inner strength by hunting irresistible sirens in the Thundering Steppes.", 5, 100, "The Wandering Augur is teaching me three meanings of life.", 86, 2490117) + end + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function CheckStep3Bitmask(Quest) + local step3 = 0 + local Flags = GetQuestFlags(Quest) + if hasflag(Flags, STEP3_CRABS) then + step3 = 1 + elseif hasflag(Flags, STEP3_SIRENS) then + step3 = 2 + end + + SetStep3Description(Quest, step3) +end + +function Step3Complete(Quest, QuestGiver, Player) + local Flags = GetQuestFlags(Quest) + if hasflag(Flags, STEP3_CRABS) then + UpdateQuestStepDescription(Quest, 3, "I've slain some large shore crabs.") + elseif hasflag(Flags, STEP3_SIRENS) then + UpdateQuestStepDescription(Quest, 3, "I've slain some irresistible sirens.") + end + + AddQuestStepChat(Quest, 4, "I must speak with the Wandering Augur.", 1, "The Wandering Augur is teaching me three meanings of life.", 11, 2490318) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + local step5 = math.random(1, 3) + local Flags = GetQuestFlags(Quest) + if step5 == 1 then + Flags = Flags + STEP5_CEMETERY + elseif step5 == 2 then + Flags = Flags + STEP5_LASTSTAND + elseif step5 == 3 then + Flags = Flags + STEP5_DECAY + end + + SetStep5Description(Quest, step5) + SetQuestFlags(Quest, Flags) +end + +function SetStep5Description(Quest, step5) + UpdateQuestStepDescription(Quest, 4, "I've spoken with the Wandering Augur.") + + if step5 == 1 then + AddQuestStepLocation(Quest, 5, "I've seen the Coldwind Shores Cemetery.", 20, "The Wandering Augur is teaching me three meanings of life.", 11, 1317, -6, -80) + elseif step5 == 2 then + AddQuestStepLocation(Quest, 5, "I need the patience to find the Last Stand in the Thundering Steppes.", 20, "The Wandering Augur is teaching me three meanings of life.", 11, -380, 6, 761) + elseif step5 == 3 then + AddQuestStepLocation(Quest, 5, "I've located the Shrine of Decay.", 20, "The Wandering Augur is teaching me three meanings of life.", 11, 357, 5, 1189) + end + + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function CheckStep5Bitmask(Quest) + local step5 = 0 + local Flags = GetQuestFlags(Quest) + if hasflag(Flags, STEP5_CEMETERY) then + step5 = 1 + elseif hasflag(Flags, STEP5_LASTSTAND) then + step5 = 2 + elseif hasflag(Flags, STEP5_DECAY) then + step5 = 3 + end + + SetStep5Description(Quest, step5) +end + +function Step5Complete(Quest, QuestGiver, Player) + local Flags = GetQuestFlags(Quest) + if hasflag(Flags, STEP5_CEMETERY) then + UpdateQuestStepDescription(Quest, 5, "I've seen the Coldwind Shores Cemetery.") + elseif hasflag(Flags, STEP5_LASTSTAND) then + UpdateQuestStepDescription(Quest, 5, "I've located the Last Stand.") + elseif hasflag(Flags, STEP5_DECAY) then + UpdateQuestStepDescription(Quest, 5, "I've located the Shrine of Decay.") + end + + AddQuestStepChat(Quest, 6, "I must speak with the Wandering Augur.", 1, "The Wandering Augur is teaching me three meanings of life.", 11, 2490318) + AddQuestStepCompleteAction(Quest, 6, "Step6Complete") +end + +function Step6Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur003.mp3", "", "", 430514653, 1419831869, Player) + AddConversationOption(conversation, "Well, okay.") + StartConversation(conversation, QuestGiver, Player, "Splendid! There are three meanings to which I can lead you, my child. What you take from them is your choice; I am but the augur. The first meaning is physical. Without a corporeal body, how can we experience life? Go, then, and seek the physicality of life as I have written down for you. Return to me when you are ready for the next meaning.") + + local Flags = GetQuestFlags(Quest) + if Flags == 0 then + local step1 = math.random(1, 3) + if step1 == 1 then + Flags = Flags + STEP1_SERPENTS + elseif step1 == 2 then + Flags = Flags + STEP1_HAWKS + elseif step1 == 3 then + Flags = Flags + STEP1_GORGERS + end + + SetStep1Description(Quest, step1) + SetQuestFlags(Quest, Flags) + else + CheckStep1Bitmask(Quest) + end +end + +function SetStep1Description(Quest, step1) + if step1 == 1 then + AddQuestStepKill(Quest, 1, "Learn the physical meaning of life by hunting plains serpents in the Thundering Steppes.", 3, 100, "The Wandering Augur is teaching me three meanings of life.", 98, 2490110) + elseif step1 == 2 then + AddQuestStepKill(Quest, 1, "Learn physical meaning of life by hunting elder hawks in the Thundering Steppes.", 3, 100, "The Wandering Augur is teaching me three meanings of life.", 98, 2490108) + elseif step1 == 3 then + AddQuestStepKill(Quest, 1, "Learn the physical meaning of life by hunting carrion gorgers in the Thundering Steppes.", 3, 100, "The Wandering Augur is teaching me three meanings of life.", 98, 2490118) + end + + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function CheckStep1Bitmask(Quest) + local step1 = 0 + local Flags = GetQuestFlags(Quest) + if hasflag(Flags, STEP1_SERPENTS) then + step1 = 1 + elseif hasflag(Flags, STEP1_HAWKS) then + step1 = 2 + elseif hasflag(Flags, STEP1_GORGERS) then + step1 = 3 + end + + SetStep1Description(Quest, step1) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function hasflag(flags, flag) + return flags % (2*flag) >= flag +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 0 then + CheckStep1Bitmask(Quest) + elseif Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + CheckStep3Bitmask(Quest) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + CheckStep5Bitmask(Quest) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + Step6Complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartI.lua b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartI.lua new file mode 100755 index 000000000..8ed4eab3d --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartI.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartI.lua + Script Author : Jabantiz + Script Date : 2014.07.05 10:07:30 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Jacques + Preceded by: None + Followed by: Watch your step in The Thundering Steppes, Part II +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Jacques has hired me to deliver mail to Blerton Blumble on the docks of The Thundering Steppes.", 1, "I should deliver this letter to Blerton Blumble on the docks in The Thundering Steppes.", 185, 2490025) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Now that I have delivered this mail, I should get the return mail.") + + AddQuestStep(Quest, 2, "I must not return to Jacques until I have gotten the return mail from Blerton, and he won't give it to me until I have helped him.", 1, 100, "I should deliver this letter to Blerton Blumble on the docks in The Thundering Steppes.", 11) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have the return mail from Blerton.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have delivered the letter to Blerton. I am to pick up his mail also, but he will not give me the mail until I find his grandfather.") + + AddQuestStepChat(Quest, 3, "Now that I have the return mail from Blerton I should deliver it to Jacques.", 1, "I have delivered the Mail to Blerton, but he will not give me the return mail until I have helped him.", 11, 2490212) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, QuestGiver, Player, "For your first delivery, please take this letter to a halfling named Blerton Blumble. He can usually be found at the docks. It's from his cousin, Matsy. Now that you work for me, feel free to read any letters you deliver. I always do. It's just about the only fun to be found out here. After you've delivered it, bring me back any mail he has to send.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartII.lua b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartII.lua new file mode 100755 index 000000000..290cf7ff5 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartII.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartII.lua + Script Author : Jabantiz + Script Date : 2014.07.05 10:07:39 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Jacques + Preceded by: Watch your step in The Thundering Steppes, Part I + Followed by: Watch your step in The Thundering Steppes, Part III +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to take this letter to Tish Tickers who resides in a watch tower in The Thundering Steppes.", 1, "Jacques has given me more mail to deliver, this time to a gnome named Tish Tickers by the third guard tower.", 11, 2490042) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have delivered the mail to Tish Tickers, but she will not give me the return mail until I have helped her.") + + AddQuestStep(Quest, 2, "To get the return mail from Tish I need to help her out.", 1, 100, "Tish can't give me the return mail until I help her gather the things she needs.", 11) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I helped Tish gather the things she needed.") + + AddQuestStepChat(Quest, 3, "Now that I have the return mail from Tish, I should take it to Jacques in The Thundering Steppes.", 1, "Now that I have the return mail from Tish Tickers, I need to take it to Jacques.", 11, 2490212) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Player, "That's the spirit! Here, take this letter to a gnome named Tish Tickers at guard tower three. She's being harassed by a collection agency again. They sound pretty serious now. I can't wait to see what her excuse for not paying will be this time. Come back when you have her reply.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIII.lua b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIII.lua new file mode 100755 index 000000000..c5e674e22 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIII.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIII.lua + Script Author : Jabantiz + Script Date : 2014.07.05 10:07:29 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Jacques (2490212) + Preceded by: Watch your step in The Thundering Steppes, Part II + Followed by: Watch your step in The Thundering Steppes, Part IV +--]] + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to take this package to Brianna in Thundermist village. It looks to be important.", 30, "I have a package to take to Brianna in Thundermist village.", 11, 582.28, 2.81, -168.36) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + local wolf1 = SpawnMob(GetZone(Player), 2490679, 0, 586.24, 1.23, -158.22, 88.04) + local wolf2 = SpawnMob(GetZone(Player), 2490679, 0, 585.60, 1.43, -163.06, 117.90) + + if wolf1 ~= nil then + Attack(wolf1, Player) + end + + if wolf2 ~= nil then + Attack(wolf2, Player) + end + + Step1CompleteUpdate(Quest, QuestGiver, Player) +end + +function Step1CompleteUpdate(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I was chased by dogs and dropped the package on the way to Thundermist village.") + + AddQuestStepChat(Quest, 2, "I dropped the package and some of the items inside fell out. At least I made it away from those dogs. I should take what's left to Brianna.", 1, "I have a package to take to Brianna in Thundermist village.", 11, 2490170) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have taken the Package to Brianna In Thundermist village.") + + AddQuestStep(Quest, 3, "I still need to get Brianna her replacement items so I can get the delivery receipt from her and take it back to Jacques.", 1, 100, "Brianna will not give me my delivery receipt until I have replaced the items that were in the package.", 11) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I finally got all the items to Brianna.") + + AddQuestStepChat(Quest, 4, "Now that I have the receipt from Brianna, I need to take it to Jacques.", 1, "I should return to Jacques and get this receipt from Brianna to him. I hope he will compensate me for those Tin Long Swords.", 11, 2490212) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, QuestGiver, Player, "This delivery is for Brianna in Thundermist Village. Since we're delivering a package this time, you'll need to get her to sign a receipt for it before you come back.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1CompleteUpdate(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIV.lua b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIV.lua new file mode 100755 index 000000000..7722425d5 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIV.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/ThunderingSteppes/WatchyourstepinTheThunderingSteppesPartIV.lua + Script Author : Jabantiz + Script Date : 2014.07.05 10:07:48 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: Jacques (2490212) + Preceded by: Watch your step in The Thundering Steppes Part IV + Followed by: +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I am to deliver the mail to Deputy Nettlebrine in The Enchanted Lands.", 1, "My mail delivery job is about over, and my final task is to deliver a letter to Deputy Nettlebrine in The Enchanted Lands.", 11) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok, I will do it for you then.") + StartConversation(conversation, NPC, Spawn, "This letter needs to go out to Deputy Nettlebrine in The Enchanted Lands. I would take it myself, but after my last trip on a boat I think its best that I don't.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/ThunderingSteppes/history_of_the_ayrdal_part_ii.lua b/Lua/Quests/ThunderingSteppes/history_of_the_ayrdal_part_ii.lua new file mode 100755 index 000000000..8f0de4cca --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/history_of_the_ayrdal_part_ii.lua @@ -0,0 +1,93 @@ +--[[ + Script Name : Quests/ThunderingSteppes/history_of_the_ayrdal_part_ii.lua + Script Author : Ememjr + Script Date : 2019.03.25 05:03:34 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to visit The Grave Pool.", 10, "I must see The Grave Pool in the Thundering Steppes.", 11, -39, -18, 862) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have seen The Grave Pool.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have seen The Grave Pool.") + + AddQuestStep(Quest, 2, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have read the book.") + + AddQuestStepLocation(Quest, 3, "I need to visit Coldwind Point.", 10, "I need to visit Coldwind Point in Antonica.", 11, 353, -10, 803) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have seen Coldwind Point.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have seen Coldwind Point.") + + AddQuestStep(Quest, 4, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 4, "I have read the book.") + + AddQuestStepLocation(Quest, 5, "I need to visit The Last Stand.", 1, "I need to see The Last Stand in the Thundering Steppes.", 11, -377, 5, 761) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have seen The Last Stand.") + UpdateQuestTaskGroupDescription(Quest, 5, "I have seen The Last Stand.") + + AddQuestStep(Quest, 6, "I should read the book.", 1, 100, "I should read the book now that I have a new page.", 2180) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I have read the book.") + UpdateQuestTaskGroupDescription(Quest, 6, "I have read the book.") + + UpdateQuestDescription(Quest, "I have visited several sites and pondered their meaning, reading more of this tome along the way. Soon I shall have enough experience to consider Part Three.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/ThunderingSteppes/recycling_the_old-fashioned_way.lua b/Lua/Quests/ThunderingSteppes/recycling_the_old-fashioned_way.lua new file mode 100755 index 000000000..6c2efabd4 --- /dev/null +++ b/Lua/Quests/ThunderingSteppes/recycling_the_old-fashioned_way.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/ThunderingSteppes/recycling_the_old-fashioned_way.lua + Script Author : Zcoretri + Script Date : 2014.07.14 07:07:41 + Script Purpose : + + Zone : ThunderingSteppes + Quest Giver: + Preceded by: None + Followed by: +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 1) + SetQuestRepeatable(Quest) + AddQuestStepKill(Quest, 1, "Get five young antelope bones in the Thundering Steppes.", 5, 100, "Get various bones for Grenn's fertilizer mix.", 418, 2490047) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Got five antelope bones.") + UpdateQuestTaskGroupDescription(Quest, 1, "I obtained all the bones necessary") + AddQuestStepChat(Quest, 2, "I need to speak with Grenn Stiles.", 1, "Take the bones back to Grenn in the Thundering Steppes.", 11, 2490174) + AddQuestStepKill(Quest, 2, "Get five highland lioness bones in the Thundering Steppes.", 5, 100, "Get various bones for Grenn's fertilizer mix.", 322, 2490043) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Got five highland lioness bones.") + UpdateQuestTaskGroupDescription(Quest, 2, "I obtained all the bones necessary") + AddQuestStepChat(Quest, 3, "I need to speak with Grenn Stiles.", 1, "Take the bones back to Grenn in the Thundering Steppes.", 11, 2490174) + AddQuestStepKill(Quest, 3, "Get five entrancing siren bones in the Thundering Steppes.", 5, 100, "Get various bones for Grenn's fertilizer mix.", 322, 2490245) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "Got five entrancing siren bones.") + UpdateQuestTaskGroupDescription(Quest, 3, "I obtained all the bones necessary") + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, I'll be back") + StartConversation(conversation, QuestGiver, Player, "Oh, the price is right, my friend! It's free! And I'll even pay you for your work! I need a variety of bones: some antelope, huntress and siren bones for a sort of 'surf and turf' fertilizer. The Steppes abound with these creatures. Think of this as recycling. We're helping the environment, eh?") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/TimorousDeep/a_reverse_supply_run.lua b/Lua/Quests/TimorousDeep/a_reverse_supply_run.lua new file mode 100755 index 000000000..80a742803 --- /dev/null +++ b/Lua/Quests/TimorousDeep/a_reverse_supply_run.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/TimorousDeep/a_reverse_supply_run.lua + Script Purpose : Handles the quest, "A Reverse Supply Run" + Script Author : Scatman + Script Date : 2009.03.10 + + Zone : Timorous Deep + Quest Giver: Tanzikla Hir'Ki + Preceded by: None + Followed by: Stealing Their Steel (stealing_their_steel.lua) +--]] + + +function Init(Quest) + + + AddQuestStepSpell(Quest, 1, "I need to destroy the Haoaeran supplies.", 5, 100, ".", 611, 5019) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_DestroyedSupplies") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tanzikla_hir_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/hirki/hirki002.mp3", "", "", 610788422, 391234971, Player) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "Return to me when this is done.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_DestroyedSupplies(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have destroyed the Haoaeran supplies.") + + AddQuestStepChat(Quest, 2, "I need to return to Tanzikla Hir'Ki.", 1, ".", 0, 2630611) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + RemoveItem(Spawn, 2931) + UpdateQuestDescription(Quest, "I've destroyed the Haoaeran caches.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QusetGiver, Player, Step) + if Step == 1 then + Step1_Complete_DestroyedSupplies(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/bigger_fish_to_fry.lua b/Lua/Quests/TimorousDeep/bigger_fish_to_fry.lua new file mode 100755 index 000000000..4413ed61c --- /dev/null +++ b/Lua/Quests/TimorousDeep/bigger_fish_to_fry.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : Quests/TimorousDeep/bigger_fish_to_fry.lua + Script Purpose : Handles the quest, "Bigger Fish to Fry" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Citizen Niba'Ouz + Preceded by: Fish of the Chrykori Island (fish_of_the_chrykori_island.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Barnacled Scepter + -- Fish-wrangler's Grips + -- Poacher's Talon + -- Sandstorm Staff + -- Saltspray Slicer + -- Sharkblade + + + -- bull saltfin + AddQuestStepObtainItem(Quest, 1, "Niba'Ouz wants me to try to fish up a bull saltfin.", 1, 100, ".", 2540, 3515) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotSaltfin") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/citizen_niba_ouz/_exp04/exp04_rgn_timorous_deep/chrykori_tie/nibaouz/nibaouz006.mp3", "", "", 3393303954, 1028332139, Player) + AddConversationOption(conversation, "I will be back.") + StartConversation(conversation, QuestGiver, Player, "I appreciate it! Return to me when you find one.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotSaltfin(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have fished up a bull saltfin.") + + AddQuestStepChat(Quest, 2, "I need to return to Citizen Niba'Ouz.", 1, ".", 2540, 2630024) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought a bull saltfin to Citizen Niba'Ouz.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotSaltfin(Quest, QuestGiver, Player, Step) + end +end diff --git a/Lua/Quests/TimorousDeep/chrykori_relics.lua b/Lua/Quests/TimorousDeep/chrykori_relics.lua new file mode 100755 index 000000000..31fb1639b --- /dev/null +++ b/Lua/Quests/TimorousDeep/chrykori_relics.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/TimorousDeep/chrykori_relics.lua + Script Purpose : Handles the quest, "Chrykori Relics" + Script Author : Scatman + Script Date : 2009.02.07 + + Zone : Timorous Deep + Quest Giver: Civ-Parser Di'Xin + Preceded by: None + Followed by: The Ends Justify the Means (the_ends_justify_the_means.lua) +--]] + + +function Init(Quest) + + + -- unearthed relic + AddQuestStepObtainItem(Quest, 1, "I need some unearthed relics from the shore near Chrykori Village.", 6, 100, ".", 371, 10523) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotRelics") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/civ-parser_di_xin/_exp04/exp04_rgn_timorous_deep/chrykori_tie/dixin/dixin004.mp3", "", "", 1900559270, 3494700386, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "I am glad to hear it. I am sure you can find the relics anywhere on the shore near Chrykori Village. Find some and bring them back to me, please.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotRelics(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have obtained the relics.") + + AddQuestStepChat(Quest, 2, "I need to bring these relics back to Civ-Parser Di'Xin.", 1, ".", 371, 2630045) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove 'unearthed relic' + UpdateQuestDescription(Quest, "I have brought the artifacts I dug up to Civ-Parser Di'Xin.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotRelics(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/curious_ore.lua b/Lua/Quests/TimorousDeep/curious_ore.lua new file mode 100755 index 000000000..6a7e13b83 --- /dev/null +++ b/Lua/Quests/TimorousDeep/curious_ore.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/TimorousDeep/curious_ore.lua + Script Purpose : Handles the quest, "Curious Ore" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Tykor Gi'Lok + Preceded by: Poaching the Poachers (poaching_the_poachers.lua) + Followed by: Report to the Primary (report_to_the_primary.lua) +--]] + + +function Init(Quest) + -- Reinforced Miners Sack + + + -- curious ore + AddQuestStepObtainItem(Quest, 1, "I need some samples of the ore the Haoaerans are mining to the west.", 3, 100, ".", 1086, 4401) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotOre") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tykor_gi_lok/_exp04/exp04_rgn_timorous_deep/chrykori_tie/gilok/gilok004.mp3", "", "", 2401252534, 3431113694, Player) + AddConversationOption(conversation, "I will return with the ore.") + StartConversation(conversation, QuestGiver, Player, "Good. Some think the spirocs are just pretty birds with bad attitudes, but I think differently. They're up to something, I know it.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotOre(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the ore samples.") + + AddQuestStepChat(Quest, 2, "I need to bring these ore samples back to Tykor Gi'Lok.", 1, ".", 1086, 2630018) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought the ore samples to Tykor Gi'Lok.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotOre(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/decoder_glyph.lua b/Lua/Quests/TimorousDeep/decoder_glyph.lua new file mode 100755 index 000000000..62e4ab214 --- /dev/null +++ b/Lua/Quests/TimorousDeep/decoder_glyph.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/TimorousDeep/decoder_glyph.lua + Script Purpose : Handles the quest, "Decoder Glyph" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Arozik Sky'Ki + Preceded by: Haoaeran Orders (haoaeran_orders.lua) + Followed by: War (war.lua) +--]] + + +function Init(Quest) + -- Channeler's Belt + -- Pyrrin Amulet + -- Ritualist's Mantle + -- Raptor-scaled Cowl + + + AddQuestStepKill(Quest, 1, "I need a decoder glyph from a Haoaeran turf-hunter.", 1, 100, ".", 373, 2630077) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotGlyph") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/arozik_sky_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/skyki/skyki017.mp3", "", "", 709686282, 1141832013, Player) + AddConversationOption(conversation, "I will be swift.") + StartConversation(conversation, QuestGiver, Player, "I await your return.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotGlyph(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the decoder glyph.") + + AddQuestStepChat(Quest, 2, "I need to bring the glyph to Secondary Arozik Sky'Ki.", 1, ".", 373, 2630081) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I obtained a Haoaeran decoder glyph and brought it back to Secondary Arozik Sky'Ki.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotGlyph(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/delivery_to_a_veteran.lua b/Lua/Quests/TimorousDeep/delivery_to_a_veteran.lua new file mode 100755 index 000000000..7493dfdb5 --- /dev/null +++ b/Lua/Quests/TimorousDeep/delivery_to_a_veteran.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/TimorousDeep/delivery_to_a_veteran.lua + Script Purpose : Handles the quest, "Delivery to a Veteran" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Taroche Dry'Zok + Preceded by: Stuffed Gorger Claws (stuffed_gorger_claws.lua) + Followed by: None +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I need to deliver this bait to Citizen Niba'Ouz, fishing just to the east.", 1, ".", 78, 2630024) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/taroche_dry_zok/_exp04/exp04_rgn_timorous_deep/chrykori_tie/dryzok/dryzok004.mp3", "", "", 3720573202, 68445257, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Thank you. I appreciate it, and I am certain he will as well.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have delivered the special bait to Citizen Niba'Ouz.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/TimorousDeep/disrupting_haoaeran_rituals.lua b/Lua/Quests/TimorousDeep/disrupting_haoaeran_rituals.lua new file mode 100755 index 000000000..cd57e1cd0 --- /dev/null +++ b/Lua/Quests/TimorousDeep/disrupting_haoaeran_rituals.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/TimorousDeep/disrupting_haoaeran_rituals.lua + Script Purpose : Handles the quest, "Disrupting Haoaeran Rituals" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Primary Conzuk Zum'Ha + Preceded by: Disrupting Haoaeran Studies (disrupting_haoaeran_studies.lua) + Followed by: Further Assistance to Chrykori Island (further_assistance_to_chrykori_island.lua) +--]] + + +function Init(Quest) + -- Earring of Zum'Ha + -- Ritualist's Skullcap + -- Timeworn Necklace + + + AddQuestStepKill(Quest, 1, "I need to interrupt the Haoaeran rituals being performed south of the Timeworn Pools.", 1, 100, ".", 611, 2630090) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_interruptedRituals") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(Player, "voiceover/english/rok_questvo/primary_conzuk_zum_ha/_exp04/exp04_rgn_timorous_deep/chrykori_tie/zumha/zumha005.mp3", "", "", 3636164534, 195709571, Player) + AddConversationOption(conversation, "I will be as swift as I can.") + StartConversation(conversation, QuestGiver, Player, "And be swift about it! There's obviously far more to the spiroc than we had thought. The more " .. GetName(Spawn) .. ". we give the Haoaerans to experiment with artifacts of power, the more likely they are to turn this power against us -- effectively!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_interruptedRituals(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the power infused Haoaeran.") + + AddQuestStepChat(Quest, 2, "I need to return to Primary Zum'Ha.", 1, ".", 0, 2630042) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have stopped the strange ritual.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_interruptedRituals(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/disrupting_haoaeran_studies.lua b/Lua/Quests/TimorousDeep/disrupting_haoaeran_studies.lua new file mode 100755 index 000000000..ffd4206d3 --- /dev/null +++ b/Lua/Quests/TimorousDeep/disrupting_haoaeran_studies.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : Quests/TimorousDeep/disrupting_haoaeran_studies.lua + Script Purpose : Handles the quest, "Disrupting Haoaeran Studies" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Primary Conzuk Zum'Ha + Preceded by: Report to the Primary (report_to_the_primary.lua) + Followed by: Disrupting Haoaeran Rituals (disrupting_haoaeran_rituals.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to kill the Haoaerans excavating the tunnel northwest across the sand.", 4, 100, "I need to travel to the cave to the west of Chrykori Village and kill the Haoaerans excavating the cave, and gather a sample of what they are digging up.", 611, 2630102, 2630103) + -- inscribed pottery + AddQuestStepObtainItem(Quest, 2, "I need a sample of whatever the Haoaerans are digging up.", 1, 100, "I need to travel to the cave to the west of Chrykori Village and kill the Haoaerans excavating the cave and gather a sample of what they are digging up.", 1085, 5836) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedBirds") + AddQuestStepCompleteAction(Quest, 2, "step2_complete_gotOre") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/primary_conzuk_zum_ha/_exp04/exp04_rgn_timorous_deep/chrykori_tie/zumha/zumha002.mp3", "", "", 4256377624, 3387696567, Player) + AddConversationOption(conversation, "All right. I owe him no loyalty.") + StartConversation(conversation, QuestGiver, Player, "Then you will return to me as soon as you have found something. Oh, and we should leave Tykor out of this from here on out. He has done his part, but just in case his supposed incompetence has nothing to do with his griffon riding skills... let's leave this to those better qualified.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedBirds(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the Haoaerans.") + + if QuestIsComplete(Player, 112) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function step2_complete_gotOre(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I found some inscribed pottery.") + + if QuestIsComplete(Player, 112) then + multiple_steps_complete(Quest, QuestGiver, Player) + end +end + +function multiple_steps_complete(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the Haoaerans and obtained a sample of what they're digging up.") + + AddQuestStepChat(Quest, 3, "I must speak with Primary Conzuk Zum'Ha in Chrykori Village.", 1, "I must show Primary Conzuk Zum'Ha in Chrykori Village these ore samples.", 0, 2630042) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove 'inscribed pottery' + UpdateQuestDescription(Quest, "I have brought the inscribed pottery back to Primary Conzuk Zum'Ha.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedBirds(Quest, QuestGiver, Player) + elseif Step == 2 then + step2_complete_gotOre(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/dont_get_it_in_aroziks_eyes.lua b/Lua/Quests/TimorousDeep/dont_get_it_in_aroziks_eyes.lua new file mode 100755 index 000000000..e1d3e2555 --- /dev/null +++ b/Lua/Quests/TimorousDeep/dont_get_it_in_aroziks_eyes.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/TimorousDeep/dont_get_it_in_aroziks_eyes.lua + Script Purpose : Handles the quest, "Don't Get It in Arozik's Eyes" + Script Author : Scatman + Script Date : 2009.02.22 + + Zone : Timorous Deep + Quest Giver: Tertiary Mak'Ki + Preceded by: Don't Get It in Arozik's Eyes (dont_get_it_in_aroziks_eyes.lua) + Followed by: None +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I need to give these acid glands to Secondary Arozik Sky'Ki. I can find him in Trythec Loft, south west of Chrykori Village.", 1, ".", 111, 2630081) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tertiary_mak_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/makki/makki004.mp3", "", "", 117800882, 151216823, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "I'm sure he'll put these to good use. Thank you for your help. I think I will keep a few on hand to continue studying them for other potential applications.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have delivered the rustbeast acid to Secondary Arozik Sky'Ki.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/TimorousDeep/dont_get_it_in_your_eyes.lua b/Lua/Quests/TimorousDeep/dont_get_it_in_your_eyes.lua new file mode 100755 index 000000000..569b7746a --- /dev/null +++ b/Lua/Quests/TimorousDeep/dont_get_it_in_your_eyes.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/TimorousDeep/dont_get_it_in_your_eyes.lua + Script Purpose : Handles the quest, "Don't Get it in Your Eyes" + Script Author : Scatman + Script Date : 2009.02.22 + + Zone : Timorous Deep + Quest Giver: Tertiary Mak'Ki + Preceded by: None + Followed by: Don't Get It in Arozik's Eyes (dont_get_it_in_aroziks_eyes.lua) +--]] + + +function Init(Quest) + -- Acid-inscribed Ring + -- Empowered Belt Buckle + -- Geo-Parser's Sandals + -- Lightfoot Boots + -- Pridefeather Gloves + + + AddQuestStepKill(Quest, 1, "I need to collect some acid sacs from the crusty rustbeats in the Timeworn Pools to the far west.", 5, 100, ".", 111, 2630088) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotSacs") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tertiary_mak_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/makki/makki001.mp3", "", "", 493055833, 1386500229, Player) + AddConversationOption(conversation, "I will be back soon.") + StartConversation(conversation, QuestGiver, Player, "Could you? That would help me greatly.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotSacs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the acid sacs.") + + AddQuestStepChat(Quest, 2, "I need to bring these acid sacs back to Tertiary Mak'Ki.", 1, ".", 111, 2630044) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought Tertiary Mak'Ki the sacs.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotSacs(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/fish_of_the_chrykori_island.lua b/Lua/Quests/TimorousDeep/fish_of_the_chrykori_island.lua new file mode 100755 index 000000000..0f27aa1ab --- /dev/null +++ b/Lua/Quests/TimorousDeep/fish_of_the_chrykori_island.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/TimorousDeep/fish_of_the_chrykori_island.lua + Script Purpose : Handles the quest, "Fish of the Chrykori Island" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Citizen Niba'Ouz + Preceded by: None + Followed by: Bigger Fish to Fry (bigger_fish_to_fry.lua) +--]] + + +function Init(Quest) + + + -- Chrykori saltfin + AddQuestStepObtainItem(Quest, 1, "I need to fish up some Chrykori saltfin.", 3, 100, ".", 2540, 3726) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotSaltfin") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/citizen_niba_ouz/_exp04/exp04_rgn_timorous_deep/chrykori_tie/nibaouz/nibaouz003.mp3", "", "", 3742615555, 2339583945, Player) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "Great. You can find them all around this side of the island.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotSaltfin(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have fished up the saltfin.") + + AddQuestStepChat(Quest, 2, "I need to return to Citizen Niba'Ouz.", 1, ".", 2540, 2630024) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + -- remove Chrykori saltfin + while HasItem(Player, 4363) do + RemoveItem(Player, 4363) + end + + UpdateQuestDescription(Quest, "I have brought the Chrykori saltfin to Citizen Niba'Ouz.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotSaltfin(Quest, QuestGiver, Player, Step) + end +end diff --git a/Lua/Quests/TimorousDeep/further_assistance_to_chrykori_island.lua b/Lua/Quests/TimorousDeep/further_assistance_to_chrykori_island.lua new file mode 100755 index 000000000..88e60af5c --- /dev/null +++ b/Lua/Quests/TimorousDeep/further_assistance_to_chrykori_island.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/TimorousDeep/further_assistance_to_chrykori_island.lua + Script Purpose : Handles the quest, "Further Assistance to Chrykori Island" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Primary Conzuk Zum'Ha + Preceded by: Disrupting Haoaeran Rituals (disrupting_haoaeran_rituals.lua) + Followed by: None +--]] + + +function Init(Quest) + + + + AddQuestStepChat(Quest, 1, "I need to report to Secondary Arozik Sky'Ki on the Trythec Loft to the southwest.", 1, ".", 0, 2630081) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/primary_conzuk_zum_ha/_exp04/exp04_rgn_timorous_deep/chrykori_tie/zumha/zumha008.mp3", "", "", 1945530557, 2152827601, Player) + AddConversationOption(conversation, "I will do as I can.") + StartConversation(conversation, QuestGiver, Player, "You are a fine soldier, obedient and skilled, and I am sure you will help him in whatever way you can. Correct?") +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have reported to Secondary Arozik Sky'Ki.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/TimorousDeep/haoaeran_orders.lua b/Lua/Quests/TimorousDeep/haoaeran_orders.lua new file mode 100755 index 000000000..bfce71352 --- /dev/null +++ b/Lua/Quests/TimorousDeep/haoaeran_orders.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/TimorousDeep/haoaeran_orders.lua + Script Purpose : Handles the quest, "Haoaeran Orders" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Arozik Sky'Ki + Preceded by: Scout Scouting (scout_scouting.lua) + Followed by: Decoder Glyph (decoder_glyph.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need Haoaeran orders from the spiroc to the south.", 1, 25, ".", 374, 2630074) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotOrders") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/arozik_sky_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/skyki/skyki013.mp3", "", "", 248677146, 615720280, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Thank you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotOrders(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the Haoaeran orders.") + + AddQuestStepChat(Quest, 2, "I need to bring these orders back to Secondary Arozik Sky'Ki.", 1, ".", 374, 2630081) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I obtained a set of Haoaeran orders and brought them to Secondary Sky'Ki.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotOrders(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/haoaeran_poisons.lua b/Lua/Quests/TimorousDeep/haoaeran_poisons.lua new file mode 100755 index 000000000..daa51bb0a --- /dev/null +++ b/Lua/Quests/TimorousDeep/haoaeran_poisons.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/TimorousDeep/haoaeran_poisons.lua + Script Purpose : Handles the quest, "Haoaeran Poisons" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Arozik Sky'Ki + Preceded by: None + Followed by: Scout Scouting (scout_scouting.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need poison glands from the skittering monitors on Trythec Loft.", 6, 100, ".", 336, 2630070) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotGlands") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/arozik_sky_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/skyki/skyki003.mp3", "", "", 1707113595, 2002626119, Player) + AddConversationOption(conversation, "I will handle myself carefully.") + StartConversation(conversation, QuestGiver, Player, "Good. Careful handling the monitors and their sacs; remember, we don't have an antidote yet, and I do not need another invalid to care for. Return once you have enough for a thorough study.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotGlands(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the poison glands.") + + AddQuestStepChat(Quest, 2, "I need to bring these poison glands to Secondary Arozik Sky'Ki.", 1, ".", 336, 2630081) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought the poison glands of the skittering monitors back to Secondary Arozik Sky'Ki.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotGlands(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/hopefully_the_meat_isnt_timeworn.lua b/Lua/Quests/TimorousDeep/hopefully_the_meat_isnt_timeworn.lua new file mode 100755 index 000000000..2169c8b43 --- /dev/null +++ b/Lua/Quests/TimorousDeep/hopefully_the_meat_isnt_timeworn.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/TimorousDeep/hopefully_the_meat_isnt_timeworn.lua + Script Purpose : Handles the quest, "Hopefully the Meat Isn't Timeworn" + Script Author : Scatman + Script Date : 2009.02.10 + + Zone : Timorous Deep + Quest Giver: Varkori Riz'Lul + Preceded by: None + Followed by: Sandy Eggs (sandy_eggs.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need some briny lizard meat from the lizards in the Timeworn Pools west of Chrykori Village.", 4, 100, ".", 139, 2630083) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedLizards") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/varkori_riz_lul/_exp04/exp04_rgn_timorous_deep/chrykori_tie/rizlul/rizlul001.mp3", "", "", 1972473001, 1216175625, Player) + AddConversationOption(conversation, "I will get the lizard meat.") + StartConversation(conversation, QuestGiver, Player, "Great, thank you. I'd send Taroche, but every time I try to send him out, he tells me he's perfecting his stuffed grit gorger claw recipe. Hmph! One meaningless soldier tells him they're the best thing he's ever tasted, and now Taroche just won't let it go. He seems to believe he's some sort of culinary genius, but I don't have the heart to tell him he was bred without taste buds.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedLizards(Quest, QuestGiver, Player) + SetStepComplete(Quest, 1, "I have the lizard meat.") + + AddQuestStepChat(Quest, 2, "I need to bring this meat back to Varkori Riz'Lul in Chrykori Village.", 1, ".", 139, 2630043) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought some briny lizard meat back to Varkori Riz'Lul.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedLizards(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/it_cant_all_be_interesting_work.lua b/Lua/Quests/TimorousDeep/it_cant_all_be_interesting_work.lua new file mode 100755 index 000000000..545eb7a27 --- /dev/null +++ b/Lua/Quests/TimorousDeep/it_cant_all_be_interesting_work.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/TimorousDeep/it_cant_all_be_interesting_work.lua + Script Purpose : Handles the quest, "It Can't ALL Be Interesting Work" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Bio-Parser Zo'Dok + Preceded by: The Filament Strangler (the_filament_strangler.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Geo-Parser's Mantle + -- Raptor-scaled Shoulders + ---Steel Belt Buckle + -- Woven Trythec Band + + + -- filament encapsulated monitor + AddQuestStepObtainItem(Quest, 1, "I need to collect some Trythec roots.", 5, 100, ".", 197, 10162) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotRoots") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/bio-parser_zo_dok/_exp04/exp04_rgn_timorous_deep/chrykori_tie/zodok/zodok005.mp3", "", "", 631994301, 82902587, Player) + AddConversationOption(conversation, "I will return with the roots.") + StartConversation(conversation, QuestGiver, Player, "Great. I was studying them before I ran across this carnivorous plant, and while it captured my interest, I've no desire to abandon them completely.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotRoots(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the Trythec roots.") + + AddQuestStepChat(Quest, 2, "I need to bring these roots to Bio-Parser Zo'Dok.", 1, ".", 197, 2630080) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought the Trythec roots back to Zo'Dok.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotRoots(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/killing_the_advance.lua b/Lua/Quests/TimorousDeep/killing_the_advance.lua new file mode 100755 index 000000000..4352cd364 --- /dev/null +++ b/Lua/Quests/TimorousDeep/killing_the_advance.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/TimorousDeep/killing_the_advance.lua + Script Purpose : Handles the quest, "Killing the Advance" + Script Author : Scatman + Script Date : 2009.03.10 + + Zone : Timorous Deep + Quest Giver: Tertiary Dih'Ha + Preceded by: None + Followed by: Reinforcements of a Sort (reinforcements_of_a_sort.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need to kill some Haoaeran advancers.", 7, 100, "", 611, 2630124) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledAdvancers") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tertiary_dih_ha/_exp04/exp04_rgn_timorous_deep/chrykori_tie/dihha/dihha003.mp3", "", "", 187701860, 3892292625, Player) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "You had better. Return to me when it's done.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledAdvancers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the Haoaeran advancers.") + + AddQuestStepChat(Quest, 2, "I need to return to Tertiary Dih'Ha.", 1, "", 0, 2630108) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + RemoveItem(Spawn, 2931) + UpdateQuestDescription(Quest, "I have slain the Haoaeran advancers and returned to Tertiary Dih'Ha.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QusetGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledAdvancers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/kuvis_vengeance.lua b/Lua/Quests/TimorousDeep/kuvis_vengeance.lua new file mode 100755 index 000000000..1b30ed2db --- /dev/null +++ b/Lua/Quests/TimorousDeep/kuvis_vengeance.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/TimorousDeep/kuvis_vengeance.lua + Script Purpose : Handles the quest, "Ku'Vi's Vengeance" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Craewem Ku'Vi + Preceded by: Pluck Them of Their Pride (pluck_them_of_their_pride.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Geo-Parser's Robe + -- Layered Scale Breastplate + -- Pridefeather Headdress + -- Raptor-scaled Tunic + -- Ritualist's Tunic + -- Turf-hunter Tunic + -- Thulwun Defender's Breastplate + + + AddQuestStepKill(Quest, 1, "I need to kill Turf-Hunter Valcryn.", 1, 100, ".", 611, 2630087) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedValcryn") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/craewen_ku_vi/_exp04/exp04_rgn_timorous_deep/chrykori_tie/kuvi/kuvi005.mp3", "", "", 3507521870, 672894658, Player) + AddConversationOption(conversation, "I will return when I have his head.") + StartConversation(conversation, QuestGiver, Player, "Thank you. Seeing him fall will be a rare joy.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedValcryn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain Turf-Hunter Valcryn.") + + AddQuestStepChat(Quest, 2, "I need to return to Craewen Ku'Vi.", 1, ".", 0, 2630073) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain Turf-Hunter Valcryn and brought his head and pride feathers to Craewen Ku'Vi.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedValcryn(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/pluck_them_of_their_pride.lua b/Lua/Quests/TimorousDeep/pluck_them_of_their_pride.lua new file mode 100755 index 000000000..a1337271a --- /dev/null +++ b/Lua/Quests/TimorousDeep/pluck_them_of_their_pride.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/TimorousDeep/pluck_them_of_their_pride.lua + Script Purpose : Handles the quest, "Pluck Them of Their Pride" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Craewem Ku'Vi + Preceded by: None + Followed by: Ku'Vi's Vengeance (kuvis_vengeance.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need some pride feathers from the Haoaeran turf-hunters to the south.", 10, 100, ".", 150, 2630077) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedBirds") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/craewen_ku_vi/_exp04/exp04_rgn_timorous_deep/chrykori_tie/kuvi/kuvi002.mp3", "", "", 324579697, 4108613532, Player) + AddConversationOption(conversation, "Very well.") + StartConversation(conversation, QuestGiver, Player, "Bring me their pride feathers, " .. GetName(Player) .. ". and leave their corpses to rot.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedBirds(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the Haoaeran pride feathers.") + + AddQuestStepChat(Quest, 2, "I need to bring these feathers back to Craewen Ku'Vi.", 1, ".", 150, 2630073) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought the pride feathers to Craewen Ku'Vi.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedBirds(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/TimorousDeep/poaching_the_poachers.lua b/Lua/Quests/TimorousDeep/poaching_the_poachers.lua new file mode 100755 index 000000000..b723846e2 --- /dev/null +++ b/Lua/Quests/TimorousDeep/poaching_the_poachers.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/TimorousDeep/poaching_the_poachers.lua + Script Purpose : Handles the quest, "Poaching the Poachers" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Tykor Gi'Lok + Preceded by: None + Followed by: Curious Ore (curious_ore.lua) +--]] + + +function Init(Quest) + -- Raptor-scaled Armguards + -- Scaled Armguards + -- Sunburnt Bracers + -- Empowered Earring + -- Geo-Parser's Sleeves + + + AddQuestStepKill(Quest, 1, "I need to kill four Haoaeran poachers.", 4, 100, ".", 611, 2630017) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_killedPoachers") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tykor_gi_lok/_exp04/exp04_rgn_timorous_deep/chrykori_tie/gilok/gilok001.mp3", "", "", 611409560, 797692345, Player) + AddConversationOption(conversation, "As good as done.") + StartConversation(conversation, QuestGiver, Player, "No hesitation, I like it. You will kill the poachers, and they will know Gi'Lok knows how to delegate.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_killedPoachers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain the Haoaeran poachers.") + + AddQuestStepChat(Quest, 2, "I need to return to Tykor Gi'Lok.", 1, ".", 0, 2630018) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have slain the Haoaeran poachers for Tykor Gi'Lok.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_killedPoachers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/prison_break.lua b/Lua/Quests/TimorousDeep/prison_break.lua new file mode 100755 index 000000000..f7afd828a --- /dev/null +++ b/Lua/Quests/TimorousDeep/prison_break.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/TimorousDeep/prison_break.lua + Script Purpose : Handles the quest, "Prison Break" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Bezok Myli'Ki + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + -- Channeler's Loop + -- Earthen Bracer + -- Feathered Turf-hunter Cap + -- Standard-issue Soldier's Ring + + + AddQuestStepChat(Quest, 1, "I need to free some captives held in Pyrrin Roost.", 5, ".", 1010, 2630104, 2630096, 2630131, 2630094) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_freedSarnaks") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/bezok_myli_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/myliki/myliki001.mp3", "", "", 3631592040, 195858381, Player) + AddConversationOption(conversation, "I will return quickly.") + StartConversation(conversation, QuestGiver, Player, "Excellent.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_freedSarnaks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have freed some captives in Pyrrin Roost.") + + AddQuestStepChat(Quest, 2, "I need to return to Bezok Myli'Ki.", 1, ".", 0, 2630098) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have freed the sarnak held captive in Pyrrin Roost.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_freedSarnaks(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/report_to_the_primary.lua b/Lua/Quests/TimorousDeep/report_to_the_primary.lua new file mode 100755 index 000000000..19b77fa5c --- /dev/null +++ b/Lua/Quests/TimorousDeep/report_to_the_primary.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/TimorousDeep/report_to_the_primary.lua + Script Purpose : Handles the quest, "Report to the Primary" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Tykor Gi'Lok + Preceded by: Curious Ore (curious_ore.lua) + Followed by: Disrupting Haoaeran Studies (disrupting_haoaeran_studies.lua) +--]] + + +function Init(Quest) + -- Acid-Carved Bracer + -- Empowered Bracelet + -- Sand-scoured Armguards + -- Tykor's Bracers + -- Zum'Ha's Armwraps + + + AddQuestStepChat(Quest, 1, "I must speak with Primary Conzuk Zum'Ha in Chrykori Village, up the ramp to the north.", 1, ".", 0, 2630042) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tykor_gi_lok/_exp04/exp04_rgn_timorous_deep/chrykori_tie/gilok/gilok007.mp3", "", "", 4113737431, 1405861806, Player) + AddConversationOption(conversation, "Hopefully it will be revealed then.") + StartConversation(conversation, QuestGiver, Player, "This only supports my claims. The spirocs are not so empty headed as to think this will be of any use to them... It stinks of a greater design!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have shown Primary Conzuk Zum'Ha the ore sample.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/TimorousDeep/sandy_eggs.lua b/Lua/Quests/TimorousDeep/sandy_eggs.lua new file mode 100755 index 000000000..630b5b43d --- /dev/null +++ b/Lua/Quests/TimorousDeep/sandy_eggs.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/TimorousDeep/sandy_eggs.lua + Script Purpose : Handles the quest, "Sandy Eggs" + Script Author : Scatman + Script Date : 2009.02.10 + + Zone : Timorous Deep + Quest Giver: Varkori Riz'Lul + Preceded by: Hopefully the Meat Isn't Timeworn (hopefully_the_meat_isnt_timeworn.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Geo-Parser's Gloves + -- Layered Scale Gauntlets + -- Rune-covered Band + -- Sand-scoured Sandals + + + -- tortoise egg + AddQuestStepObtainItem(Quest, 1, "I need to collect some tortoise eggs from the dunes north and west of Chrykori Tie.", 6, 100, ".", 2148, 10111) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotEggs") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/varkori_riz_lul/_exp04/exp04_rgn_timorous_deep/chrykori_tie/rizlul/rizlul005.mp3", "", "", 425764680, 2034208985, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Thank you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotEggs(Quest, QuestGiver, Player) + SetStepComplete(Quest, 1, "I have collected the tortoise eggs.") + + AddQuestStepChat(Quest, 2, "I need to bring these eggs to Varkori Riz'Lul.", 1, ".", 2148, 2630043) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought the tortoise eggs back to Varkori Riz'Lul.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotEggs(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/scout_scouting.lua b/Lua/Quests/TimorousDeep/scout_scouting.lua new file mode 100755 index 000000000..338b8517b --- /dev/null +++ b/Lua/Quests/TimorousDeep/scout_scouting.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/TimorousDeep/scout_scouting.lua + Script Purpose : Handles the quest, "Scout Scouting" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Arozik Sky'Ki + Preceded by: Haoaeran Poisons (haoaeran_poisons.lua) + Followed by: Haoaeran Orders (haoaeran_orders.lua) +--]] + + +function Init(Quest) + -- Band of Weaving + -- Barnacled Hoop + -- Layered Scale Barbute + -- Lightfoot Sash + -- Pridefeather Mantle + + + AddQuestStep(Quest, 1, "I need to travel south and search for the missing Chrykori Scout.", 1, 100, ".", 0) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_foundScout") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/arozik_sky_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/skyki/skyki009.mp3", "", "", 3728908332, 3305312400, Player) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, QuestGiver, Player, "Thank you. Remember, the log book is enough.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_foundScout(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the log book of the missing scout.") + + AddQuestStepChat(Quest, 2, "I need to bring this log book to Secondary Arozik Sky'Ki.", 1, ".", 716, 2630081) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "Sky'Ki's scout was dead, but I was able to bring his log book back.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_foundScout(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/stealing_their_steel.lua b/Lua/Quests/TimorousDeep/stealing_their_steel.lua new file mode 100755 index 000000000..230aa1a09 --- /dev/null +++ b/Lua/Quests/TimorousDeep/stealing_their_steel.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : Quests/TimorousDeep/stealing_their_steel.lua + Script Purpose : Handles the quest, "Stealing Their Steel" + Script Author : Scatman + Script Date : 2009.03.10 + + Zone : Timorous Deep + Quest Giver: Tanzikla Hir'Ki + Preceded by: A Reverse Supply Run (a_reverse_supply_run.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Earthen Loop + -- Layered Scale Stompers + -- Woven Trythec Earring + + + AddQuestStepKill(Quest, 1, "I need some weapons from the Haoaeran lightfoot attackers.", 5, 100, ".", 287, 2630105) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledAttackers") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/tanzikla_hir_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/hirki/hirki005.mp3", "", "", 2732146022, 3045462699, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Though we hope the Haoaerans are not receiving outside help, it would be something of a relief to know that they were -- for them to be capable of making weapons of such quality would be a concern. Be swift, " .. GetName(Player) .. ". We must know what we are up against.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledAttackers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the Haoaeran lightfoot weapons.") + + AddQuestStepChat(Quest, 2, "I need to return to Tanzikla Hir'Ki.", 1, ".", 0, 2630611) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + RemoveItem(Spawn, 2931) + UpdateQuestDescription(Quest, "I have brought the Haoaeran weapons back to Tanzikla Hir'Ki.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QusetGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledAttackers(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/stuffed_gorger_claws.lua b/Lua/Quests/TimorousDeep/stuffed_gorger_claws.lua new file mode 100755 index 000000000..45adf8911 --- /dev/null +++ b/Lua/Quests/TimorousDeep/stuffed_gorger_claws.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/TimorousDeep/stuffed_gorger_claws.lua + Script Purpose : Handles the quest, "Stuffed Gorger Claws" + Script Author : Scatman + Script Date : 2009.02.06 + + Zone : Timorous Deep + Quest Giver: Taroche Dry'Zok + Preceded by: None + Followed by: Delivery to a Veteran (delivery_to_a_veteran.lua) +--]] + + +function Init(Quest) + + + AddQuestStepKill(Quest, 1, "I need some grit gorger claws.", 4, 100, ".", 78, 2630022) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotClaws") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/taroche_dry_zok/_exp04/exp04_rgn_timorous_deep/chrykori_tie/dryzok/dryzok001.mp3", "", "", 3402230050, 3099804897, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Excellent. Return to me once you have them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotClaws(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the claws.") + + AddQuestStepChat(Quest, 2, "I need to bring these claws to Taroche Dry'Zok", 1, ".", 77, 2630014) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought Taroche Dry'Zok the grit gorger claws he asked for.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotClaws(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/the_ends_justify_the_means.lua b/Lua/Quests/TimorousDeep/the_ends_justify_the_means.lua new file mode 100755 index 000000000..f728bbc76 --- /dev/null +++ b/Lua/Quests/TimorousDeep/the_ends_justify_the_means.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/TimorousDeep/the_ends_justify_the_means.lua + Script Purpose : Handles the quest, "The Ends Justify the Means" + Script Author : Scatman + Script Date : 2009.02.07 + + Zone : Timorous Deep + Quest Giver: Civ-Parser Di'Xin + Preceded by: Chrykori Relics (chrykori_relics.lua) + Followed by: None +--]] + + +function Init(Quest) + -- Layered Scale Mantle + -- Lightfoot Gloves + -- Timeworn Helm + -- Timeworn Hoop + -- Timeworn Stud + + + AddQuestStepKill(Quest, 1, "I need to collect some scavenged relics from the Haoaeran scavengers in the Timeworn Pools to the west.", 4, 100, ".", 368, 2630086) + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotRelics") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/civ-parser_di_xin/_exp04/exp04_rgn_timorous_deep/chrykori_tie/dixin/dixin008.mp3", "", "", 76732508, 856374115, Player) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "That would be wonderful. It is a shame that any sentient can be so careless when it comes to something as important as history.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotRelics(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the scavenged relics.") + + AddQuestStepChat(Quest, 2, "I need to bring these relics back to Civ-Parser Di'Xin.", 1, ".", 368, 2630045) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I brought relics obtained from the Haoaeran scavengers back to Civ-Parser Di'Xin.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotRelics(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/TimorousDeep/the_filament_strangler.lua b/Lua/Quests/TimorousDeep/the_filament_strangler.lua new file mode 100755 index 000000000..266712d97 --- /dev/null +++ b/Lua/Quests/TimorousDeep/the_filament_strangler.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/TimorousDeep/the_filament_strangler.lua + Script Purpose : Handles the quest, "The Filament Strangler" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Bio-Parser Zo'Dok + Preceded by: None + Followed by: It Can't ALL Be Interesting Work (it_cant_all_be_interesting_work.lua) +--]] + + +function Init(Quest) + + + -- filament encapsulated monitor + AddQuestStepObtainItem(Quest, 1, "I need some filament encapsulated monitors for Bio-Parser Zo'Dok.", 3, 100, ".", 136, 5080) + + AddQuestStepCompleteAction(Quest, 1, "step1_complete_gotFilaments") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/bio-parser_zo_dok/_exp04/exp04_rgn_timorous_deep/chrykori_tie/zodok/zodok002.mp3", "", "", 4085643923, 1538179326, Player) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, QuestGiver, Player, "And don't worry, the plant won't try to eat you. It can recognize the lizards somehow and only attacks them. Besides, you're much too big to wrap up.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function step1_complete_gotFilaments(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the filament encapsulated monitors.") + + AddQuestStepChat(Quest, 2, "I need to bring these monitors to Bio-Parser Zo'Dok.", 1, ".", 141, 2630080) + AddQuestStepCompleteAction(Quest, 2, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have brought some samples of the lizards the plant preys on back to Zo'Dok.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + step1_complete_gotFilaments(Quest, QuestGiver, Player) + end +end + diff --git a/Lua/Quests/TimorousDeep/war.lua b/Lua/Quests/TimorousDeep/war.lua new file mode 100755 index 000000000..f38d3563a --- /dev/null +++ b/Lua/Quests/TimorousDeep/war.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/TimorousDeep/war.lua + Script Purpose : Handles the quest, "War" + Script Author : Scatman + Script Date : 2009.02.27 + + Zone : Timorous Deep + Quest Giver: Arozik Sky'Ki + Preceded by: Decoder Glyph (decoder_glyph.lua) + Followed by: None +--]] + + +function Init(Quest) + + + AddQuestStepChat(Quest, 1, "I need to speak with Tertiary Dih'Ha.", 1, ".", 0, 2630108) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") + +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/arozik_sky_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/skyki/skyki021.mp3", "", "", 3157661063, 692355450, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "Thulwun Station needs our help. Be strong, " .. GetName(Player) .. ". I will see about sending further reinforcements in your wake.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestDescription(Quest, "I have met up with Tertiary Dih'Ha.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end diff --git a/Lua/Quests/TimorousDeep/weapon_break.lua b/Lua/Quests/TimorousDeep/weapon_break.lua new file mode 100755 index 000000000..2599a4a90 --- /dev/null +++ b/Lua/Quests/TimorousDeep/weapon_break.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : Quests/TimorousDeep/weapon_break.lua + Script Purpose : Handles the quest, "Weapon Break" + Script Author : Scatman + Script Date : 2009.03.10 + + Zone : Timorous Deep + Quest Giver: Gerwen Di'Ki + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + -- Pridefeather Leggings + -- Geo-Parser's Leggings + -- Layered Scale Greaves + -- Raptor-scaled Leggings + -- Ritualist's Pants + -- Turf-hunter Breeches + -- Thulwun Defender's Greaves + + + AddQuestStepSpell(Quest, 1, "I need to spray the weapons of Pyrrin Roost with acid.", 5, 100, ".", 287, 5018) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SprayedAcid") + +end + +function Accepted(Quest, QuestGiver, Player) + -- Acid + if not HasItem(Player, 2931) then + SummonItem(Player, 2931) + end + + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/rok_questvo/gerwen_di_ki/_exp04/exp04_rgn_timorous_deep/chrykori_tie/diki/diki001.mp3", "", "", 2073303618, 4008999322, Player) + AddConversationOption(conversation, "I will be swift.") + StartConversation(conversation, QuestGiver, Player, "If we destroy these weapons, it will take more time for the Haoaerans to reinforce their assault force at Thulwun Station. They will need to rearm before moving on. Let us show them that two can play at the delay game.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SprayedAcid(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have sprayed acid on the weapons in Pyrrin Roost.") + + AddQuestStepChat(Quest, 2, "I need to return to Gerwen Di'Ki.", 1, ".", 0, 2630593) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + -- remove Acid + RemoveItem(Player, 2931) + UpdateQuestDescription(Quest, "I've rusted the Haoaeran weapons laying around in Pyrrin Roost.") + GiveQuestReward(Quest, Player) +end diff --git a/Lua/Quests/WailingCaves/CombustibleGnome.lua b/Lua/Quests/WailingCaves/CombustibleGnome.lua new file mode 100755 index 000000000..73c62ddcb --- /dev/null +++ b/Lua/Quests/WailingCaves/CombustibleGnome.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : combustible_gnome.lua + Script Purpose : Handles the quest, "Combustible Gnome" + Script Author : QuestParser (Replace this) + Script Date : 8/30/2019 + Script Notes : Auto generated with QuestParser. + + Zone : Wailing Caves + Quest Giver : + Preceded by : None + Followed by : None +--]] +local Cog Burn = 2580001 +require "SpawnScripts/Generic/DialogModule" + +function Init(Quest) + AddQuestStepKill(Quest, 1, "Slay skeletal orcs.", 30, 100, "Cog Burn wants me to slay about thirty of the undead orcs down here in the Wailing Caves. I guess he wants their bones for some kind of experiment.", 611, 2580043) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain many undead orcs.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've slain the undead orcs and have their remains. All that's left to do is return the remains to Cog Burn.") + + AddQuestStepChat(Quest, 2, "Give Cog Burn the orc parts.", 1, "What a daunting task! I've slain many of the undead orcs, now I must return to Cog Burn and give him the bones.", 11, 2580043) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 2, "I have given Cog Burn the orc parts.") + UpdateQuestTaskGroupDescription(Quest, 2, "I've given Cog Burn all of the undead orc remains. Now to see what he gave me for my efforts.") + + UpdateQuestDescription(Quest, "It sure was a lot of work, but well worth the reward. I wonder what it was that he was going to give me at first. Hmm, I may never know.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/WailingCaves/GroaningBracers.lua b/Lua/Quests/WailingCaves/GroaningBracers.lua new file mode 100755 index 000000000..fb746c194 --- /dev/null +++ b/Lua/Quests/WailingCaves/GroaningBracers.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : groaning_bracers.lua + Script Purpose : Handles the quest, "Groaning Bracers" + Script Author : Neatz09 + Script Date : 8/30/2019 + Script Notes : Auto generated with QuestParser. + + Zone : Wailing Caves + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to bring these bracers to the Burial Pit in the Wailing Caves.", 1, "With a little effort, I believe I can transform these mysterious bracers into something better.", 11, -175, -55, -13) + AddQuestStepCompleteAction(Quest, 1, "QuestComplete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 1, "A wisp of light streaked across the cavern and darted straight for the bracers.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've been able to change the mysterious bracers into the Groaning Bracers.") + + UpdateQuestDescription(Quest, "Applying a little bit of effort, I've been able to change the mysterious bracers into the Groaning Bracers.

") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/Quests/WillowWood/a_joined_heritage.lua b/Lua/Quests/WillowWood/a_joined_heritage.lua new file mode 100755 index 000000000..3f34b8d02 --- /dev/null +++ b/Lua/Quests/WillowWood/a_joined_heritage.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/WillowWood/a_joined_heritage.lua + Script Purpose : Handles the quest, "A Joined Heritage" + Script Author : Scatman + Script Date : 2009.09.26 + + Zone : The Willow Wood + Quest Giver: Daelyn Twinstar + Preceded by: A Split Heritage (a_split_heritage.lua) + Followed by: Wisdom in the Wild (wisdom_in_the_wild.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must speak with a human named Milo Faren. Daelyn says he should be in the scribe's shop.", 1, "Daelyn Twinstar has offered to help teach me about Half Elves. He has asked that I speak with a couple of people here within the Willow Wood.", 0, 2370028) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithMilo") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/daelyn_twinstar/qey_village05/quests/daelyn_twinstar/daelyn_twinstar022b.mp3", "", "", 719307287, 3769426706, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Good. Return to me once this is done and we will speak of what you heard.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithMilo(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Milo Faren.") + + AddQuestStepChat(Quest, 2, "I must speak with an elf named Lyssia Delnara. Daelyn said she is probably on the small overlook near the gates to the Elddar Grove.", 1, "Daelyn Twinstar has offered to help teach me about Half Elves. He has asked that I speak with a couple of people here within the Willow Wood.", 0, 2370029) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithLyssia") +end + +function Step2_Complete_SpokeWithLyssia(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Lyssia.") + + AddQuestStepChat(Quest, 3, "I should return to Daelyn now that I have spoken to Lyssia and Milo.", 1, "Daelyn Twinstar has offered to help teach me about Half Elves. He has asked that I speak with a couple of people here within the Willow Wood.", 0, 2370037) + AddQuestStepCompleteAction(Quest, 3, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Daelyn.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have completed Daelyn's task.") + UpdateQuestDescription(Quest, "Daelyn promised to speak to me about Milo and Lyssia after I help him with an important task.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithMilo(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithLyssia(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/a_split_heritage.lua b/Lua/Quests/WillowWood/a_split_heritage.lua new file mode 100755 index 000000000..dd560ca68 --- /dev/null +++ b/Lua/Quests/WillowWood/a_split_heritage.lua @@ -0,0 +1,130 @@ +--[[ + Script Name : Quests/WillowWood/a_split_heritage.lua + Script Purpose : Handles the quest, "A Split Heritage" + Script Author : Scatman + Script Date : 2009.09.20 + + Zone : The Willow Wood + Quest Giver: Daelyn Twinstar + Preceded by: None + Followed by: A Joined Heritage (a_joined_heritage.lua) +--]] + +local ASplitHeritage = 218 + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Gar Smolten behind the inn.", 1, "I need to speak with a human named Gar Smolten. Daelyn said he should be behind the inn.", 0, 2370026) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_SpokeWithGar") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/daelyn_twinstar/qey_village05/quests/daelyn_twinstar/daelyn_twinstar015.mp3", "", "", 1728941496, 2387813278, Player) + AddConversationOption(conversation, "Very well.") + StartConversation(conversation, QuestGiver, Player, "I'm glad to hear it. Return to me when you have spoken to them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_SpokeWithGar(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Gar Smolten.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Gar Smolten.") + + AddQuestStepChat(Quest, 2, "I need to speak with Gar Smolten once I know the contents of the boxes.", 1, "I should speak with Gar Smolten behind the inn again when I know which boxes contain what.", 0, 2370026) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_SpokeWithGar") +end + +function Step2_Complete_SpokeWithGar(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Gar Smolten.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have completed the task for Gar.") + + AddQuestStepChat(Quest, 3, "I need to speak with Lia Serene near the entrance to the Elddar Grove.", 1, "I need to speak with an elf named Lia Serene. Daelyn said she should be near the entrance to the Elddar Grove.", 0, 2370030) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_SpokeWithLia") +end + +function Step3_Complete_SpokeWithLia(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Lia Serene.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have spoken with Lia Serene.") + + AddQuestStep(Quest, 4, "I need to check under the north-east corner of the inn-roof for a nest or eggs.", 1, 100, "I need to go check the spots in the Willow Wood that Lia mentioned may have eggs or nests near them.", 0) + AddQuestStep(Quest, 5, "I need to check under the tree near the entrance to the docks for a nest or eggs.", 1, 100, "I need to go check the spots in the Willow Wood that Lia mentioned may have eggs or nests near them.", 0) + AddQuestStep(Quest, 6, "I need to check under the tree on the path to the entrance to the Forest Ruins for a nest or eggs.", 1, 100, "I need to go check the spots in the Willow Wood that Lia mentioned may have eggs or nests near them.", 0) + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_FoundEgg") + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_FoundEgg") + AddQuestStepCompleteAction(Quest, 6, "Step6_Complete_FoundEgg") +end + +function Step4_Complete_FoundEgg(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have found an egg near the inn.") + + if QuestIsComplete(Player, ASplitHeritage) then + FoundAllEggs(Quest, QuestGiver, Player) + end +end + +function Step5_Complete_FoundEgg(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have found an egg from under the tree near the entrance to the docks.") + + if QuestIsComplete(Player, ASplitHeritage) then + FoundAllEggs(Quest, QuestGiver, Player) + end +end + +function Step6_Complete_FoundEgg(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have found an egg from the tree on the path to the Forest Ruins.") + + if QuestIsComplete(Player, ASplitHeritage) then + FoundAllEggs(Quest, QuestGiver, Player) + end +end + +function FoundAllEggs(Quest, QuestGiver, Player) + local egg1 = SpawnMob(GetZone(QuestGiver), 2370105, 0, 815.854, -19.6821, -585.67, 257) + local egg2 = SpawnMob(GetZone(QuestGiver), 2370105, 0, 815.888, -19.6638, -585.578, 155) + local egg3 = SpawnMob(GetZone(QuestGiver), 2370105, 0, 815.941, -19.6429, -585.632, 221) + Despawn(egg1, 300000) + Despawn(egg2, 300000) + Despawn(egg3, 300000) + + + UpdateQuestTaskGroupDescription(Quest, 4, "I have collected eggs from the spots Lia mentioned.") + + AddQuestStepChat(Quest, 7, "I need to speak with Lia Serene again.", 1, "I should speak with Lia near the entrance to the Elddar Grove again and give her these eggs.", 0, 2370030) + AddQuestStepCompleteAction(Quest, 7, "Step7_Complete_SpokeWithLia") +end + +function Step7_Complete_SpokeWithLia(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have spoken with Lia Serene again.") + UpdateQuestTaskGroupDescription(Quest, 5, "I have completed the task for Lia.") + + AddQuestStepChat(Quest, 8, "I need to speak with Daelyn.", 1, "I should return to Daelyn Twinstar now that I have done what he asked of me.", 0, 2370037) + AddQuestStepCompleteAction(Quest, 8, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 8, "I have spoken with Daelyn.") + UpdateQuestTaskGroupDescription(Quest, 6, "I have spoken with Daelyn Twinstar.") + UpdateQuestDescription(Quest, "After speaking with Gar and Lia I returned to Daelyn, he asked about how they treated me.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_SpokeWithGar(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_SpokeWithGar(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_SpokeWithLia(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_FoundEgg(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_FoundEgg(Quest, QuestGiver, Player) + elseif Step == 6 then + Step6_Complete_FoundEgg(Quest, QuestGiver, Player) + elseif Step == 7 then + Step7_Complete_SpokeWithLia(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/a_task_for_daelyn.lua b/Lua/Quests/WillowWood/a_task_for_daelyn.lua new file mode 100755 index 000000000..bc0ed9936 --- /dev/null +++ b/Lua/Quests/WillowWood/a_task_for_daelyn.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/WillowWood/a_task_for_daelyn.lua + Script Purpose : Handles the quest, "A Task for Daelyn" + Script Author : Scatman + Script Date : 2009.09.26 + + Zone : The Willow Wood + Quest Giver: Daelyn Twinstar + Preceded by: Wisdom in the Wild (wisdom_in_the_wild.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I must find Elvic Garrett.", 1, "Daelyn Twinstar would like me to deliver his latest work to Elvic Garrett in the Forest Ruins.", 0, 1960007) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/daelyn_twinstar/qey_village05/quests/daelyn_twinstar/daelyn_twinstar031b.mp3", "", "", 2282006667, 2437930870, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "Thanks for your help, " .. GetName(Player) .. ". I hope our discussions about our race will prove useful to you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found Elvic Garrett.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have delivered Daelyn Twinstar's essay to Elvic Garrett.") + UpdateQuestDescription(Quest, "I have delivered Daelyn's work to Elvic Garrett.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/a_task_for_davyn.lua b/Lua/Quests/WillowWood/a_task_for_davyn.lua new file mode 100755 index 000000000..39ee53b7b --- /dev/null +++ b/Lua/Quests/WillowWood/a_task_for_davyn.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : Quests/WillowWood/a_task_for_davyn.lua + Script Purpose : Handles the quest, "A Task for Davyn" + Script Author : Scatman + Script Date : 2009.01.17 + + Zone : The Willow Wood + Quest Giver: Davyn Thornbranch + Preceded by: Tribute Leaves (tribute_leaves.lua) + Followed by: Tribute Flowers (tribute_flowers.lua) +--]] + + +function Init(Quest) + AddQuestStepChat(Quest, 1, "Davyn mentioned that Taval Zane, an inn patron, was the most recent person to report seeing the rabid wolf. I should start by speaking with him in the in.", 1, "Davyn has told me of reports of a rabid wolf in the Willow Wood. He has asked that I find it and put it out of its misery before anyone is harmed.", 0, 2370009) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_TalkedToTaval") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/davyn_thornbranch/qey_village05/quests/davyn_thornbranch/davyn_thornbranch023.mp3", "", "", 2446328740, 3651016951, Player) + AddConversationOption(conversation, "No problem.") + StartConversation(conversation, QuestGiver, Player, "Thank you for looking into this matter. Oh! If you have not already done so, you can get lodgings at the inn by speaking with Innkeeper Yeoni.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_TalkedToTaval(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Taval said he saw the wolf run toward the scribe's shop.") + + AddQuestStepChat(Quest, 2, "I should speak to Jana Windstream outside the scribe shop.", 1, "Davyn has told me of reports of a rabid wolf in the Willow Wood. He has asked that I find it and put it out of its misery before anyone is harmed.", 0, 2370024) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_TalkedToJana") +end + +function Step2_Complete_TalkedToJana(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Jana said the wolf was probably after something in the cart.") + + AddQuestStep(Quest, 3, "I should search the cart Jana mentioned. She said it was at the northern edge of the scribe shop.", 1, 100, "Davyn has told me of reports of a rabid wolf in the Willow Wood. He has asked that I find it and put it out of its misery before anyone is harmed.", 0) + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_SearchedCrate") +end + +function Step3_Complete_SearchedCrate(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found wolf tracks.") + UpdateQuestTaskGroupDescription(Quest, 1, "I found wolf tracks.") + + AddQuestStepKill(Quest, 4, "I should follow the wolf tracks that lead eastward up the hill behind the scribe's shop.", 1, 100, "Some wolf tracks lead east of the scribe's shop from the cart. Where there are tracks, there may be a wolf.", 0, 2370107) + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_KilledWolf") +end + +function Step4_Complete_KilledWolf(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "The rabid wolf has been slain.") + UpdateQuestTaskGroupDescription(Quest, 2, "The rabid wolf has been slain.") + + AddQuestStepChat(Quest, 5, "I must speak with Davyn.", 1, "Now that the wolf has been slain, I need to speak with Davyn and then Aelis.", 0, 2370033) + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_TalkedToDavyn") +end + +function Step5_Complete_TalkedToDavyn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I spoke to Davyn.") + + AddQuestStepChat(Quest, 6, "I need to speak with Aelis now that I have done a task for Davyn.", 1, "Now that the wolf has been slain, I need to speak with Davyn and then Aelis.", 0, 2370038) + AddQuestStepCompleteAction(Quest, 6, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have spoken with Aelis.") + UpdateQuestTaskGroupDescription(Quest, 3, "I have spoken with Davyn and Aelis.") + UpdateQuestDescription(Quest, "I have slain the rabid wolf that was living in the Willow Wood as Davyn Thornbranch requested.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_TalkedToTaval(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_TalkedToJana(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_SearchedCrate(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_KilledWolf(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_TalkedToDavyn(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/a_tribute_to_ulinir.lua b/Lua/Quests/WillowWood/a_tribute_to_ulinir.lua new file mode 100755 index 000000000..7e535a061 --- /dev/null +++ b/Lua/Quests/WillowWood/a_tribute_to_ulinir.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/WillowWood/a_tribute_to_ulinir.lua + Script Purpose : Handles the quest, "A Tribute to Ulinir" + Script Author : Scatman + Script Date : 2009.09.26 + + Zone : The Willow Wood + Quest Giver: Davyn Thornbranch + Preceded by: Tribute Flowers (tribute_flowers.lua) + Followed by: None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to place Ulinir's tribute on his grave in the northeastern edge of the Forest Ruins.", 1, 100, "Davyn has asked me to deliver Ulinir's tribute to his grave in the Forest Ruins.", 0) + AddQuestStepCompleteAction(Quest, 1, "Quest_Complete") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/davyn_thornbranch/qey_village05/quests/davyn_thornbranch/davyn_thornbranch024.mp3", "", "", 1462985886, 2661740448, Player) + AddConversationOption(conversation, "I'll be careful.") + StartConversation(conversation, QuestGiver, Player, "Be cautious. The Forest Ruins are not the safe haven that the Willow Wood is.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have placed Ulinir's tribute.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have delivered Ulinir's tribute.") + UpdateQuestDescription(Quest, "I have placed Ulinir's tribute as Davyn Thornbranch requested. I hope that I inspire such friendship in others.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/offering_help.lua b/Lua/Quests/WillowWood/offering_help.lua new file mode 100755 index 000000000..0042ff50f --- /dev/null +++ b/Lua/Quests/WillowWood/offering_help.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/WillowWood/offering_help.lua + Script Purpose : Handles the quest, "Offering Help" + Script Author : Scatman + Script Date : 2009.09.26 + + Zone : The Willow Wood + Quest Giver: Aelis + Preceded by: None + Followed by: Tribute Leaves (tribute_leaves.lua) +--]] + +function Init(Quest) + AddQuestStepChat(Quest, 1, "I need to speak with Davyn Thornbranch just inside the tunnel from the docks.", 1, "I need to go into the Willow Wood and find Davyn Thornbranch. Once I find him, I must offer to help him.", 0, 2370033) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_TalkedToDavyn") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aelis/qey_village05/quests/aelis/aelis_intro004.mp3", "", "", 3255317830, 86303468, Player) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, QuestGiver, Player, "Follow this tunnel into the Willow Wood. I am confident Davyn is just inside.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_TalkedToDavyn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Davyn Thornbranch.") + + AddQuestStepChat(Quest, 2, "I need to return to Aelis on the docks for further instruction about creating Davyn's Tier'Dal tribute.", 1, "I need to go into the Willow Wood and find Davyn Thornbranch. Once I find him, I must offer to help him.", 0, 2370038) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Aelis.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have offered to help Davyn Thornbranch make his Feir'Dal tribute.") + + UpdateQuestDescription(Quest, "I have spoken with Davyn and agreed to help him create his tribute. Aelis will guide me through the process.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_TalkedToDavyn(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/snake_slaying.lua b/Lua/Quests/WillowWood/snake_slaying.lua new file mode 100755 index 000000000..3982f1179 --- /dev/null +++ b/Lua/Quests/WillowWood/snake_slaying.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/WillowWood/snake_slaying.lua + Script Purpose : Handles the quest, "Snake Slaying" + Script Author : Scatman + Script Date : 2009.09.27 + + Zone : The Willow Wood + Quest Giver: Hunter Vannil + Preceded by: None + Followed by: None +--]] + + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill some rock adders.", 8, 100, "I need to kill eight rock adders in the Forest Ruins.", 611, 1960018) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_KilledSnakes") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/hunter_vannil/qey_village05/huntervannil002.mp3", "", "", 2784879734, 2610513967, Player) + AddConversationOption(conversation, "Thanks, this shouldn't be too difficult a hunt.") + StartConversation(conversation, QuestGiver, Player, "Good. Killing the deadly adders shall make our village a safer place. Good luck on your hunt. Please be careful.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_KilledSnakes(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed some rock adders.") + UpdateQuestZone(Quest, "The Willow Wood") + + AddQuestStepChat(Quest, 2, "I should return to Hunter Vannil.", 1, "I need to kill eight rock adders in the Forest Ruins.", 0, 2370032) + AddQuestStepCompleteAction(Quest, 2, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Hunter Vannil.") + UpdateQuestTaskGroupDescription(Quest, 1, "I killed eight rock adders.") + UpdateQuestDescription(Quest, "I eliminated eight rock adders to make the area safer for the populace of the Willow Wood.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_KilledSnakes(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/tribute_flowers.lua b/Lua/Quests/WillowWood/tribute_flowers.lua new file mode 100755 index 000000000..e54fad0e3 --- /dev/null +++ b/Lua/Quests/WillowWood/tribute_flowers.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : Quests/WillowWood/tribute_flowers.lua + Script Purpose : Handles the quest, "Tribute Flowers" + Script Author : Scatman + Script Date : 2009.01.17 + + Zone : The Willow Wood + Quest Giver: Aelis + Preceded by: A Task for Davyn (a_task_for_davyn.lua) + Followed by: A Tribute to Ulinir (a_tribute_to_ulinir.lua) +--]] + + +function Init(Quest) + -- Tribute Flower + AddQuestStepObtainItem(Quest, 1, "I need to pick some flowers from the Willow Wood and bring them to Aelis.", 8, 100, "I need to collect some flowers for Davyn's tribute and return them to Aelis.", 1952, 14666) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotFlowers") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aelis/qey_village05/quests/aelis/aelis021b.mp3", "", "", 810591684, 4247178806, Player) + AddConversationOption(conversation, "All right, I will return.") + StartConversation(conversation, QuestGiver, Player, "By the time you have collected enough, I am sure I will have written the tribute.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotFlowers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have picked the flowers.") + + AddQuestStepChat(Quest, 2, "I need to take these flowers Aelis in the Willow Wood.", 1, "I need to collect some flowers for Davyn's tribute and return them to Aelis.", 0, 2370038) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_TalkedToAelis") +end + +function Step2_Complete_TalkedToAelis(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Aelis the flowers she requires.") + + -- remove Tribute Flowers + while HasItem(Player, 14666) do + RemoveItem(Player, 14666) + end + + -- summon Tribute for Ulinir + if not HasItem(Player, 14667, 1) then + SummonItem(Player, 14667, 1) + end + + AddQuestStepChat(Quest, 3, "I need to take the completed tribute to Davyn Thornbranch in Willow Wood.", 1, "I need to collect some flowers for Davyn's tribute and return them to Aelis.", 0, 2370033) + AddQuestStepCompleteAction(Quest, 3, "quest_complete") +end + +function quest_complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have taken the tribute to Davyn.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have given the flowers to Aelis.") + UpdateQuestDescription(Quest, "I gave Aelis the flowers she requested. She will use them to help build Davyn's tribute.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotFlowers(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_TalkedToAelis(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/tribute_leaves.lua b/Lua/Quests/WillowWood/tribute_leaves.lua new file mode 100755 index 000000000..8fd3bc872 --- /dev/null +++ b/Lua/Quests/WillowWood/tribute_leaves.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/WillowWood/tribute_leaves.lua + Script Purpose : Handles the quest, "Tribute Leaves" + Script Author : Scatman + Script Date : 2009.09.26 + + Zone : The Willow Wood + Quest Giver: Aelis + Preceded by: Offering Help (offering_help.lua) + Followed by: A Task for Davyn (a_task_for_davyn.lua) +--]] + +function Init(Quest) + -- Tribute Leaf + AddQuestStepObtainItem(Quest, 1, "I need to collect some leaves from the Dewdrop bushes in Willow Wood and bring them to Aelis.", 6, 100, "I need to collect some leaves for Davyn's tribute and return them to Aelis.", 2098, 14668) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_GotLeaves") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/aelis/qey_village05/quests/aelis/aelis006a.mp3", "", "", 1165853979, 3023910277, Player) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, QuestGiver, Player, "As you collect them I will determine what will next be required for the tribute.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_GotLeaves(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected the leaves.") + + AddQuestStepChat(Quest, 2, "I need to take these leaves back to Aelis in the Willow Wood.", 1, "I need to collect some leaves for Davyn's tribute and return them to Aelis.", 0, 2370038) + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_TalkedToAelis") +end + +function Step2_Complete_TalkedToAelis(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have given Aelis the leaves she requires.") + + -- Tribute Leaf + while HasItem(Player, 14668) do + RemoveItem(Player, 14668) + end + + AddQuestStepChat(Quest, 3, "I need to speak with Davyn and do a task for him.", 1, "I need to collect some leaves for Davyn's tribute and return them to Aelis.", 0, 2370033) + AddQuestStepCompleteAction(Quest, 3, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected the leaves.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the leaves.") + + UpdateQuestDescription(Quest, "I have given Aelis the leaves she asked for and spoken with Davyn. While Aelis works on the first part of the tribute, she has asked that I do a favor for Davyn.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_GotLeaves(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_TalkedToAelis(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/WillowWood/wisdom_in_the_wild.lua b/Lua/Quests/WillowWood/wisdom_in_the_wild.lua new file mode 100755 index 000000000..0cd409e4d --- /dev/null +++ b/Lua/Quests/WillowWood/wisdom_in_the_wild.lua @@ -0,0 +1,106 @@ +--[[ + Script Name : Quests/WillowWood/wisdom_in_the_wild.lua + Script Purpose : Handles the quest, "Wisdom in the Wild" + Script Author : Scatman + Script Date : 2009.09.26 + + Zone : The Willow Wood + Quest Giver: Daelyn Twinstar + Preceded by: A Joined Heritage (a_joined_heritage.lua) + Followed by: A Task for Daelyn (a_task_for_daelyn.lua) +--]] + +local WisdomInTheWind = 220 + +function Init(Quest) + AddQuestStep(Quest, 1, "I need to find page 3.", 1, 100, "I need to collect 5 missing pages from Daelyn's essay.", 0) + AddQuestStep(Quest, 2, "I need to find page 4.", 1, 100, "I need to collect 5 missing pages from Daelyn's essay.", 0) + AddQuestStep(Quest, 3, "I need to find page 7.", 1, 100, "I need to collect 5 missing pages from Daelyn's essay.", 0) + AddQuestStep(Quest, 4, "I need to find page 11.", 1, 100, "I need to collect 5 missing pages from Daelyn's essay.", 0) + AddQuestStep(Quest, 5, "I need to find page 12.", 1, 100, "I need to collect 5 missing pages from Daelyn's essay.", 0) + AddQuestStepCompleteAction(Quest, 1, "Step1_Complete_FoundPage3") + AddQuestStepCompleteAction(Quest, 2, "Step2_Complete_FoundPage4") + AddQuestStepCompleteAction(Quest, 3, "Step3_Complete_FoundPage7") + AddQuestStepCompleteAction(Quest, 4, "Step4_Complete_FoundPage11") + AddQuestStepCompleteAction(Quest, 5, "Step5_Complete_FoundPage12") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/daelyn_twinstar/qey_village05/quests/daelyn_twinstar/daelyn_twinstar025.mp3", "", "", 3754562839, 1931475436, Player) + AddConversationOption(conversation, "I'm sure I can find them.") + StartConversation(conversation, QuestGiver, Player, "Wonderful, I knew I could count on you. This will save me a lot of time. It looks like there are five pages missing, assuming they're not destroyed. They could be anywhere in the village by now.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Step1_Complete_FoundPage3(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I found page 3.") + + if QuestIsComplete(Player, WisdomInTheWind) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function Step2_Complete_FoundPage4(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I found page 4.") + + if QuestIsComplete(Player, WisdomInTheWind) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function Step3_Complete_FoundPage7(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I found page 7.") + + if QuestIsComplete(Player, WisdomInTheWind) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function Step4_Complete_FoundPage11(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I found page 11.") + + if QuestIsComplete(Player, WisdomInTheWind) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function Step5_Complete_FoundPage12(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I found page 12.") + + if QuestIsComplete(Player, WisdomInTheWind) then + FoundAllPages(Quest, QuestGiver, Player) + end +end + +function FoundAllPages(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the 5 missing pages from Daelyn's essay.") + + AddQuestStepChat(Quest, 6, "I must speak with Daelyn.", 1, "Now that I have collected the missing pages I need to return to Daelyn and speak to him about Milo and Lyssia.", 0, 2370037) + AddQuestStepCompleteAction(Quest, 6, "Quest_Complete") +end + +function Quest_Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have spoken with Daelyn.") + UpdateQuestTaskGroupDescription(Quest, 2, "I have spoken with Daelyn.") + UpdateQuestDescription(Quest, "I have found the missing pages of Daelyn Twinstar's essay and we have spoken of Milo and Lyssia.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1_Complete_FoundPage3(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2_Complete_FoundPage4(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3_Complete_FoundPage7(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4_Complete_FoundPage11(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5_Complete_FoundPage12(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Lua/Quests/Zek/reliving_the_past.lua b/Lua/Quests/Zek/reliving_the_past.lua new file mode 100755 index 000000000..3ab7e5826 --- /dev/null +++ b/Lua/Quests/Zek/reliving_the_past.lua @@ -0,0 +1,95 @@ +--[[ + Script Name : reliving_the_past.lua + Script Purpose : Handles the quest, "Reliving the Past" + Script Author : Jabantiz + Script Date : 6/19/2018 + Script Notes : + + Zone : Zek, the Orcish Wastes + Quest Giver : + Preceded by : None + Followed by : None +--]] + + +function Init(Quest) + AddQuestStepLocation(Quest, 1, "I need to check whether Tallon grunts are still in the hills just beyond the docks.", 10, "I will do the things Ismena Cellus requested.", 11, 496.05, -40.71, 208.04) + AddQuestStepCompleteAction(Quest, 1, "Step1Complete") +end + +function Accepted(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is accepted + FaceTarget(QuestGiver, Player) + local con = CreateConversation() + + AddConversationOption(con, "I'll be back.") + StartConversation(con, QuestGiver, Player, "You're very kind. I recall that after leaving the safety of the docks, we were set upon by Tallon orcs. While many orcs seem to favor working in groups, the Tallon grunts preferred one-on-one battles. Would you check whether they are still along the hills just outside the fort?") +end + +function Declined(Quest, QuestGiver, Player) + -- Add dialog here for when the quest is declined +end + +function Deleted(Quest, QuestGiver, Player) + -- Remove any quest specific items here when the quest is deleted +end + +function Step1Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I've seen the orc's encampment.") + + AddQuestStepChat(Quest, 2, "I need to return to Ismena Cellus on the Warship Dock in Zek.", 1, "I will do the things Ismena Cellus requested.", 11, 1900056) + AddQuestStepCompleteAction(Quest, 2, "Step2Complete") +end + +function Step2Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I've spoken with Ismena Cellus.") + + AddQuestStepKill(Quest, 3, "I will slay some Tallon grunts for Ismena's sake.", 10, 100, "I will do the things Ismena Cellus requested.", 611, 1900020) + AddQuestStepCompleteAction(Quest, 3, "Step3Complete") +end + +function Step3Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have slain some Tallon grunts.") + + AddQuestStepChat(Quest, 4, "I need to return to Ismena Cellus on the Warship Dock in Zek.", 1, "I will do the things Ismena Cellus requested.", 11, 1900056) + AddQuestStepCompleteAction(Quest, 4, "Step4Complete") +end + +function Step4Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I've spoken with Ismena Cellus.") + + AddQuestStep(Quest, 5, "I need to visit the Grove of Stones in Zek.", 1, 100, "I will do the things Ismena Cellus requested.", 11) + AddQuestStepCompleteAction(Quest, 5, "Step5Complete") +end + +function Step5Complete(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I've seen the Grove of Stones.") + + AddQuestStepChat(Quest, 6, "I need to return to Ismena Cellus on the Warship Dock in Zek.", 1, "I will do the things Ismena Cellus requested.", 11, 1900056) + AddQuestStepCompleteAction(Quest, 6, "QuestComplete") +end + +function QuestComplete(Quest, QuestGiver, Player) + -- The following UpdateQuestStepDescription and UpdateTaskGroupDescription are not needed, parser adds them for completion in case stuff needs to be moved around + UpdateQuestStepDescription(Quest, 6, "I've spoken with Ismena Cellus.") + UpdateQuestTaskGroupDescription(Quest, 1, "I've done what I could for Ismena Cellus.") + + UpdateQuestDescription(Quest, "I've done what Ismena requested. Hopefully, she'll now be able to get her memoirs written.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Step1Complete(Quest, QuestGiver, Player) + elseif Step == 2 then + Step2Complete(Quest, QuestGiver, Player) + elseif Step == 3 then + Step3Complete(Quest, QuestGiver, Player) + elseif Step == 4 then + Step4Complete(Quest, QuestGiver, Player) + elseif Step == 5 then + Step5Complete(Quest, QuestGiver, Player) + elseif Step == 6 then + QuestComplete(Quest, QuestGiver, Player) + end +end diff --git a/Lua/SpawnScripts/Antonica/AGriffonTamer.lua b/Lua/SpawnScripts/Antonica/AGriffonTamer.lua new file mode 100755 index 000000000..9b3e60d55 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/AGriffonTamer.lua @@ -0,0 +1,128 @@ +--[[ + Script Name : SpawnScripts/Antonica/AGriffonTamer.lua + Script Purpose : a griffon tamer (2490000) + Script Author : Neatz09 + Script Date : 2/5/19 + Script Notes : +--]] + +local GriffonEggs = 112 + +function spawn(NPC) + ProvidesQuest(NPC, GriffonEggs) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if CanReceiveQuest(Spawn, GriffonEggs) then + -- Start Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was wondering if there were any errands you needed help with.", "dlg_0_1") + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "I am fine staying here, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + elseif GetQuestStep(Spawn, GriffonEggs) == 2 then + -- Turn in the quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + SetStepComplete(Spawn, GriffonEggs, 2) + AddConversationOption(conversation, "I hope she grows up healthy and strong!") + StartConversation(conversation, NPC, Spawn, "Oh, my, that's a gorgeous egg! Let me just put it down right over here. Our thanks, it's going to be rough for the handlers to raise all these!") + else + -- Finished Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "They certainly have. These look very sturdy, but I don't see many griffins about.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "It's been a real treat watching this tower be built by all the artisans. They've done a marvelous job getting it ready for our flying friends.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So if you had some more griffons, the scheduling would be better?", "dlg_0_3") + AddConversationOption(conversation, "This sounds like a scheduling problem I don't want anything to do with.") + StartConversation(conversation, NPC, Spawn, "These towers were built very fast, and we were unable to get the griffin stock up to what it should be. This has made scheduling flights very difficult.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, sounds like a deal.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Oh, certainly. But they've got to be trained properly from birth, really. I'll tell you what, if you grab an unhatched griffin egg and return it to any of us tamers, you will be rewarded handsomely. How's that sound?") +end + +function dlg_0_4(NPC, Spawn) + OfferQuest(NPC, Spawn, GriffonEggs) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 182250 then + AddConversationOption(con, "To Steppes Station.", "QeynosToSteppes") + AddConversationOption(con, "To Oracle Station.", "QeynosToOracle") + elseif GetSpawnLocationID(NPC) == 182249 then + AddConversationOption(con, "To Qeynos Station.", "OracleToQeynos") + AddConversationOption(con, "To Steppes Station.", "OracleToSteppes") + elseif GetSpawnLocationID(NPC) == 182248 then + AddConversationOption(con, "To Qeynos Station.", "SteppesToQeynos") + AddConversationOption(con, "To Oracle Station.", "SteppesToOracle") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function QeynosToSteppes(NPC, Spawn) + StartAutoMount(Spawn, 84) + SetMount(Spawn, 225) +end + +function QeynosToOracle(NPC, Spawn) + StartAutoMount(Spawn, 85) + SetMount(Spawn, 225) +end + +function OracleToQeynos(NPC, Spawn) + StartAutoMount(Spawn, 88) + SetMount(Spawn, 225) +end + +function OracleToSteppes(NPC, Spawn) + StartAutoMount(Spawn, 89) + SetMount(Spawn, 225) +end + +function SteppesToQeynos(NPC, Spawn) + StartAutoMount(Spawn, 86) + SetMount(Spawn, 225) +end + +function SteppesToOracle(NPC, Spawn) + StartAutoMount(Spawn, 87) + SetMount(Spawn, 225) +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Fun, fun, fun! This big old tower, built for griffons, and yet... there just don't seem to be any around. Thinking about helping us out?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "You can scramble 'em, boil 'em, fry 'em... oh, wait... were we talking about griffon eggs or chicken eggs?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "I say... you haven't seen any griffon eggs around, have you? We sure could use some!", "", 1689589577, 4560189, Spawn) +--]] diff --git a/Lua/SpawnScripts/Antonica/AroofWolfchaser.lua b/Lua/SpawnScripts/Antonica/AroofWolfchaser.lua new file mode 100755 index 000000000..f4805e715 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/AroofWolfchaser.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : SpawnScripts/Antonica/AroofWolfchaser.lua + Script Purpose : Aroof Wolfchaser + Script Author : geordie0511 + Script Date : 2019.03.18 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Killing = 466 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "", "What? Where?", "confused", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Hic...", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Urrp, ello there, why are there two of you...", "squeal", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Hail to you too!", "wave", 1689589577, 4560189, Spawn) + else + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, Killing) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Have some soup.", "dlg_2_1") + AddConversationOption(conversation, "Eww...") + StartConversation(conversation, NPC, Spawn, "Hail!") + else + AddConversationOption(conversation, "Eww...") + StartConversation(conversation, NPC, Spawn, "Hail!") + end +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sober up.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Thanks!") + SetStepComplete(Spawn, Killing, 1) +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sober up.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "What?!") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay...", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "Yeah!") + SetStepComplete(Spawn, Achoo, 2) +end diff --git a/Lua/SpawnScripts/Antonica/BlartonBlumble.lua b/Lua/SpawnScripts/Antonica/BlartonBlumble.lua new file mode 100755 index 000000000..ef4cb17f2 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/BlartonBlumble.lua @@ -0,0 +1,166 @@ +--[[ + Script Name : SpawnScripts/Antonica/BlartonBlumble.lua + Script Purpose : Blarton Blumble + Script Author : geordie0511 + Script Date : 2019.01.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Lucky = 457 +local Care = 467 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "", "I'll just have a sip for now...", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "...", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Ugh... just breathing is painful.", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Hello again! Please hurry back when you're done.", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Thank you so much for all of your help! I can't wait to get back to fishing again.", "", 1689589577, 4560189, Spawn) + else + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1040.mp3", "", "", 0, 0, Spawn) + if GetQuestStep(Spawn, Care) == 1 then + AddConversationOption(conversation, "Oh, it's not from me.", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "Really? Why thank you, you shouldn't have.") + else + AddConversationOption(conversation, "Don't worry about it. It was my pleasure.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Great. Thank you kindly. You have been very helpful to me. Hopefully I can repay the favor sometime.") + end +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I'd be happy to help again.", "dlg_7_2") + AddConversationOption(conversation, "I think I've helped you enough already, Blarton.") + StartConversation(conversation, NPC, Spawn, "His name is Ol' One Eye. He's been living in these waters for some time and has eluded many a would-be fisherman. Can you go look for him and let me know if he's still out there? I just can't stop wonderin' where he is.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "See you soon!", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "Thanks again, friend. Please, don't try to catch or harm him. I've been waiting a long time to catch up with him and I want to catch him myself. Good luck with the search!") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Really?", "dlg_9_2") + AddConversationOption(conversation, "I'm sorry, but I have pressing business elsewhere.") + StartConversation(conversation, NPC, Spawn, "Ah, I can't believe I was such a darn fool. How'd I manage to hurt my leg and lose my best fishin' lure all in one day? There I was up on the coast, north of here, having a nice walk before settling down for a long day of fishin' when I slipped and hurt my poor leg.") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure, I'd be happy to help.", "dlg_9_3") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "It hurt somethin' fierce and I only barely managed to drag myself back here. The next morning I found I could stand on it okay, but not for too long. I thought I'd try to do some fishin' here at this nice pond since I'm stuck until I can heal enough to get back to my favorite fishin' holes. Just as I was getting set up, I realized I'd lost my favorite lure! I must have dropped it somewhere up on the beach north of here near where I fell. With my leg like this, I can't go and look for it myself. I don't suppose you might be able to help find it for me?") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_9_4") + StartConversation(conversation, NPC, Spawn, "Thank you very much! As I was saying, it should be somewhere near the beach to the north of here. Good luck!") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Shouldn't be a problem. I'll see how it goes.", "dlg_11_2") + AddConversationOption(conversation, "I'm not in the mood to deal with more gnolls right now.") + StartConversation(conversation, NPC, Spawn, "My cousin had a tin of bait for me, but he left it sitting at an abandoned camp to the south of here while he was out and about. Now I hear some gnolls have moved in. Do you think you can pick up the bait for me?") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back as soon as I can.", "dlg_12_3") + StartConversation(conversation, NPC, Spawn, "Thank you, and good luck.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Alright.", "dlg_21_2") + AddConversationOption(conversation, "Sorry, I can't.") + StartConversation(conversation, NPC, Spawn, "Oh, thank you so much. If I can't get out there and fish, at least I can find out what's going on. Here, let me see that journal you've got there and I'll write down all my favorite spots for you. Mind you, I'd take it as a favor if you don't go showin' this to anyone else. These spots are nice and quiet and I'd like to keep 'em that way.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay. I'll be back soon.", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "I couldn't bear to go through all this time healing only to finally get back out there and have a crowd of people fishin' in my spot.") +end + +------------ Care -------------------- + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, your good friend from the bar.", "dlg_27_3") + StartConversation(conversation, NPC, Spawn, "Oh? Who is it from?") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yeah, her. I delivered it for her. Drink up!", "dlg_28_1") + StartConversation(conversation, NPC, Spawn, "Matsy? She's my cousin, she's so nice!") +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Thank you so much!") + SetStepComplete(Spawn, Care, 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/CaptainBeltho.lua b/Lua/SpawnScripts/Antonica/CaptainBeltho.lua new file mode 100755 index 000000000..1af045be5 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/CaptainBeltho.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/Antonica/CaptainBeltho.lua + Script Purpose : Captain Beltho + Script Author : geordie0511 + Script Date : 2019.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Gnoll = 471 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_beltho/antonica/captainbeltho000.mp3", "", "", 3094633969, 1366545559, Spawn) + if GetQuestStep(Spawn, Gnoll) == 1 then + PlayFlavor(NPC, "voiceover/english/captain_beltho/antonica/captainbeltho001.mp3", "", "", 637123636, 1668683266, Spawn) + AddConversationOption(conversation, "I don't want to go back to Eitoa empty-handed. ", "dlg_9_2") + AddConversationOption(conversation, "Fine. I'll do whatever it takes.", "dlg_9_2") + StartConversation(conversation, NPC, Spawn, "I have no report, because there's nothing to report. We've had no luck finding the hidden entrance to the gnolls' lair. I need more time and more men to track them down.") + SetStepComplete(Spawn, Gnoll, 1) + elseif GetQuestStep(Spawn, Gnoll) == 3 then + AddConversationOption(conversation, "It seems the gnolls do indeed have a lair where you mentioned.", "dlg_0_1") + AddConversationOption(conversation, "I'm not on official business.") + StartConversation(conversation, NPC, Spawn, "On your way -- unless you're here on official business. I've got enough work here for ten men, and only two at my disposal!") + SetStepComplete(Spawn, Gnoll, 3) + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_beltho/antonica/captainbeltho003.mp3", "", "", 4118902248, 2953766683, Spawn) + AddConversationOption(conversation, "Thank you for the report. I will return it to Eitoa at once.") + StartConversation(conversation, NPC, Spawn, "Well done indeed! I'll finish the report, along with your description of the area, and you may take it to Captain Eitoa. ") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_beltho/antonica/captainbeltho002.mp3", "", "", 1781496850, 130411923, Spawn) + AddConversationOption(conversation, "I'll have the place searched out as quickly as possible.") + StartConversation(conversation, NPC, Spawn, "I appreciate your help. I'd like you to search the most southern lands. One of our scouts mentioned seeing gnolls in the area, and another scout mentioned a number of bridges connecting the islands. It's probably another dead end, but if you do find the gnoll lair, return to me and I'll finish the report.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/CaptainEitoa.lua b/Lua/SpawnScripts/Antonica/CaptainEitoa.lua new file mode 100755 index 000000000..61aafa5a3 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/CaptainEitoa.lua @@ -0,0 +1,113 @@ +--[[ + Script Name : SpawnScripts/Antonica/CaptainEitoa.lua + Script Purpose : Captain Eitoa + Script Author : geordie0511 + Script Date : 2019.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Keep = 470 +local Gnoll = 471 +local Captain = 472 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, Keep) + ProvidesQuest(NPC, Gnoll) + ProvidesQuest(NPC, Captain) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa000.mp3", "", "", 1089362944, 4215517300, Spawn) + if GetQuestStep(Spawn, Keep) == 2 then + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa003.mp3", "", "", 1980389994, 2821940048, Spawn) + AddConversationOption(conversation, "I was happy to be of assistance.") + StartConversation(conversation, NPC, Spawn, "Good. I worry about our outposts, especially the ones that... well, let's just say I'm relieved. At any rate, here's a bit of coin from the city's coffers. Qeynos thanks you for your service.") + SetStepComplete(Spawn, Keep, 2) + elseif GetQuestStep(Spawn, Gnoll) == 4 then + AddConversationOption(conversation, "Beltho's report, as you requested.", "dlg_18_1") + AddConversationOption(conversation, "Ok, thanks anyway.") + StartConversation(conversation, NPC, Spawn, "I wouldn't mind chatting with you in Irontoe's East, but here I've got work to do.") + elseif GetQuestStep(Spawn, Captain) == 2 then + SetStepComplete(Spawn, Captain, 2) + elseif HasCompletedQuest(Spawn, Keep) == false and HasQuest(Spawn, Keep) == false then + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa001.mp3", "", "", 1114858162, 289977028, Spawn) + AddConversationOption(conversation, "It is the least I can do for Qeynos.", "dlg_2_2") + AddConversationOption(conversation, "That sounds a bit too far for me.") + StartConversation(conversation, NPC, Spawn, "There is something you can do. I've posted a guard at the Keep of the Ardent Needle, and he hasn't been reporting to me as often as I'd like. Would you go inspect the keep and make sure everything is in order?") + elseif HasCompletedQuest(Spawn, Gnoll) == false and HasQuest(Spawn, Gnoll) == false and HasCompletedQuest(Spawn, Keep) then + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa004.mp3", "", "", 14052338, 3802502153, Spawn) + AddConversationOption(conversation, "I suppose I can do that.", "dlg_4_2") + AddConversationOption(conversation, "Let someone else deal with it, I'm not interested.") + StartConversation(conversation, NPC, Spawn, "I do. I need someone to check with Captain Beltho at Gnollslayer Keep and return with his report about the gnolls. I hope he's made progress since the last one.") + elseif HasCompletedQuest(Spawn, Captain) == false and HasQuest(Spawn, Captain) == false and HasCompletedQuest(Spawn, Gnoll) then + OfferQuest(NPC, Spawn, Captain) + end +end + +function Quest1(NPC, Spawn) + OfferQuest(NPC, Spawn, Keep) +end + +function Quest2(NPC, Spawn) + OfferQuest(NPC, Spawn, Gnoll) +end + +--------------- Keep + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa002.mp3", "", "", 2766073172, 817198256, Spawn) + AddConversationOption(conversation, "I'll return after I've performed the inspection.", "Quest1") + StartConversation(conversation, NPC, Spawn, "Go then. You'll find the Keep on the north side of the ridge, just this side of the Tower of the Oracles. It's one of the few keeps in pristine condition.") +end + +--------------- Quest2 + + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa005.mp3", "", "", 1672181328, 1405369900, Spawn) + AddConversationOption(conversation, "I'll return when I'm finished.", "Quest2") + StartConversation(conversation, NPC, Spawn, "It's a fair distance, but not hard to find. Take the south path around the mountain range that splits Antonica. Once you cross the bridge at the far side of the valley, follow the river a hundred cogs or so, then turn east until you see a small keep with a moat. Captain Beltho should be there. If he's not, I'll want to know why he's not at his post.") +end + +---- Gnoll + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa006.mp3", "", "", 3813922311, 2543607309, Spawn) + AddConversationOption(conversation, "I suppose I was lucky to some extent. ", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "Give me a moment to read over this... Finally, some real progress! Beltho mentions your involvement with finding the hidden entrance to the gnoll lair. Well done!") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_eitoa/antonica/captaineitoa007.mp3", "", "", 193114966, 1655403283, Spawn) + AddConversationOption(conversation, "Thank you very much. Once again, I am happy to have been of service.") + StartConversation(conversation, NPC, Spawn, "Don't underplay your skills. Without your help, Beltho would still be searching for the hidden entrance to the lair. Take this signet ring as a mark of my gratitude and trust.") + SetStepComplete(Spawn, Gnoll, 4) +end + +--------------------- diff --git a/Lua/SpawnScripts/Antonica/CorporalBatton.lua b/Lua/SpawnScripts/Antonica/CorporalBatton.lua new file mode 100755 index 000000000..87064dadb --- /dev/null +++ b/Lua/SpawnScripts/Antonica/CorporalBatton.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : CorporalBatton.lua + Script Purpose : Corporal Batton + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("I am afraid I must ask you to move along, citizen. This is a place of duty, not chatter.") + Dialog.AddVoiceover("voiceover/english/corporal_batton/mudlib/vdl/quests/antonica/corporalbatton000.mp3", 3155813947, 2657899917) + Dialog.AddOption("Excuse my interruption, guard.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "voiceover/english/corporal_batton/antonica/corporalbatton001.mp3", "", "", 77618874, 840266759, Spawn) + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/CorporalPeckett.lua b/Lua/SpawnScripts/Antonica/CorporalPeckett.lua new file mode 100755 index 000000000..acf8995d1 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/CorporalPeckett.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : CorporalPeckett.lua + Script Purpose : Corporal Peckett + Script Author : Jabantiz + Script Date : 08/27/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Hail, adventurer. I must warn you that Coldwind Point is not the safest place. Most of the garrison is on the march and the gnolls have been sighted nearby. I cannot guarantee your safety.") + Dialog.AddVoiceover("voiceover/english/corporal_peckett/antonica/corporalpeckett000.mp3", 1322495237, 1823181494) + Dialog.AddOption("I shall be fine. Thank you for the warning.") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/CruNaseto.lua b/Lua/SpawnScripts/Antonica/CruNaseto.lua new file mode 100755 index 000000000..3be7a7236 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/CruNaseto.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : CruNaseto-Say.lua + Script Purpose : Cru Naseto + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner, Say()'s ONLY +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + + + Say(NPC, "Come back later. You look like a good runner.", Spawn) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/CurysKasin.lua b/Lua/SpawnScripts/Antonica/CurysKasin.lua new file mode 100755 index 000000000..9dcc928a3 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/CurysKasin.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : CurysKasin-Say.lua + Script Purpose : Curys Kasin + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner, Say()'s ONLY +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + + + Say(NPC, "All praise Rodcet Nife and his greatness!", Spawn) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/Dancer.lua b/Lua/SpawnScripts/Antonica/Dancer.lua new file mode 100755 index 000000000..d19698d5f --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Dancer.lua @@ -0,0 +1,612 @@ +--[[ + Script Name : SpawnScripts/Antonica/Dancer.lua + Script Purpose : Dancer + Script Author : John Adams + Script Date : 2016.09.03 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I tried my best, but their numbers are strong.", "dlg_0_1") + AddConversationOption(conversation, "You so quickly forget the world's greatest adventurer.") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + if convo==1 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I tried my best, but their numbers are strong.", "dlg_1_1") + AddConversationOption(conversation, "You so quickly forget the world's greatest adventurer.") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==2 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I tried my best, but their numbers are strong.", "dlg_2_1") + AddConversationOption(conversation, "You so quickly forget the world's greatest adventurer.") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==3 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==4 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "Sighard gave me this special arrow.", "dlg_4_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==5 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "The arrow is in the training dummy.", "dlg_5_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==6 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_6_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "The arrow is in the training dummy.", "dlg_7_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I tried my best, but their numbers are strong.", "dlg_8_1") + AddConversationOption(conversation, "You so quickly forget the world's greatest adventurer.") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==13 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I tried my best, but their numbers are strong.", "dlg_13_1") + AddConversationOption(conversation, "You so quickly forget the world's greatest adventurer.") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==19 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_19_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==20 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_20_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==21 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_21_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==22 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==30 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "Sighard gave me this special arrow.", "dlg_30_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==31 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "Sighard gave me this special arrow.", "dlg_31_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==32 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_32_1") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==33 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_33_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==35 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "Sighard gave me this special arrow.", "dlg_35_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==36 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_36_1") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==37 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_37_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==39 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "Sighard gave me this special arrow.", "dlg_39_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==42 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "The arrow is in the training dummy.", "dlg_42_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==59 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_59_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==60 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_60_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==61 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_61_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==62 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I am a bit of an adventurer and a bit of an explorer.", "dlg_62_1") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==63 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_63_1") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + + if convo==66 then + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona000.mp3", "", "", 2049178803, 173582214, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_66_1") + StartConversation(conversation, NPC, Spawn, "You must be an adventurer who's new to these parts. Who else would brave the wilds so far from the watchful eye of the Qeynos Guard?") + end + +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona008.mp3", "", "", 3282299207, 1917374337, Spawn) + AddConversationOption(conversation, "They will know me when I rid the woods of them!") + StartConversation(conversation, NPC, Spawn, "Forget the world's greatest? I think not, but your name may have slipped my mind. Ha! Fear not, my brave courier. The gnolls of Archer Woods are the only ones near here that have yet to know your name.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona010.mp3", "", "", 3182250399, 3459878429, Spawn) + AddConversationOption(conversation, "Thank you, Dancer.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Your best is all that we ask. I shall reward you for servicing what remains of Archer Woods. I shall mention your name among my friends.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona011.mp3", "", "", 2906971481, 4178549824, Spawn) + AddConversationOption(conversation, "Is your name really Dancer?", "dlg_2_3") + AddConversationOption(conversation, "Thank you, Dancer.") + StartConversation(conversation, NPC, Spawn, "By the way, courier, Sighard asked me about you. He wishes to speak with you.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona003.mp3", "", "", 1306460538, 3525298419, Spawn) + AddConversationOption(conversation, "What is this arrow?", "dlg_3_2") + AddConversationOption(conversation, "I shall do as requested.") + StartConversation(conversation, NPC, Spawn, "Now, can you take that arrow and apply it to a training dummy in Archer Woods? Search for the dummy with the symbol of a golden tree and green arrow.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona004.mp3", "", "", 2295000938, 2111794040, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "The arrow is a special marker for some friends of mine.") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona003.mp3", "", "", 1306460538, 3525298419, Spawn) + AddConversationOption(conversation, "What is this arrow?", "dlg_4_2") + AddConversationOption(conversation, "I shall do as requested.") + StartConversation(conversation, NPC, Spawn, "Now, can you take that arrow and apply it to a training dummy in Archer Woods? Search for the dummy with the symbol of a golden tree and green arrow.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona004.mp3", "", "", 2295000938, 2111794040, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "The arrow is a special marker for some friends of mine.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona005.mp3", "", "", 3454016717, 1472655172, Spawn) + AddConversationOption(conversation, "I did not see any Trusaris.", "dlg_5_2") + AddConversationOption(conversation, "Farewell.") + StartConversation(conversation, NPC, Spawn, "Thank you, courier. I trust you have done as I requested. If not, Trusaris will tell me. He sees all in Archer Woods, including your every step.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona006.mp3", "", "", 4166511705, 1130362343, Spawn) + AddConversationOption(conversation, "I will help clear his home.", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Trusaris is the great oak of Archer Woods. He has lived in these hills for many ages. He has seen much grief in his lifetime. Now gnolls are taking over what is left of his home.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona009.mp3", "", "", 2472618059, 207846586, Spawn) + AddConversationOption(conversation, "I shall do my best.", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "You think you can clear all of Archer Woods? I doubt that, but I would be glad to see you try, as would Trusaris.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_6_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona002.mp3", "", "", 4018838958, 826695955, Spawn) + AddConversationOption(conversation, "I will find Sighard and see that he gets the note.", "dlg_6_3") + StartConversation(conversation, NPC, Spawn, "I prefer the term frontierslady, but who am I to argue with a legendary adventurer. Please take this note to Sighard Sayer, proprietor of Sayer's Outfitters, the frontier trading post just to the north of here.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona005.mp3", "", "", 3454016717, 1472655172, Spawn) + AddConversationOption(conversation, "I did not see any Trusaris.", "dlg_7_2") + AddConversationOption(conversation, "Farewell.") + StartConversation(conversation, NPC, Spawn, "Thank you, courier. I trust you have done as I requested. If not, Trusaris will tell me. He sees all in Archer Woods, including your every step.") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona006.mp3", "", "", 4166511705, 1130362343, Spawn) + AddConversationOption(conversation, "I will help clear his home.", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Trusaris is the great oak of Archer Woods. He has lived in these hills for many ages. He has seen much grief in his lifetime. Now gnolls are taking over what is left of his home.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona009.mp3", "", "", 2472618059, 207846586, Spawn) + AddConversationOption(conversation, "I shall do my best.", "dlg_7_4") + StartConversation(conversation, NPC, Spawn, "You think you can clear all of Archer Woods? I doubt that, but I would be glad to see you try, as would Trusaris.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona010.mp3", "", "", 3182250399, 3459878429, Spawn) + AddConversationOption(conversation, "Thank you, Dancer.", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "Your best is all that we ask. I shall reward you for servicing what remains of Archer Woods. I shall mention your name among my friends.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona011.mp3", "", "", 2906971481, 4178549824, Spawn) + AddConversationOption(conversation, "Is your name really Dancer?", "dlg_8_3") + AddConversationOption(conversation, "Thank you, Dancer.") + StartConversation(conversation, NPC, Spawn, "By the way, courier, Sighard asked me about you. He wishes to speak with you.") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona007.mp3", "", "", 1777708143, 1227602978, Spawn) + AddConversationOption(conversation, "Farewell, Dancer.", "dlg_8_4") + StartConversation(conversation, NPC, Spawn, "There was a dark time in my life when dancing was not a thing of joy, but a subjugated torment. It is a time I choose not to recall. But Dancer is my name among my new circle of friends, friends you may some day meet.") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona010.mp3", "", "", 3182250399, 3459878429, Spawn) + AddConversationOption(conversation, "Thank you, Dancer.", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "Your best is all that we ask. I shall reward you for servicing what remains of Archer Woods. I shall mention your name among my friends.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona011.mp3", "", "", 2906971481, 4178549824, Spawn) + AddConversationOption(conversation, "Is your name really Dancer?", "dlg_13_3") + AddConversationOption(conversation, "Thank you, Dancer.") + StartConversation(conversation, NPC, Spawn, "By the way, courier, Sighard asked me about you. He wishes to speak with you.") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona007.mp3", "", "", 1777708143, 1227602978, Spawn) + AddConversationOption(conversation, "Farewell, Dancer.", "dlg_13_4") + StartConversation(conversation, NPC, Spawn, "There was a dark time in my life when dancing was not a thing of joy, but a subjugated torment. It is a time I choose not to recall. But Dancer is my name among my new circle of friends, friends you may some day meet.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_20_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_21_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona002.mp3", "", "", 4018838958, 826695955, Spawn) + AddConversationOption(conversation, "I will find Sighard and see that he gets the note.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "I prefer the term frontierslady, but who am I to argue with a legendary adventurer. Please take this note to Sighard Sayer, proprietor of Sayer's Outfitters, the frontier trading post just to the north of here.") +end + +function dlg_31_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona003.mp3", "", "", 1306460538, 3525298419, Spawn) + AddConversationOption(conversation, "What is this arrow?", "dlg_31_2") + AddConversationOption(conversation, "I shall do as requested.") + StartConversation(conversation, NPC, Spawn, "Now, can you take that arrow and apply it to a training dummy in Archer Woods? Search for the dummy with the symbol of a golden tree and green arrow.") +end + +function dlg_33_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_33_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_33_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona002.mp3", "", "", 4018838958, 826695955, Spawn) + AddConversationOption(conversation, "I will find Sighard and see that he gets the note.", "dlg_33_3") + StartConversation(conversation, NPC, Spawn, "I prefer the term frontierslady, but who am I to argue with a legendary adventurer. Please take this note to Sighard Sayer, proprietor of Sayer's Outfitters, the frontier trading post just to the north of here.") +end + +function dlg_35_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona003.mp3", "", "", 1306460538, 3525298419, Spawn) + AddConversationOption(conversation, "What is this arrow?", "dlg_35_2") + AddConversationOption(conversation, "I shall do as requested.") + StartConversation(conversation, NPC, Spawn, "Now, can you take that arrow and apply it to a training dummy in Archer Woods? Search for the dummy with the symbol of a golden tree and green arrow.") +end + +function dlg_35_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona004.mp3", "", "", 2295000938, 2111794040, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_35_3") + StartConversation(conversation, NPC, Spawn, "The arrow is a special marker for some friends of mine.") +end + +function dlg_37_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_37_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_37_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona002.mp3", "", "", 4018838958, 826695955, Spawn) + AddConversationOption(conversation, "I will find Sighard and see that he gets the note.", "dlg_37_3") + StartConversation(conversation, NPC, Spawn, "I prefer the term frontierslady, but who am I to argue with a legendary adventurer. Please take this note to Sighard Sayer, proprietor of Sayer's Outfitters, the frontier trading post just to the north of here.") +end + +function dlg_39_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona003.mp3", "", "", 1306460538, 3525298419, Spawn) + AddConversationOption(conversation, "What is this arrow?", "dlg_39_2") + AddConversationOption(conversation, "I shall do as requested.") + StartConversation(conversation, NPC, Spawn, "Now, can you take that arrow and apply it to a training dummy in Archer Woods? Search for the dummy with the symbol of a golden tree and green arrow.") +end + +function dlg_39_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona004.mp3", "", "", 2295000938, 2111794040, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_39_3") + StartConversation(conversation, NPC, Spawn, "The arrow is a special marker for some friends of mine.") +end + +function dlg_42_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona005.mp3", "", "", 3454016717, 1472655172, Spawn) + AddConversationOption(conversation, "I did not see any Trusaris.", "dlg_42_2") + AddConversationOption(conversation, "Farewell.") + StartConversation(conversation, NPC, Spawn, "Thank you, courier. I trust you have done as I requested. If not, Trusaris will tell me. He sees all in Archer Woods, including your every step.") +end + +function dlg_42_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona006.mp3", "", "", 4166511705, 1130362343, Spawn) + AddConversationOption(conversation, "I will help clear his home.", "dlg_42_3") + StartConversation(conversation, NPC, Spawn, "Trusaris is the great oak of Archer Woods. He has lived in these hills for many ages. He has seen much grief in his lifetime. Now gnolls are taking over what is left of his home.") +end + +function dlg_42_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona009.mp3", "", "", 2472618059, 207846586, Spawn) + AddConversationOption(conversation, "I shall do my best.", "dlg_42_4") + StartConversation(conversation, NPC, Spawn, "You think you can clear all of Archer Woods? I doubt that, but I would be glad to see you try, as would Trusaris.") +end + +function dlg_60_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_60_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_61_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_61_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_62_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona001.mp3", "", "", 3474200771, 3431607508, Spawn) + AddConversationOption(conversation, "I am always available to assist a frontiersman.", "dlg_62_2") + AddConversationOption(conversation, "I cannot assist. Farewell.") + StartConversation(conversation, NPC, Spawn, "Adventurer ... explorer ... how would you like to be a courier too?") +end + +function dlg_62_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/verona/antonica/verona002.mp3", "", "", 4018838958, 826695955, Spawn) + AddConversationOption(conversation, "I will find Sighard and see that he gets the note.", "dlg_62_3") + StartConversation(conversation, NPC, Spawn, "I prefer the term frontierslady, but who am I to argue with a legendary adventurer. Please take this note to Sighard Sayer, proprietor of Sayer's Outfitters, the frontier trading post just to the north of here.") +end + diff --git a/Lua/SpawnScripts/Antonica/DarmenSproutmore.lua b/Lua/SpawnScripts/Antonica/DarmenSproutmore.lua new file mode 100755 index 000000000..4d10bfbbb --- /dev/null +++ b/Lua/SpawnScripts/Antonica/DarmenSproutmore.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : DarmenSproutmore.lua + Script Purpose : Darmen Sproutmore + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Hail to you, adventurer! Mind your feet, and don't step on my dear little flowers! Just coming into bloom, they are.") + Dialog.AddVoiceover("voiceover/english/darmen_sproutmore/antonica/darmensproutmore000.mp3", 2138797897, 3113209185) + Dialog.AddOption("I must be off. Good day to you. ") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "voiceover/english/darmen_sproutmore/antonica/darmensproutmore001.mp3", "", "", 3489573816, 2242982097, Spawn) + PlayFlavor(NPC, "voiceover/english/darmen_sproutmore/antonica/darmensproutmore002.mp3", "", "", 2498400696, 3478793084, Spawn) + PlayFlavor(NPC, "voiceover/english/darmen_sproutmore/antonica/darmensproutmore003.mp3", "", "", 1491369381, 2303497363, Spawn) + PlayFlavor(NPC, "voiceover/english/darmen_sproutmore/antonica/darmensproutmore004.mp3", "", "", 3378309886, 1783566743, Spawn) + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/Duffy.lua b/Lua/SpawnScripts/Antonica/Duffy.lua new file mode 100755 index 000000000..437ac99b8 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Duffy.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : Duffy.lua + Script Purpose : Duffy + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Take a look around. Never have you seen such finely crafted or wondrous artifacts for sale ... for such little coin!") + Dialog.AddVoiceover("voiceover/english/merchant_duffy/antonica/merchantduffy000.mp3", 2930671172, 614117388) + Dialog.AddOption("I'll just look about. ") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "voiceover/english/merchant_duffy/antonica/merchantduffy001.mp3", "", "", 3538554208, 285621501, Spawn) + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/FarmerHelver.lua b/Lua/SpawnScripts/Antonica/FarmerHelver.lua new file mode 100755 index 000000000..38b2fb52a --- /dev/null +++ b/Lua/SpawnScripts/Antonica/FarmerHelver.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : FarmerHelver-Say.lua + Script Purpose : Farmer Helver + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner, Say()'s ONLY +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + + + Say(NPC, "These farms provide a lot of necessary food to Qeynos. It's a lot of work, but it is rewarding.", Spawn) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/FarmerWalcott.lua b/Lua/SpawnScripts/Antonica/FarmerWalcott.lua new file mode 100755 index 000000000..08e630834 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/FarmerWalcott.lua @@ -0,0 +1,201 @@ +--[[ + Script Name : SpawnScripts/Antonica/FarmerWalcott.lua + Script Purpose : Farmer Walcott + Script Author : geordie0511 + Script Date : 2019.03.12 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ThereMite = 458 + +function spawn(NPC) + ProvidesQuest(NPC, ThereMite) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, ThereMite) == 2 then + SetStepComplete(Spawn, ThereMite, 2) + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott003.mp3", "", "", 2680820592, 3831371965, Spawn) + AddConversationOption(conversation, "Not a problem. Anything for an Antonican.") + StartConversation(conversation, NPC, Spawn, "Yes! You did a great job, adventurer! The crops live another day. Please take this for your kind deeds. ") + else + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott000.mp3", "", "", 1905672247, 2052203858, Spawn) + if HasQuest(Spawn, ThereMite) == false and HasCompletedQuest(Spawn, ThereMite) == false then + AddConversationOption(conversation, "Sounds like you need a beetle charmer. ", "dlg_1_1") + end + AddConversationOption(conversation, "I found this map on a gnoll. ") + AddConversationOption(conversation, "I am sorry I cannot help you. Farewell.") + StartConversation(conversation, NPC, Spawn, "Oh! My poor crops! What will I do with all these ravenous beetles scurrying about?") + end +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott001.mp3", "", "", 2875116766, 2106137000, Spawn) + AddConversationOption(conversation, "Then today is your lucky day. Here I am! ", "dlg_1_2") + AddConversationOption(conversation, "If I see any I will send them your way. Farewell.") + StartConversation(conversation, NPC, Spawn, "A beetle charmer would be grand -- if there were such a thing. I would be satisfied just hiring an adventurer to stomp a bunch of the beetles. Oh my poor barley!") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott002.mp3", "", "", 1854564329, 3891746852, Spawn) + AddConversationOption(conversation, "I will end your mite problems.", "Quest1") + StartConversation(conversation, NPC, Spawn, "Thank the lost gods! I know you can't exterminate all these pests, but please do your best. I'll reward you with what I can. Don't worry, little barley ... help is on the way.") +end + +function Quest1(NPC, Spawn) + OfferQuest(NPC, Spawn, ThereMite) +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott004.mp3", "", "", 1213446973, 2066498477, Spawn) + AddConversationOption(conversation, "It's all in a day's work for us adventurers. ") + AddConversationOption(conversation, "I don't have time to chat with you.") + StartConversation(conversation, NPC, Spawn, "I saw a moat rat chewing that slip this morning. I thought I would never get it back! You must be an amazing hero to face moat rats with such ease!") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott005.mp3", "", "", 3107851027, 3585937746, Spawn) + AddConversationOption(conversation, "I will hack a couple down for you.", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "I can use a person with your strength and bravado. See those evil looking scarecrows in my fields? I sure would appreciate it if you would get rid of 'em for me.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott006.mp3", "", "", 3891109775, 3345154753, Spawn) + AddConversationOption(conversation, "Farewell, farmer. ") + StartConversation(conversation, NPC, Spawn, "Thank you for your help, adventurer. There was no way a simple farmer could face such creatures and live. Now maybe I can get some work done around here. ") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott007.mp3", "", "", 2816178732, 3621841778, Spawn) + AddConversationOption(conversation, "The gnoll was creating scarecrows, evil ones! ") + AddConversationOption(conversation, "I don't want to get involved. Farewell. ", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Just a minute here ... this looks like a child's sketch of me fields! Just what was this gnoll doing? ") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott008.mp3", "", "", 1206894627, 4263746663, Spawn) + AddConversationOption(conversation, "I'll help you any way I can. ", "dlg_10_3") + AddConversationOption(conversation, "You must fight it without me. Farewell.") + StartConversation(conversation, NPC, Spawn, "Aha! Recently, my scarecrows came to life with fierce rage! I had no idea how this happened. I think I know how I can fight it. ") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott009.mp3", "", "", 970639118, 3821730719, Spawn) + AddConversationOption(conversation, "I will collect the items.", "dlg_10_4") + StartConversation(conversation, NPC, Spawn, "You can handle the wilderness better than a simple farmer. I'll need a few components. Collect them for me so I can begin my plan. ") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott010.mp3", "", "", 3414706112, 3583405611, Spawn) + AddConversationOption(conversation, "I am glad I could help. ") + StartConversation(conversation, NPC, Spawn, "Fantastic! Now I can bring to life a good scarecrow, one who I can place in the fields and who will destroy the evil ones! ") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott007.mp3", "", "", 2816178732, 3621841778, Spawn) + AddConversationOption(conversation, "The gnoll was creating scarecrows, evil ones! ") + AddConversationOption(conversation, "I don't want to get involved. Farewell. ", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "Just a minute here ... this looks like a child's sketch of me fields! Just what was this gnoll doing? ") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott007.mp3", "", "", 2816178732, 3621841778, Spawn) + AddConversationOption(conversation, "The gnoll was creating scarecrows, evil ones! ") + AddConversationOption(conversation, "I don't want to get involved. Farewell. ", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "Just a minute here ... this looks like a child's sketch of me fields! Just what was this gnoll doing? ") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott008.mp3", "", "", 1206894627, 4263746663, Spawn) + AddConversationOption(conversation, "I'll help you any way I can. ", "dlg_19_3") + AddConversationOption(conversation, "You must fight it without me. Farewell.") + StartConversation(conversation, NPC, Spawn, "Aha! Recently, my scarecrows came to life with fierce rage! I had no idea how this happened. I think I know how I can fight it. ") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott007.mp3", "", "", 2816178732, 3621841778, Spawn) + AddConversationOption(conversation, "The gnoll was creating scarecrows, evil ones! ") + AddConversationOption(conversation, "I don't want to get involved. Farewell. ", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "Just a minute here ... this looks like a child's sketch of me fields! Just what was this gnoll doing? ") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott008.mp3", "", "", 1206894627, 4263746663, Spawn) + AddConversationOption(conversation, "I'll help you any way I can. ", "dlg_20_3") + AddConversationOption(conversation, "You must fight it without me. Farewell.") + StartConversation(conversation, NPC, Spawn, "Aha! Recently, my scarecrows came to life with fierce rage! I had no idea how this happened. I think I know how I can fight it. ") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott009.mp3", "", "", 970639118, 3821730719, Spawn) + AddConversationOption(conversation, "I will collect the items.", "dlg_20_4") + StartConversation(conversation, NPC, Spawn, "You can handle the wilderness better than a simple farmer. I'll need a few components. Collect them for me so I can begin my plan. ") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/farmer_walcott/antonica/farmerwalcott010.mp3", "", "", 3414706112, 3583405611, Spawn) + AddConversationOption(conversation, "I am glad I could help. ") + StartConversation(conversation, NPC, Spawn, "Fantastic! Now I can bring to life a good scarecrow, one who I can place in the fields and who will destroy the evil ones! ") +end + diff --git a/Lua/SpawnScripts/Antonica/Flores.lua b/Lua/SpawnScripts/Antonica/Flores.lua new file mode 100755 index 000000000..81f081c0c --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Flores.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Flores.lua + Script Purpose : Flores + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Step right up! My wares stand up to any found in the city! Made by the finest Qeynosian crafters, they are!") + Dialog.AddVoiceover("voiceover/english/merchant_flores/antonica/merchantflores000.mp3", 149465216, 3128258097) + Dialog.AddOption("I don't need anything right now, thanks.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "voiceover/english/merchant_flores/antonica/merchantflores001.mp3", "", "", 4230827236, 573418930, Spawn) + PlayFlavor(NPC, "voiceover/english/merchant_flores/antonica/merchantflores004.mp3", "", "", 2648431364, 4291369549, Spawn) + PlayFlavor(NPC, "voiceover/english/merchant_flores/antonica/merchantflores002.mp3", "", "", 2413854703, 2789428713, Spawn) + PlayFlavor(NPC, "voiceover/english/merchant_flores/antonica/merchantflores003.mp3", "", "", 741997082, 1076579882, Spawn) + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/GhilVentur.lua b/Lua/SpawnScripts/Antonica/GhilVentur.lua new file mode 100755 index 000000000..50710d680 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/GhilVentur.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : GhilVentur.lua + Script Purpose : Ghil Ventur + Script Author : Jabantiz + Script Date : 08/27/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("How can I help you?") + Dialog.AddOption("It's nothing. Sorry to bother you.", "dlg_1") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/GolMTun.lua b/Lua/SpawnScripts/Antonica/GolMTun.lua new file mode 100755 index 000000000..90dc363a5 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/GolMTun.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : GolMtun.lua + Script Purpose : Gol M'Tun + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Stand away, fool! Long live the Queen!") + Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_2_1008.mp3", 0, 0) + Dialog.AddOption("Ok.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1008.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1008.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/HaddekVimki.lua b/Lua/SpawnScripts/Antonica/HaddekVimki.lua new file mode 100755 index 000000000..80f784ce3 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/HaddekVimki.lua @@ -0,0 +1,101 @@ +--[[ + Script Name : HaddekVimki.lua + Script Purpose : Haddek Vimki + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("So, then I said, \"That's what the Gnome is for!\" Wraahaahaa! Huh? What? If you're goin' to come over here and badger me, why don't you make yourself useful?") + Dialog.AddOption("Sure, what do you need from me?", "dlg_2") + Dialog.AddOption("Why don't you make yourself useful?!") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "", "Hruh? What? I thought I told you what I wanted from you. If you're not going to take care of it I'm going to have old Aroof here take care of... Well... it don't look like he is going to be taking care of much... but when I tell him tomorrow, he will be awful angry!", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1060.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1060.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + + --]] + +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Ahhh, Aroof... He's a good chap, but he's about as smart as a trog. Me an' the big guy here are in the middle of something. What do you want? ") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("I'm looking for some work.", "dlg_3") + Dialog.AddOption("I think I'll be going now.") + + Dialog.Start() +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Ya see, twinkletoes over here has had quite a bit to drink. The big oaf isn't as coordinated as the barkeep would like him to be. Seems last time I sent him up to get us another round, he tripped over a ratonga sitting by the bar.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("And?", "dlg_4") + Dialog.AddOption("Okay, I have had enough. Bye.") + + Dialog.Start() +end + +function dlg_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("... And, it turns out the ratonga had what you might call... financial responsibilities to take care of for the proprietor. Looks like the little fur ball won't be back for quite some time! Hraahaha! The barkeep will throw us both out if the big guy over here comes stumbling upstairs one more time. Besides, I don't think he's feeling up to going anywhere right now.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("Okay. So?", "dlg_5") + Dialog.AddOption("Umm, never mind.") + + Dialog.Start() +end + +function dlg_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("You're an impatient one, aren't you? You need to slow down a bit! Sit back, grab an ale, and enjoy the sights. Get up you drunken fool! You know, when I was a young pup like yourself I used to be all over Norrath fighting Drakota... with my bare hands.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("Okay, get on with it.", "dlg_6") + Dialog.AddOption("Uphill? I think I've heard this one.") + + Dialog.Start() +end + +function dlg_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("And look where it got me. Sitting here with a drunken fool who can't keep both feet on the ground, and talking to a whelp like you. Where was I? Aye, I want a drink! Why don't you grab the big guy and I an ale.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("Sure, I will be right back") + Dialog.AddOption("No, it looks like you two have had enough.") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/HarbormasterLarra.lua b/Lua/SpawnScripts/Antonica/HarbormasterLarra.lua new file mode 100755 index 000000000..66e79185f --- /dev/null +++ b/Lua/SpawnScripts/Antonica/HarbormasterLarra.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : HarbormasterLarra.lua + Script Purpose : Harbormaster Larra + Script Author : ParserGenerated (Replace this) + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Say(NPC, "The Maiden's Grace is currently in Kylong Plains.", Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/HollyWindstalker.lua b/Lua/SpawnScripts/Antonica/HollyWindstalker.lua new file mode 100755 index 000000000..a50a714b9 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/HollyWindstalker.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/Antonica/HollyWindstalker.lua + Script Purpose : Holly Windstalker + Script Author : TyroneSWG + Script Date : 2019.01.15 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "PlayerInRange", "PlayerLeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function PlayerInRange(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gf_65116994.mp3", "One down! An eternity to go.", "", 3147020467, 1377166074, Spawn) + +end + +function PlayerLeaveRange(NPC, Spawn) + FaceTarget(NPC, "Run cowards!") -- not actual line. just testing +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Hello") +end + diff --git a/Lua/SpawnScripts/Antonica/HucklethinGorsefoot.lua b/Lua/SpawnScripts/Antonica/HucklethinGorsefoot.lua new file mode 100755 index 000000000..a3034bdba --- /dev/null +++ b/Lua/SpawnScripts/Antonica/HucklethinGorsefoot.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : HucklethinGorsefoot.lua + Script Purpose : Hucklethin Gorsefoot + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("By leaf and lake, it's another fine day in Antonica!") + Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_2_1024.mp3", 0, 0) + Dialog.AddOption("I have to agree! Goodbye!") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/IgnarSteadirt.lua b/Lua/SpawnScripts/Antonica/IgnarSteadirt.lua new file mode 100755 index 000000000..b22487386 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/IgnarSteadirt.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : IgnarSteadirt.lua + Script Purpose : Ignar Steadirt + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("The great Qeynos Claymore -- folks come from all over to pray here.") + Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", 0, 0) + Dialog.AddOption("Is that why you are here?", "dlg_2") + Dialog.AddOption("Well, not me. At least, not right now.") + + Dialog.Start() + + --[[ Say() from this NPC + + Say(NPC, "That is a shame. Please leave me to my prayers.", Spawn) + + + Orphaned PlayFlavors + PlayFlavor(NPC, "", "Hmm, I'll keep praying then. Good day.", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "Return when you are ready, but be quick. They grow stronger by the hour.", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quest/045_dwarf_ignar_steadirt_g1_onstage7_68f3d9e4.mp3", "Well? Have you spoken with the dwarven centurion yet? His name's Grimbold Steadirt -- you can't miss him, he's near the gates to Firemyst.", "", 1513486151, 2077778983, Spawn) + PlayFlavor(NPC, "voiceover/english/ignar_steadirt/antonica/quest/045_dwarf_ignar_steadirt_g1_shame_b6fbc6ba.mp3", "That is a shame. Please leave me to my prayers.", "", 2730895874, 3053314534, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + + --]] + +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("I came here seeking strength to defeat my enemies.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("Who are your enemies?", "dlg_3") + + Dialog.Start() +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("I pray for the strength to conquer the undead, but they are not just my enemies; the undead are the enemies of us all. Several days ago, patrols were sent to see how our battle against the undead was faring. And I -- I have the most disagreeable task of all. I have to stand here and wait for the reports to return. Me! Standing around waiting when there's undead to cleave! Pah!") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("Wish I had time to help. Perhaps later.") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/Jenkins.lua b/Lua/SpawnScripts/Antonica/Jenkins.lua new file mode 100755 index 000000000..036e3745f --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Jenkins.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Jenkins-Say.lua + Script Purpose : Jenkins + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner, Say()'s ONLY +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + + + Say(NPC, "I am rather busy.", Spawn) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/KinamerGalemaul.lua b/Lua/SpawnScripts/Antonica/KinamerGalemaul.lua new file mode 100755 index 000000000..16f7c9129 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/KinamerGalemaul.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : KinamerGalemaul.lua + Script Purpose : Kinamer Galemaul + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Keep clear of the forge, my friend. The metal is hot and my hammer swings where it will!") + Dialog.AddVoiceover("voiceover/english/kinamer_galemaul/antonica/kinamergalemaul000.mp3", 165936049, 625468658) + Dialog.AddOption("I think I'll play it safe and stay back here. ") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "voiceover/english/kinamer_galemaul/antonica/kinamergalemaul005.mp3", "", "", 4275576159, 2433123313, Spawn) + PlayFlavor(NPC, "voiceover/english/kinamer_galemaul/antonica/kinamergalemaul001.mp3", "", "", 2027558019, 1718672799, Spawn) + PlayFlavor(NPC, "voiceover/english/kinamer_galemaul/antonica/kinamergalemaul002.mp3", "", "", 1072576802, 3460847281, Spawn) + PlayFlavor(NPC, "voiceover/english/kinamer_galemaul/antonica/kinamergalemaul003.mp3", "", "", 4028492463, 2669208994, Spawn) + PlayFlavor(NPC, "voiceover/english/kinamer_galemaul/antonica/kinamergalemaul004.mp3", "", "", 2013410863, 3232485103, Spawn) + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/Knight-LieutenantAlesso.lua b/Lua/SpawnScripts/Antonica/Knight-LieutenantAlesso.lua new file mode 100755 index 000000000..a3da41e54 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Knight-LieutenantAlesso.lua @@ -0,0 +1,110 @@ +--[[ + Script Name : SpawnScripts/Antonica/Knight-LieutenantAlesso.lua + Script Purpose : Knight-Lieutenant Alesso + Script Author : geordie0511 + Script Date : 2019.03.13 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Qeynos1 = 459 +local Qeynos2 = 460 +local Qeynos3 = 461 +local Qeynos4 = 462 +local Qeynos5 = 463 + +function spawn(NPC) + ProvidesQuest(NPC, Qeynos1) + ProvidesQuest(NPC, Qeynos2) + ProvidesQuest(NPC, Qeynos3) + ProvidesQuest(NPC, Qeynos4) + ProvidesQuest(NPC, Qeynos5) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, Qeynos1) == 4 or GetQuestStep(Spawn, Qeynos2) == 4 or GetQuestStep(Spawn, Qeynos3) == 4 or GetQuestStep(Spawn, Qeynos4) == 4 or GetQuestStep(Spawn, Qeynos5) == 4 then + if GetQuestStep(Spawn, Qeynos1) == 4 then + SetStepComplete(Spawn, Qeynos1, 4) + end + if GetQuestStep(Spawn, Qeynos2) == 4 then + SetStepComplete(Spawn, Qeynos2, 4) + end + if GetQuestStep(Spawn, Qeynos3) == 4 then + SetStepComplete(Spawn, Qeynos3, 4) + end + if GetQuestStep(Spawn, Qeynos4) == 4 then + SetStepComplete(Spawn, Qeynos4, 4) + end + if GetQuestStep(Spawn, Qeynos5) == 4 then + SetStepComplete(Spawn, Qeynos5, 4) + end + PlayFlavor(NPC, "voiceover/english/sir_alesso/qey_north/sir_alesso003.mp3", "", "", 4137826818, 1228273355, Spawn) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "You served Qeynos well and shall be rewarded.") + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1012.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, but where?", "dlg_1_1") + AddConversationOption(conversation, "I'll be on my way.") + StartConversation(conversation, NPC, Spawn, "Hello! As you journey into the city, keep in mind that you may not enter the citadel within North Qeynos at this time. You'll find better adventuring elsewhere.") + end +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_alesso/qey_north/sir_alesso001.mp3", "", "", 446291068, 907364683, Spawn) + AddConversationOption(conversation, "Okay, but what exactly should I do?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Outside the gates of Qeynos, Antonica is riddled with vermin. Serve Qeynos by destroying these infectious beasts.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_alesso/qey_north/sir_alesso002.mp3", "", "", 2041064542, 2502837283, Spawn) + if HasCompletedQuest(Spawn, Qeynos1) == false and HasQuest(Spawn, Qeynos1) == false then + AddConversationOption(conversation, "I'll do it for Qeynos.", "Quest1") + elseif HasCompletedQuest(Spawn, Qeynos2) == false and HasQuest(Spawn, Qeynos2) == false and HasCompletedQuest(Spawn, Qeynos1) then + AddConversationOption(conversation, "I'll do it for Qeynos.", "Quest2") + elseif HasCompletedQuest(Spawn, Qeynos3) == false and HasQuest(Spawn, Qeynos3) == false and HasCompletedQuest(Spawn, Qeynos2) then + AddConversationOption(conversation, "I'll do it for Qeynos.", "Quest3") + elseif HasCompletedQuest(Spawn, Qeynos4) == false and HasQuest(Spawn, Qeynos4) == false and HasCompletedQuest(Spawn, Qeynos3) then + AddConversationOption(conversation, "I'll do it for Qeynos.", "Quest4") + elseif HasCompletedQuest(Spawn, Qeynos5) == false and HasQuest(Spawn, Qeynos5) == false and HasCompletedQuest(Spawn, Qeynos4) then + AddConversationOption(conversation, "I'll do it for Qeynos.", "Quest5") + end + StartConversation(conversation, NPC, Spawn, "Rid Antonica of the rats, snakes and beetles that plague Qeynos. Dispatch of no less than ten of each and we shall reward your service.") +end + +function Quest1(NPC, Spawn) + OfferQuest(NPC, Spawn, Qeynos1) +end + +function Quest2(NPC, Spawn) + OfferQuest(NPC, Spawn, Qeynos2) +end + +function Quest3(NPC, Spawn) + OfferQuest(NPC, Spawn, Qeynos3) +end + +function Quest4(NPC, Spawn) + OfferQuest(NPC, Spawn, Qeynos4) +end + +function Quest5(NPC, Spawn) + OfferQuest(NPC, Spawn, Qeynos5) +end diff --git a/Lua/SpawnScripts/Antonica/KnightCaptainAntillin.lua b/Lua/SpawnScripts/Antonica/KnightCaptainAntillin.lua new file mode 100755 index 000000000..5ed344733 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/KnightCaptainAntillin.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : Knight-CaptainAntillin.lua + Script Purpose : Knight-Captain Antillin + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("I am Captain Antillin of the Coldwind Point Garrison. The roads ahead are infested with gnolls. No Antonican is safe. Turn back now.") + Dialog.AddVoiceover("voiceover/english/knight-captain_antillin/antonica/captainantillin000.mp3", 135895240, 1341774897) + Dialog.AddOption("I shall heed your warning, Captain.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "voiceover/english/knight-captain_antillin/antonica/captainantillin001.mp3", "", "", 841411724, 1572096111, Spawn) + PlayFlavor(NPC, "voiceover/english/knight-captain_antillin/antonica/captainantillin002.mp3", "", "", 4242603088, 1602660198, Spawn) + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/LandwynVelamir.lua b/Lua/SpawnScripts/Antonica/LandwynVelamir.lua new file mode 100755 index 000000000..2ef37ab42 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/LandwynVelamir.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : LandwynVelamir.lua + Script Purpose : Landwyn Velamir + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Do you know love, my friend?") + Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_1_1034.mp3", 0, 0) + Dialog.AddOption("It seems not as well as you.", "dlg_2") + Dialog.AddOption("I have no time for love.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + PlayFlavor(NPC, "", "I may have lost love, but I have grown as a person.", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "Returning to me with information of love?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1034.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1034.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1034.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1012.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1012.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + + --]] + +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("How lucky I am. I have been holding this gift for my love for quite some time, but, alas, my duties keep me here. How sad it is that this flower shall wilt in the wait. Still, I am lucky, for her beauty shall never wane.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("Oh, what does she look like?", "dlg_3") + Dialog.AddOption("Well, good luck to you. Bye.") + + Dialog.Start() +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("How does one compare the beauty of a goddess using the words of mere mortals? Her hair is the color of the rising sun, containing the most glorious hues of the dawn. Her skin is akin to porcelain, flawless and immaculate. Her eyes are the green of a springtime meadow, with small bursts like the yellow of daisies in their center. Her lithe body is soft and curved like the waves of the sea. I only wish my eyes could witness her beauty once again.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("She sounds beautiful. Your flowers are wilted though. Let me gather some new ones for you.", "dlg_4") + Dialog.AddOption("Good luck giving her the present. Bye.") + + Dialog.Start() +end + +function dlg_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("That would be splendid! Last I saw, there were some beneath a shaded tree north of here.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("I will find them.") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/MatsyRollingpin.lua b/Lua/SpawnScripts/Antonica/MatsyRollingpin.lua new file mode 100755 index 000000000..a7dc60498 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/MatsyRollingpin.lua @@ -0,0 +1,169 @@ +--[[ + Script Name : SpawnScripts/Antonica/MatsyRollingpin.lua + Script Purpose : Matsy Rollingpin + Script Author : geordie0511 + Script Date : 2019.03.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Achoo = 464 +local Blub = 465 +local Killing = 466 +local Care = 467 +local Pie = 468 +local Mail = 469 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, Achoo) + ProvidesQuest(NPC, Blub) + ProvidesQuest(NPC, Killing) + ProvidesQuest(NPC, Care) + ProvidesQuest(NPC, Pie) + ProvidesQuest(NPC, Mail) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1,7) + if choice == 1 then + PlayFlavor(NPC, "", "I need the extra fish if I am going to make more chowder. Were you still going to fetch that for me?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "That poor soul, is he still staggering around? Aroof is such a large one, you'd think he could hold his liquor better then most.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Did you take that letter to Jacque yet?", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "I need that pepper as soon as possible...oh my water is boiling.", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Please give Blarton the cookies and my best wishes. Sweets to sweeten a sour disposition I always say.", "", 1689589577, 4560189, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "", "As soon as you can gather those ingredients for me, we will make something new and scrumptious!", "", 1689589577, 4560189, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "", "I need that pepper as soon as possible...oh, my water is boiling.", "", 1689589577, 4560189, Spawn) + else + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1039.mp3", "", "", 0, 0, Spawn) + + if GetQuestStep(Spawn, Achoo) == 2 then + AddConversationOption(conversation, "Thanks a lot. I'm starving!") + StartConversation(conversation, NPC, Spawn, "Oh my! Pepper! That is exactly what I needed! Here, eat something. You look flush. Have you seen my ladle?") + SetStepComplete(Spawn, Achoo, 2) + elseif GetQuestStep(Spawn, Blub) == 2 then + SetStepComplete(Spawn, Blub, 2) + elseif GetQuestStep(Spawn, Killing) == 2 then + SetStepComplete(Spawn, Killing, 2) + elseif GetQuestStep(Spawn, Care) == 2 then + SetStepComplete(Spawn, Care, 2) + elseif GetQuestStep(Spawn, Pie) == 4 then + SetStepComplete(Spawn, Pie, 4) + elseif HasCompletedQuest(Spawn, Achoo) == false and HasQuest(Spawn, Achoo) == false then + AddConversationOption(conversation, "I have time. What did you need?", "dlg_1_2") + AddConversationOption(conversation, "Sorry, I'm kind of busy.") + StartConversation(conversation, NPC, Spawn, "I'm making a lovely, warm chowder to share with those in need. However, I seem to have forgotten an ingredient. Could you be a doll and run an errand for me?") + elseif HasCompletedQuest(Spawn, Blub) == false and HasQuest(Spawn, Blub) == false and HasCompletedQuest(Spawn, Achoo) then + AddConversationOption(conversation, "Sure, I will go get that now.", "dlg_0_2") + AddConversationOption(conversation, "I don't have time for that today.") + StartConversation(conversation, NPC, Spawn, "So many hungry folks. I am afraid I haven't made enough for everyone! If you want to eat, you'll need to fetch me some extra Coldwind fish so I can stir up another pot.") + elseif HasCompletedQuest(Spawn, Killing) == false and HasQuest(Spawn, Killing) == false and HasCompletedQuest(Spawn, Blub) then + AddConversationOption(conversation, "Sure, I will take it to him now.", "dlg_8_2") + AddConversationOption(conversation, "Sorry, I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "If there is one thing wholesome, hot food is good for it's warming the soul. That, and it helps those who have partaken of the good ale a bit heavily as well. Please, take this to Aroof.") + elseif HasCompletedQuest(Spawn, Care) == false and HasQuest(Spawn, Care) == false and HasCompletedQuest(Spawn, Killing) then + AddConversationOption(conversation, "Sure, I will do that for you.", "dlg_21_2") + AddConversationOption(conversation, "Sorry, no time today.") + StartConversation(conversation, NPC, Spawn, "You have been so helpful today! My cousin, Blarton Blumble, has happened on some terrible luck and broke his leg while fishing. He is the sad sack today and in such a terrible mood. If you could deliver these lovely cookies to him for me, there will be plenty for you when you return!") + elseif HasCompletedQuest(Spawn, Pie) == false and HasQuest(Spawn, Pie) == false and HasCompletedQuest(Spawn, Care) then + AddConversationOption(conversation, "Ok, I will go get those ingredients for you.", "Quest5") + AddConversationOption(conversation, "Sorry, I have to meet someone.") + StartConversation(conversation, NPC, Spawn, "Every cook has their experimental side, which must be nurtured! If you could run out and rustle up these ingredients for me, I think we would make something new and exciting!") + elseif HasCompletedQuest(Spawn, Mail) == false and HasQuest(Spawn, Mail) == false and HasCompletedQuest(Spawn, Pie) then + OfferQuest(NPC, Spawn, Mail) + end +end + +function Quest1(NPC, Spawn) + OfferQuest(NPC, Spawn, Achoo) +end + +function Quest2(NPC, Spawn) + OfferQuest(NPC, Spawn, Blub) +end + +function Quest3(NPC, Spawn) + OfferQuest(NPC, Spawn, Killing) +end + +function Quest4(NPC, Spawn) + OfferQuest(NPC, Spawn, Care) +end + +function Quest5(NPC, Spawn) + OfferQuest(NPC, Spawn, Pie) +end + +------------- Blub + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return as quickly as I can.", "Quest2") + StartConversation(conversation, NPC, Spawn, "Wonderful! I'll be waiting for your return.") +end + +-------------- Achoo + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Alright.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "I need you to purchase some pepper from Merchant Novak and bring it back here. She makes her stand out by the lighthouse near the docks.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure, you bet!", "Quest1") + StartConversation(conversation, NPC, Spawn, "Be as swift as you can... I wouldn't want my roux to clump!") +end + +---------------- Killing + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let's hope that's not the case.", "Quest3") + StartConversation(conversation, NPC, Spawn, "If he doesn't sober up we will be needing more than food to save him!") +end + +--------------- Care + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "Quest4") + StartConversation(conversation, NPC, Spawn, "Bless your heart.") +end + + diff --git a/Lua/SpawnScripts/Antonica/Novak.lua b/Lua/SpawnScripts/Antonica/Novak.lua new file mode 100755 index 000000000..ab02ea301 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Novak.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/Antonica/Novak.lua + Script Purpose : Novak + Script Author : geordie0511 + Script Date : 2019.03.13 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Achoo = 464 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, Achoo) == 1 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok, thanks very much.") + StartConversation(conversation, NPC, Spawn, "Oh, here you go! I will put it on her bill.") + SetStepComplete(Spawn, Achoo, 1) + else + PlayFlavor(NPC, "voiceover/english/merchant_novak/antonica/merchantnovak000.mp3", "", "", 4148197515, 1288700917, Spawn) + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Greetings, perhaps you need to replenish your supplies, or maybe just sell some of what you picked up along the trail?") + end +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/merchant_novak/antonica/merchantnovak001.mp3", "", "", 1938438342, 930282390, Spawn) + AddConversationOption(conversation, "Thanks. I'll make sure he gets it.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Great, I was almost out of supplies as it stands. I would hate to hike all the way back to Flores. Here's a pouch for Flores. Make sure he gets this, okay?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/Quallium.lua b/Lua/SpawnScripts/Antonica/Quallium.lua new file mode 100755 index 000000000..f292d63b0 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Quallium.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : Quallium.lua + Script Purpose : Quallium + Script Author : Jabantiz + Script Date : 09/01/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +-- Quest ID's +local ONCE_UPON_AN_ISLE_DREARY = 479 + +-- Item ID's +local VISIONS_OF_COLDWIND_POINT = 15265 + +function spawn(NPC) + ProvidesQuest(NPC, ONCE_UPON_AN_ISLE_DREARY) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Oh look at the mess I am in! My thoughts of wonderment have been stolen from me.") + Dialog.AddVoiceover("voiceover/english/quallium/antonica/quallium000.mp3", 1763017248, 3571952103) + Dialog.AddOption("How can someone steal your thoughts?", "dlg_2") + Dialog.AddOptionRequirement(REQ_QUEST_ELIGIBLE, ONCE_UPON_AN_ISLE_DREARY) + Dialog.AddOption("I have your scrolls.", "dlg_4") + Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, ONCE_UPON_AN_ISLE_DREARY, 2) + Dialog.AddOption("I don't speak to rathed people. Farewell.") + + Dialog.Start() + +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("They have my scrolls ... my poems! I was just sitting upon the isles, like I always do, searching for inspiration, when all of the sudden they appeared! I ran and now have lost my scrolls to the howling beasts.") + Dialog.AddVoiceover("voiceover/english/quallium/antonica/quallium001.mp3", 3573977822, 664973830) + Dialog.AddOption("Don't fret. I will go and claim your scrolls.", "OfferQuest1") + Dialog.AddOption("You'll never see the scrolls again. Sorry.") + + Dialog.Start() +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, ONCE_UPON_AN_ISLE_DREARY) +end + +function dlg_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("You saved me! These scrolls will take me from being a simple wordsmith to a legendary poet. You have read my work, have you not?") + Dialog.AddVoiceover("voiceover/english/quallium/antonica/quallium003.mp3", 1726246143, 2173439902) + Dialog.AddOption("Uh...yeah. Good stuff. Best ever.", "dlg_5") + + Dialog.Start() +end + +function dlg_5(NPC, Spawn) + + SummonItem(Spawn, VISIONS_OF_COLDWIND_POINT, 1) + + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Well of course you did! You should really visit the sights I wrote about. All four poems were based on actual images I spied from the isle. I am such a genius! Here, read for yourself!") + Dialog.AddVoiceover("voiceover/english/quallium/antonica/quallium004.mp3", 2352960393, 543339399) + Dialog.AddOption("Thanks for the literature my friend.") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/SelindaWhispersong.lua b/Lua/SpawnScripts/Antonica/SelindaWhispersong.lua new file mode 100755 index 000000000..9bc18e577 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/SelindaWhispersong.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SelindaWhispersong-Say.lua + Script Purpose : Selinda Whispersong + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner, Say()'s ONLY +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + + + Say(NPC, "If you're looking for a challenge, you might want to speak with Cru Naseto, and he'll explain our circuit", Spawn) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/SoldierHomrie.lua b/Lua/SpawnScripts/Antonica/SoldierHomrie.lua new file mode 100755 index 000000000..0aabb62bd --- /dev/null +++ b/Lua/SpawnScripts/Antonica/SoldierHomrie.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SoldierHomrie.lua + Script Purpose : Soldier Homrie + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Please, someone help me! One of those ... blasted gnolls got me ... with a poison arrow. Don't know how much time I have.") + Dialog.AddVoiceover("voiceover/english/soldier_homrie/antonica/soldierhomrie000.mp3", 2620699462, 3560167645) + Dialog.AddOption("This is more than I can handle") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/SoldierPellenos.lua b/Lua/SpawnScripts/Antonica/SoldierPellenos.lua new file mode 100755 index 000000000..e1bd1bf8f --- /dev/null +++ b/Lua/SpawnScripts/Antonica/SoldierPellenos.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SoldierPellenos.lua + Script Purpose : Soldier Pellenos + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Hello there! Come for tea? I'm sorry, but I'm completely out of sugar! Ask the gnolls; they killed everyone here. Yes, everyone ... but me. And now I don't know where the teapot is. But there's no sugar, so it doesn't matter. Hee hee!") + Dialog.AddOption("Goodbye.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/TaskmasterLynette.lua b/Lua/SpawnScripts/Antonica/TaskmasterLynette.lua new file mode 100755 index 000000000..33acfd2d5 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/TaskmasterLynette.lua @@ -0,0 +1,143 @@ +--[[ + Script Name : SpawnScripts/Antonica/TaskmasterLynette.lua + Script Purpose : Taskmaster Lynette + Script Author : geordie0511 + Script Date : 2019.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local A1 = 474 +local A2 = 475 +local A3 = 476 +local A4 = 477 +local A5 = 478 +local A6 = 479 +local A7 = 480 +local A8 = 481 +local A9 = 482 +local A10 = 483 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/taskmaster_lynette/qey_harbor/taskmasterlynette000.mp3", "", "", 2422547870, 3187249838, Spawn) + if GetQuestStep(Spawn, A1) == 4 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0221.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A2) == 3 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0229.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A3) == 4 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0235.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A4) == 2 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0243.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A5) == 2 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0244.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A6) == 3 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0351.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A7) == 3 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT037.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A8) == 3 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0424.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A9) == 3 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0437.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + elseif GetQuestStep(Spawn, A10) == 2 then + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + AddConversationOption(conversation, "I have filled requisition ANT0724.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + else + AddConversationOption(conversation, "I won't bother you then.") + AddConversationOption(conversation, "What is a Far Seas Requisition?", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Unless you're filling a Far Seas Requisition of Antonica I do not have time for you. Time is money.") + end +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/taskmaster_lynette/qey_harbor/taskmasterlynette003.mp3", "", "", 2958849260, 4083022013, Spawn) + AddConversationOption(conversation, "It's a pleasure doing business with the Far Seas Trading Company.") + StartConversation(conversation, NPC, Spawn, "This order is overdue! Our policy clearly states that the Far Seas Trading Company does not pay full price for late requisitions. Wait... I see that you are not the huntsman who was issued the order. That means I'll have to file a change of vendor form. Still, you've filled the order and that deserves compensation. Perhaps someday we'll add you to our list of independent contractors. ") + if GetQuestStep(Spawn, A1) == 4 then + SetStepComplete(Spawn, A1, 4) + elseif GetQuestStep(Spawn, A2) == 3 then + SetStepComplete(Spawn, A2, 3) + elseif GetQuestStep(Spawn, A3) == 4 then + SetStepComplete(Spawn, A3, 4) + elseif GetQuestStep(Spawn, A4) == 2 then + SetStepComplete(Spawn, A4, 2) + elseif GetQuestStep(Spawn, A5) == 2 then + SetStepComplete(Spawn, A5, 2) + elseif GetQuestStep(Spawn, A6) == 3 then + SetStepComplete(Spawn, A6, 3) + elseif GetQuestStep(Spawn, A7) == 3 then + SetStepComplete(Spawn, A7, 3) + elseif GetQuestStep(Spawn, A8) == 3 then + SetStepComplete(Spawn, A8, 3) + elseif GetQuestStep(Spawn, A9) == 3 then + SetStepComplete(Spawn, A9, 3) + elseif GetQuestStep(Spawn, A10) == 2 then + SetStepComplete(Spawn, A10, 2) + end +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/taskmaster_lynette/qey_harbor/taskmasterlynette001.mp3", "", "", 4078840595, 1358943922, Spawn) + AddConversationOption(conversation, "Thanks for the information. ") + AddConversationOption(conversation, "Hire me as your huntsman. ", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "The Far Seas Trading Company pays huntsmen to gather hides. We issue a requisition order for the kind of hide we wish to buy. The huntsman takes the order and brings us the hides. We pay the huntsman for the hides; if he doesn't return, we don't pay him. For legal purposes, the huntsman is considered a consultant for the Far Seas Trading Company and not a full-time employee; therefore, we assume no liability for the actions, expenses, or injuries of the consultant. ") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/taskmaster_lynette/qey_harbor/taskmasterlynette002.mp3", "", "", 3001837794, 1766542530, Spawn) + AddConversationOption(conversation, "Good day to you. ") + StartConversation(conversation, NPC, Spawn, "This is the office for processing requisition orders, not the office for employment. We have more than enough huntsmen on staff. So, unless you happen to find an unclaimed Far Seas Requisition and fill its order... our business is done. Good day. Next!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/TylliaNavar.lua b/Lua/SpawnScripts/Antonica/TylliaNavar.lua new file mode 100755 index 000000000..8002d07c4 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/TylliaNavar.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : TylliaNavar-Say.lua + Script Purpose : Tyllia Navar + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner, Say()'s ONLY +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + + + Say(NPC, "I have heard stories and legends, but I have never seen the gnolls march like an army should.", Spawn) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Antonica/Vishra.lua b/Lua/SpawnScripts/Antonica/Vishra.lua new file mode 100755 index 000000000..bbc01ee62 --- /dev/null +++ b/Lua/SpawnScripts/Antonica/Vishra.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Antonica/Vishra.lua + Script Purpose : Vishra + Script Author : TyroneSWG + Script Date : 2019.01.15 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/vishra/antonica/service/050_quest_vishra_callout1_a2281965.mp3", "Beware of the gnolls that prowl nearby.", "", 3599735399, 999434437, Spawn) +end + diff --git a/Lua/SpawnScripts/Antonica/aGigglegibberGoblinGamblinGameVendor.lua b/Lua/SpawnScripts/Antonica/aGigglegibberGoblinGamblinGameVendor.lua new file mode 100755 index 000000000..d3ae97f0c --- /dev/null +++ b/Lua/SpawnScripts/Antonica/aGigglegibberGoblinGamblinGameVendor.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : AGigglegibberGoblinGamblinGameVendor.lua + Script Purpose : a Gigglegibber Goblin Gamblin' Game Vendor + Script Author : Jabantiz + Script Date : 08/29/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + Dialog.AddOption("How did a goblin get in here? Don't you kill people?", "dlg_2") + Dialog.AddOption("I think I'd rather keep my money, thanks.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + --]] + +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Gigglegibber goblins not kill people! War no fun at all. Gigglegibber goblins like shiny coins and funny things! We like frogs, fluffy kittens, potatoes... You have potatoes?") + Dialog.AddOption("Why are potatoes funny?", "dlg_3") + Dialog.AddOption("On second thought, I'll be going now.") + + Dialog.Start() +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("They tasty! Not funny!... though Gribbik carved funny face in a potato once. That was funny until he eated it. Hey! No try to tricks me with talk about potatoes. You still pays ten shiny coins for ticket! Buy many tickets! If you buys more maybe you win more than many shiny coins!") + Dialog.AddOption("I'll think about it.") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/AlganTinmizer.lua b/Lua/SpawnScripts/Baubbleshire/AlganTinmizer.lua new file mode 100755 index 000000000..f5f26d247 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/AlganTinmizer.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/AlganTinmizer.lua + Script Purpose : Algan Tinmizer + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + Say(NPC, "Greetings! Looking for a bashcogglinator or perhaps a metefozic thermogauge?", Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/ArbuthnotJumroller.lua b/Lua/SpawnScripts/Baubbleshire/ArbuthnotJumroller.lua new file mode 100755 index 000000000..25482a08f --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/ArbuthnotJumroller.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/ArbuthnotJumroller.lua + Script Purpose : Arbuthnot Jumroller + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + GenericHail(NPC, Spawn) + AddConversationOption(conversation, "Thanks, but I need to leave now.") + StartConversation(conversation, NPC, Spawn, "Well, then, what can I do for you?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/BizrinnClamorclang.lua b/Lua/SpawnScripts/Baubbleshire/BizrinnClamorclang.lua new file mode 100755 index 000000000..1fbff4e7f --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/BizrinnClamorclang.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/BizrinnClamorclang.lua + Script Purpose : Bizrinn Clamorclang + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bizrinn_clamorclang/qey_village06/bizrinnclamorclang.mp3", "", "", 3866517974, 2558850199, Spawn) + AddConversationOption(conversation, "Ah, that's too bad. I guess I'll get my thingamajig whatchamacalit made somewhere else") + StartConversation(conversation, NPC, Spawn, "Oh! Why hello there! I am so behind on tinker work that I am not taking anymore orders at the moment ... What is it you want?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/BoloBrassharp.lua b/Lua/SpawnScripts/Baubbleshire/BoloBrassharp.lua new file mode 100755 index 000000000..8ed6f89d3 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/BoloBrassharp.lua @@ -0,0 +1,135 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/BoloBrassharp.lua + Script Purpose : Bolo Brassharp + Script Author : John Adams + Script Date : 2009.01.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local HELPING_SOME_FRIENDS = 325 -- was 72 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HELPING_SOME_FRIENDS) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/qst_bolo_brassharp_pranking_78f2abf4.mp3", "I really should leave soon. I can't wait, I can't wait!", "", 571318150, 1838754800, Spawn) + elseif HasQuest(Spawn, HELPING_SOME_FRIENDS) then + if GetQuestStep(Spawn, HELPING_SOME_FRIENDS) >= 2 and not QuestStepIsComplete(Spawn, HELPING_SOME_FRIENDS, 4) then + HelloHello(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/qst_bolo_brassharp_pranking_78f2abf4.mp3", "I really should leave soon. I can't wait, I can't wait!", "", 571318150, 1838754800, Spawn) + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/qst_bolo_brassharp_notonquest_b910a0ae.mp3", "I know you'd love to speak with me, but I'm a little busy right now.", "", 2952662835, 3836420976, Spawn) + end +end + +function HelloHello(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp001.mp3", "", "", 1093318327, 1301148449, Spawn) + AddConversationOption(conversation, "No, sorry. I am here on behalf of someone else.", "dlg_20_1") + AddConversationOption(conversation, "Not now.") + StartConversation(conversation, NPC, Spawn, "Hello? Hello! I take it you seek interesting conversation, no?") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp002.mp3", "", "", 1427735869, 407597046, Spawn) + AddConversationOption(conversation, "Hmm, I forget her name.", "dlg_20_2") + AddConversationOption(conversation, "Jayla Midhop.", "WhatIDontThinkSo") + StartConversation(conversation, NPC, Spawn, "Oh? And who might that be?") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp003.mp3", "", "", 3121914646, 3365197240, Spawn) + AddConversationOption(conversation, "Oh, she's the pretty type. She seems to care a great deal about how she looks. What was her name... Jala? Or something.", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "HER name, eh? Well what does she look like?") +end + +function WhatIDontThinkSo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, she had another halfling in mind in the event you turned her down, good day!", "WaitWhatDidSheWant") + StartConversation(conversation, NPC, Spawn, "What? I don't think so. That's a little hard to believe.") +end + +function WaitWhatDidSheWant(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "She said she wanted to meet you.", "dlg_20_5") + StartConversation(conversation, NPC, Spawn, "WAIT! What did she want?") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp004.mp3", "", "", 267219328, 3581650998, Spawn) + AddConversationOption(conversation, "Hmm, yes! That was it! I come on behalf of Jayla Midhop.", "dlg_20_4") + StartConversation(conversation, NPC, Spawn, "Jayla? Jayla Midhop?") +end + +function dlg_20_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp005.mp3", "", "", 4089683737, 1175948805, Spawn) + AddConversationOption(conversation, "She said she wanted to meet you.", "dlg_20_5") + StartConversation(conversation, NPC, Spawn, "Oh wow! That's great, what does she want?") +end + +function dlg_20_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp008.mp3", "", "", 1904776578, 2004574358, Spawn) + AddConversationOption(conversation, "In the Oakmyst Forest, in one hour. And she wants you to bring a pie.", "dlg_20_6") + StartConversation(conversation, NPC, Spawn, "Where? When? This is important, speak quickly!") +end + +function dlg_20_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp009.mp3", "", "", 3533611364, 2889663261, Spawn) + AddConversationOption(conversation, "Marybelle's Meadowberry Pie is probably your best choice.", "dlg_20_7") + StartConversation(conversation, NPC, Spawn, "Wonderful! I KNEW she was interested. Uh, bring a pie? Hmmm, what kind of pie is romantic?") +end + +function dlg_20_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp010.mp3", "", "", 3936791601, 1760013312, Spawn) + AddConversationOption(conversation, "Well, I happen to have one right now. I'm supposed to deliver it to someone but I have enough time to get another. I'll let you have it, but you'll owe me one.", "dlg_20_8") + StartConversation(conversation, NPC, Spawn, "You're very right, but those take so long to make, I don't think I'll be able to get one.") +end + +function dlg_20_8(NPC, Spawn) + SetStepComplete(Spawn, HELPING_SOME_FRIENDS, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bolo_brassharp/qey_village06/quests/bolo_brassharp/bolo_brassharp011.mp3", "", "", 3760245356, 3275375450, Spawn) + AddConversationOption(conversation, "Er, just doing my job.") + StartConversation(conversation, NPC, Spawn, "That's perfect! Thank you, kind courier.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/ByrtleBobblepeg.lua b/Lua/SpawnScripts/Baubbleshire/ByrtleBobblepeg.lua new file mode 100755 index 000000000..bc8457bbb --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/ByrtleBobblepeg.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/ByrtleBobblepeg.lua + Script Purpose : Byrtle Bobblepeg + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericMerchantVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Baubbleshire/DeputyCliffordson.lua b/Lua/SpawnScripts/Baubbleshire/DeputyCliffordson.lua new file mode 100755 index 000000000..3a3994e4a --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/DeputyCliffordson.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/DeputyCliffordson.lua + Script Purpose : Deputy Cliffordson + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Baubbleshire/DeputySplitshin.lua b/Lua/SpawnScripts/Baubbleshire/DeputySplitshin.lua new file mode 100755 index 000000000..dc4992d67 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/DeputySplitshin.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/DeputySplitshin.lua + Script Purpose : Deputy Splitshin + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) + else + CheckFaction(NPC, Spawn, "Qeynos") + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/DigginDiggs.lua b/Lua/SpawnScripts/Baubbleshire/DigginDiggs.lua new file mode 100755 index 000000000..b5a5f12d2 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/DigginDiggs.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/DigginDiggs.lua + Script Purpose : Diggin Diggs + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local BADGER_PELTS_FOR_DIGGS = 332 -- was 58 + +function spawn(NPC) + ProvidesQuest(NPC, BADGER_PELTS_FOR_DIGGS) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + Begin(NPC, Spawn, conversation) +end + +function Begin(NPC, Spawn, conversation) + if not HasQuest(Spawn, BADGER_PELTS_FOR_DIGGS) and not HasCompletedQuest(Spawn, BADGER_PELTS_FOR_DIGGS) then + AddConversationOption(conversation, "I don't need a sales pitch. Got any work?", "GotAnyWork") + elseif HasQuest(Spawn, BADGER_PELTS_FOR_DIGGS) and GetQuestStep(Spawn, BADGER_PELTS_FOR_DIGGS) == 2 then + AddConversationOption(conversation, "Here is your bundle of badget pelts.", "BundleOfPelts") + end + + AddConversationOption(conversation, "Sorry. Just passing by.") + StartConversation(conversation, NPC, Spawn, "You're looking a might shabby there. You could use some fine armor from Diggs' inventory. I carry only the finest quality and sell at outrageously low, low prices! I live for the community.") +end + +function GotAnyWork(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm interested.", "ImInterested") + AddConversationOption(conversation, "I don't have time to hunt.") + StartConversation(conversation, NPC, Spawn, "So, you're a worker with no task, eh? If you're itchin' to fill your pockets with heavy coin, then I have a task for you. Are you interested in hunting?") +end + +function ImInterested(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return with the bundle of badger pelts. ", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Then prepare for a hunting trip in the Forest Ruins. I'll pay you handsomely for a bundle of badger pelts. I may even toss in a bit of Diggs' finest armor.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, BADGER_PELTS_FOR_DIGGS) +end + +function BundleOfPelts(NPC, Spawn) + SetStepComplete(Spawn, BADGER_PELTS_FOR_DIGGS, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I guess this is better than nothing.") + StartConversation(conversation, NPC, Spawn, "Fine work ... fine work! I must tell you, I just paid my merchant taxes. 'Fraid the coin ain't as heavy as I promised. Sorry, taxes you know? I speak the truth!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/DondlFuzzlecutter.lua b/Lua/SpawnScripts/Baubbleshire/DondlFuzzlecutter.lua new file mode 100755 index 000000000..f8c2bfd60 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/DondlFuzzlecutter.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/DondlFuzzlecutter.lua + Script Purpose : Dondl Fuzzlecutter + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/dondl_fuzzlecutter/qey_village06/dondlfuzzlecutter000.mp3", "", "", 605011151, 3443405792, Spawn) + AddConversationOption(conversation, "I am not a tinkerer. I don't know. ", "dlg_36_1") + StartConversation(conversation, NPC, Spawn, "...The tract-o-fizzle attaches to the wizgiggler. Or is it the other way around? What do you think my friend?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/Drizzcopper.lua b/Lua/SpawnScripts/Baubbleshire/Drizzcopper.lua new file mode 100755 index 000000000..b9db8d132 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/Drizzcopper.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/Drizzcopper.lua + Script Purpose : Drizzcopper + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/banker_drizzcopper/qey_village06/banker_drizzcopper001.mp3", "", "", 2748969711, 2912964073, Spawn) + AddConversationOption(conversation, "Oh. Thank you anyway.") + StartConversation(conversation, NPC, Spawn, "The answer to your question is no. I'm afraid we don't extend lines of credit at this time.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/DrundoParn.lua b/Lua/SpawnScripts/Baubbleshire/DrundoParn.lua new file mode 100755 index 000000000..9b523065a --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/DrundoParn.lua @@ -0,0 +1,209 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/DrundoParn.lua + Script Purpose : Drundo Parn + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local HELPING_SOME_FRIENDS = 325 -- was 72 +local NEEZERS_SURVEY = 330 -- was 28 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, NEEZERS_SURVEY) and not QuestStepIsComplete(Spawn, NEEZERS_SURVEY, 2) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn001.mp3", "", "", 1538510210, 1256846225, Spawn) + AddConversationOption(conversation, "I'm not selling! I have a few questions for you though.", "dlg_53_1") + AddConversationOption(conversation, "All right, I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Go away! I'm not buying.") + elseif HasCompletedQuest(Spawn, HELPING_SOME_FRIENDS) then + Say(NPC, "My face is so itchy all of a sudden. Gosh, and my eyes are watering. Ugh, is it me or is my face a little pudgy?", Spawn) + elseif HasQuest(Spawn, HELPING_SOME_FRIENDS) then + if GetQuestStep(Spawn, HELPING_SOME_FRIENDS) >= 2 and not QuestStepIsComplete(Spawn, HELPING_SOME_FRIENDS, 2) then + GoAwayNotSelling(NPC, Spawn) + else + Say(NPC, "My face is so itchy all of a sudden. Gosh, and my eyes are watering. Ugh, is it me or is my face a little pudgy?", Spawn) + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/qst_drundo_parn_notonquest_976bcd41.mp3", "Don't bother me, I'm drinking!", "", 2257928198, 1328794704, Spawn) + end + + +end + +-------------------------------------------------------------------------------------- +-- GNOME QUEST +-------------------------------------------------------------------------------------- + +function dlg_53_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn002.mp3", "", "", 566362818, 2943772990, Spawn) + AddConversationOption(conversation, "No of course not! These questions are very simple and will only take a moment of your time.", "dlg_53_2") + StartConversation(conversation, NPC, Spawn, "Bah! You want to ruin my jolly, ya do!") +end + +function dlg_53_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn003.mp3", "", "", 1283631971, 1107457103, Spawn) + AddConversationOption(conversation, "Ok, first question: If you were to calibrate a Fizzo Torque Wrench for work in Lavastorm and then attempt precisely the same work in Everfrost what difference of calibration would be needed?", "dlg_53_3") + AddConversationOption(conversation, "All right, I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Fine, fine. Make it quick. I'm getting behind on my ale consumption.") +end + +function dlg_53_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn004.mp3", "", "", 2966163409, 3279443882, Spawn) + AddConversationOption(conversation, "Well?", "dlg_53_4") + StartConversation(conversation, NPC, Spawn, "...") +end + +function dlg_53_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn005.mp3", "", "", 1855808579, 632330066, Spawn) + AddConversationOption(conversation, "Oh, ok. First question: If you were to calibrate a Fizzo Torque Wrench for work in Lavastorm and then attempt precisely the same work in Everfrost what difference of calibration would be needed?", "dlg_53_5") + StartConversation(conversation, NPC, Spawn, "Okay, I think I'm ready for your questions now.") +end + +function dlg_53_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn006.mp3", "", "", 3959523964, 427971299, Spawn) + AddConversationOption(conversation, "...", "dlg_53_6") + StartConversation(conversation, NPC, Spawn, "...") +end + +function dlg_53_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn007.mp3", "", "", 2289626536, 947893658, Spawn) + AddConversationOption(conversation, "All right, next question: what is the average measurement between Keen and Preen on a Spectromatic Nest-Druther?", "dlg_53_7") + StartConversation(conversation, NPC, Spawn, "... erm ...") +end + +function dlg_53_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn008.mp3", "", "", 3683047633, 2681247972, Spawn) + AddConversationOption(conversation, "Question three: if given the choice in a vote for the new Queen of Qeynos, would you cast your vote for a nut or a bolt?", "dlg_53_8") + StartConversation(conversation, NPC, Spawn, "What did you say about my mother?") +end + +function dlg_53_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn009.mp3", "", "", 3764415585, 1874332902, Spawn) + AddConversationOption(conversation, "Next question! Though not yet officially proven, which theory concerning thermodynamic particle acceleration and its correlation to metaphysical tides is widely accepted?", "dlg_53_9") + StartConversation(conversation, NPC, Spawn, "I don't understand the question.") +end + +function dlg_53_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn010.mp3", "", "", 566977886, 741493356, Spawn) + AddConversationOption(conversation, "Almost done. Isn't Neezer Grund amazing?", "dlg_53_10") + StartConversation(conversation, NPC, Spawn, "Thermo-what?") +end + +function dlg_53_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn011.mp3", "", "", 475313112, 1703279619, Spawn) + AddConversationOption(conversation, "Final question: the Banton particle is supposed to generate high amounts of what?", "dlg_53_11") + StartConversation(conversation, NPC, Spawn, "Who?") +end + +function dlg_53_11(NPC, Spawn) + SetStepComplete(Spawn, NEEZERS_SURVEY, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn012.mp3", "", "", 3760395397, 1228652719, Spawn) + AddConversationOption(conversation, "That's fine, I'm done! Thank you for your time.") + StartConversation(conversation, NPC, Spawn, "I don't understand a word you're saying.") +end + +-------------------------------------------------------------------------------------- +-- HALFLING QUEST +-------------------------------------------------------------------------------------- + +function GoAwayNotSelling(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn020.mp3", "", "", 3126100476, 608366249, Spawn) + AddConversationOption(conversation, "Oh, I'm sorry. I was just looking for a place to set this pie.", "dlg_19_1") + AddConversationOption(conversation, "All right, I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Go away, I'm not buying.") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn021.mp3", "", "", 2279001986, 4287954077, Spawn) + AddConversationOption(conversation, "Oh, it is, I assure you. I just finished a pie just like it.", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "Say, that looks mighty tasty.") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn022.mp3", "", "", 2543676358, 1458545177, Spawn) + AddConversationOption(conversation, "Not really, I'm so full after the last one that I just don't know what to do with this one.", "dlg_19_3") + StartConversation(conversation, NPC, Spawn, "Twin, tasty pies. That sounds like a wonderful position to be in!") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn023.mp3", "", "", 1247528637, 571600340, Spawn) + AddConversationOption(conversation, "Berry-frosted cream pie.", "dlg_19_4") + StartConversation(conversation, NPC, Spawn, "Well, I must admit that I've given many pies a good, good home in my time. I would be willing to do so again, if you saw fit, of course. What kind of pie is it?") +end + +function dlg_19_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn024.mp3", "", "", 2314010653, 3275188878, Spawn) + AddConversationOption(conversation, "Well, I DO have to be leaving very soon anyway. I suppose it wouldn't hurt to let you have it.", "dlg_19_5") + StartConversation(conversation, NPC, Spawn, "Oooooh! That sounds delicious! Whadya say, can I take care of it for you?") +end + +function dlg_19_5(NPC, Spawn) + SetStepComplete(Spawn, HELPING_SOME_FRIENDS, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/drundo_parn/qey_village06/quests/drundo_parn/drundo_parn025.mp3", "", "", 3579370961, 357837589, Spawn) + AddConversationOption(conversation, "Don't eat it too fast!") + StartConversation(conversation, NPC, Spawn, "Luck of the Surefoot! Thanks, stranger! I'll put it to good use!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/FillzerFuzzle.lua b/Lua/SpawnScripts/Baubbleshire/FillzerFuzzle.lua new file mode 100755 index 000000000..53614cc62 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/FillzerFuzzle.lua @@ -0,0 +1,113 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/FillzerFuzzle.lua + Script Purpose : Fillzer Fuzzle + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local NEEZERS_SURVEY = 330 -- was 28 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, NEEZERS_SURVEY) and not QuestStepIsComplete(Spawn, NEEZERS_SURVEY, 4) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle001.mp3", "", "", 3200743404, 1664835726, Spawn) + AddConversationOption(conversation, "Luck is an amazing thing.", "dlg_56_1") + AddConversationOption(conversation, "No, I did not know that.") + StartConversation(conversation, NPC, Spawn, "Hello, hello, did you know sometimes jewels can be found in the most surprising places?") + else + Say(NPC, "Not now, I'm looking for treasure!", Spawn) + end +end + +function dlg_56_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle002.mp3", "", "", 684618694, 1163926125, Spawn) + AddConversationOption(conversation, "Seventeen years is a long time. How about you take a break and answer some questions for me?", "dlg_57_2") + StartConversation(conversation, NPC, Spawn, "I'll say. I found an amazing gem seventeen years ago. I've been searching for another ever since.") +end + +function dlg_57_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle003.mp3", "", "", 1972808563, 2405754009, Spawn) + AddConversationOption(conversation, "Fair enough. Ok, question one: if you were to calibrate a Fizzo Torque Wrench for work in Lavastorm and then attempt precisely the same work in Everfrost what difference of calibration would be needed?", "dlg_57_3") + StartConversation(conversation, NPC, Spawn, "How about you do what you need to do and I keep looking?") +end + +function dlg_57_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle004.mp3", "", "", 3369234960, 1114092403, Spawn) + AddConversationOption(conversation, "Question two: what is the average measurement between Keen and Preen on a Spectromatic Nest-Druther?", "dlg_57_4") + StartConversation(conversation, NPC, Spawn, "Variable dependent on precise temperature differences in the two regions. I'd say correct -0.034% at minimum.") +end + +function dlg_57_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle005.mp3", "", "", 1305378583, 3342464494, Spawn) + AddConversationOption(conversation, "Next question: if given the choice in a vote for the new Queen of Qeynos, would you cast your vote for a nut or a bolt?", "dlg_57_5") + StartConversation(conversation, NPC, Spawn, "In bolts: uh, twenty-nine over fifty, roughly.") +end + +function dlg_57_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle006.mp3", "", "", 1049508537, 3160462973, Spawn) + AddConversationOption(conversation, "Question four: though not yet officially proven, which theory concerning thermodynamic particle acceleration and its correlation to metaphysical tides is widely accepted?", "dlg_57_6") + StartConversation(conversation, NPC, Spawn, "Going to have to abstain.") +end + +function dlg_57_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle007.mp3", "", "", 916053189, 3125242157, Spawn) + AddConversationOption(conversation, "Question five: isn't Neezer Grund amazing?", "dlg_57_7") + StartConversation(conversation, NPC, Spawn, "No idea.") +end + +function dlg_57_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle008.mp3", "", "", 2401347894, 3730158053, Spawn) + AddConversationOption(conversation, "Final question: the Banton particle is supposed to generate high amounts of what?", "dlg_57_8") + StartConversation(conversation, NPC, Spawn, "Who?") +end + +function dlg_57_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle009.mp3", "", "", 2433452263, 1166262943, Spawn) + AddConversationOption(conversation, "You'll have to wait for the results to come back first.", "dlg_57_9") + StartConversation(conversation, NPC, Spawn, "I think the answer is tension. Did I win? Did I win?") +end + +function dlg_57_9(NPC, Spawn) + SetStepComplete(Spawn, NEEZERS_SURVEY, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fillzer_fuzzle/qey_village06/quests/fillzer_fuzzle/fillzer_fuzzle010.mp3", "", "", 3356549630, 296738161, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_57_10") + StartConversation(conversation, NPC, Spawn, "Ooh I hope I win something. That was great fun, thanks.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/Fullgrin.lua b/Lua/SpawnScripts/Baubbleshire/Fullgrin.lua new file mode 100755 index 000000000..530cabed4 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/Fullgrin.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/Fullgrin.lua + Script Purpose : Fullgrin + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Baubbleshire/GanlaDindlenod.lua b/Lua/SpawnScripts/Baubbleshire/GanlaDindlenod.lua new file mode 100755 index 000000000..38d6d8a20 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/GanlaDindlenod.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/GanlaDindlenod.lua + Script Purpose : Ganla Dindlenod + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + PlayFlavor(NPC, mp3, "What brings you to the fair vale of Baubbleshire? Seeking a bit of merriment among the stouts? ", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/GeologistQuardifle.lua b/Lua/SpawnScripts/Baubbleshire/GeologistQuardifle.lua new file mode 100755 index 000000000..0baed0d24 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/GeologistQuardifle.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/GeologistQuardifle.lua + Script Purpose : Geologist Quardifle + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : Speaks Gnomish +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/geologist_quardifle/qey_village06/geologistquardifle000.mp3", "", "", 1675886861, 3931018482, Spawn) + AddConversationOption(conversation, "Have fun with your rocks, I'm not interested.") + StartConversation(conversation, NPC, Spawn, "These rocks here are interesting... I'm not sure where they came from. It's rather strange... they simply don't fit this area at all...") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/InnkeeperMillbanks.lua b/Lua/SpawnScripts/Baubbleshire/InnkeeperMillbanks.lua new file mode 100755 index 000000000..a163164de --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/InnkeeperMillbanks.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/InnkeeperMillbanks.lua + Script Purpose : Innkeeper Millbanks + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_millbanks/qey_village06/innkeeper010.mp3", "", "", 3433721579, 62806591, Spawn) + AddConversationOption(conversation, "Yes, please.", "dlg_29_1") + AddConversationOption(conversation, "Not right now, thanks.") + StartConversation(conversation, NPC, Spawn, "Hello " .. GetName(Spawn) .. ", I am the Innkeeper for this village. We have received word of your arrival and have a room prepared for you. Would you like to know more about housing?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/JaylaMidhop.lua b/Lua/SpawnScripts/Baubbleshire/JaylaMidhop.lua new file mode 100755 index 000000000..75a6d1e10 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/JaylaMidhop.lua @@ -0,0 +1,91 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/JaylaMidhop.lua + Script Purpose : Jayla Midhop + Script Author : John Adams + Script Date : 2009.01.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local HELPING_SOME_FRIENDS = 325 -- was 72 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HELPING_SOME_FRIENDS) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/qst_jayla_midhop_pranking_5fde850b.mp3", "Ooh I can't wait to see him.", "", 1235275009, 1310440527, Spawn) + elseif HasQuest(Spawn, HELPING_SOME_FRIENDS) then + if GetQuestStep(Spawn, HELPING_SOME_FRIENDS) >= 2 and not QuestStepIsComplete(Spawn, HELPING_SOME_FRIENDS, 3) then + HelloNeedSomething(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/qst_jayla_midhop_pranking_5fde850b.mp3", "Ooh I can't wait to see him.", "", 1235275009, 1310440527, Spawn) + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/qst_jayla_midhop_notonquest_962918cb.mp3", "Sorry, I'd prefer not to talk right now.", "", 286304583, 2343816397, Spawn) + end +end + +function HelloNeedSomething(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/quests/jayla_midhop/jayla_midhop001.mp3", "", "", 2550158970, 308187023, Spawn) + AddConversationOption(conversation, "Delivery for Ms. Midhop.", "dlg_21_1") + AddConversationOption(conversation, "No, sorry.") + StartConversation(conversation, NPC, Spawn, "Hello! Do you need something?") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/quests/jayla_midhop/jayla_midhop002.mp3", "", "", 162007353, 3764356786, Spawn) + AddConversationOption(conversation, "Someone named Remmy.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "Ooh, who is it from?") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/quests/jayla_midhop/jayla_midhop003.mp3", "", "", 2425959259, 2140362898, Spawn) + AddConversationOption(conversation, "He said it should all be in the note there. Oh, and that you should arrive hungry, he'll bring pie.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "Oooh! Wonderful! Did he say anything?") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/quests/jayla_midhop/jayla_midhop004.mp3", "", "", 178679879, 3210897279, Spawn) + AddConversationOption(conversation, "I should hope so.", "dlg_21_4") + StartConversation(conversation, NPC, Spawn, "Perfect, I was just about to eat. I should be perfectly peckish by the time I get to the forest.") +end + +function dlg_21_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/quests/jayla_midhop/jayla_midhop005.mp3", "", "", 3900670960, 2248772947, Spawn) + AddConversationOption(conversation, "Sorry, was thinking about something else. Have a nice day, Ms. Midhop.", "dlg_21_5") + StartConversation(conversation, NPC, Spawn, "How do you mean?") +end + +function dlg_21_5(NPC, Spawn) + SetStepComplete(Spawn, HELPING_SOME_FRIENDS, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jayla_midhop/qey_village06/quests/jayla_midhop/jayla_midhop006.mp3", "", "", 1071561763, 3714867768, Spawn) + AddConversationOption(conversation, "You're quite welcome.") + StartConversation(conversation, NPC, Spawn, "Oh I most certainly will, thank you very much!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/JumJum.lua b/Lua/SpawnScripts/Baubbleshire/JumJum.lua new file mode 100755 index 000000000..e82ee78ac --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/JumJum.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/JumJum.lua + Script Purpose : Jum Jum + Script Author : Scatman + Script Date : 2009.05.11 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 875.58, -14.85, -425.02, 3, 0) + MovementLoopAddLocation(NPC, 872.4, -18.42, -439.51, 3, 0) + MovementLoopAddLocation(NPC, 857.69, -18.47, -453.94, 3, 0) + MovementLoopAddLocation(NPC, 854.45, -18.81, -460.17, 3, 0) + MovementLoopAddLocation(NPC, 846.24, -17.61, -460.55, 3, 0) + MovementLoopAddLocation(NPC, 840.82, -14.64, -465.98, 3, 0) + MovementLoopAddLocation(NPC, 834.44, -10.29, -466.54, 3, 0) + MovementLoopAddLocation(NPC, 819.85, -9.08, -479.2, 3, 0) + MovementLoopAddLocation(NPC, 819.3, -9.92, -486.05, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 814.71, -11.45, -488.68, 3, 0) + MovementLoopAddLocation(NPC, 814.92, -12.61, -494.18, 3, 0) + MovementLoopAddLocation(NPC, 825.57, -13.73, -495.76, 3, 0) + MovementLoopAddLocation(NPC, 823.85, -19.09, -512.36, 3, 0) + MovementLoopAddLocation(NPC, 829.99, -18.24, -506.78, 3, 0) + MovementLoopAddLocation(NPC, 829.92, -17.88, -499.49, 3, 0) + MovementLoopAddLocation(NPC, 833.51, -18.22, -496.33, 3, 0) + MovementLoopAddLocation(NPC, 833.57, -18.01, -492.46, 3, 0) + MovementLoopAddLocation(NPC, 832.61, -17.83, -489.74, 3, 0) + MovementLoopAddLocation(NPC, 835.43, -17.71, -483.41, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 841.16, -17.87, -481.63, 3, 0) + MovementLoopAddLocation(NPC, 843.88, -17.84, -472.36, 3, 0) + MovementLoopAddLocation(NPC, 847.53, -18.14, -466.67, 3, 0) + MovementLoopAddLocation(NPC, 852.22, -18.46, -465.15, 3, 0) + MovementLoopAddLocation(NPC, 863.47, -18.73, -446.32, 3, 0) + MovementLoopAddLocation(NPC, 871.74, -18.5, -441.79, 3, 0) + MovementLoopAddLocation(NPC, 881.84, -18.62, -449.61, 3, 0) + MovementLoopAddLocation(NPC, 891.23, -18.87, -457.63, 3, 0) + MovementLoopAddLocation(NPC, 894.72, -18.41, -454.69, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 893.33, -14.96, -442.13, 3, 0) + MovementLoopAddLocation(NPC, 880.45, -14.09, -425.4, 3, 0) +end + +function respawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/MaelaMeadows.lua b/Lua/SpawnScripts/Baubbleshire/MaelaMeadows.lua new file mode 100755 index 000000000..00b5ec470 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/MaelaMeadows.lua @@ -0,0 +1,197 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/MaelaMeadows.lua + Script Purpose : Maela Meadows + Script Author : John Adams + Script Date : 2009.01.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local HELPING_A_FRIEND = 323 -- was 70 +local HELPING_A_FRIEND_AGAIN = 324 -- was 71 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasQuest(Spawn, HELPING_A_FRIEND) and GetQuestStep(Spawn, HELPING_A_FRIEND) == 1 then + WaterfallCalming(NPC, Spawn) + elseif HasQuest(Spawn, HELPING_A_FRIEND_AGAIN) and GetQuestStep(Spawn, HELPING_A_FRIEND_AGAIN) == 2 then + HelloAgain(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/qst_maela_meadows_notonquest_16832d73.mp3", "I simply love this view.", "", 3857807927, 2547090735, Spawn) + end +end + +------------------------------------------------------------------------------------ +-- QUEST 1 +------------------------------------------------------------------------------------ + +function WaterfallCalming(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sometimes we all need to be calmed.", "dlg_14_1") + AddConversationOption(conversation, "Perhaps I will view it later.") + StartConversation(conversation, NPC, Spawn, "The waterfall can be so calming. Don't you think?") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows002.mp3", "", "", 1134137897, 143123492, Spawn) + AddConversationOption(conversation, "Oh, no reason. Life can get to us all. What about yourself?", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "You read my thoughts! Why have you come to calm yourself, friend?") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows003.mp3", "", "", 3490828923, 1776770993, Spawn) + AddConversationOption(conversation, "Are you certain?", "IAmCertain") + StartConversation(conversation, NPC, Spawn, "No reason for me either.") +end + +function IAmCertain(NPC, Spawn) + SetStepComplete(Spawn, HELPING_A_FRIEND, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Good day.") + StartConversation(conversation, NPC, Spawn, "I am certain, but thanks.") +end + +------------------------------------------------------------------------------ +-- QUEST 2 +------------------------------------------------------------------------------ + +function HelloAgain(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows002.mp3", "", "", 1134137897, 143123492, Spawn) + AddConversationOption(conversation, "Yes. I also brought these for you.", "dlg_10_1") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Come to watch the calming waters?") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows006.mp3", "", "", 89578648, 3127754238, Spawn) + AddConversationOption(conversation, "You suppose?", "dlg_10_2") + AddConversationOption(conversation, "Don't you like them?", "dlg_10_2") + AddConversationOption(conversation, "Don't you think they're pretty?", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Oh... Shadebloom. Hmm, thank you, I suppose.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows007.mp3", "", "", 3571289059, 2379238420, Spawn) + AddConversationOption(conversation, "I just thought you could use them.", "dlg_12_3") + AddConversationOption(conversation, "Rondo was hoping they would open you up some.", "dlg_13_3") + StartConversation(conversation, NPC, Spawn, "I'm sorry. Please don't take offense, I just don't understand why you picked these flowers for me.") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows008.mp3", "", "", 3621726001, 463966533, Spawn) + AddConversationOption(conversation, "What significance do the flowers have?", "dlg_13_4") + StartConversation(conversation, NPC, Spawn, "Well... these flowers are special to me. I'm sure there is no way you could've known.") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows009.mp3", "", "", 1834924938, 3448661763, Spawn) + AddConversationOption(conversation, "What significance do the flowers have?", "dlg_13_4") + StartConversation(conversation, NPC, Spawn, "That little ruffian! He always knows how to get to me. He must know these flowers mean something to me.") +end + +function dlg_13_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows010.mp3", "", "", 1115627334, 19199546, Spawn) + AddConversationOption(conversation, "Oh, I'm terribly sorry. I didn't realize.", "dlg_14_5") + StartConversation(conversation, NPC, Spawn, "Well, I suppose it won't hurt to tell you. These are the flowers my husband used to give me.") +end + +function dlg_14_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows011.mp3", "", "", 2910641607, 257093534, Spawn) + AddConversationOption(conversation, "What is he doing there?", "dlg_14_6") + StartConversation(conversation, NPC, Spawn, "Oh, don't get too upset. He's not gone, not forever at least. He's just off in the Enchanted Lands.") +end + +function dlg_14_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows011a.mp3", "", "", 2125755974, 213215636, Spawn) + AddConversationOption(conversation, "How long has he been gone?", "dlg_14_7") + StartConversation(conversation, NPC, Spawn, "He's responding to the call that all halflings get. He has returned to what was once our homeland. After we lost Rivervale many of us never thought we would ever get it back. Now, and to my husband especially, reclaiming it seems possible. He couldn't wait that long, however, and has decided he needed to visit.") +end + +function dlg_14_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows012.mp3", "", "", 3231833073, 1031763109, Spawn) + AddConversationOption(conversation, "You have friends you can talk to, right?", "dlg_14_8") + StartConversation(conversation, NPC, Spawn, "Only a couple of weeks. That's why it's so upsetting that I miss him so much. He isn't scheduled back for three months. I don't know if I'll be able to handle it.") +end + +function dlg_14_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows013.mp3", "", "", 9272878, 2191624347, Spawn) + AddConversationOption(conversation, "Do you think any less of the many people who come to you for advice?", "dlg_14_9") + StartConversation(conversation, NPC, Spawn, "Yes, but I hate to complain. I don't like to burden other people with my problems, it makes me feel like I'm not being a good friend.") +end + +function dlg_14_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows014.mp3", "", "", 2061524224, 2107406265, Spawn) + AddConversationOption(conversation, "I'm sure your friends would be very happy to keep you company and lend you support. From what I hear you're a very good listener yourself, I'm sure your friends would jump at the chance to return the favor.", "dlg_14_10") + StartConversation(conversation, NPC, Spawn, "No, I do not.") +end + +function dlg_14_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows015.mp3", "", "", 3752197711, 2604822585, Spawn) + AddConversationOption(conversation, "Probably not.", "dlg_14_11") + StartConversation(conversation, NPC, Spawn, "Oh, you're probably right. I don't suppose I'm doing myself any good trying to bottle up these feelings, either.") +end + +function dlg_14_11(NPC, Spawn) + SetStepComplete(Spawn, HELPING_A_FRIEND_AGAIN, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maela_meadows/qey_village06/quests/maela_meadows/maela_meadows016.mp3", "", "", 1285927202, 381670493, Spawn) + AddConversationOption(conversation, "You're quite welcome.") + StartConversation(conversation, NPC, Spawn, "Thank you so much for your help.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/ManglerXII.lua b/Lua/SpawnScripts/Baubbleshire/ManglerXII.lua new file mode 100755 index 000000000..2cb409f83 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/ManglerXII.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/ManglerXII + Script Purpose : ManglerXII + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + MovementLoopAddLocation(NPC, 827.66, -14.06, -480.5, 3, 0) + MovementLoopAddLocation(NPC, 834.32, -14.02, -476.03, 3, 0) + MovementLoopAddLocation(NPC, 839.95, -13.49, -469.79, 3, 0) + MovementLoopAddLocation(NPC, 847.06, -18.88, -454.96, 3, 0) + MovementLoopAddLocation(NPC, 844.23, -18.96, -434.01, 3, 0) + MovementLoopAddLocation(NPC, 846.6, -19.35, -430.72, 3, 0) + MovementLoopAddLocation(NPC, 842.07, -18.98, -435.68, 3, 0) + MovementLoopAddLocation(NPC, 847.61, -18.01, -458.75, 3, 0) + MovementLoopAddLocation(NPC, 853.84, -18.85, -459.52, 3, 0) + MovementLoopAddLocation(NPC, 866.67, -18.41, -442.31, 3, 0) + MovementLoopAddLocation(NPC, 873.2, -18.48, -436.76, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 874.93, -14.53, -423.92, 3, 0) + MovementLoopAddLocation(NPC, 864.92, -13.09, -422.42, 3, 0) + MovementLoopAddLocation(NPC, 860.02, -12, -417.94, 3, 0) + MovementLoopAddLocation(NPC, 865.7, -13.2, -422.96, 3, 0) + MovementLoopAddLocation(NPC, 873.41, -14.27, -422.8, 3, 0) + MovementLoopAddLocation(NPC, 884.48, -13.88, -431.04, 3, 0) + MovementLoopAddLocation(NPC, 891.23, -14.67, -441.9, 3, 0) + MovementLoopAddLocation(NPC, 893.57, -16.73, -448.56, 3, 0) + MovementLoopAddLocation(NPC, 891.52, -19.16, -461.79, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 882.27, -19.14, -471.52, 3, 0) + MovementLoopAddLocation(NPC, 882.74, -18.56, -481.89, 3, 0) + MovementLoopAddLocation(NPC, 892.26, -17.73, -494.28, 3, 0) + MovementLoopAddLocation(NPC, 893.76, -17.4, -500.52, 3, 0) + MovementLoopAddLocation(NPC, 887.51, -16.56, -510.72, 3, 0) + MovementLoopAddLocation(NPC, 877.19, -17.75, -506.52, 3, 0) + MovementLoopAddLocation(NPC, 868.95, -17.85, -490.44, 3, 0) + MovementLoopAddLocation(NPC, 862.42, -18.29, -485.48, 3, 0) + MovementLoopAddLocation(NPC, 864.92, -18.93, -478.97, 3, 0) + MovementLoopAddLocation(NPC, 860.79, -19.12, -468.87, 3, 0) + MovementLoopAddLocation(NPC, 853.01, -18.57, -465.74, 3, 0) + MovementLoopAddLocation(NPC, 846.36, -17.98, -467.82, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 841.69, -17.75, -479.52, 3, 0) + MovementLoopAddLocation(NPC, 835.11, -17.73, -483.31, 3, 0) + MovementLoopAddLocation(NPC, 832.7, -17.82, -488.98, 3, 0) + MovementLoopAddLocation(NPC, 833.92, -18.19, -495.19, 3, 0) + MovementLoopAddLocation(NPC, 829.61, -17.9, -500.32, 3, 0) + MovementLoopAddLocation(NPC, 828.01, -18.23, -508.81, 3, 0) + MovementLoopAddLocation(NPC, 823.92, -17.52, -507.18, 3, 0) + MovementLoopAddLocation(NPC, 822.69, -14.27, -500.15, 3, 0) + MovementLoopAddLocation(NPC, 827.67, -13.96, -494.09, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(1, 100) <= 25 then + SendMessage(Spawn, GetName(NPC) .. " barks at you.") + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/ManglerXIII.lua b/Lua/SpawnScripts/Baubbleshire/ManglerXIII.lua new file mode 100755 index 000000000..ede3f8bba --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/ManglerXIII.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/ManglerXIII.lua + Script Purpose : ManglerXIII + Script Author : Scatman + Script Date : 2009.05.11 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + MovementLoopAddLocation(NPC, 826.91, -13.66, -490.21, 3, 0) + MovementLoopAddLocation(NPC, 824.42, -13.35, -493.6, 3, 0) + MovementLoopAddLocation(NPC, 825.03, -13.73, -497.5, 3, 0) + MovementLoopAddLocation(NPC, 822.44, -17.12, -506.62, 3, 0) + MovementLoopAddLocation(NPC, 824.83, -18.54, -510.6, 3, 0) + MovementLoopAddLocation(NPC, 828.88, -18.33, -509.13, 3, 0) + MovementLoopAddLocation(NPC, 829.91, -17.86, -499.07, 3, 0) + MovementLoopAddLocation(NPC, 833.47, -18.14, -495.41, 3, 0) + MovementLoopAddLocation(NPC, 832.5, -17.83, -490.37, 3, 0) + MovementLoopAddLocation(NPC, 835.44, -17.73, -482.96, 3, 0) + MovementLoopAddLocation(NPC, 839.68, -17.81, -482.37, 3, 0) + MovementLoopAddLocation(NPC, 842.27, -17.76, -477.8, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 843.31, -17.91, -473.83, 3, 0) + MovementLoopAddLocation(NPC, 848.14, -18.12, -465.73, 3, 0) + MovementLoopAddLocation(NPC, 858.82, -18.92, -466.15, 3, 0) + MovementLoopAddLocation(NPC, 864.6, -19.15, -476.37, 3, 0) + MovementLoopAddLocation(NPC, 851.8, -18.62, -485.51, 3, 0) + MovementLoopAddLocation(NPC, 855.88, -18.35, -489.41, 3, 0) + MovementLoopAddLocation(NPC, 863.1, -18.19, -486.36, 3, 0) + MovementLoopAddLocation(NPC, 872.71, -18.18, -498.09, 3, 0) + MovementLoopAddLocation(NPC, 878.42, -17.27, -509.24, 3, 0) + MovementLoopAddLocation(NPC, 886.65, -16.56, -510.88, 3, 0) + MovementLoopAddLocation(NPC, 893.2, -17.23, -501.53, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 891.85, -17.72, -493.99, 3, 0) + MovementLoopAddLocation(NPC, 883.9, -18.4, -484.02, 3, 0) + MovementLoopAddLocation(NPC, 882.57, -19.12, -471.32, 3, 0) + MovementLoopAddLocation(NPC, 889.05, -19.18, -464.32, 3, 0) + MovementLoopAddLocation(NPC, 894.13, -18.26, -453.89, 3, 0) + MovementLoopAddLocation(NPC, 892.86, -14.82, -441.7, 3, 0) + MovementLoopAddLocation(NPC, 882.21, -14.02, -427.67, 3, 0) + MovementLoopAddLocation(NPC, 872, -14.36, -423.21, 3, 0) + MovementLoopAddLocation(NPC, 864.06, -13.03, -422.22, 3, 0) + MovementLoopAddLocation(NPC, 859.19, -11.86, -418.61, 3, 0) + MovementLoopAddLocation(NPC, 863.71, -12.97, -422.26, 3, 0) + MovementLoopAddLocation(NPC, 875.75, -14.65, -424.42, 3, 0) + MovementLoopAddLocation(NPC, 869.91, -18.54, -441.16, 3, 0) + MovementLoopAddLocation(NPC, 858.68, -18.65, -452.03, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 853.68, -18.78, -459.91, 3, 0) + MovementLoopAddLocation(NPC, 843.88, -17.12, -462.44, 3, 0) + MovementLoopAddLocation(NPC, 837.31, -13.68, -472.08, 3, 0) + MovementLoopAddLocation(NPC, 828.05, -14.44, -482.45, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(1, 100) <= 25 then + SendMessage(Spawn, GetName(NPC) .. " barks at you.") + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/MarshalSurefoot.lua b/Lua/SpawnScripts/Baubbleshire/MarshalSurefoot.lua new file mode 100755 index 000000000..cd32df813 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/MarshalSurefoot.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/MarshalSurefoot.lua + Script Purpose : Marshal Surefoot + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local FIGHT_THE_FORGOTTEN_GUARDIANS = 334 -- was 59 + +function spawn(NPC) + ProvidesQuest(NPC, FIGHT_THE_FORGOTTEN_GUARDIANS) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + Begin(NPC, Spawn, conversation) +end + +function Begin(NPC, Spawn, conversation) + if not HasQuest(Spawn, FIGHT_THE_FORGOTTEN_GUARDIANS) and not HasCompletedQuest(Spawn, FIGHT_THE_FORGOTTEN_GUARDIANS) and GetLevel(Spawn) >= 5 then + AddConversationOption(conversation, "Do deputies get paid well?", "PaidWell") + elseif HasQuest(Spawn, FIGHT_THE_FORGOTTEN_GUARDIANS) and GetQuestStep(Spawn, FIGHT_THE_FORGOTTEN_GUARDIANS) == 2 then + AddConversationOption(conversation, "It was amazing! I defeated five forgotten guardians.", "KilledGuardians") + end + + AddConversationOption(conversation, "Sorry to hear that. I must be going.") + StartConversation(conversation, NPC, Spawn, "Stand stout! You'd make a fine deputy.") +end + +function PaidWell(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can face the titans of the forest.", "CanFaceTitans") + AddConversationOption(conversation, "I'm not facing any titans today.") + StartConversation(conversation, NPC, Spawn, "Aha! A mercenary! I can use your mettle for testing the strengths of the enemy. Can you overcome the titants of the forest? What do ya say, soldier?") +end + +function CanFaceTitans(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will face the titans.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Then stand firm and venture to the Forest Ruins. The foes act as Forgotten Guardians. They prey upon the people ... stand tall soldier! Crush a few and return with a tale of victory!") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, FIGHT_THE_FORGOTTEN_GUARDIANS) +end + +function KilledGuardians(NPC, Spawn) + SetStepComplete(Spawn, FIGHT_THE_FORGOTTEN_GUARDIANS, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Farewell Marshal Surefoot.") + StartConversation(conversation, NPC, Spawn, "What bravery! You laughed in the face of death! You are a true protector of the forest realms. I shall seek you out when I recruit my force of Leatherfoot deputies. You are relieved for now.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/MirfGuinders.lua b/Lua/SpawnScripts/Baubbleshire/MirfGuinders.lua new file mode 100755 index 000000000..89332a946 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/MirfGuinders.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/MirfGuinders.lua + Script Purpose : Mirf Guinders + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "", "Search within your soul! Reclaim your faith! Bristlebane lives within us. Do not abandon his mirth! We are not forsaken!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/mirf_guinders/qey_village06/100_mirf_guinders_multhail1_59e52ebd.mp3", "Good adventurer, have faith and be well! Perhaps one day you too may serve Bristlebane!", "", 300423478, 2139393363, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/Misty.lua b/Lua/SpawnScripts/Baubbleshire/Misty.lua new file mode 100755 index 000000000..f40c8c9e9 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/Misty.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/Misty.lua + Script Purpose : Misty + Script Author : Scatman + Script Date : 2009.05.11 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 886.51, -13.74, -433.7, 3, 0) + MovementLoopAddLocation(NPC, 893.35, -15.1, -442.65, 3, 0) + MovementLoopAddLocation(NPC, 893.22, -18.07, -453.45, 3, 0) + MovementLoopAddLocation(NPC, 897.16, -18.12, -463.73, 3, 0) + MovementLoopAddLocation(NPC, 896.33, -17.98, -468.75, 3, 0) + MovementLoopAddLocation(NPC, 884.48, -18.47, -479.11, 3, 0) + MovementLoopAddLocation(NPC, 888.89, -17.96, -490.04, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 893.55, -17.65, -496.84, 3, 0) + MovementLoopAddLocation(NPC, 894.02, -16.24, -519.28, 3, 0) + MovementLoopAddLocation(NPC, 888.24, -13.86, -538.79, 3, 0) + MovementLoopAddLocation(NPC, 880.94, -14.64, -532.11, 3, 0) + MovementLoopAddLocation(NPC, 870.38, -16.37, -530.64, 3, 0) + MovementLoopAddLocation(NPC, 878.59, -16.88, -514.71, 3, 0) + MovementLoopAddLocation(NPC, 870.89, -17.85, -491.59, 3, 0) + MovementLoopAddLocation(NPC, 864.27, -18.18, -485.9, 3, 0) + MovementLoopAddLocation(NPC, 863.76, -18.43, -474.64, 3, 0) + MovementLoopAddLocation(NPC, 855.6, -18.89, -460.24, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 863.53, -18.78, -446.69, 3, 0) + MovementLoopAddLocation(NPC, 872.08, -18.49, -442.15, 3, 0) + MovementLoopAddLocation(NPC, 875.7, -15.04, -425.86, 3, 0) + MovementLoopAddLocation(NPC, 880.6, -13.86, -432.16, 3, 0) + MovementLoopAddLocation(NPC, 880.84, -13.44, -438.9, 3, 0) +end + +function respawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/NeezerGrund.lua b/Lua/SpawnScripts/Baubbleshire/NeezerGrund.lua new file mode 100755 index 000000000..751a02713 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/NeezerGrund.lua @@ -0,0 +1,627 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/NeezerGrund.lua + Script Purpose : Neezer Grund + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Race ID's +local GNOME = 5 + +-- Quest ID's +local SCRAPTASTIC = 328 -- was 26 +local NOGGINSPARK_REACTORS = 329 -- was 27 +local NEEZERS_SURVEY = 330 -- was 28 +local GETTING_TO_KNOW_POKO = 331 -- was 29 + +-- Item ID's +local NEEZERS_QUESTIONS = 10030 + +function spawn(NPC) + ProvidesQuest(NPC, SCRAPTASTIC) + ProvidesQuest(NPC, NOGGINSPARK_REACTORS) + ProvidesQuest(NPC, NEEZERS_SURVEY) + ProvidesQuest(NPC, GETTING_TO_KNOW_POKO) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetRace(Spawn) == GNOME then + Begin(NPC, Spawn, conversation) + else + NotGnome(NPC, Spawn, conversation) + end +end + +function NotGnome(NPC, Spawn, conversation) + AddConversationOption(conversation, "Busy with what?", "BusyWithWhat") + StartConversation(conversation, NPC, Spawn, "Ah yes, hello, hello. I'm afraid I'm quite busy at the moment.") +end + +function BusyWithWhat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Oh...") + AddConversationOption(conversation, "Fine.") + StartConversation(conversation, NPC, Spawn, "Erm... thinking... I'm busy thinking... about gnomish things! I'm busy thinking about gnomish things, I'm afraid you wouldn't understand.") +end + +function Begin(NPC, Spawn, conversation) + if HasCompletedQuest(Spawn, SCRAPTASTIC) then + if HasCompletedQuest(Spawn, NOGGINSPARK_REACTORS) then + if HasCompletedQuest(Spawn, NEEZERS_SURVEY) then + if HasCompletedQuest(Spawn, GETTING_TO_KNOW_POKO) then + SpokenToPokoYet(NPC, Spawn) + elseif HasQuest(Spawn, GETTING_TO_KNOW_POKO) then + SpokenToPokoYet(NPC, Spawn) + else + GatheredInfoYet(NPC, Spawn) + end + elseif HasQuest(Spawn, NEEZERS_SURVEY) then + if GetQuestStep(Spawn, NEEZERS_SURVEY) == 1 then + HelloHowDidItGo(NPC, Spawn) + else + GatheredInfoYet(NPC, Spawn) + end + else + HaveTheReactorsYet(NPC, Spawn) + end + elseif HasQuest(Spawn, NOGGINSPARK_REACTORS) then + HaveTheReactorsYet(NPC, Spawn) + else + CollectMetalYet(NPC, Spawn) + end + elseif HasQuest(Spawn, SCRAPTASTIC) then + CollectMetalYet(NPC, Spawn) + else + NoQuests(NPC, Spawn) + end +end + +function NoQuests(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund003.mp3", "", "", 2398754480, 2380734970, Spawn) + AddConversationOption(conversation, "Wonderful!", "Wonderful") + AddConversationOption(conversation, "Well enough.", "Wonderful") + AddConversationOption(conversation, "I cannot complain.", "Wonderful") + AddConversationOption(conversation, "Not too well.", "NotTooWell") + AddConversationOption(conversation, "Horrible.", "NotTooWell") + StartConversation(conversation, NPC, Spawn, "Hello, hello. Good day to you! How are you doing, my friend?") +end + +function Wonderful(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund004.mp3", "", "", 159402035, 3144243317, Spawn) + AddConversationOption(conversation, "Indeed!", "Indeed") + AddConversationOption(conversation, "I suppose so.", "Indeed") + StartConversation(conversation, NPC, Spawn, "That's good to hear! Nothing helps the mind learn like a sunny disposition.") +end + +function NotTooWell(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund005.mp3", "", "", 3561294899, 2382387513, Spawn) + AddConversationOption(conversation, "Indeed!", "Indeed") + AddConversationOption(conversation, "I suppose so.", "Indeed") + StartConversation(conversation, NPC, Spawn, "Can't win them all, I suppose. But even an upset provides ample opportunity to learn!") +end + +function Indeed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund006.mp3", "", "", 383028818, 2731292797, Spawn) + AddConversationOption(conversation, "Oh, I agree!", "LearningUsefulForAll") + AddConversationOption(conversation, "Sure, I guess.", "LearningUsefulForAll") + StartConversation(conversation, NPC, Spawn, "Learning is what I've structured my life around. Really, most gnomes I know tend to thrive on the thrill of discovery. It's just naturally exhilarating, wouldn't you say?") +end + +function LearningUsefulForAll(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund010.mp3", "", "", 2512061908, 1584382933, Spawn) + AddConversationOption(conversation, "What can you teach me?", "TeachYouAlot") + StartConversation(conversation, NPC, Spawn, "Learning is useful for us all. Heck, I'm sure I could teach you a lot. What do you say, care to learn something?") +end + +function TeachYouAlot(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund011a.mp3", "", "", 1024129290, 1515220544, Spawn) + AddConversationOption(conversation, "Sounds complicated.", "LessonMostGnomesNeverLearn") + StartConversation(conversation, NPC, Spawn, "Well, I can teach you a lot. At least, I hope I can! But if I can't teach you maybe you can teach me! Great how that works! The first thing I'd like to teach you is the importance of not losing sight of things around you even when you're trying to focus on something very specific.") +end + +function LessonMostGnomesNeverLearn(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund011.mp3", "", "", 1744061266, 2073767999, Spawn) + AddConversationOption(conversation, "Socialization?", "BigRoleToPlay") + AddConversationOption(conversation, "The thing after which you're modeling the clockwork?", "ForgetAboutTargetModel") + AddConversationOption(conversation, "Basic needs?", "BigRoleToPlay") + AddConversationOption(conversation, "Complex math?", "BigRoleToPlay") + StartConversation(conversation, NPC, Spawn, "This is a lesson most gnomes never learn, so it's best you get an early start on it. Specifically, in my life at least, it applies to tinkering. The thing is, my ultimate goal when it comes to my clockworks is to make them as realistic as possible. So when I'm tinkering away, what do you imagine the first thing is I lose sight of?") +end + +function BigRoleToPlay(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund012.mp3", "", "", 400046078, 4032605046, Spawn) + AddConversationOption(conversation, "Why is it so important?", "CarveAnOrange") + StartConversation(conversation, NPC, Spawn, "Well, sure, partially. That does have a big role to play, no doubt. But the biggest, most important thing that I outright forget always ends up being the target model.") +end + +function CarveAnOrange(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund014.mp3", "", "", 560118172, 3267242459, Spawn) + AddConversationOption(conversation, "Not very hard.", "CarveSnapSnafu") + StartConversation(conversation, NPC, Spawn, "Well think about this. If you wanted to carve an orange out of a block of wood how hard would it be?") +end + +function CarveSnapSnafu(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund015.mp3", "", "", 1479998599, 3063831444, Spawn) + AddConversationOption(conversation, "A what?", "BetterClockWorkRat") + StartConversation(conversation, NPC, Spawn, "What if you wanted to carve a Compartmental Snap-Snafu?") +end + +function BetterClockWorkRat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund016.mp3", "", "", 1777801851, 3121337531, Spawn) + AddConversationOption(conversation, "Clockwork pineapple?", "PineapplesArentThePoint") + StartConversation(conversation, NPC, Spawn, "Precisely! If I want to make a better clockwork rat I need to study rats. If I want to make a better clockwork wolf I need to study wolves. If I want to make a better clockwork gnome I need to study gnomes. If I want to make a better clockwork pineapple I need to study pineapples!") +end + +function PineapplesArentThePoint(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund017.mp3", "", "", 1454499140, 4215645266, Spawn) + AddConversationOption(conversation, "Yes.", "GettingThingsMostExcellent") + AddConversationOption(conversation, "No.", "ThePointIs") + StartConversation(conversation, NPC, Spawn, "Genius, I know. I'm sure it can be done. But pineapples aren't the point here, the point is to make a point, get it?") +end + +function GettingThingsMostExcellent(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund019.mp3", "", "", 2892273855, 3107559798, Spawn) + AddConversationOption(conversation, "Huh?", "NeedMetalMyGoodGnome") + StartConversation(conversation, NPC, Spawn, "Good! Getting things is most excellent. Speaking of getting things I need you to get something for me.") +end + +function NeedMetalMyGoodGnome(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund020.mp3", "", "", 4025541555, 1679896535, Spawn) + AddConversationOption(conversation, "Am I supposed to learn from this?", "BaubbleshireOverloaded") + StartConversation(conversation, NPC, Spawn, "Metal, my good gnome, metal. The prices have been on a steady rise as of late and, while I can afford it, I am a gnome who enjoys the finer things in life: such as cheap or free metal. That's where you come in.") +end + +function BaubbleshireOverloaded(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund021.mp3", "", "", 695807949, 2739522754, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "MetalCanBeFoundAllAround") + AddConversationOption(conversation, "Sorry, not right now.") + StartConversation(conversation, NPC, Spawn, "Er, why yes. It is vitally important that you do this task in order to expand your horizons. The Baubbleshire is absolutely overloaded with scrap metal, we've got more than we know what to do with. Despite that the brokers are charging outrageous amounts of coin for refined metal. Unfortunately it means more work for me, but I'm going to need you to search the Baubbleshire and collect some scrap metal for me. What do you say?") +end + +function MetalCanBeFoundAllAround(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund022.mp3", "", "", 3604190287, 3119663481, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Great! The metal itself can be found all around the Baubbleshire. Bring it directly back to me once you've found enough.") +end + +function ForgetAboutTargetModel(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund013.mp3", "", "", 3876182189, 1831808866, Spawn) + AddConversationOption(conversation, "Why is it so important?", "CarveAnOrange") + StartConversation(conversation, NPC, Spawn, "Precisely! More than anything else I tend to forget about my target model. And that's a huge mistake.") +end + +function ThePointIs(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund018.mp3", "", "", 2698816568, 2514712329, Spawn) + AddConversationOption(conversation, "I think I get it now.", "GettingThingsMostExcellent") + StartConversation(conversation, NPC, Spawn, "The point is if you lose sight of all but your creations you may forget what you were trying to create in the first place. For some this is acceptable, for others--like myself--it is to be avoided at all costs. Because of this I study people. I'm studying you right now! And, in the end, it helps me in all aspects of my life.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, SCRAPTASTIC) +end + +function CollectMetalYet(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund023.mp3", "", "", 3712250731, 444462007, Spawn) + + if (HasCompletedQuest(Spawn, SCRAPTASTIC) and not HasCompletedQuest(Spawn, NOGGINSPARK_REACTORS)) or (HasQuest(Spawn, SCRAPTASTIC) and GetQuestStep(Spawn, SCRAPTASTIC) == 2) then + AddConversationOption(conversation, "Yes I have.", "GotMetal") + end + + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you collected the metal yet?") +end + +function GotMetal(NPC, Spawn) + if HasQuest(Spawn, SCRAPTASTIC) then + SetStepComplete(Spawn, SCRAPTASTIC, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund024.mp3", "", "", 699637292, 2939226911, Spawn) + AddConversationOption(conversation, "How so?", "LogicPractically") + StartConversation(conversation, NPC, Spawn, "Brilliant! I hope you learned a valuable lesson. I'm learning, too! Gullibility is an important aspect that I have previously completely ignored when trying to design Clockwork Logical Applications. Working with you is really great, by the way. Working with gnomes and understanding them can help you understand your own creations better. There is far more to tinkering than straight mechanics.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +-------------------------------------------------------------------------------------------------------------------------------- + +function LogicPractically(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund025.mp3", "", "", 695225922, 1471596605, Spawn) + AddConversationOption(conversation, "Nogginspark?", "DontKnowTheName") + StartConversation(conversation, NPC, Spawn, "Well, logic and practicality are the basic reasons that drive a machine's existence. If you break gnomes down we're really only made up of logic and practicality too. I know it sounds weird, but I think it will eventually lead to my own breakthrough. Maybe it'll be bigger than Nogginspark!") +end + +function DontKnowTheName(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund026.mp3", "", "", 1318729135, 1687338620, Spawn) + AddConversationOption(conversation, "But who is he?", "NogginsparkWasOnce") + StartConversation(conversation, NPC, Spawn, "It's good that you don't know the name, it means he's keeping out of the public eye.") +end + +function NogginsparkWasOnce(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund027.mp3", "", "", 2506302340, 2745721634, Spawn) + AddConversationOption(conversation, "That isn't surprising.", "NogginsparkWasntVeryKeen") + StartConversation(conversation, NPC, Spawn, "Nogginspark was once a resident of the Baubbleshire. Like myself he was very interested in making his creations more and more life-like. Unlike myself he spent most of his time studying rats. This really started to creep out the citizens of the Baubbleshire.") +end + +function NogginsparkWasntVeryKeen(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund028.mp3", "", "", 801212880, 3491241694, Spawn) + AddConversationOption(conversation, "What did he do?", "HeLeft") + StartConversation(conversation, NPC, Spawn, "Nogginspark wasn't very keen on social politics, but it wasn't hard for him to pick up on how everyone was treating him. Rumors about him were being spread and it became too much for him.") +end + +function HeLeft(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund029.mp3", "", "", 494301261, 212992841, Spawn) + AddConversationOption(conversation, "What is a Nogginspark Reactor?", "AmazingDevice") + StartConversation(conversation, NPC, Spawn, "He left. Disappeared. Just before his greatest breakthrough ever, the Nogginspark Reactor. Those of us that knew him well tried to replicate his work with no success. We don't know how far along in his work he was, but when he disappeared so did the promise of the Nogginspark Reactor.") +end + +function AmazingDevice(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund030.mp3", "", "", 3630655555, 2040609157, Spawn) + AddConversationOption(conversation, "How do you know so much about it.", "SomeWhatClose") + StartConversation(conversation, NPC, Spawn, "It's an amazing device. No bigger than the thumb of a half elf it can produce far more power than any other device of its size. It won't save the world, but it does have a great number of uses. Anything that is small and needs power is best served by a Nogginspark Reactor.") +end + +function SomeWhatClose(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund031.mp3", "", "", 1026846973, 2969612033, Spawn) + AddConversationOption(conversation, "How so?", "VesselsNogginspark") + StartConversation(conversation, NPC, Spawn, "Like I said, Nogginspark and I were somewhat close. In fact, and don't let anyone know this, Nogginspark is still very much alive and well. He didn't like the effect he had on the townspeople so he fled into the Catacombs. But, at the same time, he wanted his device to do good. A few weeks after he disappeared we started noticing more rats in the Baubbleshire. These rats were the key.") +end + +function VesselsNogginspark(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund032.mp3", "", "", 1856257557, 1013614090, Spawn) + AddConversationOption(conversation, "That's amazing.", "UseThemInGadgets") + StartConversation(conversation, NPC, Spawn, "They were the vessels through which Nogginspark would transport his reactors to other tinkerers. Rats are annoying but this was no plague, so most people ignored them. As it turns out, these weren't rats at all, merely very well-crafted replicas. Some of Nogginspark's finest work. And each rat is powered by a Nogginspark Reactor. He sends them on a regular basis, and we collect them. He really is a philanthropist.") +end + +function UseThemInGadgets(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund033.mp3", "", "", 3293153605, 462704824, Spawn) + AddConversationOption(conversation, "What must I do?", "FalseRats") + StartConversation(conversation, NPC, Spawn, "Yes, it is! What I'd like you to do is collect some for me. I use them in a number of gadgets and nobody has figured out how to create them yet. This is why we rely on Nogginspark to send more. There are plenty of his rats in the Baubbleshire, they usually hang out near the entrance to the Catacombs.") +end + +function FalseRats(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund034.mp3", "", "", 403739352, 2116282291, Spawn) + AddConversationOption(conversation, "Are they dangerous?", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Just knock those false-rats senseless and remove the reactors. Get seven of them for me, if you would be so kind.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, NOGGINSPARK_REACTORS) +end + +function HaveTheReactorsYet(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund035.mp3", "", "", 394906506, 3033570210, Spawn) + + if (HasCompletedQuest(Spawn, NOGGINSPARK_REACTORS) and not HasCompletedQuest(Spawn, NEEZERS_SURVEY)) or (HasQuest(Spawn, NOGGINSPARK_REACTORS) and GetQuestStep(Spawn, NOGGINSPARK_REACTORS) == 2) then + AddConversationOption(conversation, "Yes, I do.", "GotReactors") + end + + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Do you have the reactors?") +end + +function GotReactors(NPC, Spawn) + if HasQuest(Spawn, NOGGINSPARK_REACTORS) then + SetStepComplete(Spawn, NOGGINSPARK_REACTORS, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund036.mp3", "", "", 813222908, 4004987438, Spawn) + AddConversationOption(conversation, "Halflings?", "YouThoughtAboutHalflings") + StartConversation(conversation, NPC, Spawn, "Ahhh, magnificent. I do appreciate this, really I do. Quickly now, don't think about halflings!") +end + +-------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +-------------------------------------------------------------------------------------------------------------- + +function YouThoughtAboutHalflings(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund037.mp3", "", "", 2556511824, 3361874688, Spawn) + AddConversationOption(conversation, "Does it work?", "WorksWonderfully") + StartConversation(conversation, NPC, Spawn, "You thought about halflings when I said that, didn't you? It's a new technique I'm working on to help gather data about people. Raw data, nothing but the foremost thoughts on the brain. That's why it's got to be quick.") +end + +function WorksWonderfully(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund038.mp3", "", "", 2990773465, 2059831606, Spawn) + AddConversationOption(conversation, "Sure, I guess.", "AskAllOfTheQuestions") + StartConversation(conversation, NPC, Spawn, "Oh it works wonderfully! I bet you're still thinking about halflings. You seem interested, how would you like to help me collect some data?") +end + +function AskAllOfTheQuestions(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund039.mp3", "", "", 1467938151, 2246844233, Spawn) + AddConversationOption(conversation, "What questions?", "SorryHereTheyAre") + StartConversation(conversation, NPC, Spawn, "Great! Go and ask all of the questions to Drundo in the tavern, Remo, who I think may be hiding out in the eastern hills of the Baubbleshire, and Fillzer who was also in the eastern hills last I saw him. Keep in mind, the answers aren't the only important things to note here.") +end + +function SorryHereTheyAre(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund039a.mp3", "", "", 1439058546, 1389547628, Spawn) + AddConversationOption(conversation, "That's strange.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "Sorry, here they are. Ask the questions rapidly once you start, keep their answers fresh. Also, and this is also very important, you must write down the very first word in their answer. With that information I will be able to determine what is on their mind specifically, and whether or not they're actually understanding the question.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, NEEZERS_SURVEY) +end + +function GatheredInfoYet(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund040.mp3", "", "", 167402545, 3218119097, Spawn) + + if (HasCompletedQuest(Spawn, NEEZERS_SURVEY) and not HasCompletedQuest(Spawn, GETTING_TO_KNOW_POKO)) or (HasQuest(Spawn, NEEZERS_SURVEY) and GetQuestStep(Spawn, NEEZERS_SURVEY) == 5) then + AddConversationOption(conversation, "Yes I did.", "GatheredInfo") + elseif HasQuest(Spawn, NEEZERS_SURVEY) then + HelloHowDidItGo(NPC, Spawn) + end + + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you gather the information?") +end + +function HelloHowDidItGo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I need a copy of the questions.", "NeedCopyQuestions") + StartConversation(conversation, NPC, Spawn, "Hello, how did it go?") +end + +function NeedCopyQuestions(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok, I'll be back once I've gotten the answers.") + + -- Neezer's Questions + if HasItem(Spawn, NEEZERS_QUESTIONS) then + StartConversation(conversation, NPC, Spawn, "I already gave you a copy, make sure you check your bags and maybe even your bank, then examine them!") + else + SummonItem(Spawn, NEEZERS_QUESTIONS, 1) + StartConversation(conversation, NPC, Spawn, "Here you go. Come back if you need another copy.") + end +end + +function GatheredInfo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund041.mp3", "", "", 89357876, 2587237282, Spawn) + AddConversationOption(conversation, "Yes.", "Question1") + StartConversation(conversation, NPC, Spawn, "Ok. I'm all set up to record the data but I need you to give it to me in a specific fashion. I'll say 'question one' and you'll give me Drundo's answer, then Remo's answer, then Fillzer's answer. Do you understand?") +end + +function Question1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund042.mp3", "", "", 3205382465, 4154417613, Spawn) + AddConversationOption(conversation, "Erm, leave, variable.", "Question2") + StartConversation(conversation, NPC, Spawn, "Ok. Question one.") +end + +function Question2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund043.mp3", "", "", 1399090384, 3898684702, Spawn) + AddConversationOption(conversation, "What, the, in.", "Question3") + StartConversation(conversation, NPC, Spawn, "All right. Question two.") +end + +function Question3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund044.mp3", "", "", 798104376, 2325700503, Spawn) + AddConversationOption(conversation, "I, nut, going.", "Question4") + StartConversation(conversation, NPC, Spawn, "Question three.") +end + +function Question4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund045.mp3", "", "", 1339784146, 2591203703, Spawn) + AddConversationOption(conversation, "Thermo-what, I, no.", "Question5") + StartConversation(conversation, NPC, Spawn, "All right. Question four.") +end + +function Question5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund046.mp3", "", "", 2378626494, 4165116500, Spawn) + AddConversationOption(conversation, "Who, who, who.", "Question6") + StartConversation(conversation, NPC, Spawn, "Theramwatt?! I can't believe Drundo knew that one! Ok, question five.") +end + +function Question6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund047.mp3", "", "", 2355834496, 4028717093, Spawn) + AddConversationOption(conversation, "I, is, I.", "ATautology") + StartConversation(conversation, NPC, Spawn, "Ouch. Ok, question six.") +end + +function ATautology(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund048.mp3", "", "", 1677411622, 1337570204, Spawn) + AddConversationOption(conversation, "I guess so.", "TakeMeLongTime") + StartConversation(conversation, NPC, Spawn, "A tautology! Interesting! So my answers are: erm leave variable what the in I nut going Thermawatt I no who who who I is I. Wow, this is exciting stuff!") +end + +function TakeMeLongTime(NPC, Spawn) + if HasQuest(Spawn, NEEZERS_SURVEY) then + SetStepComplete(Spawn, NEEZERS_SURVEY, 5) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund049.mp3", "", "", 305933006, 365026974, Spawn) + AddConversationOption(conversation, "Who am I taking this to?", "PokoZing") + AddConversationOption(conversation, "Not a chance.") + StartConversation(conversation, NPC, Spawn, "This is going to take me a long time to decipher. I may never figure it out! Sorry, I'm a bit excited. Listen, while I take care of this I've got a friend who can keep you occupied. In fact, take this part to him for me!") +end + +------------------------------------------------------------------------------------------------------------------------ +-- Quest 4 +------------------------------------------------------------------------------------------------------------------------ + +function PokoZing(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/neezer_grund/qey_village06/quests/neezer_grund/neezer_grund050.mp3", "", "", 2003101354, 3738442152, Spawn) + AddConversationOption(conversation, "I'll deliver this right away.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Poko Zing! You'll find him in the Forest Ruins, which you can get to from here.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, GETTING_TO_KNOW_POKO) +end + +function SpokenToPokoYet(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, GETTING_TO_KNOW_POKO) then + AddConversationOption(conversation, "Yes, I have.", "WonderfulGladToHear") + end + + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you spoken to Poko yet?") +end + +function WonderfulGladToHear(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Wonderful! I'm glad to hear that. Anyway, back to my studying! Keep learning!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/NylaDiggs.lua b/Lua/SpawnScripts/Baubbleshire/NylaDiggs.lua new file mode 100755 index 000000000..f0f280bf8 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/NylaDiggs.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/NylaDiggs.lua + Script Purpose : Nyla Diggs + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : Speaks Stout. +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_base_1/ft/halfling/halfling_base_1_1_garbled_gf_54e55451.mp3", "garbled text not to be translated", "", 1486303618, 2371451914, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_base_1/ft/halfling/halfling_base_1_1_garbled_gf_823f1021.mp3", "garbled text not to be translated", "", 3051197299, 2401133915, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/Oatheaver.lua b/Lua/SpawnScripts/Baubbleshire/Oatheaver.lua new file mode 100755 index 000000000..acafecf13 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/Oatheaver.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/Oatheaver.lua + Script Purpose : Oatheaver + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function InRange(NPC, Spawn) + FaceTarget(NPC, Spawn) + if math.random(1, 100) <= 25 then + SaySomethingRandom(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function SaySomethingRandom(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1226726886, 4190877381, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3623244639, 2766324485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1035878974, 1582137754, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2106259105, 3779666567, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1122140911, 2707150069, Spawn) + end +end diff --git a/Lua/SpawnScripts/Baubbleshire/PeonaToughins.lua b/Lua/SpawnScripts/Baubbleshire/PeonaToughins.lua new file mode 100755 index 000000000..e3bfa004d --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/PeonaToughins.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/PeonaToughins.lua + Script Purpose : Peona Toughins + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericArmorsmithVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + FaceTarget(NPC, Spawn) + GenericArmorsmithHail(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/armorer_peona_toughins/qey_village06/quests/armorer_peona_toughins/armorer_peona_toughins001.mp3", "", "", 3593368605, 1432200573, Spawn) + AddConversationOption(conversation, "Maybe some other time.") + StartConversation(conversation, NPC, Spawn, "Dare I say, it's a fine day for shopping. How can I help you?") +end diff --git a/Lua/SpawnScripts/Baubbleshire/PirnookValewine.lua b/Lua/SpawnScripts/Baubbleshire/PirnookValewine.lua new file mode 100755 index 000000000..62661218e --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/PirnookValewine.lua @@ -0,0 +1,99 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/PirnookValewine.lua + Script Purpose : Pirnook Valewine + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_000.mp3", "", "", 1161953593, 3861334059, Spawn) + AddConversationOption(conversation, "Why the long face?", "dlg_45_1") + AddConversationOption(conversation, "Just as we all have.") + StartConversation(conversation, NPC, Spawn, "Oh! Excuse me for not recognizing your face. I've only just arrived. You know, this place is nice enough, but it still doesn't compare to the Vale ... Aaah, I guess I'll just have to make the best of it.") +end + +function dlg_45_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_001.mp3", "", "", 469707323, 1438321644, Spawn) + AddConversationOption(conversation, "Well, it sounds like you need to talk about something.", "dlg_45_2") + AddConversationOption(conversation, "So much is lost to us all, but you're among friends now.") + StartConversation(conversation, NPC, Spawn, "Oh, I just miss the Vale terribly, and I know that I'll never see it again. It'll never be as it was before, well, before I came here, anyway.") +end + +function dlg_45_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_002.mp3", "", "", 2224643347, 542143669, Spawn) + AddConversationOption(conversation, "What have you seen? It's ok, talking will make you feel better.", "dlg_47_3") + AddConversationOption(conversation, "Okay, when you're ready, you'll tell your tale.") + StartConversation(conversation, NPC, Spawn, "You're ... you're right, I do, but I'm hesitant. I think that if I talk about it ... if someone else knows what I've seen, then ... then it'll be real. I don't want it to be real.") +end + +function dlg_47_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_003.mp3", "", "", 731206016, 291679412, Spawn) + AddConversationOption(conversation, "A lot of things have changed since the Cataclysms. Nothing's the same anymore. ", "dlg_47_4") + StartConversation(conversation, NPC, Spawn, "Well ... I ... I can't, I just can't describe the things I've seen. I can tell you what I feel, and what I think, I suppose. Yes, it's better this way. The world should know that the Vale ... well, it just might not be there anymore, at least not in the way we know it.") +end + +function dlg_47_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_004.mp3", "", "", 493600233, 1483940215, Spawn) + AddConversationOption(conversation, "Something recently happened in Rivervale?", "dlg_47_5") + StartConversation(conversation, NPC, Spawn, "Oh, I know. But you see, Rivervale and the Misty Thicket were special; they weren't harmed in the Cataclysms! Somehow our lands survived unscathed! It was a paradise when the rest of the world was broken and shattered.") +end + +function dlg_47_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_005.mp3", "", "", 2664299681, 2936484351, Spawn) + AddConversationOption(conversation, "This sounds really serious. You shouldn't hide this from the world.", "dlg_48_6") + AddConversationOption(conversation, "Alright. You will talk when you're ready.") + StartConversation(conversation, NPC, Spawn, "Yes. It did. Something is happening in the vale at this very moment! It's ... it's terrible! I just ... I just don't want to think about it! I can't! I'm really very sorry, but I just can't. Not yet. I need time, just a little time for the nightmares to go away...") +end + +function dlg_48_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_006.mp3", "", "", 1731561500, 3691799364, Spawn) + AddConversationOption(conversation, "Calm down! What's happened?! What have you seen?", "dlg_48_7") + StartConversation(conversation, NPC, Spawn, "I know, I know, but you haven't seen what I've seen! You haven't heard the screams in the night! Oh, those ghastly, horrific screams of pain and ... and merriment! Cries of merriment in the slaughter! It's ... it's happening now! Right now! They're suffering and I can't help them! No one can help them!") +end + +function dlg_48_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_007.mp3", "", "", 3860679298, 1354308742, Spawn) + AddConversationOption(conversation, "Who brings death and suffering?!", "dlg_48_8") + StartConversation(conversation, NPC, Spawn, "Death and suffering! All of them dead and suffering! They ... they bring it! They revel in it! It's like wine and song to them! They're beyond evil, and they won't stop until they reave every last bit of life from the land!") +end + +function dlg_48_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/pirnook_valewine/qey_village06/lore_pirnook_008.mp3", "", "", 3545121720, 1853628282, Spawn) + AddConversationOption(conversation, "Pirnook? Pirnook?", "dlg_48_9") + StartConversation(conversation, NPC, Spawn, "Terrible, horrible things in the night. They shriek and howl, and then they sing softly and tenderly and sooth the nightmares away. They're here for all of us; they won't stop until they've drained all life away. Oh no, Launa! My sweet Launa! She's still there! I abandoned her! I had to, my sweet Launa, I had to ... you were lost to them, but I couldn't do it! I just couldn't do it! Oh, please forgive me...") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/RalaEurocarry.lua b/Lua/SpawnScripts/Baubbleshire/RalaEurocarry.lua new file mode 100755 index 000000000..319b43002 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/RalaEurocarry.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/RalaEurocarry.lua + Script Purpose : Rala Eurocarry + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +-- Item ID's +local ARTISAN_ESSENTIALS_VOLUME_2 = 31373 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + GenericHail(NPC, Spawn) + + if not HasItem(Spawn, ARTISAN_ESSENTIALS_VOLUME_2, 1) then + AddConversationOption(conversation, "Yes, please teach me.", "dlg_39_1") + AddConversationOption(conversation, "No, not at the moment.") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade, good. We can always use talented artisans. I can help you get started, would you be interested?") + else + Say(NPC, "I have nothing else to teach you for the moment. Please return to me when you have earned enough experience to choose your profession.", Spawn) + end +end + +function dlg_39_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- artisan essentials volume 2 + SummonItem(Spawn, ARTISAN_ESSENTIALS_VOLUME_2, 1) + + AddConversationOption(conversation, "I will start on that now.", "dlg_39_2") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting specialty.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/RebikSprocketrock.lua b/Lua/SpawnScripts/Baubbleshire/RebikSprocketrock.lua new file mode 100755 index 000000000..ac28427b4 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/RebikSprocketrock.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/RebikSprocketrock.lua + Script Purpose : Rebik Sprocketrock + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/rebik_sprocketrock/qey_village06/rebiksprocketrock000.mp3", "", "", 2926752471, 973291816, Spawn) + AddConversationOption(conversation, "Well then, I guess I'll let you get back to your work.") + StartConversation(conversation, NPC, Spawn, "Well met, good friend! I'm busy working on this new lock here! I think it'll be unpickable once I'm done!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/RemoZigg.lua b/Lua/SpawnScripts/Baubbleshire/RemoZigg.lua new file mode 100755 index 000000000..c065d3129 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/RemoZigg.lua @@ -0,0 +1,116 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/RemoZigg.lua + Script Purpose : Remo Zigg + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +-- Quest ID's +local NEEZERS_SURVEY = 330 -- was 28 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, NEEZERS_SURVEY) and not QuestStepIsComplete(Spawn, NEEZERS_SURVEY, 3) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg001.mp3", "", "", 530397481, 3156402510, Spawn) + AddConversationOption(conversation, "I came all the way up here to ask you some questions.", "dlg_55_1") + AddConversationOption(conversation, "Yikes! I'm sorry.") + StartConversation(conversation, NPC, Spawn, "Go away!") + else + GenericHail(NPC, Spawn) + Say(NPC, "Leave me alone!", Spawn) + end +end + +function dlg_55_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg002.mp3", "", "", 1696882002, 3766703540, Spawn) + AddConversationOption(conversation, "But this is important. It's for research.", "dlg_55_2") + StartConversation(conversation, NPC, Spawn, "And I came all the way up here to get away from folks like you asking me questions!") +end + +function dlg_55_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg003.mp3", "", "", 969902427, 1340115911, Spawn) + AddConversationOption(conversation, "First question: if you were to calibrate a Fizzo Torque Wrench for work in Lavastorm and then attempt precisely the same work in Everfrost what difference of calibration would be needed?", "dlg_55_3") + StartConversation(conversation, NPC, Spawn, "Not dealing with you is important to me!") +end + +function dlg_55_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg004.mp3", "", "", 24321375, 955243760, Spawn) + AddConversationOption(conversation, "Probably incorrect! Next question: what is the average measurement between Keen and Preen on a Spectromatic Nest-Druther?", "dlg_55_4") + StartConversation(conversation, NPC, Spawn, "Leave me alone!") +end + +function dlg_55_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg005.mp3", "", "", 919014219, 498815422, Spawn) + AddConversationOption(conversation, "A few more! If given the choice in a vote for the new Queen of Qeynos, would you cast your vote for a nut or a bolt?", "dlg_55_5") + StartConversation(conversation, NPC, Spawn, "The answer is twenty-nine fiftieths of a bolt! Now go!") +end + +function dlg_55_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg006.mp3", "", "", 2991931865, 2089278988, Spawn) + AddConversationOption(conversation, "Though not yet officially proven, which theory concerning thermodynamic particle acceleration and its correlation to metaphysical tides is widely accepted?", "dlg_55_6") + StartConversation(conversation, NPC, Spawn, "Nut! Now leave!") +end + +function dlg_55_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg008.mp3", "", "", 3575168349, 3865802966, Spawn) + AddConversationOption(conversation, "Last question: the Banton particle is supposed to generate high amounts of what?", "dlg_55_7") + StartConversation(conversation, NPC, Spawn, "Who?") +end + +function dlg_55_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg009.mp3", "", "", 995350190, 2609073467, Spawn) + AddConversationOption(conversation, "That's all, thank you for your time!", "dlg_55_8") + StartConversation(conversation, NPC, Spawn, "Is it tension? Is it tension? It's tension, right?") +end + +function dlg_55_8(NPC, Spawn) + SetStepComplete(Spawn, NEEZERS_SURVEY, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg010.mp3", "", "", 1931580317, 4141303042, Spawn) + AddConversationOption(conversation, "You'll have to ask Neezer Grund.", "dlg_55_9") + StartConversation(conversation, NPC, Spawn, "Wait, how did I score?") +end + +function dlg_55_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remo_zigg/qey_village06/quests/remo_zigg/remo_zigg011.mp3", "", "", 2835311022, 1920113561, Spawn) + AddConversationOption(conversation, "That's what everyone says!", "dlg_55_10") + StartConversation(conversation, NPC, Spawn, "Who?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/RondoTheBellyRoundstew.lua b/Lua/SpawnScripts/Baubbleshire/RondoTheBellyRoundstew.lua new file mode 100755 index 000000000..f8e82369e --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/RondoTheBellyRoundstew.lua @@ -0,0 +1,393 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/RondoTheBellyRoundstew.lua + Script Purpose : Rondo "The Belly" Roundstew + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Race ID's +local Halfling = 7 + +-- Quest ID's +local HELPING_A_FRIEND = 323 -- was 70 +local HELPING_A_FRIEND_AGAIN = 324 -- was 71 +local HELPING_SOME_FRIENDS = 325 -- was 72 +local PAYING_OFF_A_SWEET_DEBT = 326 -- was 73 +local A_BUDDING_PRANKSTER = 327 -- was 74 + +-- Item ID's +local PRANK_PREPAREDNESS_KIT = 10574 + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) + ProvidesQuest(NPC, HELPING_A_FRIEND) + ProvidesQuest(NPC, HELPING_A_FRIEND_AGAIN) + ProvidesQuest(NPC, HELPING_SOME_FRIENDS) + ProvidesQuest(NPC, PAYING_OFF_A_SWEET_DEBT) + ProvidesQuest(NPC, A_BUDDING_PRANKSTER) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + GenericHail(NPC, Spawn) + + if GetRace(Spawn) == Halfling then + Begin(NPC, Spawn) + else + NotHalfling(NPC, Spawn) + end +end + +function NotHalfling(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Well hello there. I'd love to help you, but I'm currently busy with folk of a short, round nature. My apologies.", Spawn) +end + +function Begin(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HELPING_A_FRIEND) then + if HasCompletedQuest(Spawn, HELPING_A_FRIEND_AGAIN) then + if HasCompletedQuest(Spawn, HELPING_SOME_FRIENDS) then + if HasCompletedQuest(Spawn, PAYING_OFF_A_SWEET_DEBT) then + if HasCompletedQuest(Spawn, A_BUDDING_PRANKSTER) then + TalkedToRemmyYet(NPC, Spawn, conversation) + elseif HasQuest(Spawn, A_BUDDING_PRANKSTER) then + TalkedToRemmyYet(NPC, Spawn, conversation) + else + DoYouHaveTheHoney(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, PAYING_OFF_A_SWEET_DEBT) then + DoYouHaveTheHoney(NPC, Spawn, conversation) + else + DidTheySuspectAnything(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, HELPING_SOME_FRIENDS) then + if GetQuestStep(Spawn, HELPING_SOME_FRIENDS) == 1 then + Yes(NPC, Spawn, conversation) + else + DidTheySuspectAnything(NPC, Spawn, conversation) + end + else + DidFlowersWork(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, HELPING_A_FRIEND_AGAIN) then + DidFlowersWork(NPC, Spawn, conversation) + else + HowIsMaela(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, HELPING_A_FRIEND) then + HowIsMaela(NPC, Spawn, conversation) + else + HelloFriend(NPC, Spawn, conversation) + end +end + +--------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------- + +function HelloFriend(NPC, Spawn, conversation) + AddConversationOption(conversation, "We're friends already?", "dlg_2_1") + AddConversationOption(conversation, "Hello and goodbye, friendliest friend.") + StartConversation(conversation, NPC, Spawn, "Hello there, friendly friend.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Oh, definitely.", "ThatsRightWeDo") + AddConversationOption(conversation, "Sure, I suppose.", "ThatsRightWeDo") + StartConversation(conversation, NPC, Spawn, "Of course we are! You just offered to buy me a pint if I'm not mistaken, hah! You're the friendly sort, I can tell. And so am I! Perfectly matched to be pals, I'd say. Halflings like us need to stick together, wouldn't you say?") +end + +function ThatsRightWeDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do to help?", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "That's right we do! I'm glad you agree, it's better when we all agree. We've lost so much. Needless arguments and anger and pain and sadness only upset what otherwise could be a fun situation! Sure, we all try to live by this philosophy but for some of us it's tougher than others.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will try to help her.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "To start you can find my friend Maela. The poor lass has been emotional support for myself--and countless other halflings--more times than I can count. The thing is, I don't think anyone's ever taken the time to listen to her problems. I think she would feel bad about asking, and whenever I try to help she backs away. She needs an outlet.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HELPING_A_FRIEND) +end + +function HowIsMaela(NPC, Spawn, conversation) + if (HasCompletedQuest(Spawn, HELPING_A_FRIEND) and not HasCompletedQuest(Spawn, HELPING_A_FRIEND_AGAIN)) or (HasQuest(Spawn, HELPING_A_FRIEND) and GetQuestStep(Spawn, HELPING_A_FRIEND) == 2) then + AddConversationOption(conversation, "She seems perfectly fine. She didn't want to open up at all.", "dlg_7_1") + end + + AddConversationOption(conversation, "I do not know yet.") + StartConversation(conversation, NPC, Spawn, "How is Maela?") +end + +function dlg_7_1(NPC, Spawn) + if HasQuest(Spawn, HELPING_A_FRIEND) then + SetStepComplete(Spawn, HELPING_A_FRIEND, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "That sounds just like her. I hate to have to do this to her, but she's helped me too much for me to ignore her. Around the Baubbleshire you'll find some Misty Thicket Shadebloom flowers. Pick a bouquet for her, I have a feeling that will get her to open up some.") +end + +---------------------------------------------------------------------------------------------- +-- QUEST 2 +---------------------------------------------------------------------------------------------- + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HELPING_A_FRIEND_AGAIN) +end + +function DidFlowersWork(NPC, Spawn, conversation) + if (HasCompletedQuest(Spawn, HELPING_A_FRIEND_AGAIN) and not HasCompletedQuest(Spawn, HELPING_SOME_FRIENDS)) or (HasQuest(Spawn, HELPING_A_FRIEND_AGAIN) and GetQuestStep(Spawn, HELPING_A_FRIEND_AGAIN) == 3) then + AddConversationOption(conversation, "Yes, I think she is doing well.", "dlg_15_1") + end + + AddConversationOption(conversation, "I'm not sure yet.") + StartConversation(conversation, NPC, Spawn, "Did the flowers work?") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "She told me about her husband and the Shadebloom. I think it helped her a lot to finally share with someone, and I think she'll work on sharing more in the future. How did you know about the Shadebloom?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "Oh?") +end + +function dlg_15_2(NPC, Spawn) + if HasQuest(Spawn, HELPING_A_FRIEND_AGAIN) then + SetStepComplete(Spawn, HELPING_A_FRIEND_AGAIN, 3) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, it does.", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "Maela is my friend. I've seen her reaction to those flowers change in the recent weeks. It doesn't take a magician to figure out her husband's absence has gotten to her, but until she admitted it was bothering her there wasn't much we could do to help her. Now that she's admitted it, I'm sure she'll get as much support as she needs. It feels good to help people, doesn't it?") +end + +----------------------------------------------------------------------------------------- +-- QUEST 3 +------------------------------------------------------------------------------------------ + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you mean?", "dlg_15_4") + StartConversation(conversation, NPC, Spawn, "I was hoping you would say that. You know there are many, many ways to help people, right?") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are you saying, exactly?", "dlg_15_5") + StartConversation(conversation, NPC, Spawn, "Well, one thing I love to do is help. Another thing I love to do is joke around and play pranks. And, as luck would have it, playing pranks on people is a good way to let them know someone is paying attention to them. It's therapy, really, I think. Now, I would never think of playing a prank on Maela, she's far too sweet for that. But other halflings don't have the benefit of her disposition, and that makes them targets.") +end + +function dlg_15_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What reputation?", "dlg_15_6") + AddConversationOption(conversation, "Bristlebane?", "dlg_16_6") + StartConversation(conversation, NPC, Spawn, "I'm talking about Bristlebane's Gift, his gift to US. The capacity to learn and grow and laugh and laugh from pranks! Pulling them, having them pulled on us, the benefit of Bristlebane is astounding on the halfling soul. And, I need someone to help me pull off my pranks due to my, eh, reputation.") +end + +function dlg_15_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well, all right.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "Never mind that, for now. Listen, I've got everything prepared, all I need is a little help from you. It shouldn't take too long, and should prove to be immensely hilarious! What do you say?") +end + +function dlg_16_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What reputation?", "dlg_15_6") + StartConversation(conversation, NPC, Spawn, "Bristlebane? Bristlebane? He's inside you right now and you don't even know it. He is of course the god of healing, love and kindness. Or, rather, the god of achieving those things through well-timed pranks. A halfling who doesn't know Bristlebane is, well, is like a flower without petals, or a pie without filling. Trust me, the more you get to know him the more you'll get to like him. Now, what do you say about helping me sidestep my reputation?") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HELPING_SOME_FRIENDS) +end + +function GiveMeKit(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Prank Preparedness Kit + if not HasItem(Spawn, PRANK_PREPAREDNESS_KIT, 1) then + SummonItem(Spawn, PRANK_PREPAREDNESS_KIT, 1) + end + + AddConversationOption(conversation, "Thanks!") + StartConversation(conversation, NPC, Spawn, "Here you go. Good luck!") +end + +function Yes(NPC, Spawn, conversation) + AddConversationOption(conversation, "I need the Prank Preparedness Kit.", "dlg_17_1") + StartConversation(conversation, NPC, Spawn, "Yes?") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Prank Preparedness Kit + if HasItem(Spawn, PRANK_PREPAREDNESS_KIT, 1) then + AddConversationOption(conversation, "Thanks!") + StartConversation(conversation, NPC, Spawn, "It looks like you already have one. You need to examine it, it's in one of your bags or backpacks somewhere.") + else + SummonItem(Spawn, PRANK_PREPAREDNESS_KIT, 1) + AddConversationOption(conversation, "Thanks!") + StartConversation(conversation, NPC, Spawn, "Here you go. Good luck!") + end +end + +function DidTheySuspectAnything(NPC, Spawn, conversation) + if (HasCompletedQuest(Spawn, HELPING_SOME_FRIENDS) and not HasCompletedQuest(Spawn, PAYING_OFF_A_SWEET_DEBT)) or (HasQuest(Spawn, HELPING_SOME_FRIENDS) and GetQuestStep(Spawn, HELPING_SOME_FRIENDS) == 5) then + AddConversationOption(conversation, "I don't think anyone suspected anything.", "dlg_22_1") + end + + AddConversationOption(conversation, "I'm not done yet.") + StartConversation(conversation, NPC, Spawn, "Well? How did it go? Did they suspect anything?") +end + +function dlg_22_1(NPC, Spawn) + if HasQuest(Spawn, HELPING_SOME_FRIENDS) then + SetStepComplete(Spawn, HELPING_SOME_FRIENDS, 5) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That didn't seem very expensive.", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "Wonderful! I can't wait until I next talk to them. That's really the best part, you know. When you tell someone about something that they know you shouldn't know. The look on their face when they realize you must've had some part in their prank is, well, priceless. Ah, I couldn't live life any other way. I just wish pranking wasn't so expensive.") +end + +------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +------------------------------------------------------------------------------------------------------------- + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Is that some kind of threat?", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "I'm a halfling of modest means. I had to call in a number of favors in order to get everything together for that series of pranks. Say, you're just as indictable as I am in this incident, you really should help me pay off some of this debt.") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you need?", "dlg_22_4") + StartConversation(conversation, NPC, Spawn, "No, of course not. But I really would appreciate some help. What do you say?") +end + +function dlg_22_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can help. Which trees will have honey?", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "I used up some favors--and then some--to get those pies just perfect. I owe a chef friend of mine now, and I don't like owing people. I think I know the perfect way to pay her back though. If you could collect some honey from the trees around the Baubbleshire I'm sure that would be a perfect way to pay her back.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, PAYING_OFF_A_SWEET_DEBT) +end + +function DoYouHaveTheHoney(NPC, Spawn, conversation) + if (HasCompletedQuest(Spawn, PAYING_OFF_A_SWEET_DEBT) and not HasCompletedQuest(Spawn, A_BUDDING_PRANKSTER)) or (HasQuest(Spawn, PAYING_OFF_A_SWEET_DEBT) and GetQuestStep(Spawn, PAYING_OFF_A_SWEET_DEBT) == 2) then + AddConversationOption(conversation, "Yes I do.", "dlg_24_1") + end + + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Do you have the honey?") +end + +function dlg_24_1(NPC, Spawn) + if HasQuest(Spawn, PAYING_OFF_A_SWEET_DEBT) then + SetStepComplete(Spawn, PAYING_OFF_A_SWEET_DEBT, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, what do I need to do?", "dlg_24_2") + AddConversationOption(conversation, "No, but thanks.") + StartConversation(conversation, NPC, Spawn, "Ah, wonderful. You're really a big help, you know that? Listen, I've got an idea of how I can pay you back. How would you like to pull a prank of your own?") +end + +---------------------------------------------------------------------------------------- +-- QUEST 5 +---------------------------------------------------------------------------------------- + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok!", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "My friend Remmy is out in the Forest Ruins. He's currently in a small bind with the law, so he's in hiding. It's nothing serious, of course, but it involves a few stolen pies and he doesn't quite have the funds saved up to pay the charges. This is a simple prank but I think it'll be worth it. Just go up to him, act like a Qeynos guard, and call him 'Pie Man Sam.' I'm sure he'll get a huge kick out of it.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, A_BUDDING_PRANKSTER) +end + +function TalkedToRemmyYet(NPC, Spawn, conversation) + if HasCompletedQuest(Spawn, A_BUDDING_PRANKSTER) then + AddConversationOption(conversation, "Yeah, I did.", "HowDidPrankGo") + end + + AddConversationOption(conversation, "I haven't spoken to him yet.") + StartConversation(conversation, NPC, Spawn, "Have you talked to Remmy yet?") +end + +function HowDidPrankGo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "He fell for it big time.", "HahaThatsGreat") + StartConversation(conversation, NPC, Spawn, "How did the prank go?") +end + +function HahaThatsGreat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It was great!") + AddConversationOption(conversation, "It was much more fun than I thought it was going to be.") + AddConversationOption(conversation, "It was okay.") + AddConversationOption(conversation, "It wasn't that exciting.") + StartConversation(conversation, NPC, Spawn, "Ha hah! That's great! I can't wait until I talk to him next, he's going to deny this ever happened, it's going to be great to rub his face in it. I hope you enjoyed pulling the prank!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/SageXoort.lua b/Lua/SpawnScripts/Baubbleshire/SageXoort.lua new file mode 100755 index 000000000..3d24d559f --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/SageXoort.lua @@ -0,0 +1,90 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/SageXoort.lua + Script Purpose : Sage Xoort + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local EMBERS_FOR_XOOT = 333 -- was 57 + +function spawn(NPC) + ProvidesQuest(NPC, EMBERS_FOR_XOOT) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + + if not HasCompletedQuest(Spawn, EMBERS_FOR_XOOT) then + Begin(NPC, Spawn, conversation) + else + DoneQuests(NPC, Spawn) + end +end + +function Begin(NPC, Spawn, conversation) + if not HasQuest(Spawn, EMBERS_FOR_XOOT) and not HasCompletedQuest(Spawn, EMBERS_FOR_XOOT) and GetLevel(Spawn) >= 5 then + AddConversationOption(conversation, "I was just looking at what you were writing there.", "LookingAtWriting") + elseif HasQuest(Spawn, EMBERS_FOR_XOOT) and GetQuestStep(Spawn, EMBERS_FOR_XOOT) == 2 then + AddConversationOption(conversation, "I'm actually the one that's of service here!", "ImOfService") + end + + AddConversationOption(conversation, "I'm just looking around, thanks. ") + StartConversation(conversation, NPC, Spawn, "Hello there! How can I be of service?") +end + +function LookingAtWriting(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What's wrong with fire as a power source?", "WhatsWrongWithFire") + AddConversationOption(conversation, "I don't know. Good luck with that.") + StartConversation(conversation, NPC, Spawn, "Nothing much, just a schematic I'm working on. I can't find a power source for it ... Oh, Solusek's flame! How in the name of Brell can I make this thing work?") +end + +function WhatsWrongWithFire(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll get some.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Fire's no good. It doesn't get hot enough or burn long enough. WAIT! HAH! Oh, you're right! I need a special type of coal. You thought of it, so you can fetch it. I need still-burning embers from the forgotten guardians in the Forest Ruins.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, EMBERS_FOR_XOOT) +end + +function ImOfService(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Here you are. ", "HereYouAre") + StartConversation(conversation, NPC, Spawn, "So, you return with the coals ... I hope you didn't get burned! Let me take a look...") +end + +function HereYouAre(NPC, Spawn) + SetStepComplete(Spawn, EMBERS_FOR_XOOT, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks, it's appreciated.") + StartConversation(conversation, NPC, Spawn, "Oh yes! These shall work nicely! Tell you what -- take this money for your work. I planned on buying a spell for creating a power source but because of your smart thinking and hard work, I need no spell!") +end + +function DoneQuests(NPC, Spawn) + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "", "Oh to Drunder with this! How will I ever be able to get this thing working?", "frustrated", 1689589577, 4560189, Spawn) + else + Say(NPC, "Oops! Sorry friend! I thought you were someone else. Good day now!") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/SmithyFindlebop.lua b/Lua/SpawnScripts/Baubbleshire/SmithyFindlebop.lua new file mode 100755 index 000000000..4823fd434 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/SmithyFindlebop.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/SmithyFindlebop.lua + Script Purpose : Smithy Findlebop + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericWeaponsmithVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + FaceTarget(NPC, Spawn) + GenericWeaponsmithHail(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericWeaponsmithHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Baubbleshire/TawliWhiskwind.lua b/Lua/SpawnScripts/Baubbleshire/TawliWhiskwind.lua new file mode 100755 index 000000000..09461b305 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/TawliWhiskwind.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/TawliWhiskwind.lua + Script Purpose : Tawli Whiskwind + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +local QUEST_FROM_VIDA_NETTLEVILE = 310 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tawli_whiskwind/qey_village06/tawliwhiskwind000.mp3", "", "", 2721335951, 3874016215, Spawn) + if HasQuest(Spawn, QUEST_FROM_VIDA_NETTLEVILE) and GetQuestStep(Spawn, QUEST_FROM_VIDA_NETTLEVILE) == 1 then + AddConversationOption(conversation, "Vida Sweeps asked me to pick up a broom for her. She wore her old one out.", "dlg_2_1") + end + AddConversationOption(conversation, "I'm not really looking for a broom today, but thanks anyway.") + StartConversation(conversation, NPC, Spawn, "Good day to you, deary! I make the most wonderful brooms--strong bristles, stout handles, and quite stylish if you ask me. Great for sweeping off your doorstep or scaring off little critters!") +end + +function dlg_2_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_VIDA_NETTLEVILE, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tawli_whiskwind/qey_village06/tawliwhiskwind001.mp3", "", "", 1438734412, 3399833695, Spawn) + AddConversationOption(conversation, "Thank you. I know she'll put it to work right away.") + StartConversation(conversation, NPC, Spawn, "Well, if anyone can wear out a broom, it's Vida. She sweeps so much you could eat off her spotless floor! Here's her new broom. I hope she uses it well.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/TinkererSpindlecog.lua b/Lua/SpawnScripts/Baubbleshire/TinkererSpindlecog.lua new file mode 100755 index 000000000..d8ba4fa73 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/TinkererSpindlecog.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/TinkererSpindlecog.lua + Script Purpose : Tinkerer Spindlecog + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : Speaking Gnomish +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tinkerer_spindlecog/qey_village06/tinkererspindlecog001.mp3", "", "", 1759041547, 1110190424, Spawn) + AddConversationOption(conversation, "What would you need the stamping device for anyway?", "dlg_27_1") + AddConversationOption(conversation, "Yes, a pity indeed. ") + StartConversation(conversation, NPC, Spawn, "Errgh... If only I could get this blasted stamping mechanism working again! What a pity! I really need this confounded contraption to run smoothly!") +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tinkerer_spindlecog/qey_village06/tinkererspindlecog002.mp3", "", "", 233880122, 4191683346, Spawn) + AddConversationOption(conversation, "I'm afraid I can't right now. Good luck getting it fixed. ") + StartConversation(conversation, NPC, Spawn, "For part of my official duties that I can't tell you about! No matter how rudimentary the system, all government officials must be mysterious about what they do--didn't you know? Someday, I might need to officially stamp something! Say, maybe you can help me!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/Wazzleburn.lua b/Lua/SpawnScripts/Baubbleshire/Wazzleburn.lua new file mode 100755 index 000000000..75b64b9c6 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/Wazzleburn.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/Wazzleburn.lua + Script Purpose : Wazzleburn + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericScribeVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + FaceTarget(NPC, Spawn) + GenericScribeHail(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericScribeHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Baubbleshire/YolaSindlefop.lua b/Lua/SpawnScripts/Baubbleshire/YolaSindlefop.lua new file mode 100755 index 000000000..2b2685bc9 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/YolaSindlefop.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/YolaSindlefop.lua + Script Purpose : Yola Sindlefop + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/yola_sindlefop/qey_village06/yolasindlefop000.mp3", "", "", 2042293032, 669099653, Spawn) + AddConversationOption(conversation, "Sorry to hear that.") + StartConversation(conversation, NPC, Spawn, "Hello there! Isn't this a lovely spot? It's not the vale, but I was too young to really remember much when we left anyway.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/ZipiffClamorclang.lua b/Lua/SpawnScripts/Baubbleshire/ZipiffClamorclang.lua new file mode 100755 index 000000000..78c7ab057 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/ZipiffClamorclang.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/ZipiffClamorclang.lua + Script Purpose : Zipiff Clamorclang + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/zipiff_clamorclang/qey_village06/zipiffclamorclang000.mp3", "", "", 2450977341, 1936083009, Spawn) + AddConversationOption(conversation, "I think I'll move back. It sounds like I really don't want to crimp a cog.") + StartConversation(conversation, NPC, Spawn, "Careful where you walk! I don't want you bending a sprocket or tweaking a spring, and you mustn't crimp a cog! If I have to uncrimp just one more cog...") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/aMistyThicketShadebloom.lua b/Lua/SpawnScripts/Baubbleshire/aMistyThicketShadebloom.lua new file mode 100755 index 000000000..e0e3f9126 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/aMistyThicketShadebloom.lua @@ -0,0 +1,20 @@ + --[[ + Script Name : SpawnScripts/Baubbleshire/aMistyThicketShadebloom.lua + Script Purpose : a Misty Thicket Shadebloom + Script Author : Scatman + Script Date : 2009.09.26 + Script Notes : +--]] + +local HELPING_A_FRIEND_AGAIN = 324 -- was 71 + +function spawn(NPC) + SetRequiredQuest(NPC, HELPING_A_FRIEND_AGAIN, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/aduck1.lua b/Lua/SpawnScripts/Baubbleshire/aduck1.lua new file mode 100755 index 000000000..a2fd33052 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/aduck1.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/aduck1.lua + Script Purpose : a duck + Script Author : Scatman + Script Date : 2009.05.11 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 884.95, -16.29, -517.31, 3, 0) + MovementLoopAddLocation(NPC, 886.49, -16.56, -511.8, 3, 0) + MovementLoopAddLocation(NPC, 893.66, -17.41, -500.2, 3, 0) + MovementLoopAddLocation(NPC, 893.51, -17.7, -496.18, 3, 0) + MovementLoopAddLocation(NPC, 883.13, -18.43, -483.9, 3, 0) + MovementLoopAddLocation(NPC, 882.44, -19.07, -473.49, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 884.19, -19.25, -468.98, 3, 0) + MovementLoopAddLocation(NPC, 890.28, -19.16, -463.74, 3, 0) + MovementLoopAddLocation(NPC, 892.22, -18.87, -457.62, 3, 0) + MovementLoopAddLocation(NPC, 870.25, -18.65, -443.54, 3, 0) + MovementLoopAddLocation(NPC, 863.65, -18.82, -447.37, 3, 0) + MovementLoopAddLocation(NPC, 856.23, -19.49, -457.42, 3, 0) + MovementLoopAddLocation(NPC, 864.64, -19.07, -478.05, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 864.75, -18.1, -486.71, 3, 0) + MovementLoopAddLocation(NPC, 870.82, -17.82, -493.26, 3, 0) + MovementLoopAddLocation(NPC, 884.55, -15.57, -527.9, 3, 0) + MovementLoopAddLocation(NPC, 889.13, -15.57, -526.2, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/aduck2.lua b/Lua/SpawnScripts/Baubbleshire/aduck2.lua new file mode 100755 index 000000000..032dc7270 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/aduck2.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/aduck2.lua + Script Purpose : a duck + Script Author : Scatman + Script Date : 2009.05.11 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 893.18, -15.07, -442.53, 3, 0) + MovementLoopAddLocation(NPC, 882.04, -14.06, -427.71, 3, 0) + MovementLoopAddLocation(NPC, 876.31, -14.85, -425.49, 3, 0) + MovementLoopAddLocation(NPC, 871.78, -18.49, -441.44, 3, 0) + MovementLoopAddLocation(NPC, 861.72, -19.09, -449.21, 3, 0) + MovementLoopAddLocation(NPC, 853.59, -18.92, -458.83, 3, 0) + MovementLoopAddLocation(NPC, 850.55, -18.4, -465.92, 3, 0) + MovementLoopAddLocation(NPC, 845.43, -17.83, -468.68, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 841.25, -17.88, -481.68, 3, 0) + MovementLoopAddLocation(NPC, 835.32, -17.72, -482.92, 3, 0) + MovementLoopAddLocation(NPC, 832.96, -17.83, -488.91, 3, 0) + MovementLoopAddLocation(NPC, 834.34, -18.18, -493.91, 3, 0) + MovementLoopAddLocation(NPC, 829.86, -17.86, -499.12, 3, 0) + MovementLoopAddLocation(NPC, 828.85, -18.26, -507.2, 3, 0) + MovementLoopAddLocation(NPC, 825.29, -18.04, -508.55, 3, 0) + MovementLoopAddLocation(NPC, 823.22, -13.98, -498.94, 3, 0) + MovementLoopAddLocation(NPC, 824.03, -13.34, -494.75, 3, 0) + MovementLoopAddLocation(NPC, 820.18, -9.74, -485.21, 3, 0) + MovementLoopAddLocation(NPC, 820.74, -8.89, -476.69, 3, 0) + MovementLoopAddLocation(NPC, 831.88, -9.6, -468.74, 3, math.random(0, 30)) + MovementLoopAddLocation(NPC, 836.16, -10.86, -465.54, 3, 0) + MovementLoopAddLocation(NPC, 842.85, -16.52, -464.61, 3, 0) + MovementLoopAddLocation(NPC, 850.46, -18.57, -466.87, 3, 0) + MovementLoopAddLocation(NPC, 853.32, -18.56, -464.35, 3, 0) + MovementLoopAddLocation(NPC, 860.08, -19.4, -450.12, 3, 0) + MovementLoopAddLocation(NPC, 871.56, -18.66, -444.38, 3, 0) + MovementLoopAddLocation(NPC, 895.61, -18.79, -457.92, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/beehive.lua b/Lua/SpawnScripts/Baubbleshire/beehive.lua new file mode 100755 index 000000000..6553cf293 --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/beehive.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/beehive.lua + Script Purpose : beehive + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Quest ID's +local PAYING_OFF_A_SWEET_DEBT = 326 -- was 73 + +function spawn(NPC) + SetRequiredQuest(NPC, PAYING_OFF_A_SWEET_DEBT, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, PAYING_OFF_A_SWEET_DEBT) and GetQuestStep(Caster, PAYING_OFF_A_SWEET_DEBT) == 1 and SpellName == "Collect Honey" then + AddStepProgress(Caster, PAYING_OFF_A_SWEET_DEBT, 1, 1) + + if math.random(0, 100) <= 50 then + local bee = SpawnMob(GetZone(Target), 2380067, false, GetX(Caster), GetY(Caster), GetZ(Caster)) + AddHate(Caster, bee, 100) + end + + SpawnSet(Target, "show_command_icon", 0) + SpawnSet(NPC, "show_hand_icon", 0) + AddTimer(Target, 60000, "MakeTargetable") + end +end + +function MakeTargetable(NPC) + SpawnSet(NPC, "show_command_icon", 1) + SpawnSet(NPC, "show_hand_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Baubbleshire/scrapmetal.lua b/Lua/SpawnScripts/Baubbleshire/scrapmetal.lua new file mode 100755 index 000000000..b723f529f --- /dev/null +++ b/Lua/SpawnScripts/Baubbleshire/scrapmetal.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Baubbleshire/scrapmetal.lua + Script Purpose : scrap metal + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local SCRAPTASTIC = 328 -- was 26 + +function spawn(NPC) + SetRequiredQuest(NPC, SCRAPTASTIC, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/AdjunctCaptainRommuls.lua b/Lua/SpawnScripts/BeggarsCourt/AdjunctCaptainRommuls.lua new file mode 100755 index 000000000..613b20545 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/AdjunctCaptainRommuls.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/Adjunct-CaptainRommuls.lua + Script Purpose : Adjunct-Captain Rommuls + Script Author : John Adams (rewritten by Cynnar) + Script Date : 2009.04.07 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local A_BROTHERHOOD_ENFORCER = 1370064 + +function spawn(NPC) + SetMount(NPC, 6831) + SetMountColor(NPC, 1, 1, 1, 255, 1, 1) + + MoveToLocation(NPC, -8.13, 4.00, -42.68, 3, "", true) + MoveToLocation(NPC, -14.43, 3.57, -27.02, 3, "", false) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function Talk1(NPC) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/adjunct-captain_rommuls/fprt_hood04/qst_rommuls_seeexplosion_f4d0194c.mp3", "What's all this?!", "", 2343755495, 1390123839) + local enforcer = GetSpawn(NPC, A_BROTHERHOOD_ENFORCER) + + if enforcer ~= nil then + AddTimer(enforcer, 1500, "E_Talk1") + end +end + +function Talk2(NPC) + local zone = GetZone(NPC) + + local enforcer1 = GetSpawnByLocationID(zone, 403031) + local enforcer2 = GetSpawnByLocationID(zone, 403032) + local enforcer3 = GetSpawnByLocationID(zone, 403033) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/adjunct-captain_rommuls/fprt_hood04/qst_rommuls_grrr_5833be16.mp3", "I have fared better against worse odds... but I shall comply, for now.", "", 148659455, 3381420393) + AddTimer(NPC, 1999, "moveRommuls") + AddTimer(enforcer1, 1999, "move_enforcer1") + AddTimer(enforcer2, 1999, "move_enforcer2") + AddTimer(enforcer3, 1999, "move_enforcer3") +end + +function Talk3(NPC) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/adjunct-captain_rommuls/fprt_hood04/qst_rommuls_ohno_48ef4e64.mp3", "You won't get away with this you... you elves!", "", 2960277190, 1354555525) + AddTimer(NPC, 10000, "DespawnRommulus") +end + +function DespawnRommulus(NPC) + Despawn(NPC) +end + +function moveRommuls(NPC) + MoveToLocation(NPC, -24.59, 2.00, -7.14, 3, "Talk3", true) + MoveToLocation(NPC, -24.59, 2.00, -7.14, 3, "DespawnRommulus", false) + + --if enforcer ~= nil then + --MoveToLocation(enforcer1, -8.13, 4.00, -42.68, 3, "DespawnRommulus", false) + --MoveToLocation(enforcer2, -24.59, 2.00, -7.14, 3, "DespawnRommulus", false) + --MoveToLocation(enforcer3, -24.59, 2.00, -7.14, 3, "DespawnRommulus", false) + --end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/BankerVoranius.lua b/Lua/SpawnScripts/BeggarsCourt/BankerVoranius.lua new file mode 100755 index 000000000..48a9b862c --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/BankerVoranius.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/BankerVoranius.lua + Script Purpose : Banker Voranius + Script Author : John Adams + Script Date : 2009.04.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/banker_voranius/fprt_hood04/bnk_banker_voranius.mp3", "", "", 2601161199, 994867740, Spawn) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Hello there. Voranius is my name. I can help you with all your banking needs.") + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/Beggars_Court_Wanderers.lua b/Lua/SpawnScripts/BeggarsCourt/Beggars_Court_Wanderers.lua new file mode 100755 index 000000000..6f24ab9a8 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/Beggars_Court_Wanderers.lua @@ -0,0 +1,166 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/Beggars_Court_Wanderers.luaBeggars_Court_Wanderers.lua + Script Purpose : Waypoint Path for Beggars_Court_Wanderers.lua + Script Author : Cynnar + Script Date : 7/8/2018 04:07:20 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 76.51, -7.08, 101.84, 2, 0) + MovementLoopAddLocation(NPC, 72.4, -7.08, 101.96, 2, 0) + path = math.random(0, 1) + + if path == 1 then + path_1(NPC) + else + path_2(NPC) + end + MovementLoopAddLocation(NPC, 62.84, -7.08, 94.95, 2, 0) + MovementLoopAddLocation(NPC, 58.33, -7.05, 86.02, 2, 0) + MovementLoopAddLocation(NPC, 57.45, -6.58, 83.55, 2, 0, "ChangeGrid_1") + MovementLoopAddLocation(NPC, 55.85, -6.5, 79.19, 2, 0) + MovementLoopAddLocation(NPC, 52.89, -6.99, 69.56, 2, 0, "ChangeGrid_2") + MovementLoopAddLocation(NPC, 51.17, -6.95, 62.54, 2, 0) + MovementLoopAddLocation(NPC, 45.78, -7, 55.28, 2,0) + MovementLoopAddLocation(NPC, 41.8, -7, 51.68, 2, 3) + path = math.random(0, 1) + + if path == 1 then + path_1_A(NPC) + end + MovementLoopAddLocation(NPC, 42.64, -5, 40.87, 2, 3) + MovementLoopAddLocation(NPC, 43.89, -5, 40.21, 2, 3) + MovementLoopAddLocation(NPC, 27.27, -6, 40.12, 2, 3) + MovementLoopAddLocation(NPC, 24.88, -6, 34.74, 2, 3) + MovementLoopAddLocation(NPC, 16.71, -5.75, 34.48, 2, 3) + MovementLoopAddLocation(NPC, 13.11, -6, 36.49, 2, 3) + MovementLoopAddLocation(NPC, 14.42, -6, 40.24, 2, 3) + MovementLoopAddLocation(NPC, 11.33, -6.25, 43.25, 2, 3) + MovementLoopAddLocation(NPC, -6.66, -6, 35.16, 2, 3) + MovementLoopAddLocation(NPC, -7.45, -6, 33.4, 2, 3) + MovementLoopAddLocation(NPC, -7.41, -6, 33.09, 2, 3) + MovementLoopAddLocation(NPC, -11.25, -6, 30.03, 2, 3) + MovementLoopAddLocation(NPC, -13.45, -6, 23.67, 2, 3) + MovementLoopAddLocation(NPC, -11.78, -5.1, 16.14, 2, 3) + MovementLoopAddLocation(NPC, -16.93, -5, 12.21, 2, 3) + MovementLoopAddLocation(NPC, -20.48, -3.96, 9.01, 2, 3) + MovementLoopAddLocation(NPC, -28.12, -0.75, 5.29, 2, 3) + MovementLoopAddLocation(NPC, -26.82, -0.76, 2.13, 2, 3) + MovementLoopAddLocation(NPC, -19.68, 1.82, 4.93, 2, 3) + MovementLoopAddLocation(NPC, -17.61, 2, 0.15, 2, 3) + MovementLoopAddLocation(NPC, -19.44, 2, -2.54, 2, 3) + MovementLoopAddLocation(NPC, -15.69, 2.09, -6.11, 2, 3) + MovementLoopAddLocation(NPC, -15.05, 3.75, -28.85, 2, 3) + MovementLoopAddLocation(NPC, -12.61, 4, -34.72, 2, 3) + MovementLoopAddLocation(NPC, -14.26, 4, -37.55, 2, 3) + MovementLoopAddLocation(NPC, -8.02, 3, -36.51, 2, 3) + MovementLoopAddLocation(NPC, -5.93, 3.75, -37.63, 2, 3) + MovementLoopAddLocation(NPC, -4.4, 4.44, -39.8, 2, 3) + MovementLoopAddLocation(NPC, 0.06, 5, -38.61, 2, 3) + MovementLoopAddLocation(NPC, -0.62, 5, -37.87, 2, 3) + MovementLoopAddLocation(NPC, -1.49, 5, -34.88, 2, 3) + MovementLoopAddLocation(NPC, 5.47, 4.75, -28.55, 2, 3) + MovementLoopAddLocation(NPC, 12.6, 4.75, -27.41, 2, 3) + MovementLoopAddLocation(NPC, 20.15, 5.25, -32.81, 2, 3) + MovementLoopAddLocation(NPC, 21.55, 5.25, -31.33, 2, 3) + MovementLoopAddLocation(NPC, 19.59, 5.03, -28.83, 2, 3) + MovementLoopAddLocation(NPC, 19.96, 5, -23.39, 2, 3) + MovementLoopAddLocation(NPC, 26.94, 5.25, -20.26, 2, 3) + MovementLoopAddLocation(NPC, 23.5, 5.25, -14.64, 2, 3) + MovementLoopAddLocation(NPC, 31.51, 5.25, -11.6, 2, 3) + MovementLoopAddLocation(NPC, 42.69, 5.25, -15.26, 2, 3) + MovementLoopAddLocation(NPC, 52.8, 5, -21.17, 2, 3) + MovementLoopAddLocation(NPC, 58.2, 5.01, -23.22, 2, 3) + MovementLoopAddLocation(NPC, 53.74, 5, -15.59, 2, 3) + MovementLoopAddLocation(NPC, 45.41, 3.67, -8.05, 2, 3) + MovementLoopAddLocation(NPC, 43.38, 3.5, -5.24, 2, 3) + MovementLoopAddLocation(NPC, 30.73, 3.83, -2.81, 2, 3) + MovementLoopAddLocation(NPC, 17.58, 3.5, -3.76, 2, 3) + MovementLoopAddLocation(NPC, 10.47, 3.5, -5.34, 2, 3) + MovementLoopAddLocation(NPC, 10.93, 3.5, -1.67, 2, 3) + MovementLoopAddLocation(NPC, 20.03, 3.5, 6.08, 2, 3) + MovementLoopAddLocation(NPC, 27.67, 2, 15.87, 2, 3) + MovementLoopAddLocation(NPC, 20.5, 2.08, 17.41, 2, 3) + MovementLoopAddLocation(NPC, 20.81, 2.98, 20.05, 2, 3) + MovementLoopAddLocation(NPC, 20.64, 2, 19.12, 2, 3) + MovementLoopAddLocation(NPC, 34, 2, 14.51, 2, 3) + MovementLoopAddLocation(NPC, 43.07, 2, 16.15, 2, 3) + MovementLoopAddLocation(NPC, 48.67, 2, 17.8, 2, 3) + MovementLoopAddLocation(NPC, 49.89, 2, 22.67, 2, 3) + MovementLoopAddLocation(NPC, 49.77, 1.9, 24.77, 2, 3) + MovementLoopAddLocation(NPC, 46.84, 1.27, 25.5, 2, 3) + MovementLoopAddLocation(NPC, 32.56, -5, 23.54, 2, 3) + MovementLoopAddLocation(NPC, 31.55, -5, 27.34, 2, 3) + MovementLoopAddLocation(NPC, 40.3, -5, 36.87, 2, 3) + MovementLoopAddLocation(NPC, 41.7, -6, 45.4, 2, 3) + MovementLoopAddLocation(NPC, 47.45, -7, 56.29, 2, 3) + MovementLoopAddLocation(NPC, 57.56, -6.97, 62.99, 2, 3, "depop") +end + +function depop(NPC) + Despawn(NPC) +end + +function ChangeGrid_1(NPC) + SetGridID(NPC, 4022248764) +end + +function ChangeGrid_2(NPC) + SetGridID(NPC, 2799241780) +end + +function path_1(NPC) + MovementLoopAddLocation(NPC, 69.32, -7.08, 108.95, 2, 3) + MovementLoopAddLocation(NPC, 64.66, -7.08, 109.92, 2, 3) + MovementLoopAddLocation(NPC, 62.35, -7.08, 109.55, 2, 0) + MovementLoopAddLocation(NPC, 59.48, -7.08, 109.09, 2, 0) + MovementLoopAddLocation(NPC, 58.84, -7.08, 107.72, 2, 0) + MovementLoopAddLocation(NPC, 57.73, -7.08, 105.35, 2, 0) + MovementLoopAddLocation(NPC, 57.57, -7.08, 101.5, 2, 0) + MovementLoopAddLocation(NPC, 58.9, -7.08, 98.79, 2, 0) +end + +function path_2(NPC) + MovementLoopAddLocation(NPC, 68.09, -7.08, 97.75, 2, 0) +end + +function path_1_A(NPC) + MovementLoopAddLocation(NPC, 25, -7, 56.25, 2, 0) + MovementLoopAddLocation(NPC, 17.17, -7, 58.82, 2, 0) + MovementLoopAddLocation(NPC, 16.53, -0.75, 72.89, 2, 0) + MovementLoopAddLocation(NPC, 13.47, -0.12, 75.39, 2, 0) + MovementLoopAddLocation(NPC, 10.45, -0.05, 76.46, 2, 0) + MovementLoopAddLocation(NPC, 10.46, 0.01, 77.78, 2, 0) + MovementLoopAddLocation(NPC, 10.55, -0.05, 76.39, 2, 0) + MovementLoopAddLocation(NPC, 6.8, -1.93, 70.46, 2, 0) + MovementLoopAddLocation(NPC, 7.41, -7, 59.23, 2, 0) + MovementLoopAddLocation(NPC, 2.35, -7, 59.67, 2, 0) + MovementLoopAddLocation(NPC, -6.62, -7, 58.65, 2, 0) + MovementLoopAddLocation(NPC, -15.4, -7, 58.49, 2, 0) + MovementLoopAddLocation(NPC, -20.39, -7, 59.96, 2, 0) + MovementLoopAddLocation(NPC, -23.43, -7, 58.81, 2, 0) + MovementLoopAddLocation(NPC, -23.03, -7, 60.95, 2, 0) + MovementLoopAddLocation(NPC, -23.37, -7, 63.33, 2, 0) + MovementLoopAddLocation(NPC, -21.73, -7, 66.38, 2, 0) + MovementLoopAddLocation(NPC, -20.28, -7, 64.77, 2, 0) + MovementLoopAddLocation(NPC, -15.87, -7, 56.06, 2, 0) + MovementLoopAddLocation(NPC, -11.31, -7, 57.61, 2, 0) + MovementLoopAddLocation(NPC, -9.91, -7, 46.9, 2, 0) + MovementLoopAddLocation(NPC, -10.81, -7, 40.38, 2, 0) + MovementLoopAddLocation(NPC, -27.28, -6.5, 30.38, 2, 0) + MovementLoopAddLocation(NPC, -31.12, -5.75, 25.53, 2, 0) + MovementLoopAddLocation(NPC, -34.9, -5.75, 25, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/DelcairnSebastian.lua b/Lua/SpawnScripts/BeggarsCourt/DelcairnSebastian.lua new file mode 100755 index 000000000..05571b1c2 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/DelcairnSebastian.lua @@ -0,0 +1,287 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/DelcairnSebastian.lua + Script Purpose : Delcairn Sebastian + Script Author : Unknown (updated by Cynnar 2018.06.13 03:06:49) + Script Date : Unknown + Script Notes : Info was not filled out. Credit goes to the one who wrote the script. +--]] + +local HALFELF_MENTOR_QUEST_1 = 307 -- A Delivery +local HALFELF_MENTOR_QUEST_2 = 308 -- Dirty Work +local HALFELF_MENTOR_QUEST_3 = 315 -- Reel Him In +local HALFELF_MENTOR_QUEST_4 = 317 -- Thaen Sevellos +local HALFELF_MENTOR_QUEST_5 = 319 -- One Last Request + +local LIEUTENANT_CERVAEN = 1370037 +local DELCAIRN_SEBASTIAN = 1370038 + +function spawn(NPC) + ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_2) + ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_4) + ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_5) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_1) then + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_2) then + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_3) then + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_4) then + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_5) then + Say(NPC, "Good work. We appreciate it more than you know.", Spawn) + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_5) then + Say(NPC, "Good work. We appreciate it more than you know.", Spawn) + else + OnQuest4(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + OnQuest3(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn,HALFELF_MENTOR_QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + Say(NPC, "Speak with Cervaen, he will brief you on the plan.", Spawn) + end + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + Welcome(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + Say(NPC, "Please, leave while it still doesn't matter.", Spawn) + end +end + +function respawn(NPC) + spawn(NPC) +end + +-------------------------------------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_1 +-------------------------------------------------------------------------------------------------------------------------------------------- + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_1) == 1 then + Say(NPC, "Please, leave while it still doesn't matter.", Spawn) + elseif GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_1) == 2 then + Welcome(NPC, Spawn, conversation) + end +end + +function Welcome(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn001.mp3", "", "", 144616361, 2775223006, Spawn) + AddConversationOption(conversation, "I would like to help.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Welcome, " .. GetName(Spawn) .. ". What can The Brotherhood do for you? Our conversation can be long or it can be short. Worry not, we will pay you for your delivery.") +end + +function dlg_8_1(NPC, Spawn) + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_1) then + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_1, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn002.mp3", "", "", 718931857, 2390994276, Spawn) + AddConversationOption(conversation, "Rommuls?", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "Ah. But do you know what you want to help with? The Brotherhood attracts many who do not truly believe in its cause. It attracts radicals and anarchists who wish only for pain and torment. We are not that, " .. GetName(Spawn) .. ". We seek only justice. There is a great injustice walking the streets of Beggar's Court even as we speak.") +end + +-------------------------------------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_2 +-------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn003.mp3", "", "", 982292673, 517388621, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "CervaenTalk1") + StartConversation(conversation, NPC, Spawn, "Yes, Rommuls. He dislikes us, and so he uses his power to harass, harm, even kill us. Few in Freeport care of his deeds, let them remain indifferent. The Brotherhood will solve its own problems. I- Cervaen, what is it?") +end + +function CervaenTalk1(NPC, Spawn) + local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN) + + FaceTarget(Cervaen, NPC) + conversation = CreateConversation() + + PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff000.mp3", "", "", 3243592736, 1629677067, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk1") + StartConversation(conversation, Cervaen, Spawn, "Sir... Thaen, Revlos, Jalya... their mission failed.") +end + +function CervaenTalk2(NPC, Spawn) + local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN) + + FaceTarget(Cervaen, NPC) + conversation = CreateConversation() + + PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff001.mp3", "", "", 1068640212, 1975761301, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk2") + StartConversation(conversation, Cervaen, Spawn, "I just got word from Thavian. Jalya is dead and Thaen is in captivity. Revlos has betrayed us.") +end + +function CervaenTalk3(NPC, Spawn) + local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN) + + FaceTarget(Cervaen, NPC) + conversation = CreateConversation() + + PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff002.mp3", "", "", 872569358, 130933055, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk3") + StartConversation(conversation, Cervaen, Spawn, "Thavian doesn't know, sir. All he knows is that Revlos has betrayed us.") +end + +function CervaenTalk4(NPC, Spawn) + local Cervaen = GetSpawn(Spawn, LIEUTENANT_CERVAEN) + + FaceTarget(Cervaen, NPC) + conversation = CreateConversation() + + PlayFlavor(Cervaen, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen_tradeoff003.mp3", "", "", 3371521952, 284772411, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "SebastianTalk4") + StartConversation(conversation, Cervaen, Spawn, "No, sir. But he does know that Revlos' cohorts are meeting to discuss his debriefing. They're meeting at the gates to North Freeport, soon.") +end + +function GoodLoam(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn005.mp3", "", "", 549706285, 563599321, Spawn) + AddConversationOption(conversation, "Both cups?", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Good. Loamshallow is not a member of The Brotherhood but he is sympathetic. He will sell you a vial of poison, Fate's Whisper. Buy it, then proceed to the gates to North Freeport and hide behind the gate. The western side should provide ample cover. Listen to their conversation and learn where Revlos' meeting is to take place, then go there. They will have already set it up for a meeting, there should be cups present, poison them.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn006.mp3", "", "", 3829362296, 3731812523, Spawn) + + if GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_2) == 4 then + AddConversationOption(conversation, "Yes, the cups are poisoned.", "dlg_22_1") + else + AddConversationOption(conversation, "No, not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you done what was required?") +end + +function dlg_22_1(NPC, Spawn) + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_2, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn007.mp3", "", "", 2362160812, 2895340086, Spawn) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Good. Revlos... we didn't deserve this. While you were gone Cervaen and I worked over a new plan, speak with him to be briefed.") +end + +--------------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_3 +--------------------------------------------------------------------------------------------------------------------- + +function OnQuest3(NPC, Spawn, conversation) + if (HasQuest(Spawn,HALFELF_MENTOR_QUEST_3) and GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_3) == 4) or (HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_3) and not HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_4)) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn008.mp3", "", "", 3033653265, 2915705439, Spawn) + AddConversationOption(conversation, "That was fast.", "dlg_25_1") + StartConversation(conversation, NPC, Spawn, "You did good, " .. GetName(Spawn) .. ". Rommuls was captured. He will be given justice. The Overlord released a public statement informing the populace of Rommuls' weakness and subsequent termination from his post, his followers will be allowed to remain in the militia but under strict watch.") + else + Say(NPC, "Speak with Cervaen, he will brief you on the plan.", Spawn) + end +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn009.mp3", "", "", 2387230376, 93430481, Spawn) + AddConversationOption(conversation, "I see.", "dlg_25_2") + StartConversation(conversation, NPC, Spawn, "Heh, do you think the Overlord really cares about what goes on in these districts? Some office of the government--who knew it was going to happen a long time ago--released the statement. The Overlord was made aware but obviously didn't care. The Brotherhood has friends in high places. And so, to turn indifference into support is not a hard thing.") +end + +function dlg_25_2(NPC, Spawn) + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_3) then + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_3, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn010.mp3", "", "", 2380606037, 663564868, Spawn) + AddConversationOption(conversation, "You mean Thaen?", "dlg_25_3") + AddConversationOption(conversation, "I cannot help right now.") + StartConversation(conversation, NPC, Spawn, "There is one more mess to clean up, " .. GetName(Spawn) .. ". We would like your help. What do you say?") +end + +--------------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_4 +--------------------------------------------------------------------------------------------------------------------- + +function dlg_25_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn011.mp3", "", "", 2589243361, 2803092595, Spawn) + AddConversationOption(conversation, "That doesn't sound too hard.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Yes, Thaen. We've gotten word of where they're holding him, we'd like you to go free him. Their forces are weak, you should have no trouble. He's just north of here, in a run down building.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn013.mp3", "", "", 284231717, 1738375836, Spawn) + + if (HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) and GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_4) == 2) or (HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_4) and not HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_5)) then + AddConversationOption(conversation, "Yes, Thaen is safe.", "dlg_30_1") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you freed Thaen?") +end + +function dlg_30_1(NPC, Spawn) + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) then + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_4, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn014.mp3", "", "", 2285068924, 2141156467, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_30_2") + AddConversationOption(conversation, "No, sorry.") + StartConversation(conversation, NPC, Spawn, "Wonderful. Your arrival was at a key moment, a tragedy--a severe tragedy--ended with your help. As the Brotherhood preaches, balance is everything. I would like you to speak with someone. He is not of the Brotherhood, but his goals and ours are paired. Will you help us more?") +end + +--------------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_5 +--------------------------------------------------------------------------------------------------------------------- + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn015.mp3", "", "", 3978499677, 3940019071, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Good. Go speak with Inquisitor Thorson in the Sunken City. Do as he asks, you will help us more than you know. Thank you again for all your help. If you go to the docks here in Beggar's Court you can use the Mariner's Bell to get to Sunken City.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_5) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/Kith.lua b/Lua/SpawnScripts/BeggarsCourt/Kith.lua new file mode 100755 index 000000000..d3dd94571 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/Kith.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/Kith.lua + Script Author : Cynnar + Script Date : 2018.07.08 10:07:36 + Script Purpose : + : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function waypoints(NPC)local X = GetX(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MoveToLocation(NPC, 24.70, 3.50, 1.07) + MovementLoopAddLocation(NPC, X + math.random(3,10), Y, Z + math.random(3,10), 2, math.random(20,45)) + MovementLoopAddLocation(NPC, 24.70, 3.50, 1.07, 2, 0) + MovementLoopAddLocation(NPC, X - math.random(3,10), Y, Z - math.random(3,10), 2, math.random(20,45)) + MovementLoopAddLocation(NPC, 24.70, 3.50, 1.07, 2, 0) + MovementLoopAddLocation(NPC, X + math.random(3,10), Y, Z + math.random(3,10), 2, math.random(20,45)) + MovementLoopAddLocation(NPC, 24.70, 3.50, 1.07, 2, 0) + MovementLoopAddLocation(NPC, X - math.random(3,10), Y, Z - math.random(3,10), 2, math.random(20,45)) +end diff --git a/Lua/SpawnScripts/BeggarsCourt/LieutenantCervaen.lua b/Lua/SpawnScripts/BeggarsCourt/LieutenantCervaen.lua new file mode 100755 index 000000000..ebef69d33 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/LieutenantCervaen.lua @@ -0,0 +1,200 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/LieutenantCervaen.lua + Script Purpose : Lieutenant Cervaen + Script Author : John Adams (updated by Cynnar 2018.06.13 02:06:19) + Script Date : 2009.04.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local HALFELF_MENTOR_QUEST_1 = 307 -- A Delivery +local HALFELF_MENTOR_QUEST_2 = 308 -- Dirty Work +local HALFELF_MENTOR_QUEST_3 = 315 -- Reel Him In +local HALFELF_MENTOR_QUEST_4 = 317 -- Thaen Sevellos + +local LIEUTENANT_CERVAEN = 1370037 +local DELCAIRN_SEBASTIAN = 1370038 + +function spawn(NPC) + ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_1) then + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_2) then + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_3) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/qst_cervaen_quest3complete_2605c4d2.mp3", "Nicely done, I heard it from 'ere. This should put Beggar's Court in a much better state.", "", 2938982399, 3355150485, Spawn) + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + OurPlan(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_2) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/qst_cervaen_quest1done_b206a1e8.mp3", "Speak with Delcairn for now, please.", "", 3252334581, 753438143, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/qst_cervaen_quest1done_b206a1e8.mp3", "Speak with Delcairn for now, please.", "", 3252334581, 753438143, Spawn) + end + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + Say(NPC, "Yeah? Whadya need?", Spawn) + end +end + +-------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_1 +-------------------------------------------------------------------------------------------------------------- + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_1) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen001.mp3", "", "", 95573357, 894655204, Spawn) + AddConversationOption(conversation, "The Brotherhood Awaits. [hand him the note]", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Yes, what do you need?") + elseif GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_1) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/qst_cervaen_quest1done_b206a1e8.mp3", "Speak with Delcairn for now, please.", "", 3252334581, 753438143, Spawn) + end +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen002.mp3", "", "", 2727322832, 3944021751, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "That we do. Are you interested in helping?") +end + +function dlg_7_2(NPC, Spawn) + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_1, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen003.mp3", "", "", 1755611144, 3257122999, Spawn) + AddConversationOption(conversation, "I will, thank you.") + StartConversation(conversation, NPC, Spawn, "Good. Speak with Delcairn. He'll tell you what you must know.") +end + +-------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_2 +-------------------------------------------------------------------------------------------------------------- + +function SebastianTalk1(NPC, Spawn) + local Sebastian = GetSpawn(Spawn, DELCAIRN_SEBASTIAN) + + FaceTarget(Sebastian, NPC) + conversation = CreateConversation() + + PlayFlavor(Sebastian, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn_tradeoff000.mp3", "", "", 3389160540, 2015613299, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "CervaenTalk2") + StartConversation(conversation, Sebastian, Spawn, "What? What happened?") +end + +function SebastianTalk2(NPC, Spawn) + local Sebastian = GetSpawn(Spawn, DELCAIRN_SEBASTIAN) + + FaceTarget(Sebastian, NPC) + conversation = CreateConversation() + + PlayFlavor(Sebastian, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn_tradeoff001.mp3", "", "", 1732950477, 2016689454, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "CervaenTalk3") + StartConversation(conversation, Sebastian, Spawn, "What?! Revlos' wife is in the ground because of Rommuls, why would he side with him?") +end + +function SebastianTalk3(NPC, Spawn) + local Sebastian = GetSpawn(Spawn, DELCAIRN_SEBASTIAN) + + FaceTarget(Sebastian, NPC) + conversation = CreateConversation() + + PlayFlavor(Sebastian, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn_tradeoff002.mp3", "", "", 2504673641, 4239966724, Spawn) + AddConversationOption(conversation, "[listen to conversation]", "CervaenTalk4") + StartConversation(conversation, Sebastian, Spawn, "To Drundar with Revlos. And Jalya... her loss hurts us. Did Thavian know where they're holding Thaen?") +end + +function SebastianTalk4(NPC, Spawn) + local Sebastian = GetSpawn(Spawn, DELCAIRN_SEBASTIAN) + + FaceTarget(Sebastian, Spawn) + conversation = CreateConversation() + + PlayFlavor(Sebastian, "voiceover/english/tutorial_revamp/delcairn_sebastian/fprt_hood04/quests/delcairn/delcairn004.mp3", "", "", 892666129, 4114076052, Spawn) + AddConversationOption(conversation, "Yes, to the end.", "GoodLoam") + AddConversationOption(conversation, "No, I am sorry.") + StartConversation(conversation, Sebastian, Spawn, "Thank you, Cervaen. You, " .. GetName(Spawn) .. ", we're undermanned, the time to decide is now. Will you help us--to the end?") +end + +-------------------------------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_3 +-------------------------------------------------------------------------------------------------------------------------------------- + +function OurPlan(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen004.mp3", "", "", 890059642, 2034176036, Spawn) + AddConversationOption(conversation, "Where do I fit in?", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "All right. Our plan revolves around a shipment that's been sitting in Beggar's Court--untouched--for some time now. Rommuls has had his eyes on this shipment ever since it arrived. Obviously it's something important to him, right? Well we looked into it, it's contraband reclaimed from members of the militia in all of Freeport's districts. Rommuls believes some of his men know this, and he's trying to catch any of them in a trap.") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen005.mp3", "", "", 1443615249, 408645931, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "Everywhere. We have some supplies stashed around Beggar's court specifically for times like now. They're in barrels marked by The Brotherhood. Go collect some component packs for me, then return here.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen006.mp3", "", "", 1369664151, 2007400535, Spawn) + + if GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_3) == 1 then + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you collected the supplies?") + elseif GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_3) == 2 then + AddConversationOption(conversation, "Yes.", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the supplies?") + elseif GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_3) == 3 then + Say(NPC, "Get to it! This is important.", Spawn) + elseif GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_3) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/qst_cervaen_quest3complete_2605c4d2.mp3", "Nicely done, I heard it from 'ere. This should put Beggar's Court in a much better state.", "", 2938982399, 3355150485, Spawn) + end +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen007.mp3", "", "", 1901158863, 3341418842, Spawn) + AddConversationOption(conversation, "Where is the shipment?", "dlg_24_2") + AddConversationOption(conversation, "A bomb? That sounds too dangerous.", "NobodyWillGetHurt") + StartConversation(conversation, NPC, Spawn, "Good. Now I can use these to put together something that will grab Rommuls' attention. You will be its vehicle, " .. GetName(Spawn) .. ". Take this, it's an explosive device, plant it on the shipment that Rommuls has been watching. It doesn't matter if he sees you do it or not, it will get his attention either way. Get clear of the blast. When Rommuls comes running our people will be in place to escort him quickly out of the public eye.") +end + +function NobodyWillGetHurt(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can.", "dlg_24_2") + StartConversation(conversation, NPC, Spawn, "Nobody will get hurt, trust me. It's a very low-power explosive. This must be done. Can you do this or not?") +end + +function dlg_24_2(NPC, Spawn) + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_3, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_cervaen/fprt_hood04/quests/cervaen/cervaen009.mp3", "", "", 591461731, 3072537228, Spawn) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, NPC, Spawn, "The shipment is in the east end of the northern part of Beggar's Court. It's just a few barrels sitting out all alone, they shouldn't be hard to find. I've given the arcane fuse on the bomb a five second timer. Return to Delcairn when you're done") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/MarcusLevidius.lua b/Lua/SpawnScripts/BeggarsCourt/MarcusLevidius.lua new file mode 100755 index 000000000..901da4a23 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/MarcusLevidius.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/MarcusLevidius.lua + Script Purpose : Marcus Levidius + Script Author : John Adams + Script Date : 2009.04.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 4) + + if choice == 1 then + PlayFlavor(NPC, "", "Yes, yes, hello. I'm busy.", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Oh, drat, I hope not. Oh, sorry, I thought you might have meant the weather.", "confused", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Grim determination has gotten us to where we are now.", "agree", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "One day, we shall reign supreme over the lessers.", "brandish", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/Ro.lua b/Lua/SpawnScripts/BeggarsCourt/Ro.lua new file mode 100755 index 000000000..a31bc94b0 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/Ro.lua @@ -0,0 +1,276 @@ +--[[ + Script Name : Ro.lua + Script Purpose : Waypoint Path for Ro.lua + Script Author : Cynnar + Script Date : 6/24/2018 12:06:55 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 31.89, 5.25, -13.94, 2, 3) + MovementLoopAddLocation(NPC, 39.12, 5.25, -20.88, 2, 3) + MovementLoopAddLocation(NPC, 45.32, 5.25, -18.9, 2, 3) + MovementLoopAddLocation(NPC, 51.19, 5, -23.3, 2, 3) + MovementLoopAddLocation(NPC, 57.85, 5, -22.87, 2, 3) + MovementLoopAddLocation(NPC, 58.4, 5, -23.09, 2, 3) + MovementLoopAddLocation(NPC, 58.69, 5, -22.28, 2, 3) + MovementLoopAddLocation(NPC, 54.85, 4.23, -6.04, 2, 3) + MovementLoopAddLocation(NPC, 44.46, 3.5, -1.09, 2, 3) + MovementLoopAddLocation(NPC, 29.14, 2, 16.16, 2, 3) + MovementLoopAddLocation(NPC, 21.76, 2, 17.66, 2, 3) + MovementLoopAddLocation(NPC, 21.6, 2, 18.49, 2, 3) + MovementLoopAddLocation(NPC, 19.53, 2, 18.84, 2, 3) + MovementLoopAddLocation(NPC, 12.68, 3.5, 1.59, 2, 3) + MovementLoopAddLocation(NPC, 12.97, 3.62, -1.71, 2, 3) + MovementLoopAddLocation(NPC, 9.07, 3.5, -3.65, 2, 3) + MovementLoopAddLocation(NPC, 6.06, 3.5, -3.35, 2, 3) + MovementLoopAddLocation(NPC, 3.66, 3.5, -4.42, 2, 3) + MovementLoopAddLocation(NPC, 4.28, 3.5, -5.76, 2, 3) + MovementLoopAddLocation(NPC, 3.9, 3.5, -8.04, 2, 3) + MovementLoopAddLocation(NPC, 6.76, 3.5, -9.58, 2, 3) + MovementLoopAddLocation(NPC, 8.22, 3.5, -10.58, 2, 3) + MovementLoopAddLocation(NPC, 20.09, 5, -24.6, 2, 3) + MovementLoopAddLocation(NPC, 23.36, 5.25, -27.31, 2, 3) + MovementLoopAddLocation(NPC, 25.49, 5.25, -31.64, 2, 3) + MovementLoopAddLocation(NPC, 24.52, 5.25, -31.48, 2, 3) + MovementLoopAddLocation(NPC, 23.62, 5.25, -34.22, 2, 3) + MovementLoopAddLocation(NPC, 12.21, 4.75, -27.85, 2, 3) + MovementLoopAddLocation(NPC, 9.67, 4.93, -29.19, 2, 3) + MovementLoopAddLocation(NPC, 11.36, 9.07, -37.79, 2, 3) + MovementLoopAddLocation(NPC, 7.93, 8.48, -37.17, 2, 3) + MovementLoopAddLocation(NPC, 4.76, 5, -30.44, 2, 3) + MovementLoopAddLocation(NPC, -2.63, 5, -36.63, 2, 3) + MovementLoopAddLocation(NPC, 1.2, 5, -42.64, 2, 3) + MovementLoopAddLocation(NPC, 2.48, 5, -41.18, 2, 3) + MovementLoopAddLocation(NPC, 2.13, 5, -39.2, 2, 3) + MovementLoopAddLocation(NPC, 3.5, 5, -41.23, 2, 3) + MovementLoopAddLocation(NPC, 3.78, 5, -42.99, 2, 3) + MovementLoopAddLocation(NPC, -5.63, 4, -49.31, 2, 3) + MovementLoopAddLocation(NPC, -9.08, 4, -50.88, 2, 3) + MovementLoopAddLocation(NPC, -10.09, 4.14, -52.67, 2, 3) + MovementLoopAddLocation(NPC, -13.84, 4.35, -59.91, 2, 3) + MovementLoopAddLocation(NPC, -15.72, 4.18, -64.15, 2, 3) + MovementLoopAddLocation(NPC, -13.52, 4.18, -65.1, 2, 3) + MovementLoopAddLocation(NPC, -12.5, 4.18, -66.55, 2, 3) + MovementLoopAddLocation(NPC, -6.27, 4.18, -69.28, 2, 3) + MovementLoopAddLocation(NPC, -8.27, 4.18, -69.36, 2, 3) + MovementLoopAddLocation(NPC, -13.49, 4.18, -67.45, 2, 3) + MovementLoopAddLocation(NPC, -17.19, 4.18, -61.48, 2, 3) + MovementLoopAddLocation(NPC, -15.69, 4.18, -60.48, 2, 3) + MovementLoopAddLocation(NPC, -14.42, 4.45, -58.83, 2, 3) + MovementLoopAddLocation(NPC, -10.21, 4, -50.77, 2, 3) + MovementLoopAddLocation(NPC, -17.42, 4, -45.27, 2, 3) + MovementLoopAddLocation(NPC, -18.65, 4, -42.65, 2, 3) + MovementLoopAddLocation(NPC, -17.96, 4, -41.09, 2, 3) + MovementLoopAddLocation(NPC, -16.12, 4, -40.04, 2, 3) + MovementLoopAddLocation(NPC, -19.01, 4, -41.14, 2, 3) + MovementLoopAddLocation(NPC, -20.76, 4, -38.65, 2, 3) + MovementLoopAddLocation(NPC, -20.24, 3, -26.52, 2, 3) + MovementLoopAddLocation(NPC, -22.28, 2.75, -23.44, 2, 3) + MovementLoopAddLocation(NPC, -21.15, 2, -5.33, 2, 3) + MovementLoopAddLocation(NPC, -17.39, 2, -3.77, 2, 3) + MovementLoopAddLocation(NPC, -18.6, 2, 2.82, 2, 3) + MovementLoopAddLocation(NPC, -19.16, 1.93, 3.8, 2, 3) + MovementLoopAddLocation(NPC, -20.82, 1.86, 3.45, 2, 3) + MovementLoopAddLocation(NPC, -26.74, -0.75, 3.32, 2, 3) + MovementLoopAddLocation(NPC, -27.73, -0.75, 4, 2, 3) + MovementLoopAddLocation(NPC, -27.18, -0.75, 4.97, 2, 3) + MovementLoopAddLocation(NPC, -19.11, -4.9, 10.33, 2, 3) + MovementLoopAddLocation(NPC, -10.74, -6, 28.45, 2, 3) + MovementLoopAddLocation(NPC, -10.09, -6, 31.7, 2, 3) + MovementLoopAddLocation(NPC, -8.78, -6, 32.02, 2, 3) + MovementLoopAddLocation(NPC, -11.76, -7, 46.34, 2, 3) + MovementLoopAddLocation(NPC, -10.38, -7, 52.35, 2, 3) + MovementLoopAddLocation(NPC, -20.36, -7, 59.75, 2, 3) + MovementLoopAddLocation(NPC, -28.29, -7, 62.64, 2, 3) + MovementLoopAddLocation(NPC, -29.92, -7, 61.09, 2, 3) + MovementLoopAddLocation(NPC, -28, -7, 58.89, 2, 3) + MovementLoopAddLocation(NPC, -29.5, -7, 59.88, 2, 3) + MovementLoopAddLocation(NPC, -27.3, -7, 64.82, 2, 3) + MovementLoopAddLocation(NPC, -17.91, -7, 64.97, 2, 3) + MovementLoopAddLocation(NPC, -16.2, -7, 58.23, 2, 3) + MovementLoopAddLocation(NPC, -5.41, -7, 60.05, 2, 3) + MovementLoopAddLocation(NPC, -4.88, -7, 69.88, 2, 3) + MovementLoopAddLocation(NPC, -2.36, -7, 72.47, 2, 3) + MovementLoopAddLocation(NPC, -0.2, -7, 71.85, 2, 3) + MovementLoopAddLocation(NPC, 1.37, -7, 68.81, 2, 3) + MovementLoopAddLocation(NPC, 1.22, -7, 65.93, 2, 3) + MovementLoopAddLocation(NPC, 1.08, -7, 61.67, 2, 3) + MovementLoopAddLocation(NPC, 5.09, -7, 58.3, 2, 3) + MovementLoopAddLocation(NPC, 9.73, -0.07, 76.07, 2, 3) + MovementLoopAddLocation(NPC, 11.93, -0.12, 75.38, 2, 3) + MovementLoopAddLocation(NPC, 14.12, -0.8, 72.82, 2, 3) + MovementLoopAddLocation(NPC, 14.99, -2.13, 70.12, 2, 3) + MovementLoopAddLocation(NPC, 16.25, -2.88, 68.48, 2, 3) + MovementLoopAddLocation(NPC, 15.86, -4.25, 65.81, 2, 3) + MovementLoopAddLocation(NPC, 17.35, -6, 62.35, 2, 3) + MovementLoopAddLocation(NPC, 18.89, -7, 58.81, 2, 3) + MovementLoopAddLocation(NPC, 20.95, -7, 60.44, 2, 3) + MovementLoopAddLocation(NPC, 22.46, -7.07, 62.96, 2, 3) + MovementLoopAddLocation(NPC, 23.77, -7.18, 66.11, 2, 3) + MovementLoopAddLocation(NPC, 25.7, -7.24, 72.83, 2, 3) + MovementLoopAddLocation(NPC, 23.85, -7.18, 73.26, 2, 3) + MovementLoopAddLocation(NPC, 22.32, -7.06, 71.8, 2, 3) + MovementLoopAddLocation(NPC, 23.21, -7.13, 69.35, 2, 3) + MovementLoopAddLocation(NPC, 26.34, -7, 57.37, 2, 3) + MovementLoopAddLocation(NPC, 12.3, -6, 41.11, 2, 3) + MovementLoopAddLocation(NPC, 11.81, -6, 39.58, 2, 3) + MovementLoopAddLocation(NPC, 13.49, -6, 39.86, 2, 3) + MovementLoopAddLocation(NPC, 18.17, -5.95, 35.19, 2, 3) + MovementLoopAddLocation(NPC, 26.94, -6, 35.45, 2, 3) + MovementLoopAddLocation(NPC, 26.08, -6, 38.73, 2, 3) + MovementLoopAddLocation(NPC, 40.11, -5, 37.63, 2, 3) + MovementLoopAddLocation(NPC, 50.26, -5, 35.59, 2, 3) + MovementLoopAddLocation(NPC, 51.44, -5, 40.02, 2, 3) + MovementLoopAddLocation(NPC, 48.81, -5, 40.49, 2, 3) + MovementLoopAddLocation(NPC, 48.14, -5.25, 44.05, 2, 3) + MovementLoopAddLocation(NPC, 49.21, -6.75, 50.11, 2, 3) + MovementLoopAddLocation(NPC, 55.7, -7, 55.11, 2, 3) + MovementLoopAddLocation(NPC, 53.09, -7, 68.61, 2, 3) + MovementLoopAddLocation(NPC, 58.77, -7.05, 86.46, 2, 3) + MovementLoopAddLocation(NPC, 64.03, -7.08, 92.59, 2, 3) + MovementLoopAddLocation(NPC, 74.3, -7.08, 105.02, 2, 3) + MovementLoopAddLocation(NPC, 69.89, -7.08, 109.34, 2, 3) + MovementLoopAddLocation(NPC, 63.19, -7.08, 111.79, 2, 3) + MovementLoopAddLocation(NPC, 59.29, -7.08, 108.61, 2, 3) + MovementLoopAddLocation(NPC, 57.09, -7.08, 99.65, 2, 3) + MovementLoopAddLocation(NPC, 59.29, -7.08, 108.61, 2, 3) + MovementLoopAddLocation(NPC, 63.19, -7.08, 111.79, 2, 3) + MovementLoopAddLocation(NPC, 69.89, -7.08, 109.34, 2, 3) + MovementLoopAddLocation(NPC, 74.3, -7.08, 105.02, 2, 3) + MovementLoopAddLocation(NPC, 64.03, -7.08, 92.59, 2, 3) + MovementLoopAddLocation(NPC, 58.77, -7.05, 86.46, 2, 3) + MovementLoopAddLocation(NPC, 53.09, -7, 68.61, 2, 3) + MovementLoopAddLocation(NPC, 55.7, -7, 55.11, 2, 3) + MovementLoopAddLocation(NPC, 49.21, -6.75, 50.11, 2, 3) + MovementLoopAddLocation(NPC, 48.14, -5.25, 44.05, 2, 3) + MovementLoopAddLocation(NPC, 48.81, -5, 40.49, 2, 3) + MovementLoopAddLocation(NPC, 51.44, -5, 40.02, 2, 3) + MovementLoopAddLocation(NPC, 50.26, -5, 35.59, 2, 3) + MovementLoopAddLocation(NPC, 40.11, -5, 37.63, 2, 3) + MovementLoopAddLocation(NPC, 26.08, -6, 38.73, 2, 3) + MovementLoopAddLocation(NPC, 26.94, -6, 35.45, 2, 3) + MovementLoopAddLocation(NPC, 18.17, -5.95, 35.19, 2, 3) + MovementLoopAddLocation(NPC, 13.49, -6, 39.86, 2, 3) + MovementLoopAddLocation(NPC, 11.81, -6, 39.58, 2, 3) + MovementLoopAddLocation(NPC, 12.3, -6, 41.11, 2, 3) + MovementLoopAddLocation(NPC, 26.34, -7, 57.37, 2, 3) + MovementLoopAddLocation(NPC, 23.21, -7.13, 69.35, 2, 3) + MovementLoopAddLocation(NPC, 22.32, -7.06, 71.8, 2, 3) + MovementLoopAddLocation(NPC, 23.85, -7.18, 73.26, 2, 3) + MovementLoopAddLocation(NPC, 25.7, -7.24, 72.83, 2, 3) + MovementLoopAddLocation(NPC, 23.77, -7.18, 66.11, 2, 3) + MovementLoopAddLocation(NPC, 22.46, -7.07, 62.96, 2, 3) + MovementLoopAddLocation(NPC, 20.95, -7, 60.44, 2, 3) + MovementLoopAddLocation(NPC, 18.89, -7, 58.81, 2, 3) + MovementLoopAddLocation(NPC, 17.35, -6, 62.35, 2, 3) + MovementLoopAddLocation(NPC, 15.86, -4.25, 65.81, 2, 3) + MovementLoopAddLocation(NPC, 16.25, -2.88, 68.48, 2, 3) + MovementLoopAddLocation(NPC, 14.99, -2.13, 70.12, 2, 3) + MovementLoopAddLocation(NPC, 14.12, -0.8, 72.82, 2, 3) + MovementLoopAddLocation(NPC, 11.93, -0.12, 75.38, 2, 3) + MovementLoopAddLocation(NPC, 9.73, -0.07, 76.07, 2, 3) + MovementLoopAddLocation(NPC, 5.09, -7, 58.3, 2, 3) + MovementLoopAddLocation(NPC, 1.08, -7, 61.67, 2, 3) + MovementLoopAddLocation(NPC, 1.22, -7, 65.93, 2, 3) + MovementLoopAddLocation(NPC, 1.37, -7, 68.81, 2, 3) + MovementLoopAddLocation(NPC, -0.2, -7, 71.85, 2, 3) + MovementLoopAddLocation(NPC, -2.36, -7, 72.47, 2, 3) + MovementLoopAddLocation(NPC, -4.88, -7, 69.88, 2, 3) + MovementLoopAddLocation(NPC, -5.41, -7, 60.05, 2, 3) + MovementLoopAddLocation(NPC, -16.2, -7, 58.23, 2, 3) + MovementLoopAddLocation(NPC, -17.91, -7, 64.97, 2, 3) + MovementLoopAddLocation(NPC, -27.3, -7, 64.82, 2, 3) + MovementLoopAddLocation(NPC, -29.5, -7, 59.88, 2, 3) + MovementLoopAddLocation(NPC, -28, -7, 58.89, 2, 3) + MovementLoopAddLocation(NPC, -29.92, -7, 61.09, 2, 3) + MovementLoopAddLocation(NPC, -28.29, -7, 62.64, 2, 3) + MovementLoopAddLocation(NPC, -20.36, -7, 59.75, 2, 3) + MovementLoopAddLocation(NPC, -10.38, -7, 52.35, 2, 3) + MovementLoopAddLocation(NPC, -11.76, -7, 46.34, 2, 3) + MovementLoopAddLocation(NPC, -8.78, -6, 32.02, 2, 3) + MovementLoopAddLocation(NPC, -10.09, -6, 31.7, 2, 3) + MovementLoopAddLocation(NPC, -10.74, -6, 28.45, 2, 3) + MovementLoopAddLocation(NPC, -19.11, -4.9, 10.33, 2, 3) + MovementLoopAddLocation(NPC, -27.18, -0.75, 4.97, 2, 3) + MovementLoopAddLocation(NPC, -27.73, -0.75, 4, 2, 3) + MovementLoopAddLocation(NPC, -26.74, -0.75, 3.32, 2, 3) + MovementLoopAddLocation(NPC, -20.82, 1.86, 3.45, 2, 3) + MovementLoopAddLocation(NPC, -19.16, 1.93, 3.8, 2, 3) + MovementLoopAddLocation(NPC, -18.6, 2, 2.82, 2, 3) + MovementLoopAddLocation(NPC, -17.39, 2, -3.77, 2, 3) + MovementLoopAddLocation(NPC, -21.15, 2, -5.33, 2, 3) + MovementLoopAddLocation(NPC, -22.28, 2.75, -23.44, 2, 3) + MovementLoopAddLocation(NPC, -20.24, 3, -26.52, 2, 3) + MovementLoopAddLocation(NPC, -20.76, 4, -38.65, 2, 3) + MovementLoopAddLocation(NPC, -19.01, 4, -41.14, 2, 3) + MovementLoopAddLocation(NPC, -16.12, 4, -40.04, 2, 3) + MovementLoopAddLocation(NPC, -17.96, 4, -41.09, 2, 3) + MovementLoopAddLocation(NPC, -18.65, 4, -42.65, 2, 3) + MovementLoopAddLocation(NPC, -17.42, 4, -45.27, 2, 3) + MovementLoopAddLocation(NPC, -10.21, 4, -50.77, 2, 3) + MovementLoopAddLocation(NPC, -14.42, 4.45, -58.83, 2, 3) + MovementLoopAddLocation(NPC, -15.69, 4.18, -60.48, 2, 3) + MovementLoopAddLocation(NPC, -17.19, 4.18, -61.48, 2, 3) + MovementLoopAddLocation(NPC, -13.49, 4.18, -67.45, 2, 3) + MovementLoopAddLocation(NPC, -8.27, 4.18, -69.36, 2, 3) + MovementLoopAddLocation(NPC, -6.27, 4.18, -69.28, 2, 3) + MovementLoopAddLocation(NPC, -12.5, 4.18, -66.55, 2, 3) + MovementLoopAddLocation(NPC, -13.52, 4.18, -65.1, 2, 3) + MovementLoopAddLocation(NPC, -15.72, 4.18, -64.15, 2, 3) + MovementLoopAddLocation(NPC, -13.84, 4.35, -59.91, 2, 3) + MovementLoopAddLocation(NPC, -10.09, 4.14, -52.67, 2, 3) + MovementLoopAddLocation(NPC, -9.08, 4, -50.88, 2, 3) + MovementLoopAddLocation(NPC, -5.63, 4, -49.31, 2, 3) + MovementLoopAddLocation(NPC, 3.78, 5, -42.99, 2, 3) + MovementLoopAddLocation(NPC, 3.5, 5, -41.23, 2, 3) + MovementLoopAddLocation(NPC, 2.13, 5, -39.2, 2, 3) + MovementLoopAddLocation(NPC, 2.48, 5, -41.18, 2, 3) + MovementLoopAddLocation(NPC, 1.2, 5, -42.64, 2, 3) + MovementLoopAddLocation(NPC, -2.63, 5, -36.63, 2, 3) + MovementLoopAddLocation(NPC, 4.76, 5, -30.44, 2, 3) + MovementLoopAddLocation(NPC, 7.93, 8.48, -37.17, 2, 3) + MovementLoopAddLocation(NPC, 11.36, 9.07, -37.79, 2, 3) + MovementLoopAddLocation(NPC, 9.67, 4.93, -29.19, 2, 3) + MovementLoopAddLocation(NPC, 12.21, 4.75, -27.85, 2, 3) + MovementLoopAddLocation(NPC, 23.62, 5.25, -34.22, 2, 3) + MovementLoopAddLocation(NPC, 24.52, 5.25, -31.48, 2, 3) + MovementLoopAddLocation(NPC, 25.49, 5.25, -31.64, 2, 3) + MovementLoopAddLocation(NPC, 23.36, 5.25, -27.31, 2, 3) + MovementLoopAddLocation(NPC, 20.09, 5, -24.6, 2, 3) + MovementLoopAddLocation(NPC, 8.22, 3.5, -10.58, 2, 3) + MovementLoopAddLocation(NPC, 6.76, 3.5, -9.58, 2, 3) + MovementLoopAddLocation(NPC, 3.9, 3.5, -8.04, 2, 3) + MovementLoopAddLocation(NPC, 4.28, 3.5, -5.76, 2, 3) + MovementLoopAddLocation(NPC, 3.66, 3.5, -4.42, 2, 3) + MovementLoopAddLocation(NPC, 6.06, 3.5, -3.35, 2, 3) + MovementLoopAddLocation(NPC, 9.07, 3.5, -3.65, 2, 3) + MovementLoopAddLocation(NPC, 12.97, 3.62, -1.71, 2, 3) + MovementLoopAddLocation(NPC, 12.68, 3.5, 1.59, 2, 3) + MovementLoopAddLocation(NPC, 19.53, 2, 18.84, 2, 3) + MovementLoopAddLocation(NPC, 21.6, 2, 18.49, 2, 3) + MovementLoopAddLocation(NPC, 21.76, 2, 17.66, 2, 3) + MovementLoopAddLocation(NPC, 29.14, 2, 16.16, 2, 3) + MovementLoopAddLocation(NPC, 44.46, 3.5, -1.09, 2, 3) + MovementLoopAddLocation(NPC, 54.85, 4.23, -6.04, 2, 3) + MovementLoopAddLocation(NPC, 58.69, 5, -22.28, 2, 3) + MovementLoopAddLocation(NPC, 58.4, 5, -23.09, 2, 3) + MovementLoopAddLocation(NPC, 57.85, 5, -22.87, 2, 3) + MovementLoopAddLocation(NPC, 51.19, 5, -23.3, 2, 3) + MovementLoopAddLocation(NPC, 45.32, 5.25, -18.9, 2, 3) + MovementLoopAddLocation(NPC, 39.12, 5.25, -20.88, 2, 3) + MovementLoopAddLocation(NPC, 31.89, 5.25, -13.94, 2, 3) +end + + diff --git a/Lua/SpawnScripts/BeggarsCourt/RommulsShipment.lua b/Lua/SpawnScripts/BeggarsCourt/RommulsShipment.lua new file mode 100755 index 000000000..30b657276 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/RommulsShipment.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +local HALFELF_MENTOR_QUEST_3 = 315 -- Reel Him In + + +function spawn(NPC) + --SetRequiredQuest(NPC, HALFELF_MENTOR_QUEST_3, 3) + BlownUpBarrel = GetSpawn(NPC, 1370125) + Despawn(BlownUpBarrel) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, HALFELF_MENTOR_QUEST_3) and GetQuestStep(Caster, HALFELF_MENTOR_QUEST_3) == 3 then + SendMessage(Caster, "You place the explosives.") + local barrel1 = GetSpawnByLocationID(GetZone(Caster), 467614) + local barrel2 = GetSpawnByLocationID(GetZone(Caster), 1585458) + local barrel3 = GetSpawnByLocationID(GetZone(Caster), 1585459) + if barrel1 ~= nil then + Despawn(barrel1) + end + + if barrel2 ~= nil then + Despawn(barrel2) + end + + if barrel3 ~= nil then + Despawn(barrel3) + end + + SetStepComplete(Caster, HALFELF_MENTOR_QUEST_3, 3) + + -- Spawn the blown up barrels + SpawnMob(GetZone(Caster), 1370125, false, -19.714, 3.0022, -25.172) + SpawnMob(GetZone(Caster), 1370125, false, -18.3729, 3.00219, -25.7906) + SpawnMob(GetZone(Caster), 1370125, false, -18.1974, 3.0020, -24.3421) + + -- Spawn Adjunct-Captain Rommuls + SpawnMob(GetZone(Caster), 1370065, false, -10.97, 4.13, -53.93) + + -- Spawn 3 Brotherhood enforcers + SpawnByLocationID(GetZone(Caster), 403031) + SpawnByLocationID(GetZone(Caster), 403032) + SpawnByLocationID(GetZone(Caster), 403033) + --SpawnMob(GetZone(Caster), 1370064, false, -13.58, 4.37, -58.36) + --SpawnMob(GetZone(Caster), 1370064, false, -17.60, 2.00, 0.77) + --SpawnMob(GetZone(Caster), 1370064, false, 7.93, 9.12, -39.78) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/ThaenSevellos.lua b/Lua/SpawnScripts/BeggarsCourt/ThaenSevellos.lua new file mode 100755 index 000000000..02646be65 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/ThaenSevellos.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/ThaenSevellos.lua + Script Purpose : Thaen Sevellos + Script Author : John Adams (updated by Cynnar 2018.06.14 11:06:08) + Script Date : 2009.04.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local HALFELF_MENTOR_QUEST_4 = 317 -- Thaen Sevellos + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) then + if GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_4) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thaen_sevellos/fprt_hood04/qst_thaen_onquestfree_b253d1ee.mp3", "I never did get to tell Jalya how I felt... Please... go. I am safe, thank you... but please go.", "", 2501604791, 291772649, Spawn) + elseif GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_4) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thaen_sevellos/fprt_hood04/qst_thaen_free_d04696a6.mp3", "I can leave now, but Jalya's fate has already been determined.", "", 3783338515, 2630298839, Spawn) + end + end +end + diff --git a/Lua/SpawnScripts/BeggarsCourt/ThavianDestrus.lua b/Lua/SpawnScripts/BeggarsCourt/ThavianDestrus.lua new file mode 100755 index 000000000..90294a553 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/ThavianDestrus.lua @@ -0,0 +1,177 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/ThavianDestrus.lua + Script Purpose : Thavian Destrus + Script Author : Scatman (updated by Cynnar 2018.06.13 02:06:21) + Script Date : 2009.04.05 + Script Notes : +--]] + +local HALF_ELF = 6 +local HALFELF_MENTOR_QUEST_1= 307 + +function spawn(NPC) + ProvidesQuest(NPC, HALFELF_MENTOR_QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HALFELF_MENTOR_QUEST_1) then + Say(NPC, "The Brotherhood awaits.", Spawn) + elseif HasQuest(Spawn, HALFELF_MENTOR_QUEST_1) then + Say(NPC, "The Brotherhood awaits.", Spawn) + else + if GetRace(Spawn) == HALF_ELF then + WhyDoYouComeHere(NPC, Spawn, conversation) + else + --PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/qst_thavian_nothalfelf_ccca9558.mp3", "I am not charged with helping you, and so I will not. Good day.", "", 3519862132, 3162907457, Spawn) + end + end +end + +----------------------------------------------------------------------------------------------------------------- +-- A Delivery +----------------------------------------------------------------------------------------------------------------- + +function WhyDoYouComeHere(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian000.mp3", "", "", 2783991640, 3181833189, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Why do you come here, Ayr'Dal?") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian001.mp3", "", "", 3101830372, 2951993261, Spawn) + AddConversationOption(conversation, "I am part high elf.", "dlg_3_2") + AddConversationOption(conversation, "I am part wood elf.", "dlg_2_2") + AddConversationOption(conversation, "I am part dark elf.", "dlg_1_2") + AddConversationOption(conversation, "I have never known.", "MaybeBetter") + StartConversation(conversation, NPC, Spawn, "It is not a hard question, but it is an important one. Look around you, care to notice a certain lack of, shall we say, aesthetics? What is your heritage, from what elves do you come?") +end + +function MaybeBetter(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian005.mp3", "", "", 3937144188, 532707745, Spawn) + AddConversationOption(conversation, "Why do you say that?", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Maybe it's better that way. It will keep people on their toes. The more people think they don't know about you the more powerful you become in their mind. Use this to its full advantage. In these times you need every advantage you can get.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian004.mp3", "", "", 1381606320, 1550291575, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_3_3") + AddConversationOption(conversation, "No.", "WhatIMeanIs") + StartConversation(conversation, NPC, Spawn, "Heh, I believe it. That will make things harder for you, unfortunately. People will expect more from you than they would a half breed from a lesser elf. But it's hard, being part human and all, to live up to their expectations. You'll make it all right, but you need to use both sides of your heritage to their full advantage. You're not as strong as a human or an elf, but you're not nearly as weak, either. Understand?") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian003.mp3", "", "", 1928672703, 433177199, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_3_3") + AddConversationOption(conversation, "No.", "WhatIMeanIs") + StartConversation(conversation, NPC, Spawn, "I pity you, then. One important thing you need to learn about Freeport is that nobody cares for the concerns of a tree-happy elf. Your elven blood gives you a lithe stride, but let only your enemies appreciate that. You must rely on your human nature to survive here, otherwise you'll just be another lost elf with nowhere to call home. Understand?") +end + +function WhatIMeanIs(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "The brotherhood?", "dlg_5_5") + StartConversation(conversation, NPC, Spawn, "What I mean is, don't limit yourself. Cultures differ even within species. Don't try to fit in where you don't belong and will never be welcomed. Instead, be welcomed into the fold of The Brotherhood. We are an advantage few Ayr'Dal--none of those within Qeynos--have. It is a useful tool indeed.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian002.mp3", "", "", 119866088, 1685337170, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_3_3") + AddConversationOption(conversation, "No.", "WhatIMeanIs") + StartConversation(conversation, NPC, Spawn, "Look around, feigned Koada, see any others like you? No, no you don't. Take that to heart. You get by here using your human nature. Your elven abilities come in handy, but try not to broadcast them. Nobody cares if you think something is pretty, or cute. Understand?") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian007.mp3", "", "", 3875610028, 3096383378, Spawn) + AddConversationOption(conversation, "Why do you say that?", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Good. Understanding is a key advantage, and in these times we need all the advantages we can get.") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian008.mp3", "", "", 753788028, 2113721405, Spawn) + AddConversationOption(conversation, "The Brotherhood?", "dlg_5_5") + StartConversation(conversation, NPC, Spawn, "Look around you. Things are bad everywhere, and getting worse. For the Ayr'Dal of Beggar's Court it has recently become a struggle to survive in day-to-day affairs. And, so, The Brotherhood was formed.") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian009.mp3", "", "", 1489419097, 2704508898, Spawn) + AddConversationOption(conversation, "Against the militia?", "dlg_5_6") + StartConversation(conversation, NPC, Spawn, "The Ayr'Dal Brotherhood. In the past we would not have been necessary. But, as of late, we are unfortunately needed. By his own machinations Captain Lusarius Rommuls was transferred to this district. He now serves as Adjunct-Captain of Beggar's Court. Rommuls hates us, Vlaru. And he is doing everything in his power to rid Freeport of our kind. We have no wish to leave, naturally, so we will fight back.") +end + +function dlg_5_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian010.mp3", "", "", 1491391518, 212658016, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_5_7") + AddConversationOption(conversation, "No, I cannot.") + StartConversation(conversation, NPC, Spawn, "No, against Rommuls. Most do not agree with him, but are too afraid to openly oppose him. We are not afraid. Will you help us?") +end + +function dlg_5_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian011.mp3", "", "", 3880227790, 3152826653, Spawn) + AddConversationOption(conversation, "I would like to help here.", "dlg_5_9") + AddConversationOption(conversation, "I would like to help elsewhere.", "dlg_5_8") + StartConversation(conversation, NPC, Spawn, "Good. You can help here, or elsewhere if you wish. It just depends on how much you're willing to risk.") +end + +function dlg_5_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian012.mp3", "", "", 4017582198, 2037655220, Spawn) + AddConversationOption(conversation, "All right, thank you.") + AddConversationOption(conversation, "I changed my mind, I would like to help out here.", "dlg_5_9") + StartConversation(conversation, NPC, Spawn, "All right. Travel to the Sunken City. Speak with Inquisitor Thorson there, his tasks are not those of The Brotherhood, but they serve our needs. Speak not to him of The Brotherhood.") +end + +function dlg_5_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/thavian_destrus/fprt_hood04/quests/thavian/thavian013.mp3", "", "", 2160728632, 1584767054, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + AddConversationOption(conversation, "No.") + StartConversation(conversation, NPC, Spawn, "All right. You can start by delivering a message to the Lieutenant of the Ayr'Dal Brotherhood for me. What do you say? You'll find him on the western end of the northern portion of Beggar's Court. He'll be in a second level room. When you speak to him, tell him The Brotherhood Awaits, he will recognize you.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HALFELF_MENTOR_QUEST_1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodcache.lua b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodcache.lua new file mode 100755 index 000000000..238297352 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodcache.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/aBrotherhoodcache.lua + Script Author : Cynnar + Script Date : 2018.06.22 06:06:40 + Script Purpose : + : +--]] + +local HALFELF_MENTOR_QUEST_3 = 315 -- Reel Him In + +function spawn(NPC) + SetRequiredQuest(NPC, HALFELF_MENTOR_QUEST_3, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + + diff --git a/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer.lua b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer.lua new file mode 100755 index 000000000..947d20c54 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/aBrotherhoodenforcer.lua + Script Purpose : a Brotherhood enforcer + Script Author : John Adams (rewritten by Cynnar) + Script Date : 2009.04.07 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ADJUNCT_CAPTAIN_ROMMULS = 1370065 + +function spawn(NPC) + if GetSpawnLocationID(NPC) == 403031 then + MoveToLocation(NPC, -14.62, 2.25, -6.99, 3, "", true) + MoveToLocation(NPC, -17.68, 3.00, -21.58, 3, "", false) + end + if GetSpawnLocationID(NPC) == 403032 then + MoveToLocation(NPC, -7.44, 4.00, -46.95, 3, "", true) + MoveToLocation(NPC, -15.15, 3.75, -31.27, 3, "checkspawn", false) + end + if GetSpawnLocationID(NPC) == 403033 then + MoveToLocation(NPC, 4.64, 4.75, -27.67, 3, "", true) + MoveToLocation(NPC, -12.87, 3.26, -25.76, 3, "", false) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function E_Talk1(NPC) + PlayFlavor(NPC, "", "Be quiet, don't struggle, and come with us, Rommuls.", "", 1689589577, 4560189, Spawn) + local Rommuls = GetSpawn(NPC, ADJUNCT_CAPTAIN_ROMMULS) + + if Rommuls ~= nil then + AddTimer(Rommuls , 1998, "Talk2") + end +end + +function checkspawn(NPC, Spawn) + local Rommuls = GetSpawn(NPC, ADJUNCT_CAPTAIN_ROMMULS) + + if Rommuls ~= nil then + AddTimer(Rommuls , 30, "Talk1") + end +end + +function move_enforcer1(NPC) + --MoveToLocation(NPC, -8.13, 4.00, -42.68, 3, "Despawn_All", false) was in old spawn script + MoveToLocation(NPC, -24.59, 2.00, -7.14, 3, "Despawn_All", false) +end + +function move_enforcer2(NPC) + MoveToLocation(NPC, -24.59, 2.00, -7.14, 3, "Despawn_All", false) +end + +function move_enforcer3(NPC) + MoveToLocation(NPC, -24.59, 2.00, -7.14, 3, "Despawn_All", false) +end + +function Despawn_All(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer1.lua b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer1.lua new file mode 100755 index 000000000..8fa4a6972 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer1.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -14.62, 2.25, -6.99, 3, 0) + MovementLoopAddLocation(NPC, -17.68, 3.00, -21.58, 3, 10) + MovementLoopAddLocation(NPC, -24.59, 2.00, -7.14, 3, 10, "DespawnBE1") +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function DespawnBE1(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer2.lua b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer2.lua new file mode 100755 index 000000000..44ccdc882 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer2.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -7.44, 4.00, -46.95, 3, 0) + MovementLoopAddLocation(NPC, -15.15, 3.75, -31.27, 3, 6) + MovementLoopAddLocation(NPC, -24.59, 2.00, -7.14, 3, 10, "DespawnBE2") + AddTimer(NPC, 18000, "ComeWithUs") +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function DespawnBE2(NPC) + Despawn(NPC) +end + +function ComeWithUs(NPC) + PlayFlavor(NPC, "", "Be quiet, don't struggle, and come with us, Rommuls.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer3.lua b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer3.lua new file mode 100755 index 000000000..1697e5cd4 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/aBrotherhoodenforcer3.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 4.64, 4.75, -27.67, 3, 0) + MovementLoopAddLocation(NPC, -12.87, 3.26, -25.76, 3, 6) + MovementLoopAddLocation(NPC, -24.59, 2.00, -7.14, 3, 10, "DespawnBE3") +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + + +function DespawnBE3(NPC) + Despawn(NPC) +end + diff --git a/Lua/SpawnScripts/BeggarsCourt/aRommulsloyalist.lua b/Lua/SpawnScripts/BeggarsCourt/aRommulsloyalist.lua new file mode 100755 index 000000000..9768c8d49 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/aRommulsloyalist.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/aRommulsloyalist.lua + Script Purpose : a Rommuls loyalist + Script Author : John Adams (Updated by Cynnar 2018.06.22 09:06:28) + Script Date : 2009.04.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local HALFELF_MENTOR_QUEST_4 = 317 -- Thaen Sevellos + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) and GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_4) == 1 then + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_rommuls_loyalist/fprt_hood04/quests/captor/thug000.mp3", "", "", 1922921489, 2760341303, Spawn) + AddConversationOption(conversation, "I know what I'm doing; release your prisoner.", "dlg_27_1") + AddConversationOption(conversation, "Fine, I'll leave.") + StartConversation(conversation, NPC, Spawn, "Watch where you point your nose, pal, you don't want to lose it.") + end +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_rommuls_loyalist/fprt_hood04/quests/captor/thug001.mp3", "", "", 835606330, 2405395928, Spawn) + AddConversationOption(conversation, "Your prisoner is of the Ayr'Dal Brotherhood. You hold him yet he has committed no crime.", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "Hah, not a chance!") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_rommuls_loyalist/fprt_hood04/quests/captor/thug002.mp3", "", "", 3750086716, 2767526036, Spawn) + AddConversationOption(conversation, "I am not afraid of using force.", "dlg_27_3") + StartConversation(conversation, NPC, Spawn, "Oooh, so you're one of them, huh? Well guess what, I ain't moving.") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_rommuls_loyalist/fprt_hood04/quests/captor/thug003.mp3", "", "", 1311881842, 4106998175, Spawn) + AddConversationOption(conversation, "Very well. [fight]", "MakeAttackablePlease") + StartConversation(conversation, NPC, Spawn, "Make your move.") +end + +function MakeAttackablePlease(NPC, Spawn) + --Rom2 = GetSpawn(Spawn, 1370157) + local zone = GetZone(NPC) + local Rom2 = GetSpawnByLocationID(zone, 403037) + SpawnSet(NPC, "show_level", 1) + SpawnSet(Rom2, "show_level", 1) + AddHate(Spawn, NPC, 100) + AddHate(Spawn, Rom2, 100) +end + +function death(NPC, Spawn) + --Rom2 = GetSpawn(Spawn, 1370157) + local zone = GetZone(NPC) + local Rom2 = GetSpawnByLocationID(zone, 403037) + if Rom2 == nil or not IsAlive(Rom2) then + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_4, 1) + local Thaen = GetSpawn(Spawn, 1370066) + Despawn(Thaen, 30000) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/aRommulsloyalistNoTalk.lua b/Lua/SpawnScripts/BeggarsCourt/aRommulsloyalistNoTalk.lua new file mode 100755 index 000000000..1293383ff --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/aRommulsloyalistNoTalk.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/aRommulsloyalistNoTalk.lua + Script Purpose : a Rommuls loyalist + Script Author : (Updated by Cynnar 2018.06.22 09:06:43) + Script Date : + Script Notes : +--]] + +local HALFELF_MENTOR_QUEST_4 = 317 -- Thaen Sevellos + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "", "Uh, maybe you shouldn't talk to me. I'm new at this.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Alright, this is why I joined the militia!", "", 1689589577, 4560189, Spawn) + end +end + +function death(NPC, Spawn) + --Rom1 = GetSpawn(Spawn, 1370157) + local zone = GetZone(NPC) + local Rom1 = GetSpawnByLocationID(zone, 403036) + if Rom1 == nil or not IsAlive(Rom1) then + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_4, 1) + local Thaen = GetSpawn(Spawn, 1370066) + Despawn(Thaen, 30000) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/a_rat_a.lua b/Lua/SpawnScripts/BeggarsCourt/a_rat_a.lua new file mode 100755 index 000000000..953a80dbb --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/a_rat_a.lua @@ -0,0 +1,281 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/a_rat_a.lua + Script Purpose : Waypoint Path for arat_a.lua + Script Author : Cynnar + Script Date : 7/8/2018 08:07:43 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 24.95, 5.25, -13.04, 2, 0) + MovementLoopAddLocation(NPC, 29.51, 4.49, -4.96, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 34.27, 3.5, 3.44, 2, 0) + MovementLoopAddLocation(NPC, 37.97, 2.18, 9.85, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 37.97, 2.18, 9.85, 2, 0) + MovementLoopAddLocation(NPC, 48.17, 3, 1.59, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 51.3, 4.75, -11.23, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 45.74, 5.25, -15.61, 2, 0) + MovementLoopAddLocation(NPC, 41.37, 5.25, -16.54, 2, 0) + MovementLoopAddLocation(NPC, 37.65, 5.25, -15.89, 2, 0) + MovementLoopAddLocation(NPC, 34.17, 5.25, -12.55, 2, 0) + MovementLoopAddLocation(NPC, 28.42, 5.25, -9.08, 2, 0) + MovementLoopAddLocation(NPC, 17.41, 3.5, -6.64, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 12.45, 3.88, -14.56, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 16.36, 4.75, -23.02, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 3.95, 4.25, -23.47, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, -4.72, 3.24, -29.14, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, -7.65, 4, -43.74, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, -8.79, 4, -49.24, 5, 0) + MovementLoopAddLocation(NPC, -14.78, 4.18, -60.38, 2, 0) + MovementLoopAddLocation(NPC, -20.49, 4.18, -70.93, 2, 0) + MovementLoopAddLocation(NPC, -21.05, 4.18, -74.31, 2, 0) + MovementLoopAddLocation(NPC, -24.93, 4.18, -77.84, 2, 0) + MovementLoopAddLocation(NPC, -26.03, 4.18, -81.13, 2, 0) + MovementLoopAddLocation(NPC, -28.21, 4.18, -84.56, 2, 0) + MovementLoopAddLocation(NPC, -29.13, 4.18, -88.63, 2, 0) + MovementLoopAddLocation(NPC, -29.06, 4.16, -84.84, 2, 0) + MovementLoopAddLocation(NPC, -27.09, 4.17, -80.11, 2, 0) + MovementLoopAddLocation(NPC, -25.69, 4.17, -76.01, 2, 0) + MovementLoopAddLocation(NPC, -21.33, 4.18, -75.09, 2, 0) + MovementLoopAddLocation(NPC, -19.07, 4.18, -70.85, 5, 0) + MovementLoopAddLocation(NPC, -13.68, 4.34, -59, 2, 0) + MovementLoopAddLocation(NPC, -9.89, 4, -51.21, 2, 0) + MovementLoopAddLocation(NPC, -13.96, 4, -47.39, 2, 0) + MovementLoopAddLocation(NPC, -18.03, 4, -45.48, 2, 0) + MovementLoopAddLocation(NPC, -19.44, 4, -40.95, 2, 0) + MovementLoopAddLocation(NPC, -21.04, 4, -38.5, 2, 0) + MovementLoopAddLocation(NPC, -21.16, 4, -36.67, 2, 0) + MovementLoopAddLocation(NPC, -18.25, 3.46, -28.66, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, -13.49, 3, -16.79, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, -1.69, 3.5, -5.6, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 9.23, 3.25, 6.03, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 19.22, 3.5, 8.17, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 33.96, 2.75, 8.04, 2, 5, 0) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC) + elseif route == 2 then + RouteTwo(NPC) + elseif route == 3 then + RouteThree(NPC) + elseif route == 4 then + RouteFour(NPC) + end + MovementLoopAddLocation(NPC, 49.46, 2, 18.51, 2, 0) + MovementLoopAddLocation(NPC, 49.84, 2, 22.47, 2, 0, "depop") +end + + +function RouteOne(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X + 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function RouteTwo(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X - 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 1, math.random(20,45)) +end + +function RouteThree(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X + 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function RouteFour(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X - 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function depop(NPC) + Despawn(NPC) +end diff --git a/Lua/SpawnScripts/BeggarsCourt/muffledvoices.lua b/Lua/SpawnScripts/BeggarsCourt/muffledvoices.lua new file mode 100755 index 000000000..6d8346528 --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/muffledvoices.lua @@ -0,0 +1,130 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/muffledvoices.lua + Script Purpose : muffled voices + Script Author : John Adams (Updated by Cynnar 2018.06.18 01:06:26) + Script Date : 2009.04.07 + Script Notes : Is part of the Dirty Work Quest. +--]] + +local HALFELF_MENTOR_QUEST_2 = 308 -- Dirty Work + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + dlg_18_1(NPC, Spawn) +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice001.mp3", "", "", 1452179347, 296391595, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_5") + StartConversation(conversation, NPC, Spawn, "Yes.") +end + +function dlg_18_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice002.mp3", "", "", 587067158, 3131442190, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_6") + StartConversation(conversation, NPC, Spawn, "Where is he?") +end + +function dlg_18_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice003.mp3", "", "", 3976503175, 1131531976, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_7") + StartConversation(conversation, NPC, Spawn, "That doesn't matter, he is safe. I have made preparations, you will not be interrupted during your meeting.") +end + +function dlg_18_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice004.mp3", "", "", 431474593, 1293164609, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_8") + StartConversation(conversation, NPC, Spawn, "Good. Good work. When is it?") +end + +function dlg_18_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice005.mp3", "", "", 2860604224, 2220621693, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_9") + StartConversation(conversation, NPC, Spawn, "Very soon.") +end + +function dlg_18_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice006.mp3", "", "", 1982248437, 3493440626, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_10") + StartConversation(conversation, NPC, Spawn, "Where is it?") +end + +function dlg_18_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice007.mp3", "", "", 3618887376, 683725922, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_11") + StartConversation(conversation, NPC, Spawn, "In the southern portion of Beggar's Court. There is a small room just east of the inn, we will meet with him there and learn all that we need of this Ayr'Dal Brotherhood.") +end + +function dlg_18_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice008.mp3", "", "", 2712447744, 1525191676, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_18_12") + StartConversation(conversation, NPC, Spawn, "What did you promise him for his cooperation?") +end + +function dlg_18_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice009.mp3", "", "", 3844115547, 1386660150, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_20_10") + StartConversation(conversation, NPC, Spawn, "Much. Much that Rommuls would never agree to.") +end + +function dlg_20_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice010.mp3", "", "", 2124749615, 3751504060, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_20_11") + StartConversation(conversation, NPC, Spawn, "And what will you give him?") +end + +function dlg_20_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice011.mp3", "", "", 516736485, 2856945814, Spawn) + AddConversationOption(conversation, "[continue listening]", "dlg_20_12") + StartConversation(conversation, NPC, Spawn, "A painless death. A pet as loyal as him deserves as much. I must go, do NOT miss the meeting.") +end + +function dlg_20_12(NPC, Spawn) + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_2, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/muffled_voices/fprt_hood04/quests/muffled_voice/voice012.mp3", "", "", 23409635, 3384835777, Spawn) + AddConversationOption(conversation, "[stop listening]", "dlg_20_13") + StartConversation(conversation, NPC, Spawn, "I won't.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/BeggarsCourt/mugtopoison.lua b/Lua/SpawnScripts/BeggarsCourt/mugtopoison.lua new file mode 100755 index 000000000..1b6a12b2b --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/mugtopoison.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/mugtopoison.lua + Script Author : Cynnar + Script Date : 2018.06.18 07:06:59 + Script Purpose : + : +--]] + +local HALFELF_MENTOR_QUEST_2 = 308 -- Dirty Work + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_2) and GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_2) == 3 then + if SpellName == 'Poison Mug' then + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_2, 3) + end + end +end + diff --git a/Lua/SpawnScripts/BeggarsCourt/mugtopoison2.lua b/Lua/SpawnScripts/BeggarsCourt/mugtopoison2.lua new file mode 100755 index 000000000..1b6a12b2b --- /dev/null +++ b/Lua/SpawnScripts/BeggarsCourt/mugtopoison2.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/BeggarsCourt/mugtopoison.lua + Script Author : Cynnar + Script Date : 2018.06.18 07:06:59 + Script Purpose : + : +--]] + +local HALFELF_MENTOR_QUEST_2 = 308 -- Dirty Work + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_2) and GetQuestStep(Spawn, HALFELF_MENTOR_QUEST_2) == 3 then + if SpellName == 'Poison Mug' then + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_2, 3) + end + end +end + diff --git a/Lua/SpawnScripts/Blumbles/GrandpaBlumble.lua b/Lua/SpawnScripts/Blumbles/GrandpaBlumble.lua new file mode 100755 index 000000000..fe3fa73fd --- /dev/null +++ b/Lua/SpawnScripts/Blumbles/GrandpaBlumble.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : SpawnScripts/Blumbles/GrandpaBlumble.lua + Script Author : Jabantiz + Script Date : 2014.07.07 11:07:58 + Script Purpose : Grandpa Blumble (4490008) + : +--]] + +local SearchForGrandmaBlumble = 104 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, SearchForGrandmaBlumble) then + PlayFlavor(NPC, "", "So did you find Grandma yet?", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1026.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are you Grandpa Blumble?", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Why, hello there! Found the hole I dug, did ya? You see, I had this map, and it said there was treasure here. I have yet to see any, though.") + end +end + +-- All the below dialog was taken from a text log +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok, so what happened to Grandma?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Yes yes, you haven't seen Grandma around have you? I figured she always liked shiny things and I would find her with the pirate treasure, but I guess not.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Go on.", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Oh, well, you see we set out on a grand fishing adventure, I tell ya. We decided to fish up one of those giant fish near the dock in Nektulos, so we got in our boat, the one I made, and set sail for Nektulos.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Wow, that's amazing! What happened next?", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Well Ol'Grandma there, she brought along... I would say about half a dozen pies, hot from the oven, she did. Using her skills, she even kept them warm as we sailed across the sea. But it seems that the smell drifted out to the nose of a great pirate captain and he sailed his ship towards us.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happened after that?", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "To be honest, I finally got a hook up on the biggest fish you ever did see... right as we saw the pirate ship coming through the fog. I guess the sudden jerk from the fish knocked the pies right out of the boat. Then, the pirate ship crashed right smack into us.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What a shame.", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "Well that's about it. I washed up on shore, searched for Grandma, and after a few days of searching I decided to head home, because she would never leave her oven for that long. I hoped she would be back in the Baubbleshire, but sadly, she wasn't. ") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, thanks.", "OfferSearchForGrandma") + StartConversation(conversation, NPC, Spawn, "Well I got to thinking, and a pirate would have picked up a cute halfling like her for sure. So if she ended up becoming a pirate, she would be with the treasure. So that's why I am out hunting down pirate treasure, you see. Do you think you could help me find Grandma? You can keep any of the treasure you find, just let one of the family know as soon as you find her.") +end + +function OfferSearchForGrandma(NPC, Spawn) + OfferQuest(NPC, Spawn, SearchForGrandmaBlumble) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/AlmarShiiz.lua b/Lua/SpawnScripts/Butcherblock/AlmarShiiz.lua new file mode 100755 index 000000000..7f0197bdc --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/AlmarShiiz.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/AlmarShiiz.lua + Script Purpose : Almar Shi'iz + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Be on your way. I have matters to attend to.", "point", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/Butcherblock/ArgroDurthor.lua b/Lua/SpawnScripts/Butcherblock/ArgroDurthor.lua new file mode 100755 index 000000000..d631aad98 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/ArgroDurthor.lua @@ -0,0 +1,290 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/ArgroDurthor.lua + Script Purpose : Argro Durthor + Script Author : jakejp + Script Date : 2018.06.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TheYarpsnarls = 280 +local TheManyUsesOfCarapace = 281 +local IrontoeBrigadeRequisitionLists = 282 +local DeliveryToVerung + +function spawn(NPC) + ProvidesQuest(NPC, TheYarpsnarls) + ProvidesQuest(NPC, TheManyUsesOfCarapace) + ProvidesQuest(NPC, IrontoeBrigadeRequisitionLists) + ProvidesQuest(NPC, DeliveryToVerung) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, TheYarpsnarls) == false and HasQuest(Spawn, TheYarpsnarls) == false and CanReceiveQuest(Spawn, TheYarpsnarls) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am " .. GetName(Spawn) .. ". What do you mean, 'convenient'?", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Well met! Argro Durthor's the name, right convenient to meet you.") + elseif GetQuestStep(Spawn, TheYarpsnarls) == 1 or GetQuestStep(Spawn, TheYarpsnarls) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you taken care of the kobolds?") + elseif GetQuestStep(Spawn, TheYarpsnarls) == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Have you taken care of the kobolds?") + elseif HasCompletedQuest(Spawn, TheManyUsesOfCarapace) == false and HasQuest(Spawn, TheManyUsesOfCarapace) == false and CanReceiveQuest(Spawn, TheManyUsesOfCarapace) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Have you taken care of the kobolds?") + elseif GetQuestStep(Spawn, TheManyUsesOfCarapace) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you gathered the materials?") + elseif GetQuestStep(Spawn, TheManyUsesOfCarapace) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yup, here you go.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Have you gathered the materials?") + elseif HasCompletedQuest(Spawn, IrontoeBrigadeRequisitionLists) == false and HasQuest(Spawn, IrontoeBrigadeRequisitionLists) == false and CanReceiveQuest(Spawn, IrontoeBrigadeRequisitionLists) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yup, here you go.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Have you gathered the materials?") + elseif GetQuestStep(Spawn, IrontoeBrigadeRequisitionLists) <= 1 and GetQuestStep(Spawn, IrontoeBrigadeRequisitionLists) >= 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I haven't collected them yet.") + StartConversation(conversation, NPC, Spawn, "Do you have the requisition lists?") + elseif GetQuestStep(Spawn, IrontoeBrigadeRequisitionLists) == 4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I do.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Do you have the requisition lists?") + elseif HasCompletedQuest(Spawn, DeliveryToVerung) == false and HasQuest(Spawn, DeliveryToVerung) == false and CanReceiveQuest(Spawn, DeliveryToVerung) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I do.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Do you have the requisition lists?") + elseif GetQuestStep(Spawn, DeliveryToVerung) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Thanks again for all yer help!") + elseif HasCompletedQuest(Spawn, DeliveryToVerung) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Thanks again for all yer help!") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, TheManyUsesOfCarapace) then + SetStepComplete(Spawn, TheManyUsesOfCarapace, 2) + end + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure, what do you need?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Ah, excellent. These will do nicely. I'd like to get started on creating the armor as soon as possible. Would you mind doing another favor for me while I work on this?") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So I have to find out what the miners need?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "In the area south of here, on the south eastern wall there is a cave. In these caves we have a number of miners extracting minerals. We use these minerals for--well, that's not important, at least not to me so I never bothered to learn what we use the minerals for. The important thing is that I've been tasked with collecting the requisition forms from the miners. If we don't keep the miners supplied then they can't work, obviously.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "GiveIrontoeBrigadeRequisitionLists") + AddConversationOption(conversation, "You will have to find someone else for this task.") + StartConversation(conversation, NPC, Spawn, "Yeah, but it's not as hard as it sounds. There are three dig supervisors in the caves, one for each section. Among other things, they are tasked with having and maintaining these requisition lists. All you need to do is find the supervisors and collect the lists from them.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "Once you get the lists, bring them back to me.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Just in time for what?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Well you're here just in time!") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you want of me?", "dlg_3_3") + AddConversationOption(conversation, "Absolutely not! Find yourself another sentient shield.") + StartConversation(conversation, NPC, Spawn, "For the dwarven reclamation of Kaladim, of course! We're on the eve of it, .. GetName(Spawn) .. , and soon no dwarf will have to settle for living anywhere else. Er, well not literally on the eve. Make no mistake we've still got plenty of hard years of work ahead of us, but the day will come when Kaladim will once again be ours. And you're in the right place at the right time to do your part, what do you say?") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what do I need to do?", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "The first order of business involves cleaning up the Butcherblock Mountains. I am but one of many tasked with such a project, we have other projects as well but the most pressing one is to make Butcherblock safe. Kobolds, bugbears, goblins, sirens, aviaks--these all have some hold on Butcherblock. It is our job to lessen their hold and prepare for our eventual liberation of Kaladim.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay, I'll take them out.", "GiveTheYarpsnarls") + StartConversation(conversation, NPC, Spawn, "If you'd like to help me we can start with the Yarpsnarl kobolds. They are all over Butcherblock, but east of here it is very common to run into some of their lesser ranks: lookouts and ravagers. While taking them out won't topple the kobold army, it will keep them on the defensive in this region.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, NPC, Spawn, "That's what I like to hear!") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, IrontoeBrigadeRequisitionLists) then + SetStepComplete(Spawn, IrontoeBrigadeRequisitionLists, 4) + end + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you. What favor is that?", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Ah good work! I appreciate all the help you've given me. Here, please, take one of these as a token of my gratitude. If you could do one last favor for me I'd be ever-grateful.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok, I'll drop these off with him.", "GiveDeliveryToVerung") + StartConversation(conversation, NPC, Spawn, "These requisition lists need to get to Verung Kae'Rush at the western Irontoe Brigade outpost. In the eastern outpost--just south east of here--there is a tunnel that will take you to the western outpost.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, NPC, Spawn, "Verung is my commanding officer, so try not to mention how much you helped me if you can avoid it.") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, TheYarpsnarls) then + SetStepComplete(Spawn, TheYarpsnarls, 3) + end + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why not?", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "Great! If we keep the kobolds busy defending then we'll have an easier time building and training an army to retake Kaladim. That's another thing I've volunteered to help with, the creation of the army. I've been tasked with coming up with 'non-standard' methods of outfitting an army for combat. By 'nonstandard' they mean cheap. But that doesn't worry Ol' Argro...") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "To use for armor?", "dlg_16_3") + StartConversation(conversation, NPC, Spawn, "Since time began wars have been fought and more often than not the soldiers didn't have access to refined metals and hot forges. They made do with what they had available to them, and that's what I intend to do. West of here, in front of Kaladim herself, there's a large number of beetles. I need you to collect some of their carapaces for me!") +end + +function dlg_16_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go see what I can gather.", "GiveTheManyUsesOfCarapace") + AddConversationOption(conversation, "Get someone else to smash your bugs.") + StartConversation(conversation, NPC, Spawn, "Exactly! In my experience the harder shells come from the smaller beetles: the ones we call the stone and granite beetles--obviously they got those names for a reason, eh? Anyway, I'd like ten of each carapace type, that should be enough to come up with some armor sets I can propose to my uppers. If they like it, maybe I'll become famous! 'Argro's Armor,' they'll say, 'the recapture of Kaladim wasn't possible without it!'") +end + +function dlg_16_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, all right.", "dlg_16_5") + StartConversation(conversation, NPC, Spawn, "'Why, if it wasn't for Argro, we might still be living out in the Butcherblock mountains, or worse still Freeport! Oh, that Argro, he sure did attract the ladies--even the non dwarven ones!'") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Just in time for what?", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "Well you're here just in time!") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you want of me?", "dlg_19_3") + StartConversation(conversation, NPC, Spawn, "For the dwarven reclamation of Kaladim, of course! We're on the eve of it, Calisharoo, and soon no dwarf will have to settle for living anywhere else. Er, well not literally on the eve. Make no mistake we've still got plenty of hard years of work ahead of us, but the day will come when Kaladim will once again be ours. And you're in the right place at the right time to do your part, what do you say?") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what do I need to do?", "dlg_19_4") + StartConversation(conversation, NPC, Spawn, "The first order of business involves cleaning up the Butcherblock Mountains. I am but one of many tasked with such a project, we have other projects as well but the most pressing one is to make Butcherblock safe. Kobolds, bugbears, goblins, sirens, aviaks--these all have some hold on Butcherblock. It is our job to lessen their hold and prepare for our eventual liberation of Kaladim.") +end + +function dlg_19_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok, I'll take them out.", "dlg_19_5") + StartConversation(conversation, NPC, Spawn, "If you'd like to help me we can start with the Yarpsnarl kobolds. They are all over Butcherblock, but east of here it is very common to run into some of their lesser ranks: lookouts and ravagers. While taking them out won't topple the kobold army, it will keep them on the defensive in this region.") +end + +function dlg_19_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_19_6") + StartConversation(conversation, NPC, Spawn, "That's what I like to hear!") +end + +function GiveTheYarpsnarls(NPC, Spawn) + OfferQuest(NPC, Spawn, TheYarpsnarls) +end + +function GiveTheManyUsesOfCarapace(NPC, Spawn) + OfferQuest(NPC, Spawn, TheManyUsesOfCarapace) +end + +function GiveIrontoeBrigadeRequisitionLists(NPC, Spawn) + OfferQuest(NPC, Spawn, IrontoeBrigadeRequisitionLists) +end + +function GiveDeliveryToVerung(NPC, Spawn) + OfferQuest(NPC, Spawn, DeliveryToVerung) +end diff --git a/Lua/SpawnScripts/Butcherblock/AssistantDeldry.lua b/Lua/SpawnScripts/Butcherblock/AssistantDeldry.lua new file mode 100755 index 000000000..28730effc --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/AssistantDeldry.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/AssistantDeldry.lua + Script Purpose : Assistant Deldry + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local NecessaryPrecautions = 273 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, NecessaryPrecautions) == true and GetQuestStep(Spawn, NecessaryPrecautions) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Forgiving your tone, I do have a message to you from the camp. They wish to establish some manner of cooperation with you and your kin.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Ach! What is this? Come from the walking lizards, have you? I thought those things were keeping to their shanties over on the far side of the beach!") + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "There are plenty of duties to tend to around here, and I aim to see they all get done.", "", 1689589577, 4560189, Spawn) + end +end + +function dlg_15_1(NPC, Spawn) + SetStepComplete(Spawn, NecessaryPrecautions, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks, I guess. Farewell.", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "I can't see how we would need any help from the likes of them - things seem to be more or less well in hand for us. But I suppose this isn't really about what we need. Very well, I'll look over this proposal and see what they have to offer. In the meantime, you might as well make yourself useful around here. I'm sure you can find plenty to do if you look hard enough.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "There are plenty of duties to tend to around here, and I aim to see they all get done.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Butcherblock/BiminiBowchaser.lua b/Lua/SpawnScripts/Butcherblock/BiminiBowchaser.lua new file mode 100755 index 000000000..71679507f --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/BiminiBowchaser.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/BiminiBowchaser.lua + Script Purpose : Bimini Bowchaser + Script Author : jakejp + Script Date : 2018.06.02 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local CaptainSays = 267 + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, CaptainSays) and GetQuestStep(Spawn, CaptainSays) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Avast ye, shortie! I come with Cap'n Stonnacky new orders for you!", "dlg_6_1") + AddConversationOption(conversation, "Blimmey! You're three sheets to the wind!") + StartConversation(conversation, NPC, Spawn, "Oooooh, what do ya do wit' a drunken halfling? What do ya do wit' a drunken' halfling? What do ya do wit' meeee.... *hick-up*.") + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1040.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Blimey! You're three sheets to the wind!") + StartConversation(conversation, NPC, Spawn, "Oooooh, what do ya do wit' a drunken halfling? What do ya do wit' a drunken' halfling? What do ya do wit' meeee.... *hick-up*.") + end + +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're to coil down the lines an' be sure the flemish boat falls correctly!", "WrongChoice") + AddConversationOption(conversation, "You're to flemish down the boat falls an' be sure all the lines are coiled correctly!", "dlg_6_2") + AddConversationOption(conversation, "You're to flemish down the lines an' be sure the boat is coiled correctly.", "WrongChoice") + StartConversation(conversation, NPC, Spawn, "Oh yeah? And just what exactly do he want me to do?") +end + +function dlg_6_2(NPC, Spawn) + SetStepComplete(Spawn, CaptainSays, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "On the double, matey!") + StartConversation(conversation, NPC, Spawn, "Oh! Aye aye. You tell the Cap'n I'll be right on it!") +end + +function WrongChoice(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Wait, maybe I had that wrong. Let me try again.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "He wants me to do what?! Ha ha ha! Tha's a good one. Almost made me believe you really did have orders from the ol' Cap'n hisself? *hick-up*.") +end + + diff --git a/Lua/SpawnScripts/Butcherblock/BrultenHiltstill.lua b/Lua/SpawnScripts/Butcherblock/BrultenHiltstill.lua new file mode 100755 index 000000000..f80eefa14 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/BrultenHiltstill.lua @@ -0,0 +1,291 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/BrultenHiltstill.lua + Script Purpose : Brulten Hiltstill + Script Author : jakejp + Script Date : 2018.06.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local SeekingBrultenHiltstill = 270 +local TheKoboldAndTheBeautiful = 276 +local MuckflickMessageIntercepted = 277 +local SeekingTheKilnkors = 278 + + +function spawn(NPC) + ProvidesQuest(NPC, TheKoboldAndTheBeautiful) + ProvidesQuest(NPC, MuckflickMessageIntercepted) + ProvidesQuest(NPC, SeekingTheKilnkors) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, SeekingBrultenHiltstill) then + -- Start first quest (Add if you don't do this quest from start zone) + -- Add Conversation to complete that side quest + SetStepComplete(Spawn, SeekingBrultenHiltstill, 1) + if HasCompletedQuest(Spawn, TheKoboldAndTheBeautiful) == false and HasQuest(Spawn, TheKoboldAndTheBeautiful ) == false and CanReceiveQuest(Spawn, TheKoboldAndTheBeautiful) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm " .. GetName(Spawn).. ". Where am I?", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "There really is nothing like the smell of the earth here in these mountains. One can almost taste the gems and minerals wafting up from the ground... Oh, ahoy there young one. You look new to these parts. Tell me, who might you be?") + end + elseif HasCompletedQuest(Spawn, TheKoboldAndTheBeautiful) == false and HasQuest(Spawn, TheKoboldAndTheBeautiful ) == false and CanReceiveQuest(Spawn, TheKoboldAndTheBeautiful) then + -- Offer The Kobold And The Beautiful if not completed or started + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm " .. GetName(Spawn).. ". Where am I?", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "There really is nothing like the smell of the earth here in these mountains. One can almost taste the gems and minerals wafting up from the ground... Oh, ahoy there young one. You look new to these parts. Tell me, who might you be?") + elseif GetQuestStep(Spawn, TheKoboldAndTheBeautiful) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm going. I'm going!") + StartConversation(conversation, NPC, Spawn, "Friend, you return too soon! Kobolds lurk in every corner of these lands. You must slay more still! Go now!") + elseif GetQuestStep(Spawn, TheKoboldAndTheBeautiful) == 2 then + Say(Player, "TEST") + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have slain several kobolds, though I'm sure more will take their place.", "Option2") + StartConversation(conversation, NPC, Spawn, "The yapping... It's stopped. I judge you were successful then?") + --StartConversation(conversation, NPC, Spawn, "The yapping... It's stopped. I judge you were successful then?") + elseif HasCompletedQuest(Spawn, MuckflickMessageIntercepted) == false and HasQuest(Spawn, MuckflickMessageIntercepted) == false and CanReceiveQuest(Spawn, MuckflickMessageIntercepted) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have slain several kobolds, though I'm sure more will take their place.", "Option2_b") + StartConversation(conversation, NPC, Spawn, "The yapping... It's stopped. I judge you were successful then?") + elseif GetQuestStep(Spawn, MuckflickMessageIntercepted) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I shall return.") + StartConversation(conversation, NPC, Spawn, "Well?! Where's the note. Go on, those runners have been seen running between the various camps between here and Kaladim.") + elseif GetQuestStep(Spawn, MuckflickMessageIntercepted) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Here's the note.", "dlg_12_1") + StartConversation(conversation, NPC, Spawn, "You return, and by the look on your face, you were triumphant. Here, let me see the note you acquired.") + elseif HasCompletedQuest(Spawn, SeekingTheKilnkors) == false and HasQuest(Spawn, SeekingTheKilnkors) == false and CanReceiveQuest(Spawn, SeekingTheKilnkors) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "The Kilnkor brothers? Where can I find them?", "dlg_12_2") + AddConversationOption(conversation, "Nah, forget it. I've done more than enough. I'll be on my way.") + StartConversation(conversation, NPC, Spawn, "Ack, this is what I feared. It is encrypted... or at least written in a language not familiar to these weary old eyes. This note's meaning is beyond me. You'll need to take this to my superiors, the Kilnkor brothers.") + elseif GetQuestStep(Spawn, MuckflickMessageIntercepted) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Your help is much appreciated. Go speak with Jonedorn Kilnkor if you haven't already.") + elseif HasCompletedQuest(Spawn, SeekingTheKilnkors) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Your help is much appreciated. Go speak with Jonedorn Kilnkor if you haven't already.") + end +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Go on.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Head west for a bit, past the goblin camps and head south until you see the dwarven outpost. The Kilnkor brothers run the show there, working with the Irontoe Brigade.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm on my way! Good day and good luck.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "Find Jonedorn Kilnkor first. Give him this note and tell him where you got it. He'll be sure to help.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do you mean?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "You've just set foot in Butcherblock Mountains, the beloved homeland of the dwarves... Though since I last traversed these peaks, these mountains have changed in ways this old dwarf would never have imagined.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where did they come from?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Kobolds, terrible drooling heathens who dare to claim the almighty Brell as their maker have recently made their way to the surface and have infested these beautiful mountains with their presence.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Kobolds, in the home of the dwarves? How?", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "It saddens me to say, but it appears the kobolds have sprung forth from the halls of Kaladim itself!") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do?", "dlg_5_5") + AddConversationOption(conversation, "Okay. Well, I'll be going now. No sense involving myself in matters of violence.") + StartConversation(conversation, NPC, Spawn, "I've no time to explain now... We must act now before the kobolds around us organize themselves and attack!") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It would be an honor!", "GiveTheKoboldAndTheBeautiful") + AddConversationOption(conversation, "I shall take joy in the slaughter of each and every one of the beasts I kill!", "GiveTheKoboldAndTheBeautiful") + AddConversationOption(conversation, "Drooling heathens?! Forget it!") + StartConversation(conversation, NPC, Spawn, "The loose bands of kobold camps in these woods here seem to be slowly assembling into a larger and more organized force. An army no doubt meant to challenge the resistance of dwarves who have constructed outposts here in the Butcherblock Mountains. I need you to whittle down their forces as best you can so that we might stymie their effort and buy my brethren more time as they prepare to make their counter-attack!") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, MuckflickMessageIntercepted, 2) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "The Kilnkor brothers? Where can I find them?", "dlg_12_2") + AddConversationOption(conversation, "Nah, forget it. I've done more than enough. I'll be on my way.") + StartConversation(conversation, NPC, Spawn, "Ack, this is what I feared. It is encrypted... or at least written in a language not familiar to these weary old eyes. This note's meaning is beyond me. You'll need to take this to my superiors, the Kilnkor brothers.") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Go on.", "dlg_12_3") + StartConversation(conversation, NPC, Spawn, "Head west for a bit, past the goblin camps and head south until you see the dwarven outpost. The Kilnkor brothers run the show there, working with the Irontoe Brigade.") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm on my way! Good day and good luck.", "GiveSeekingTheKilnkors") + StartConversation(conversation, NPC, Spawn, "Find Jonedorn Kilnkor first. Give him this note and tell him where you got it. He'll be sure to help.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do you mean?", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "You've just set foot in Butcherblock Mountains, the beloved homeland of the dwarves... Though since I last traversed these peaks, these mountains have changed in ways this old dwarf would never have imagined.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where did they come from?", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "Kobolds, terrible drooling heathens who dare to claim the almighty Brell as their maker have recently made their way to the surface and have infested these beautiful mountains with their presence.") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Kobolds, in the home of the dwarves? How?", "dlg_22_4") + StartConversation(conversation, NPC, Spawn, "It saddens me to say, but it appears the kobolds have sprung forth from the halls of Kaladim itself!") +end + +function dlg_22_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do?", "dlg_22_5") + AddConversationOption(conversation, "Ok, well I'll be going now. No sense involving myself in matters of violence.") + StartConversation(conversation, NPC, Spawn, "I've no time to explain now... We must act now before the kobolds around us organize themselves and attack!") +end + +function dlg_22_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It would be an honor!", "dlg_22_6") + AddConversationOption(conversation, "I shall take joy in the slaughter of each and every one of the beasts I kill!") + AddConversationOption(conversation, "Drooling heathens?! Forget it!") + StartConversation(conversation, NPC, Spawn, "The loose bands of kobold camps in these woods here seem to be slowly assembling into a larger and more organized force. An army no doubt meant to challenge the resistance of dwarves who have constructed outposts here in the Butcherblock Mountains. I need you to whittle down their forces as best you can so that we might stymie their effort and buy my brethren more time as they prepare to make their counter-attack!") +end + +function dlg_22_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm off!", "dlg_22_7") + AddConversationOption(conversation, "I don't have a blade, but thanks for the well wishes!") + StartConversation(conversation, NPC, Spawn, "Good. Now just up ahead are scores of kobold camps. Go and slay at least twenty kobolds. That should thin their ranks enough to stall any assault they have planned. Go swiftly, and may Brell guide your blade!") +end + +function Option2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + SetStepComplete(Spawn, TheKoboldAndTheBeautiful, 2) + AddConversationOption(conversation, "Any clues as to who or what could be responsible?", "Option9") + StartConversation(conversation, NPC, Spawn, "Aye, there always seem to be more no matter how many we slay. Someone must be organizing the camps into effective fighting forces.") +end + +function Option2_b(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + SetStepComplete(Spawn, TheKoboldAndTheBeautiful, 2) + AddConversationOption(conversation, "Any clues as to who or what could be responsible?", "Option9") + StartConversation(conversation, NPC, Spawn, "Aye, there always seem to be more no matter how many we slay. Someone must be organizing the camps into effective fighting forces.") +end + +function Option9(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Go on.", "Option10") + StartConversation(conversation, NPC, Spawn, "The other evening, as I was investigating the kobolds' behavior, I happened upon a most unexpected sort of meeting...") +end + +function Option10(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Then what happened?", "Option11") + StartConversation(conversation, NPC, Spawn, "A troop of goblins, larger and more sinister than the ones I've seen near the coast, emerged from the darkness. I expected a battle between them and the kobolds, but instead I saw the two parties discuss some matter in a tongue I could not quite decipher.") +end + +function Option11(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Perhaps if I intercepted a message from one of the Muckflick runners, we could learn more about their plans.", "Option3") + AddConversationOption(conversation, "Giant, kobold-loving goblins? Hmm, I think I'll be on my way then.") + StartConversation(conversation, NPC, Spawn, "The goblins, uh, Muckflicks I think they're called, have established themselves here in the mountains. There they wait for messages from their runners and continue to plot with the Yarpsnarls.") +end + +function Option3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be back before you know it!", "GiveMuckflickMessageIntercepted") + StartConversation(conversation, NPC, Spawn, "That's a great idea! Go, slay one of their runners and bring back the message it carries. Perhaps we can learn more.") +end + + +function GiveTheKoboldAndTheBeautiful(NPC, Spawn) + OfferQuest(NPC, Spawn, TheKoboldAndTheBeautiful) +end + +function GiveMuckflickMessageIntercepted(NPC, Spawn) + OfferQuest(NPC, Spawn, MuckflickMessageIntercepted) +end + +function GiveSeekingTheKilnkors(NPC, Spawn) + OfferQuest(NPC, Spawn, SeekingTheKilnkors) +end diff --git a/Lua/SpawnScripts/Butcherblock/CaptainStonnacky.lua b/Lua/SpawnScripts/Butcherblock/CaptainStonnacky.lua new file mode 100755 index 000000000..36aaa7690 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/CaptainStonnacky.lua @@ -0,0 +1,139 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/CaptainStonnacky.lua + Script Purpose : Captain Stonnacky + Script Author : jakejp + Script Date : 2018.06.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local CoinForTheCaptain = 255 +local CaptainSays = 267 + +function spawn(NPC) + ProvidesQuest(NPC, CaptainSays) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest (Spawn, CoinForTheCaptain) and GetQuestStep(Spawn, CoinForTheCaptain) == 1 and HasCompletedQuest(Spawn, CaptainSays) == false then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Um, Dockmaster Highpebble wanted me to give you this sack of coin. I believe it's the week's pay for your crew.", "dlg_4_1") + AddConversationOption(conversation, "Hmm, perhaps I should come back another time...") + StartConversation(conversation, NPC, Spawn, "Yarr! An' after I asked if he wanted ta kiss the captain's daughter, he closed his eyes an' puckered up. Well, naturally I let the cat out o' the bag then! Har har har...") + elseif HasQuest (Spawn, CoinForTheCaptain) == true and GetQuestStep(Spawn, CoinForTheCaptain) == 1 and HasCompletedQuest(Spawn, CaptainSays) == true then + SetStepComplete(Spawn, CoinForTheCaptain, 1) + SetStepComplete(Spawn, CoinForTheCaptain, 2) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Um, Dockmaster Highpebble wanted me to give you this sack of coin. I believe it's the week's pay for your crew.") + AddConversationOption(conversation, "Hmm, perhaps I should come back another time...") + StartConversation(conversation, NPC, Spawn, "Yarr! An' after I asked if he wanted ta kiss the captain's daughter, he closed his eyes an' puckered up. Well, naturally I let the cat out o' the bag then! Har har har...") + elseif HasQuest (Spawn, CaptainSays) == false and GetQuestStep(Spawn, CoinForTheCaptain) == 2 and HasCompletedQuest(Spawn, CaptainSays) == false and HasQuest(Spawn, CaptainSays) == false then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Um, Dockmaster Highpebble wanted me to give you this sack of coin. I believe it's the week's pay for your crew.", "dlg_4_1_b") + AddConversationOption(conversation, "Hmm, perhaps I should come back another time...") + StartConversation(conversation, NPC, Spawn, "Yarr! An' after I asked if he wanted ta kiss the captain's daughter, he closed his eyes an' puckered up. Well, naturally I let the cat out o' the bag then! Har har har...") + elseif HasQuest(Spawn, CaptainSays) == true and GetQuestStep(Spawn, CaptainSays) <= 3 then + Say(NPC, "Arrrr you sure you spoke with all me crew yet, matey?") + elseif HasQuest(Spawn, CaptainSays) and GetQuestStep(Spawn, CaptainSays) == 4 then + SetStepComplete(Spawn, CaptainSays, 4) + SetStepComplete(Spawn, CoinForTheCaptain, 2) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, Cap'n? There is the small matter of the gold you promised to pay me...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Ahoy ye return! Me hearties 'ave all reported in an are ready to work. We'll be on the trail of that salty dog, Blackguard the Pirate in no time! No quarter for 'im! Har har! Now, where's me ship at...") + elseif HasQuest(Spawn, CoinForTheCaptain) == false and HasCompletedQuest(Spawn, CaptainSays) == true then + Say(NPC, "Your days are numbered, Pirate Blackguard! Soon as the ship is ready, I'm settin' out find ye! Yarrr!!!") + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Riiiight.") + StartConversation(conversation, NPC, Spawn, "Yarr! An' after I asked if he wanted ta kiss the captain's daughter, he closed his eyes an' puckered up. Well, naturally I let the cat out o' the bag then! Har har har...") + end + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, CoinForTheCaptain, 1) + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who? I'm not Bosun Oxeye. You must have me confused with someone else.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Bosun Oxeye is that you? We be needin' to prepare the Terror of Timorous for launch if'n we ever hope ta catch that scurvy dog! Gather the other lads an' tell 'em we be fixin' to weigh anchor handsomely!") +end + +function dlg_4_1_b(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who? I'm not Bosun Oxeye. You must have me confused with someone else.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Bosun Oxeye is that you? We be needin' to prepare the Terror of Timorous for launch if'n we ever hope ta catch that scurvy dog! Gather the other lads an' tell 'em we be fixin' to weigh anchor handsomely!") +end + +function dlg_4_1_c(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, CoinForTheCaptain, 1) + SetStepComplete(Spawn, CoinForTheCaptain, 2) + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who? I'm not Bosun Oxeye. You must have me confused with someone else.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Bosun Oxeye is that you? We be needin' to prepare the Terror of Timorous for launch if'n we ever hope ta catch that scurvy dog! Gather the other lads an' tell 'em we be fixin' to weigh anchor handsomely!") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My week's pay? Oh, well of course, Captain. What are your orders?", "GiveCaptainSays") + AddConversationOption(conversation, "I really don't have time for this.") + StartConversation(conversation, NPC, Spawn, "You keep talkin' like that an' ye'll meet the rope's end of me togey, bucko! Now, I need you to gather up the crew and deliver their next orders. As soon as the ships been givin' a clean bill o' health I want 'em on board at workin' smartly! Do that an' you'll get yer week's pay 'ere.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Alright, next?", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "Go seek out me crew members. First I want ye ta tell Bimine Bowchaser to flemish down the boat falls an' be sure all the lines are coiled correctly!") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "OK. Who's next?", "dlg_4_5") + StartConversation(conversation, NPC, Spawn, "Next find that jack tar, Mizzen Staysail. Tell that lil one to knock off the bright work an' clamp down the deck!") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Got it! I'll tell them right away!") + AddConversationOption(conversation, "Wait, I have a question about your crew's orders.", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "Finally, look for that lass, Tally Topgallant. Tell her ta lash up an' stow afore she batten down the hatches!") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Um... Aye aye, Cap'n?") + AddConversationOption(conversation, "Really, I'm not Bosun Oxeye!") + StartConversation(conversation, NPC, Spawn, "At ease there, Bosun. 'Ere be your share 'o the booty. Don' go spendin' all on one port now. Just make sure you report back in time for your turn in the dogwatch!") +end + +function GiveCaptainSays(NPC, Spawn) + OfferQuest(NPC, Spawn, CaptainSays) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/DockmasterWaulon.lua b/Lua/SpawnScripts/Butcherblock/DockmasterWaulon.lua new file mode 100755 index 000000000..1109e8e04 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/DockmasterWaulon.lua @@ -0,0 +1,261 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/DockmasterWaulon.lua + Script Purpose : Dockmaster Waulon + Script Author : jakejp + Script Date : 2018.05.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local DockDelinquency = 249 +local CoinForTheCaptain = 255 +local NauticalDisaster = 268 +local SeekingBrultenHiltstill = 270 + +function spawn(NPC) + ProvidesQuest(NPC, DockDelinquency) + ProvidesQuest(NPC, CoinForTheCaptain) + ProvidesQuest(NPC, NauticalDisaster) + ProvidesQuest(NPC, SeekingBrultenHiltstill) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, HalasianWelcome) then + -- Start first quest (Add if you don't do this quest from start zone) + -- Add Conversation to complete that side quest + AddConversationOption(conversation, "") + StartConversation(conversation, NPC, Spawn, "") + elseif HasCompletedQuest(Spawn, DockDelinquency) == false and HasQuest(Spawn, DockDelinquency ) == false and CanReceiveQuest(Spawn, DockDelinquency) == true then + -- Offer Dock Delinquency if not completed or started + AddConversationOption(conversation, "Greetings. I am " .. GetName(Spawn) .. ". Perhaps I could help you?", "Option1") + AddConversationOption(conversation, "That's some hat you got there.", "Option2") + StartConversation(conversation, NPC, Spawn, "Ahoy there, newcomer! Welcome to the Butcherblock Mountains! I'm Dockmaster Waulon Highpebble. You can just call me Waulon though. I'm sorry I can't spend more time chatting wit' ya, but keepin' track o' every box, crate an' person that arrives here is more than one dwarf can handle!") + elseif GetQuestStep(Spawn, DockDelinquency) >=1 and GetQuestStep(Spawn, DockDelinquency) <= 3 then + -- Dockmaster Waulon dialogue while on quest + Say(NPC, "Have you killed all the beasties yet? Ah! They're makin' a mess of my whole operation!") + elseif GetQuestStep(Spawn, DockDelinquency) == 4 then + -- Finish Dock Delinquency and start next quest CoinForTheCaptain + SetStepComplete(Spawn, DockDelinquency, 4) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My pleasure, Waulon. Anything else I can do to help?", "dlg_3_1") + AddConversationOption(conversation, "I've done my part. I'll be on my way now.") + StartConversation(conversation, NPC, Spawn, "You know, it seems a little bit less chaotic around here already! Thanks for your help!") + elseif HasCompletedQuest(Spawn, DockDelinquency) and HasCompletedQuest(Spawn, CoinForTheCaptain) == false and HasQuest(Spawn, CoinForTheCaptain) == false then + -- Start CoinForTheCaptain if one didn't get it yet + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My pleasure, Waulon. Anything else I can do to help?", "dlg_3_1") + AddConversationOption(conversation, "I've done my part. I'll be on my way now.") + StartConversation(conversation, NPC, Spawn, "You know, it seems a little bit less chaotic around here already! Thanks for your help!") + elseif GetQuestStep(Spawn, CoinForTheCaptain) == 1 or GetQuestStep(Spawn, CoinForTheCaptain) == 2 then + -- Dialogue while on quest + Say(NPC, "So, how is the ol' Captain? Oh, you haven't spoken with him yet. Well of wit' ya.") + elseif GetQuestStep(Spawn, CoinForTheCaptain) == 3 then + -- Finish CoinForTheCaptain and start next quest NauticalDisaster + SetStepComplete(Spawn, CoinForTheCaptain, 3) + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "I gave the coin to him.", "dlg_10_1") + AddConversationOption(conversation, "Honestly, I have no idea.", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Hello again. What say Captain Stonnacky") + elseif HasCompletedQuest(Spawn, CoinForTheCaptain) and HasCompletedQuest(Spawn, NauticalDisaster) == false and HasQuest(Spawn, NauticalDisaster) == false then + -- start next quest NauticalDisaster if didn't get from previous + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "I gave the coin to him.", "dlg_10_1") + AddConversationOption(conversation, "Honestly, I have no idea.", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Hello again. What say Captain Stonnacky") + elseif GetQuestStep(Spawn, NauticalDisaster) == 1 then + -- dialogue while on quest + Say(NPC, "The tome! Did you find the tome?!") + elseif GetQuestStep(Spawn, NauticalDisaster) == 2 then + -- dialogue while on quest + AddConversationOption(conversation, "Yes! Here it is!", "NauticalDisasterDialogue1") + StartConversation(conversation, NPC, Spawn, "Were you successful in finding the tome?") + elseif GetQuestStep(Spawn, NauticalDisaster) == 3 then + Say(NPC, "The pages! Did you find all the pages?!") + elseif GetQuestStep(Spawn, NauticalDisaster) == 4 then + SetStepComplete(Spawn, NauticalDisaster, 4) + AddConversationOption(conversation, "Thanks. I'm actually looking for more work. Is there anyone else that could use my help?", "SeekingBrultenHiltstillDialogue1") + AddConversationOption(conversation, "Well, now that our business is done, I bid you a good day. Farewell.") + StartConversation(conversation, NPC, Spawn, "You found the pages! Ah, I knew you could do it! Here, please take this as payment. I owe you a debt of thanks!") + elseif HasCompletedQuest(Spawn, NauticalDisaster) and HasCompletedQuest(Spawn, SeekingBrultenHiltstill) == false and HasQuest(Spawn, SeekingBrultenHiltstill) == false then + AddConversationOption(conversation, "Thanks. I'm actually looking for more work. Is there anyone else that could use my help?", "SeekingBrultenHiltstillDialogue1") + AddConversationOption(conversation, "Well, now that our business is done, I bid you a good day. Farewell.") + StartConversation(conversation, NPC, Spawn, "You found the pages! Ah, I knew you could do it! Here, please take this as payment. I owe you a debt of thanks!") + elseif GetQuestStep(Spawn, SeekingBrultenHiltstill) == 1 then + Say(NPC, "Allo there. Have you spoken with Brulten Hiltstill yet?") + elseif HasCompletedQuest(Spawn, SeekingBrultenHiltstill) then + local choice = math.random(1,2) + if choice == 1 then + Say(NPC, "Thanks again for all your help!") + elseif choice == 2 then + Say(NPC, "Thanks for all your help! Go speak with Brulten Hiltstill if ya haven't already.") + end + else + Say(NPC, "Hello, newcomer! Welcome to the Butcherblock Docks.") + + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will pay him a visit. How do I find him?", "dlg_0_2") + AddConversationOption(conversation, "That doesn't interest me. Good bye.") + StartConversation(conversation, NPC, Spawn, "As a matter of fact, there is someone who could use your help. Seek out Brulten Hiltstill. He protects the caravans arriving from the Greater Faydark. ") +end + + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Of course! Where can I find the Captain?", "GiveCoinForTheCaptain") + AddConversationOption(conversation, "Yes, actually I would.") + StartConversation(conversation, NPC, Spawn, "As a matter of fact there is. A merchant ship has recently arrived and delivered the payrolls of several ship's crews. Would you mind taking this sack of coins to Captain Stonnacky?") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be right back!", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "That old salt is just over there at the end of the dock. He's a bit senile in his old age, but still a rugged captain nonetheless. After you deliver the sack, report back to me for your reward.") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Aye, the Captain's had a bit too much time at sea. But alas, I'm afraid I've just learned of terrible event. It seems there's been an attack!") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "dlg_10_3") + AddConversationOption(conversation, "Wow, glad I wasn't on that ship. Good day!") + StartConversation(conversation, NPC, Spawn, "A ship, bound for this very dock, was attacked by aqua goblins just off the coast. Despite the valiant efforts of the crew, many of the passengers were robbed of all their possessions.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Alright, you've got a deal!", "GiveNauticalDisaster") + StartConversation(conversation, NPC, Spawn, "Aye, would you mind helping me one last time? One of the passengers, an erudite sage, was relieved of an ancient magical tome which detailed much of the history of Norrath. He's paid me handsomely for its return. I assure you, I'll cut you in on his reward if you recover that tome for me.") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll return when I've recovered the tome.") + StartConversation(conversation, NPC, Spawn, "Ye'd best check them islands out thar in the bay. I'm sure those nasties brought it back to their camp. I just hope those wicked aqua goblins haven't destroyed it yet.") +end + + +function Option1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, I'm not afraid to get my hands dirty!", "GiveDockDelinquency") + AddConversationOption(conversation, "On second thought, it sounds like it might possibly be dangerous!") + StartConversation(conversation, NPC, Spawn, "Aye, that would be wonderful. I could use your help in takin' care of several pests that have been makin' a big mess here. What do you say?") +end + +function Option2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I see. So, could you use any help?", "Option1") + StartConversation(conversation, NPC, Spawn, "Aye, tis me lucky hat. It brings me the luck! I had me another lucky hat but... I lost it on one me many voyages.") +end + +function NauticalDisasterDialogue1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "You asked for the tome, not necessarily all the pages inside the tome. I'd like my payment please.", "NauticalDisasterDialogue2") + StartConversation(conversation, NPC, Spawn, "Bah, look at it! Nearly half the pages have been ripped out! This will never do!") +end + +function NauticalDisasterDialogue2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I have a hard time believing a goblin would study anything...", "NauticalDisasterDialogue3") + StartConversation(conversation, NPC, Spawn, "I'm afraid I can't pay you if I haven't been paid meself! Hmm, judging by these scratch marks, it's no doubt that the aqua goblins tore the pages out. Perhaps the aqua goblin finger wagglers took the pages for their own research.") +end + +function NauticalDisasterDialogue3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "...", "NauticalDisasterDialogue4") + StartConversation(conversation, NPC, Spawn, "Well, if you have a better idea on who took the pages, I'd like to hear it now.") +end + +function NauticalDisasterDialogue4(NPC, Spawn) + SetStepComplete(Spawn, NauticalDisaster, 2) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, but only because it's you.") + StartConversation(conversation, NPC, Spawn, "I'm sorry, I didn't mean ta be short wit' you. Must be the stress of this 'ere job weighin' on me. Please, find the aqua goblin wizards and see if they have the pages on 'em.") +end + +function SeekingBrultenHiltstillDialogue1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I will pay him a visit. How do I find him?", "GiveSeekingBrultenHiltstill") + AddConversationOption(conversation, "That doesn't interest me. Good bye.") + StartConversation(conversation, NPC, Spawn, "As a matter of fact, there is someone who could use your help. You should seek out Brulten Hiltstill. He's just been stationed out at the newly Established Highland Outpost.") +end + +function SeekingBrultenHiltstillDialogue2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Excellent. Then I'm off. Good day!", "GiveSeekingBrultenHiltstill") + StartConversation(conversation, NPC, Spawn, "To get there, you should take the trail that runs along the cliff face to the east. Once you reach the top of the cliff, look for ol' Brulten near the griffin tower.") +end + +function GiveDockDelinquency(NPC, Spawn) + OfferQuest(NPC, Spawn, DockDelinquency) +end + +function GiveCoinForTheCaptain(NPC, Spawn) + if HasCompletedQuest(Spawn, DockDelinquency) then + OfferQuest(NPC, Spawn, CoinForTheCaptain) + end +end + + +function GiveNauticalDisaster(NPC, Spawn) + if HasCompletedQuest(Spawn, CoinForTheCaptain) then + OfferQuest(NPC, Spawn, NauticalDisaster) + end +end + +function GiveSeekingBrultenHiltstill(NPC, Spawn) + if HasCompletedQuest(Spawn, NauticalDisaster) then + OfferQuest(NPC, Spawn, SeekingBrultenHiltstill) + end +end diff --git a/Lua/SpawnScripts/Butcherblock/DockworkerAlesford.lua b/Lua/SpawnScripts/Butcherblock/DockworkerAlesford.lua new file mode 100755 index 000000000..25d2f33b8 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/DockworkerAlesford.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/DockworkerAlesford.lua + Script Purpose : Dockworker Alesford + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1062.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "Not now, Mizzen is about to get to the best part!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1062.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "Ole Mizzen is telling one of his adventures again. A life at sea sounds perilous!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1062.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "If you're looking for something to do, go see Dockmaster Waulon. Brell knows he has enough work for me to do.", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/Butcherblock/DockworkerBrawley.lua b/Lua/SpawnScripts/Butcherblock/DockworkerBrawley.lua new file mode 100755 index 000000000..f60aec790 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/DockworkerBrawley.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/DockworkerBrawley.lua + Script Purpose : Dockworker Brawley + Script Author : jakejp + Script Date : 2018.05.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 681.01, 24.00, 600.88, 2, 0) + MovementLoopAddLocation(NPC, 670.58, 24.00, 610.84, 2, 0) + MovementLoopAddLocation(NPC, 714.49, 24.00, 576.52, 2, 0) + MovementLoopAddLocation(NPC, 735.35, 25.91, 575.73, 2, 0) + MovementLoopAddLocation(NPC, 735.56, 25.91, 578.77, 2, 0) + MovementLoopAddLocation(NPC, 714.46, 24.00, 577.21, 2, 0) + MovementLoopAddLocation(NPC, 703.50, 24.00, 592.02, 2, 0) + MovementLoopAddLocation(NPC, 706.65, 24.00, 598.91, 2, 0) + MovementLoopAddLocation(NPC, 711.23, 24.00, 600.93, 2, 0) + MovementLoopAddLocation(NPC, 695.57, 24.00, 601.45, 2, 0) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Welcome to the Butcherblock Docks. Now, grab a hammer and make yourself useful.", "", 1689589577, 4560189, Spawn) +end diff --git a/Lua/SpawnScripts/Butcherblock/DockworkerKelson.lua b/Lua/SpawnScripts/Butcherblock/DockworkerKelson.lua new file mode 100755 index 000000000..9e11f019d --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/DockworkerKelson.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/DockworkerKelson.lua + Script Purpose : Dockworker Kelson + Script Author : jakejp + Script Date : 2018.05.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 654.00, 24.01, 549.97, 2) + MovementLoopAddLocation(NPC, 649.91, 25.91, 566.57, 2) + MovementLoopAddLocation(NPC, 641.86, 25.92, 565.96, 2) + MovementLoopAddLocation(NPC, 624.84, 25.91, 564.94, 2) + MovementLoopAddLocation(NPC, 624.93, 25.91, 589.13, 2) + MovementLoopAddLocation(NPC, 632.71, 26.00, 596.75, 2) + MovementLoopAddLocation(NPC, 624.93, 25.91, 589.13, 2) + MovementLoopAddLocation(NPC, 624.84, 25.91, 564.94, 2) + MovementLoopAddLocation(NPC, 641.86, 25.92, 565.96, 2) + MovementLoopAddLocation(NPC, 649.91, 25.91, 566.57, 2) + MovementLoopAddLocation(NPC, 654.00, 24.01, 549.97, 2) + +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Welcome to the Butcherblock Docks. Now, grab a hammer and make yourself useful.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "If those rustfiends eat another one of my tools, I'll have to hammer those nails in with my fist!", "", 1689589577, 4560189, Spawn) + else + end + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/DockworkerOgilby.lua b/Lua/SpawnScripts/Butcherblock/DockworkerOgilby.lua new file mode 100755 index 000000000..2cd3d8694 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/DockworkerOgilby.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/DockworkerOgilby.lua + Script Purpose : Dockworker Ogilby + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "Mizzen says he has actually done time in the Hold of Prexus!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I love Mizzen's story. There's always a happy ending!", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/Butcherblock/DockworkerSeeley.lua b/Lua/SpawnScripts/Butcherblock/DockworkerSeeley.lua new file mode 100755 index 000000000..e63dd6f07 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/DockworkerSeeley.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/DockworkerSeeley.lua + Script Purpose : Dockworker Seeley + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Thank Brell we built that wall. Who knows what sort of evil lurks within that old mansion.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Best of luck to you, adventurer. These lands are sure to offer more than your share of excitement.", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/Butcherblock/GeldraniAZhiTel.lua b/Lua/SpawnScripts/Butcherblock/GeldraniAZhiTel.lua new file mode 100755 index 000000000..57784f2f2 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/GeldraniAZhiTel.lua @@ -0,0 +1,172 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/GeldraniAZhiTel.lua + Script Purpose : Geldrani A'Zhi'Tel + Script Author : jakejp + Script Date : 2018.06.13 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local EmptyVial = 46457 +local FilledVial = 7641 + +local ADimLight = 306 +local DiggingInTheYard = 313 +local AStrangeMix = 314 + + +function spawn(NPC) + ProvidesQuest(NPC, ADimLight) + ProvidesQuest(NPC, DiggingInTheYard) + ProvidesQuest(NPC, AStrangeMix) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, ADimLight) == false and HasQuest(Spawn, ADimLight) == false and CanReceiveQuest(Spawn, ADimLight) then + -- Offer A Dim Light if not completed or started + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_001.mp3", "", "", 1446762141, 4155654886, Spawn) + AddConversationOption(conversation, "Okay, I'll bite. What is it you have been researching?", "dlg_9_1") + AddConversationOption(conversation, "It sounds like you are doing just fine, then. Farewell to you.") + StartConversation(conversation, NPC, Spawn, "The Arasai can take their destiny into their own hands. My research has led me here, and I am so close to completion that I can taste success.") + elseif GetQuestStep(Spawn, ADimLight) == 1 then + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_001.mp3", "", "", 1446762141, 4155654886, Spawn) + AddConversationOption(conversation, "Unfortunately, I haven't found one of the orbs yet, but I will.") + StartConversation(conversation, NPC, Spawn, "The mystics will be carrying the luminescent orbs. Have you confronted them?") + elseif GetQuestStep(Spawn, ADimLight) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have, and I was able to find one of the orbs for you.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "The mystics will be carrying the luminescent orbs. Have you confronted them?") + elseif HasCompletedQuest(Spawn, DiggingInTheYard) == false and HasQuest(Spawn, DiggingInTheYard) == false and CanReceiveQuest(Spawn, DiggingInTheYard) then + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_006.mp3", "", "", 2140158429, 3749106797, Spawn) + AddConversationOption(conversation, "If I were looking for this soil, where might I find it?", "GiveDiggingInTheYard") + AddConversationOption(conversation, "Get a shovel, then. I need to be going.") + StartConversation(conversation, NPC, Spawn, "Now, in order to conduct my experiment, I need a couple of elements that can be found within the Butcherblock Mountains. First, I will need a pile of soil. The soil I need can be found just below the surface, a few feet down. The kobolds, in their savage fervor, will occasionally dig some of this soil up from what would otherwise be rock-solid impacted dirt. See if you can find some of these piles of pure soil.") + elseif GetQuestStep(Spawn, DiggingInTheYard) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "The soil is well-guarded, but I will return with it soon.") + StartConversation(conversation, NPC, Spawn, "I will need the soil as soon as possible. Did you find it yet?") + elseif GetQuestStep(Spawn, DiggingInTheYard) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I found the soil you were asking for.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "I will need the soil as soon as possible. Did you find it yet?") + elseif HasCompletedQuest(Spawn, AStrangeMix) == false and HasQuest(Spawn, AStrangeMix) == false and CanReceiveQuest(Spawn, AStrangeMix) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "This vial doesn't seem like it would hold much. This is all you need?", "GiveAStrangeMix") + AddConversationOption(conversation, "You can find someone else to fetch your water.") + StartConversation(conversation, NPC, Spawn, "As I'm sure you can well imagine, in order to plant a mystical seedling, you need water that is itself mystical in nature. There is a pool of water not far from here that will provide me with the water I need. The pool within the nearby druid rings absorbs much of the latent magic properties of that ancient place, and will be perfect for what I need. Please take this vial, and fill it with the water you find there.") + elseif GetQuestStep(Spawn, AStrangeMix) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No, I have not collected it yet. I will return.") + StartConversation(conversation, NPC, Spawn, "Were you able to find the water I need?") + elseif GetQuestStep(Spawn, AStrangeMix) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have it right here.", "dlg_13_1") + StartConversation(conversation, NPC, Spawn, "Were you able to find the water I need?") + elseif HasCompletedQuest(Spawn, AStrangeMix) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + Say(NPC, "My research will shape the direction of fate for all Arasai one day. Remember this.") + end +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, ADimLight, 2) + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_005.mp3", "", "", 3939464934, 409091383, Spawn) + AddConversationOption(conversation, "Let's see what you would be having me do first.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Ah, there we are. Now be careful with that, they are quite fragile, and can be easily disrupted. Ah, yes, this will do perfectly. You did a fine job retrieving this, and there is still more to be done. I trust I can rely on your help for a bit longer, yes?") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_007.mp3", "", "", 4076175152, 3212649291, Spawn) + AddConversationOption(conversation, "I will see what I can do.", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Who knows what those curs are digging for, but in the end, they are doing the hard work for me, anyway. Bring me as much of the soil as you can find.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_008.mp3", "", "", 1548158395, 1047801679, Spawn) + AddConversationOption(conversation, "Umm... sure. Seedling? I thought you had some dim ball of light.", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "I had little doubt you would return with the soil I needed. Yes, everything is coming together nicely. All I need is the water, and I can plant the seedling. Isn't this exciting?") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, DiggingInTheYard, 2) + + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_009.mp3", "", "", 172858727, 2005436455, Spawn) + AddConversationOption(conversation, "Fine by me.", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "Yes, well, I would explain it, but I'm certain it would not make much sense to you. Now, if you're still willing, I have one more thing that needs to be gathered, and you can be on your way if you choose.") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "This vial doesn't seem like it would hold much. This is all you need?", "GiveAStrangeMix") + AddConversationOption(conversation, "You can find someone else to fetch your water.") + StartConversation(conversation, NPC, Spawn, "As I'm sure you can well imagine, in order to plant a mystical seedling, you need water that is itself mystical in nature. There is a pool of water not far from here that will provide me with the water I need. The pool within the nearby druid rings absorbs much of the latent magic properties of that ancient place, and will be perfect for what I need. Please take this vial, and fill it with the water you find there.") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_002.mp3", "", "", 1171507334, 3736299581, Spawn) + AddConversationOption(conversation, "Perhaps. What is it you need to have done?", "dlg_9_2") + AddConversationOption(conversation, "I've got enough to deal with at the present. Good day to you.") + StartConversation(conversation, NPC, Spawn, "I believe I've found a... well, an energy source that could prove quite helpful if we learn how to properly harness it. I've been running some studies back in Darklight Wood, and the trail of my findings has led me here. I'm wondering if you might be able to lend me some assistance.") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_003.mp3", "", "", 46316574, 116030881, Spawn) + AddConversationOption(conversation, "Hmm... well, it sounds simple enough. If the pay is worth it, I'll see if I can get one of these orbs for you.", "GiveADimLight") + AddConversationOption(conversation, "This doesn't sound like it's worth my time. I need to be going.") + StartConversation(conversation, NPC, Spawn, "It's quite simple, really. The energy manifests itself as a small, floating luminescent light. The Yarpsnarl mystics have found a way to entrap these orbs, and they use them as charms, completely unaware as to what it is they actually have. It's probably easiest to just gather one of the orbs from the Yarpsnarl, rather than trying to catch one yourself.") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_012.mp3", "", "", 739319511, 2263918899, Spawn) + AddConversationOption(conversation, "Control their destiny? What exactly is it you are doing here?", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "Ah, here is the water. I now have the ingredients I need to cultivate the seedling, and see if my research was indeed accurate. If so, this could mean a good deal to the Arasai people, and their ability to control their destiny.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, AStrangeMix, 2) + PlayFlavor(NPC, "geldrani_a_zhi_tel/_exp03/exp03_rgn_butcherblock/geldrani/qst_geldrani_013.mp3", "", "", 3301309951, 3942968739, Spawn) + AddConversationOption(conversation, "Your rudeness will earn you no friends, Arasai. There might be others interested in what is happening here, so tread lightly.", "dlg_13_3") + StartConversation(conversation, NPC, Spawn, "That is none of your concern! You have done what I asked and received your payment for your services. Now be off with you - I have much work to do.") +end + + +function GiveADimLight(NPC, Spawn) + OfferQuest(NPC, Spawn, ADimLight) +end + +function GiveDiggingInTheYard(NPC, Spawn) + OfferQuest(NPC, Spawn, DiggingInTheYard) +end + +function GiveAStrangeMix(NPC, Spawn) + OfferQuest(NPC, Spawn, AStrangeMix) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/GherranaCobbleblork.lua b/Lua/SpawnScripts/Butcherblock/GherranaCobbleblork.lua new file mode 100755 index 000000000..d8c4a74e1 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/GherranaCobbleblork.lua @@ -0,0 +1,107 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/GherranaCobbleblork.lua + Script Purpose : Gherrana Cobbleblork + Script Author : jakejp + Script Date : 2018.06.07 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local FeathersForGherrana = 279 + +function spawn(NPC) + ProvidesQuest(NPC, FeathersForGherrana) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, FeathersForGherrana) == false and HasQuest(Spawn, FeathersForGherrana) == false and CanReceiveQuest(Spawn, FeathersForGherrana) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1023.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Excuse me?", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "To fly about the heavens is all this gnome wants to do!") + elseif GetQuestStep(Spawn, FeathersForGherrana) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1023.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Feathers! I need more scavenger feathers!") + elseif GetQuestStep(Spawn, FeathersForGherrana) == 2 then + SetStepComplete(Spawn, FeathersForGherrana, 2) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Glad to be of help!") + StartConversation(conversation, NPC, Spawn, "Neato! Look at all these feathers! Wonderful, just wonderful! Here you are. Take this for your efforts. Oh, Jondy and I will be flying along in no time!") + elseif HasCompletedQuest(Spawn, FeathersForGherrana) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1023.mp3", "", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1023.mp3", "", "", 0, 0, Spawn) + end +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I've heard of aviaks before. What of them?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "You see out there? Waaaaaaaay out there, up high? That's the home of the Kragplooms, a tribe of aviaks that have lived in the Butcherblock Mountains for hundreds of years.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are the Kragplooms peaceful?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "It has been said that hundreds of years ago, they once lived atop the trees here in giant platforms. What a sight that must have been! Now though, after the cataclysm, the Kragploom have flocked to that mesa up there near those huge crystalline formations.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How is that?", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Peaceful? Ha! Not exactly. You see the Kragplooms are a bit xenophobic... That means distrustful of others. Um, anyways they tend to attack anyone who gets near them. This of course has hindered the flying contraption my husband and I are working on.") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perhaps I could help you?", "dlg_5_5") + StartConversation(conversation, NPC, Spawn, "Well, my husband is off in Freeport collecting iksar scales which he has told me is quite a difficult task. But, I think my task is even harder!") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure, if the price is right.", "GiveFeathersForGherrana") + AddConversationOption(conversation, "Forget it. Sounds too dangerous!") + StartConversation(conversation, NPC, Spawn, "Well my first task is to gather up a crate of kittens, which I've already done and shipped back to my laboratory. I'm having a heck of a time getting all the feathers I need, however. Would you mind gathering some feathers from the Kragploom scavengers?") +end + +function dlg_5_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Off I go!") + StartConversation(conversation, NPC, Spawn, "Splendid! You might have an easier time getting them than I did. When I asked the Kragplooms themselves, they tried to eat me! Can you believe that! Me! I don't taste very good... At least I don't think I do. Anyways I'll need a great deal of feathers, so you better start now. Oh, and you will be fully compensated for your efforts.") +end + +function dlg_5_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Glad to be of help!") + StartConversation(conversation, NPC, Spawn, "Neato! Look at all these feathers! Wonderful, just wonderful! Here you are. Take this for your efforts. Oh, Jondy and I will be flying along in no time!") +end + +function GiveFeathersForGherrana(NPC, Spawn) + OfferQuest(NPC, Spawn, FeathersForGherrana) +end diff --git a/Lua/SpawnScripts/Butcherblock/GrissBrumbaugh.lua b/Lua/SpawnScripts/Butcherblock/GrissBrumbaugh.lua new file mode 100755 index 000000000..23181595f --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/GrissBrumbaugh.lua @@ -0,0 +1,142 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/GrissBrumbaugh.lua + Script Purpose : Griss Brumbaugh + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local SarnakSympathizerPart1 = 274 +local DarkTides = 275 + + +function spawn(NPC) + ProvidesQuest(NPC, DarkTides) + MovementLoopAddLocation(NPC, 683.90, 24.00, 604.82, 2, 5) + MovementLoopAddLocation(NPC, 675.10, 24.00, 600.29, 2, 5) + MovementLoopAddLocation(NPC, 684.99, 24.00, 594.37, 2, 5) + MovementLoopAddLocation(NPC, 680.69, 24.00, 594.31, 2, 5) + MovementLoopAddLocation(NPC, 684.62, 24.00, 596.14, 2, 5) + MovementLoopAddLocation(NPC, 679.45, 24.00, 597.47, 2, 5) + MovementLoopAddLocation(NPC, 685.68, 24.00, 593.50, 2, 5) + MovementLoopAddLocation(NPC, 679.07, 24.00, 601.21, 2, 5) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, SarnakSympathizerPart1) == true and GetQuestStep(Spawn, SarnakSympathizerPart1) == 1 then + SetStepComplete(Spawn, SarnakSympathizerPart1, 1) + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh001.mp3", "", "", 3709174333, 649188758, Spawn) + AddConversationOption(conversation, "Yes, I've agreed to help your cause.", "dlg_16_1") + AddConversationOption(conversation, "Sorry, wrong person.") + StartConversation(conversation, NPC, Spawn, "Aye, you must be the person Raghuntha told me about. Is this true?") + elseif HasCompletedQuest(Spawn, DarkTides) == false and HasQuest(Spawn, DarkTides) == false and CanReceiveQuest(Spawn, DarkTides) == true then + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh001.mp3", "", "", 3709174333, 649188758, Spawn) + AddConversationOption(conversation, "Yes, I've agreed to help your cause.", "dlg_16_1") + AddConversationOption(conversation, "Sorry, wrong person.") + StartConversation(conversation, NPC, Spawn, "Aye, you must be the person Raghuntha told me about. Is this true?") + elseif GetQuestStep(Spawn, DarkTides) == 1 then + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh001.mp3", "", "", 3709174333, 649188758, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_Step1_cont") + StartConversation(conversation, NPC, Spawn, "Welcome back. Have you completed your task?") + elseif GetQuestStep(Spawn, DarkTides) == 2 then + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh008.mp3", "", "", 1631651215, 3306624777, Spawn) + AddConversationOption(conversation, "Yes, I have slain several Tidesylph ritualists.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Welcome back. Have you completed your task?") + elseif HasCompletedQuest(Spawn, DarkTides) == true then + PlayFlavor(NPC, "", "Thanks again for the help with the Tidesylph ritualists! Now, go find Grimshaw Packwright at East Fort Irontoe and see if he still needs help.", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Hail? Where I come from you simply say, 'Hello' to a passing stranger.", "", 1689589577, 4560189, Spawn) + end + + + +end + +function dlg_5_1(NPC, Spawn) + SetStepComplete(Spawn, DarkTides, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh009.mp3", "", "", 5065708, 712148895, Spawn) + AddConversationOption(conversation, "Thanks, who should I speak with now?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "Excellent. Thanks for the help. I'll be sure to pass along the word that you've done your part.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh010.mp3", "", "", 1757082804, 2660421525, Spawn) + AddConversationOption(conversation, "Alright, good-bye!", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Go find Grimshaw Packwright. He should be somewhere in East Fort Irontoe. I'm certain he'll have something you can assist him with.") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh002.mp3", "", "", 3374372564, 3071968430, Spawn) + AddConversationOption(conversation, "Alright, what shall you have me do?", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "Good, good. Let's get started right away.") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh003.mp3", "", "", 174914764, 48692594, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_16_3") + StartConversation(conversation, NPC, Spawn, "If it's not the Yarpsnals, it's the Krulkiels. If it's not them it's the Muckflicks. Oh, but now apparently the Tidesylphs are getting out of hand.") +end + +function dlg_16_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh004.mp3", "", "", 1048101023, 1626003091, Spawn) + AddConversationOption(conversation, "Go on.", "dlg_16_4") + StartConversation(conversation, NPC, Spawn, "We normally don't have too many problems involving the Tidesylph sirens. Their constant fight with the aqua goblins keep them more than occupied.") +end + +function dlg_16_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh005.mp3", "", "", 906540546, 3167837346, Spawn) + AddConversationOption(conversation, "Sounds like necromancy.", "dlg_16_5") + StartConversation(conversation, NPC, Spawn, "However, something strange has been seen more recently. Zombies and skeletons in the water and the constant stench of death wafting in over the normally refreshing coastal air.") +end + +function dlg_16_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh006.mp3", "", "", 1578749521, 2367042954, Spawn) + AddConversationOption(conversation, "So what should we do?", "GiveDarkTides") + StartConversation(conversation, NPC, Spawn, "Aye, I'm afraid the taint of Bertoxxulous may have touched some of the Tidesylph sirens and turned their interests towards necromancy as a way to combat the aqua goblins.") +end + + +function dlg_Step1_cont(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "griss_brumbaugh/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/griss_brumbaugh/griss_brumbaugh007.mp3", "", "", 1790400537, 2286410199, Spawn) + StartConversation(conversation, NPC, Spawn, "Return to me once you've finished your current task.") +end + +function GiveDarkTides(NPC, Spawn) + OfferQuest(NPC, Spawn, DarkTides) +end +--[[ raw_conversations + PlayFlavor(NPC, "", "Hail? Where I come from you simply say, 'Hello' to a passing stranger.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Butcherblock/GuardBanning.lua b/Lua/SpawnScripts/Butcherblock/GuardBanning.lua new file mode 100755 index 000000000..e3bec347b --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/GuardBanning.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/GuardBanning.lua + Script Author : jakejp + Script Date : 2018.05.30 08:05:41 + Script Purpose : + : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 607.97, 24.21, 589.22, 2) + MovementLoopAddLocation(NPC, 623.78, 25.91, 591.10, 2) + MovementLoopAddLocation(NPC, 626.74, 25.91, 563.09, 2) + MovementLoopAddLocation(NPC, 650.17, 25.91, 567.49, 2) + MovementLoopAddLocation(NPC, 657.09, 25.91, 579.54, 2) + MovementLoopAddLocation(NPC, 734.28, 25.91, 579.42, 2) + MovementLoopAddLocation(NPC, 741.71, 24.00, 546.19, 2) + MovementLoopAddLocation(NPC, 734.28, 25.91, 579.42, 2) + MovementLoopAddLocation(NPC, 657.09, 25.91, 579.54, 2) + MovementLoopAddLocation(NPC, 650.17, 25.91, 567.49, 2) + MovementLoopAddLocation(NPC, 626.74, 25.91, 563.09, 2) + MovementLoopAddLocation(NPC, 623.78, 25.91, 591.10, 2) + MovementLoopAddLocation(NPC, 605.66, 24.21, 590.12, 2) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + +end + + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/GuardDaarwyn.lua b/Lua/SpawnScripts/Butcherblock/GuardDaarwyn.lua new file mode 100755 index 000000000..190adfc1a --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/GuardDaarwyn.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/GuardDaarwyn.lua + Script Purpose : Guard Daarwyn + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ThievingRunts = 272 + +function spawn(NPC) + ProvidesQuest(NPC, ThievingRunts) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, ThievingRunts) == false and HasQuest(Spawn, ThievingRunts) == false and CanReceiveQuest(Spawn, ThievingRunts) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is happening?", "dlg_3_1") + AddConversationOption(conversation, "That's unfortunate. Farewell.") + StartConversation(conversation, NPC, Spawn, "Blast those beasts. As if we don't have few enough supplies, they sneak into our camp and steal what little we have! It is maddening!") + elseif GetQuestStep(Spawn, ThievingRunts) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am still hunting them down. I will return soon.") + StartConversation(conversation, NPC, Spawn, "Well? How goes your hunt?") + elseif GetQuestStep(Spawn, ThievingRunts) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have gathered up a good batch of ears for you.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Well? How goes your hunt?") + elseif HasCompletedQuest(Spawn, ThievingRunts) == true then + PlayFlavor(NPC, "", "The dangers here are unique, but it isn't anything we cannot deal with.", "converse", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "The dangers here are unique, but it isn't anything we cannot deal with.", "converse", 1689589577, 4560189, Spawn) + end +end + +function dlg_1_1(NPC, Spawn) + SetStepComplete(Spawn, ThievingRunts, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you. Farewell.", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Now this is good to see! I may not have the supplies back, but perhaps hanging some of these around might deter them from taking any more. Well, I promised you a bounty, and you have earned it. A job well done.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perhaps I could help with that. I am looking for work in the area, anyway.", "dlg_3_2") + AddConversationOption(conversation, "Maybe you'll get your chance sometime. Farewell.") + StartConversation(conversation, NPC, Spawn, "The goblins! They creep up from the water in the night, and take anything that is close to the edge of the camp. We have to post guards all around at all hours, which puts a further strain on our already thin numbers. If I could, I would hunt them down myself!") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sounds fair, then. I will return soon.", "GiveThievingRunts") + StartConversation(conversation, NPC, Spawn, "Eager to get into the fight, are you? Well, I won't stop you, then... have at them. I'll even give you a bounty for clearing some of the wretches out. Bring me their ears as proof. Come back to me when you've finished up, and we'll see how you do. Now get to it.") +end + +function GiveThievingRunts(NPC, Spawn) + OfferQuest(NPC, Spawn, ThievingRunts) +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "The dangers here are unique, but it isn't anything we cannot deal with.", "converse", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Butcherblock/GuardGasden.lua b/Lua/SpawnScripts/Butcherblock/GuardGasden.lua new file mode 100755 index 000000000..d6fbccdb2 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/GuardGasden.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/GuardGasden.lua + Script Purpose : Guard Gasden + Script Author : jakejp + Script Date : 2018.05.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +leader = 1080032 + +function spawn(NPC) + MovementLoopAddLocation(NPC, 607.97, 24.21, 589.22, 2) + MovementLoopAddLocation(NPC, 623.07, 25.91, 588.79, 2) + MovementLoopAddLocation(NPC, 623.52, 25.91, 566.96, 2) + MovementLoopAddLocation(NPC, 650.37, 25.91, 563.87, 2) + MovementLoopAddLocation(NPC, 652.73, 25.91, 565.34, 2) + MovementLoopAddLocation(NPC, 653.51, 25.91, 575.43, 2) + MovementLoopAddLocation(NPC, 722.53, 24.00, 574.92, 2) + MovementLoopAddLocation(NPC, 734.92, 25.91, 575.06, 2) + MovementLoopAddLocation(NPC, 740.40, 24.00, 537.17, 2) + MovementLoopAddLocation(NPC, 734.92, 25.91, 575.06, 2) + MovementLoopAddLocation(NPC, 653.51, 25.91, 575.43, 2) + MovementLoopAddLocation(NPC, 652.73, 25.91, 565.34, 2) + MovementLoopAddLocation(NPC, 650.37, 25.91, 563.87, 2) + MovementLoopAddLocation(NPC, 623.52, 25.91, 566.96, 2) + MovementLoopAddLocation(NPC, 623.07, 25.91, 588.79, 2) + MovementLoopAddLocation(NPC, 605.66, 24.21, 590.12, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + +end + + diff --git a/Lua/SpawnScripts/Butcherblock/GuardTellik.lua b/Lua/SpawnScripts/Butcherblock/GuardTellik.lua new file mode 100755 index 000000000..b59206ca4 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/GuardTellik.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/GuardTellik.lua + Script Purpose : Guard Tellik + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local NecessaryPrecautions = 273 + +function spawn(NPC) + ProvidesQuest(NPC, NecessaryPrecautions) +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, NecessaryPrecautions) == false and HasQuest(Spawn, NecessaryPrecautions) == false and CanReceiveQuest(Spawn, NecessaryPrecautions) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Really? Why is that?", "dlg_2_1") + AddConversationOption(conversation, "I imagine. Farewell.") + StartConversation(conversation, NPC, Spawn, "So this is Faydwer. There have always been stories in Gorowyn about this place, but I never thought I would see it. It's no Timorous Deep of course, but it is beautiful in its own right. Coming here was a challenge all by itself, but it has proven to be quite difficult to remain here.") + elseif GetQuestStep(Spawn, NecessaryPrecautions) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Whether here or home in Gorowyn, my duty does not change.") + elseif HasCompletedQuest(Spawn, NecessaryPrecautions) == true then + Say(NPC, "Whether here or home in Gorowyn, my duty does not change.") + else + Say(NPC, "Whether here or home in Gorowyn, my duty does not change.") + end +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That is frustrating. What are you planning to do, then?", "dlg_2_2") + AddConversationOption(conversation, "I'm sorry to hear that. Farewell.") + StartConversation(conversation, NPC, Spawn, "A myriad of reasons, but not the least of which are the dwarves. They have claim over much of the Butcherblock Mountains, and quite loathe to have anyone they consider to be intruders on their lands. They haven't been openly hostile as of yet, but sending out patrols at this point would certainly not be a good plan, given how few in number we are... if the dwarves did not take kindly to what they see as trespassing, it could be disastrous for us.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Hire? As a negotiator?", "dlg_2_3") + AddConversationOption(conversation, "I'm not really interested. Farewell.") + StartConversation(conversation, NPC, Spawn, "It may be imperative to our continued presence here that we establish some kind of cooperation with the dwarves. Unfortunately, our numbers here are fairly small, and we don't have anyone who might be able to begin the negotiations necessary. I know this probably isn't normally what you do, but might you be available for hire?") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, it couldn't hurt to see what I can get done, then. Farewell.", "GiveNecessaryPrecautions") + StartConversation(conversation, NPC, Spawn, "Something like that, yes. All I really need you to do is speak with the assistant dockmaster, and give her a note from us. I know she has worked with Emissary Raghuntha, and might be more amicable to our offer. Perhaps if you can perform deeds for others on the docks, it will show the dwarves that we are serious about our offer for cooperation. And I'm sure there will be plenty of reward in it for you, too.") +end + +function GiveNecessaryPrecautions(NPC, Spawn) + OfferQuest(NPC, Spawn, NecessaryPrecautions) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/HessekThornton.lua b/Lua/SpawnScripts/Butcherblock/HessekThornton.lua new file mode 100755 index 000000000..3c69f950c --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/HessekThornton.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/HessekThornton.lua + Script Purpose : Hessek Thornton + Script Author : jakejp + Script Date : 2018.05.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 607.97, 24.21, 589.22, 2) + MovementLoopAddLocation(NPC, 624.88, 25.91, 590.14, 2) + MovementLoopAddLocation(NPC, 625.14, 25.91, 565.13, 2) + MovementLoopAddLocation(NPC, 652.73, 25.91, 565.34, 2) + MovementLoopAddLocation(NPC, 655.41, 25.91, 577.74, 2) + MovementLoopAddLocation(NPC, 739.92, 25.91, 576.86, 2) + MovementLoopAddLocation(NPC, 740.40, 24.00, 537.17, 2) + MovementLoopAddLocation(NPC, 739.92, 25.91, 576.86, 2) + MovementLoopAddLocation(NPC, 655.41, 25.91, 577.74, 2) + MovementLoopAddLocation(NPC, 652.73, 25.91, 565.34, 2) + MovementLoopAddLocation(NPC, 625.14, 25.91, 565.13, 2) + MovementLoopAddLocation(NPC, 624.88, 25.91, 590.14, 2) + MovementLoopAddLocation(NPC, 605.66, 24.21, 590.12, 2) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Greetings, welcome to the Butcherblock Mountains.", "hello", 1689589577, 4560189, Spawn) +end + + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/Butcherblock/IrontoeForeman.lua b/Lua/SpawnScripts/Butcherblock/IrontoeForeman.lua new file mode 100755 index 000000000..49f32c133 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/IrontoeForeman.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/IrontoeForeman.lua + Script Purpose : Irontoe Foreman + Script Author : jakejp + Script Date : 2018.06.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local IrontoeBrigadeRequisitionLists = 282 + + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,3) + + if HasQuest(Spawn, IrontoeBrigadeRequisitionLists) == true and GetQuestStep(Spawn, IrontoeBrigadeRequisitionLists) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am here for your requisition list.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Yeah?") + else + if choice == 1 then + PlayFlavor(NPC, "", "I hope we get those shovels we need.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Not much to see in here. It's pretty boring.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Hello there!", "", 1689589577, 4560189, Spawn) + end + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, IrontoeBrigadeRequisitionLists, 2) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Ah, so you guys can tell us we don't have the budget... I know the drill, here ya go.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Why must you bother me?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "What is it? What do you want?", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Butcherblock/IrontoeForemanOne.lua b/Lua/SpawnScripts/Butcherblock/IrontoeForemanOne.lua new file mode 100755 index 000000000..2486c6e82 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/IrontoeForemanOne.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/IrontoeForemanOne.lua + Script Purpose : Irontoe Foreman + Script Author : jakejp + Script Date : 2018.06.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local IrontoeBrigadeRequisitionLists = 282 + + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,2) + + if HasQuest(Spawn, IrontoeBrigadeRequisitionLists) == true and GetQuestStep(Spawn, IrontoeBrigadeRequisitionLists) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am here for your requisition list.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Yes?") + else + if choice == 1 then + PlayFlavor(NPC, "", "Why must you bother me?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "What is it? What do you want?", "", 1689589577, 4560189, Spawn) + end + end +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, IrontoeBrigadeRequisitionLists, 1) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Here.") +end diff --git a/Lua/SpawnScripts/Butcherblock/IrontoeForewoman.lua b/Lua/SpawnScripts/Butcherblock/IrontoeForewoman.lua new file mode 100755 index 000000000..7adce2d55 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/IrontoeForewoman.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/IrontoeForewoman.lua + Script Purpose : Irontoe Forewoman + Script Author : jakejp + Script Date : 2018.06.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local IrontoeBrigadeRequisitionLists = 282 + + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + local choice = math.random(1,3) + + if HasQuest(Spawn, IrontoeBrigadeRequisitionLists) == true and GetQuestStep(Spawn, IrontoeBrigadeRequisitionLists) == 3 then + AddConversationOption(conversation, "I am here to collect your requisition list.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "What do ya need?") + else + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Well met!") + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + Say(NPC, "The work never stops!") + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Kaladim WILL be ours!") + end + end +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, IrontoeBrigadeRequisitionLists, 3) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Ah, great! Here you go.") +end + diff --git a/Lua/SpawnScripts/Butcherblock/MizzenStaysail.lua b/Lua/SpawnScripts/Butcherblock/MizzenStaysail.lua new file mode 100755 index 000000000..7c14ff425 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/MizzenStaysail.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/MizzenStaysail.lua + Script Purpose : Mizzen Staysail + Script Author : jakejp + Script Date : 2018.06.02 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local CaptainSays = 267 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, CaptainSays) and GetQuestStep(Spawn, CaptainSays) == 2 then + PlayFlavor(NPC, "mizzen_staysail/_exp03/exp03_rgn_butcherblock/staysail/staysail001.mp3", "", "", 1029519275, 2649145859, Spawn) + AddConversationOption(conversation, "Orders from the Cap'n, Shorty!", "dlg_7_1") + AddConversationOption(conversation, "I'll let you get back to your story.") + StartConversation(conversation, NPC, Spawn, "So there I was! Surrounded by a marauding band of... Undead... Elemental... Orc pirates! Armed with only a flanger-poozle and frik-fork! So I says to 'em...") + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "So there I was! Surrounded by a marauding band of... Undead... Elemental... Orc pirates! Armed with only a flanger-poozle and frak-fork! So I says to 'em...", "", 1689589577, 4560189, Spawn) + end + + +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Cap'n says ta knock off the deck work an' brighten the clamp!", "WrongChoice") + AddConversationOption(conversation, "Cap'n says ta brighten the clamp off an' work on the deck knock!", "WrongChoice") + AddConversationOption(conversation, "Cap'n says to knock off the bright work an' clamp down the deck!", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Bah! I was just gettin' ta the good part. Alright then, if you be a representative of ta' Cap'n, then lemme 'ave it!") +end + +function dlg_7_2(NPC, Spawn) + SetStepComplete(Spawn, CaptainSays, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Aye aye!") + StartConversation(conversation, NPC, Spawn, "Well, why didn't you say so?! Tell the Cap'n I'll be right over!") +end + +function WrongChoice(NPC,Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Hmm, perhaps I mixed that one up. Let me start over.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Whaaa? Ho ho ho. He he he. That thar is what we call a good fisherman's tale. Oooh-hoo. Too funny friend, too funny!") +end +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "So there I was! Surrounded by a marauding band of... Undead... Elemental... Orc pirates! Armed with only a flanger-poozle and frak-fork! So I says to 'em...", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Butcherblock/NinoinDsyl.lua b/Lua/SpawnScripts/Butcherblock/NinoinDsyl.lua new file mode 100755 index 000000000..896c936b3 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/NinoinDsyl.lua @@ -0,0 +1,198 @@ +--[[ + Script Name : NinoinDsyl.lua + Script Purpose : Ninoin D'syl + Script Author : jakejp + Script Date : 06/22/2018 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +-- Quest ID's +local TEIRDALTIMBER = 352 +local FLETCHMEMORE = 353 +local STRAIGHTANDTOTHEPOINT = 354 + +function spawn(NPC) + ProvidesQuest(NPC, TEIRDALTIMBER) + ProvidesQuest(NPC, FLETCHMEMORE) + ProvidesQuest(NPC, STRAIGHTANDTOTHEPOINT) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if CanReceiveQuest(Spawn, TEIRDALTIMBER) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(con, "What's this about arrows?", "dlg_2") + AddConversationOption(con, "A wise man once told me never to speak with the Teir'Dal when they are angry. Good day, ma'am.") + StartConversation(con, NPC, Spawn, "Curse these warped arrows! How do they expect us to hit our enemies if our arrows are curved rounder than a halfling's belly?!") + elseif HasQuest(Spawn, TEIRDALTIMBER) and GetQuestStep(Spawn, TEIRDALTIMBER) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Do not return until you have an ample supply of timber. There should be plenty laying around here. If you lack the skill to gather lumber here, harvest lumber in the Great Faydark forest until you have the skill to gather timber here.", Spawn) + elseif HasQuest(Spawn, TEIRDALTIMBER) and GetQuestStep(Spawn, TEIRDALTIMBER) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + SetStepComplete(Spawn, TEIRDALTIMBER, 2) + AddConversationOption(con, "Who said anything about feathers?", "dlg_9") + StartConversation(con, NPC, Spawn, "Well, well. That's quite a pile of lumber you have there. Good work. I can begin making the arrow shafts at once. Now, give me the feathers.") + elseif CanReceiveQuest(Spawn, FLETCHMEMORE) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(con, "Who said anything about feathers?", "dlg_9") + StartConversation(con, NPC, Spawn, "Well, well. That's quite a pile of lumber you have there. Good work. I can begin making the arrow shafts at once. Now, give me the feathers.") + elseif HasQuest(Spawn, FLETCHMEMORE) and GetQuestStep(Spawn, FLETCHMEMORE) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Hmm, now what is it you don't have for me? Oh, that's right. Feathers! Go, and don't come back until you have a decent amount.", Spawn) + elseif HasQuest(Spawn, FLETCHMEMORE) and GetQuestStep(Spawn, FLETCHMEMORE) == 2 then + SetStepComplete(Spawn, FLETCHMEMORE, 2) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(con, "You can't use the arrowheads from the old arrows?", "dlg_13") + StartConversation(con, NPC, Spawn, "Yes... These will do nicely. Excellent work. I have nearly completed whittling the shafts from the timber you brought, and with these feathers I can attach the fletching. That only leaves the arrowheads to deal with now.") + elseif CanReceiveQuest(Spawn, STRAIGHTANDTOTHEPOINT) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(con, "You can't use the arrowheads from the old arrows?", "dlg_13") + StartConversation(con, NPC, Spawn, "Yes... These will do nicely. Excellent work. I have nearly completed whittling the shafts from the timber you brought, and with these feathers I can attach the fletching. That only leaves the arrowheads to deal with now.") + elseif HasQuest(Spawn, STRAIGHTANDTOTHEPOINT) and GetQuestStep(Spawn, STRAIGHTANDTOTHEPOINT) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + Say(NPC, "What, did one of those brutes smack you so hard you forgot what you are doing? Leave and do not return until you have gathered an arsenal's worth of stone weapons.", Spawn) + elseif HasQuest(Spawn, STRAIGHTANDTOTHEPOINT) and GetQuestStep(Spawn, STRAIGHTANDTOTHEPOINT) == 2 then + SetStepComplete(Spawn, STRAIGHTANDTOTHEPOINT, 2) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(con, "What?! After all that I've done for you?", "dlg_17") + StartConversation(con, NPC, Spawn, "Well done! These will do nicely. Now, as a token of my appreciation I will refrain from slaying you. You may leave now.") + elseif HasCompletedQuest(Spawn, STRAIGHTANDTOTHEPOINT) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + Say(NPC, "You're still alive? Pity.", Spawn) + end +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Perhaps I could be of service. Could I help?", "dlg_3") + StartConversation(con, NPC, Spawn, "These arrows! I just received a shipment of them from... Well, that's not important for you to know. The point is, they are ruined! All of them water-logged and warped. I have no choice but to find new ones.") +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Uh...", "dlg_4") + StartConversation(con, NPC, Spawn, "Hmm, yes that would be excellent. First I need you to find a master fletcher. When you do, beat him to submission until he agrees to follow your every command. Slaughter a family member or two if necessary. Just make sure he can follow orders and that his hands remain in working order.") +end + +function dlg_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I don't have the time to go find a master fletcher, much less beat him up.", "dlg_5") + AddConversationOption(con, "Perhaps we could find a solution that does not involve as much violence.", "dlg_5") + StartConversation(con, NPC, Spawn, "Pretty standard, really. What? Oh, is that too drastic for you?") +end + +function dlg_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Why don't I collect the items you need to make new arrows?", "OfferQuest1") + AddConversationOption(con, "Forget it. I'm not interested.") + StartConversation(con, NPC, Spawn, "Well, what do you suggest?") +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, TEIRDALTIMBER) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Right away!") + AddConversationOption(con, "What's in it for me?", "dlg_7") + StartConversation(con, NPC, Spawn, "Hmm, I suppose that would work. Though I do like the idea of beating someone into submission... Anyways, I need fresh cut timber to whittle down into arrow shafts. Bring me a substantial pile of timber from the trees around here.") + --]] +end + +function dlg_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "Perfect.") + StartConversation(con, NPC, Spawn, "Fear not, young one. I will pay you for your time.") +end + +function dlg_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I know that, you didn't mention you wanted me to get you feathers though.", "dlg_10") + StartConversation(con, NPC, Spawn, "You can't make arrows without suitable fletching!") +end + +function dlg_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "I could bring back feathers from the aviaks that make their home here.", "OfferQuest2") + AddConversationOption(con, "Nope. Forget it. I'm done working for you.") + StartConversation(con, NPC, Spawn, "Well, it seemed plain obvious to me. Sheesh. Now, I've tried using the feathers from the hawks here, but they're too... dainty. I need feathers from a larger, more... sturdy beast.") +end + +function OfferQuest2(NPC, Spawn) + OfferQuest(NPC, Spawn, FLETCHMEMORE) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "It will be done in due course.") + StartConversation(con, NPC, Spawn, "Yes, Kragploom should work quite well. Bring me several feathers from any type of Kragploom you're able to hunt down. Their plumage would be best to make my arrows from.") + --]] +end + +function dlg_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "Where might I find material like that?", "OfferQuest3") + AddConversationOption(con, "Sigh, not again. You'll have to find it without me.") + StartConversation(con, NPC, Spawn, "I'm afraid not. Those arrowheads were all rusted and brittle. I can't go slaying people with shoddy arrowheads now can I? Of course not! I need you to procure some sharpened stone which I can use as a substitute.") +end + +function OfferQuest3(NPC, Spawn) + OfferQuest(NPC, Spawn, STRAIGHTANDTOTHEPOINT) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "I take my leave.") + AddConversationOption(con, "Where are they located?", "dlg_15") + StartConversation(con, NPC, Spawn, "I've seen lumbering brutes patrolling the Northern reaches of these mountains. Bugbears, I believe they are called. They carry massive weapons made of flint or obsidian. Bring me back a pile of those weapons. I should be able to craft some new arrowheads out of them.") + --]] +end + +function dlg_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "I'm going. I'm going!") + StartConversation(con, NPC, Spawn, "As I said, in the Northern parts of these mountains. Travel North from the Highlands and look for a natural ramp that stretches Northeast. The brutes have established a formidable camp there. Now go! ") +end + +function dlg_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "That's more like it!") + StartConversation(con, NPC, Spawn, "Fine! You see, this is why I insist on working with only those who are easily subjugated and mute. Soooooo fewer incidents like this. Here, take this. I suppose you've earned it.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/PhilosopherRhimes.lua b/Lua/SpawnScripts/Butcherblock/PhilosopherRhimes.lua new file mode 100755 index 000000000..c666abb73 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/PhilosopherRhimes.lua @@ -0,0 +1,222 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/PhilosopherRhimes.lua + Script Purpose : Philosopher Rhimes + Script Author : jakejp + Script Date : 2018.05.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's so wonderful! I just want to go out and start basking in their glory right away!", "dlg_9_1") + AddConversationOption(conversation, "Feh. Gods, who needs em? Always a pain in yer neck! I'd sooner stick a knife in their gut than worship those churlish manifestations.", "dlg_9_1") + AddConversationOption(conversation, "I'm really not interested at all.") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm sure you've heard all the hubbub about the deities coming back to us! Some people think it's grand, others not so much.") + +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?", "dlg_9_2") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_9_4") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!", "dlg_9_6") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.", "MarrEnd") + AddConversationOption(conversation, "Tunare...tell me where to speak with her prophet.", "TunareEnd") + AddConversationOption(conversation, "Where might I find Quellious' prophet?", "QuelliousEnd") + AddConversationOption(conversation, "I am searching for the prophet of the Prime Healer, Rodcet Nife.", "RodcetEnd") + AddConversationOption(conversation, "I would love to speak with Erollisi Marr's prophet. Surely she has one!", "ErollisiEnd") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?", "dlg_9_1") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + + +function dlg_9_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!", "BrellEnd") + AddConversationOption(conversation, "I hear the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?", "BristlebaneEnd") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.", "SolusekEnd") + AddConversationOption(conversation, "I want to work with the law. Where is the Tribunal's prophet?", "TribunalEnd") + AddConversationOption(conversation, "I serve the father of storms. Where can I find the prophet of Karana?", "KaranaEnd") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?", "dlg_9_1") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + + +function dlg_9_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!", "CazicEnd") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.", "RallosEnd") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "InnoruukEnd") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.", "BertoxxulousEnd") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.", "AnashtiEnd") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?", "dlg_9_1") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + + +function MarrEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Sir Bayden Cauldthorn may be found in Old Kelethin, not far from the research library. He seeks all brave and valorous enough to follow Mithaniel Marr!") +end + +function TunareEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Tunare's prophet, Kurista, has taken up residence within Old Kelethin. If you wish to learn more about the Earthmother, I am certain she would be willing to share her faith with you.") +end + +function QuelliousEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Sensei Shoda has delegated responsibility to an erudite named Merrek. You can find him at the top of the cliffs in Butcherblock overlooking the ocean.") +end + +function RodcetEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for your guidance. Farewell to you.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Following in the footsteps of Seeress Ealaynya Ithis, the Prophet Bainyn Fairwind has been preaching the word of the Prime Healer from within the Temple of Life in North Qeynos. If you wish to learn more about Rodcet Nife, then seek out Bainyn within the sacred temple.") +end + +function ErollisiEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for your guidance. Farewell to you.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Erollisi Marr's return to Norrath was quite extraordinary! If she is to take a prophet it would be Priest Aaronolis Swornlove, but he has not been bestowed with such a mantle, yet. I encourage you to speak with Sister Leela Prendyn of the Sisterhood of Erollisi. You will find her at the Cairn of the Huntress in the city of New Halas, in Frostfang Sea. She will tell you more of the Loving Huntress.") +end + +function BrellEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Bronlor Stormhammer has gone to Highlands Outpost, here in the Butcherblock Mountains. You will need to seek him out if it is Brell Serilis you are interested in learning about.") +end + +function BristlebaneEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "I believe Tobel Patadash is the one you should seek out. He's currently residing on the docks of the Enchanted Lands, near the Lost Village of Bobick.") +end + +function SolusekEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Civean Il'Pernod stares out across the Butcherblock above the King's Rest ravine. You will need to speak to him if you wish to learn about Solusek Ro.") +end + +function TribunalEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Justinian Theo is near the settlement of Chrykori Village in Timorous Deep. His eyes scan the horizon, searching for those who seek justice and balance in Norrath. If that is what you seek, then speak with him.") +end + +function KaranaEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Then I will go to him swiftly.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Askr can be found near the city of Gorowyn in Timorous Deep -- on the Green Outlook. He can tell you how to return the father of storms to the skies of Norrath.") +end + +function CazicEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "The Prophet of Fear, Danak Dhorentath, has gone to Dagnor's Pass here in Butcherblock. If you wish to learn more about Cazic-Thule, I would seek him out there.") +end + +function RallosEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Tychus Zeksworn has taken up a position east of East Fort Irontoe, overlooking one of the treacherous mountain passes. Perhaps he seeks to recruit the bugbears and kobolds to join an army of Rallos Zek!") +end + +function InnoruukEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Xilania Nevagon has gone to Greater Faydark, though to what end I do not know. I am certain that the Prophet of Innoruuk has only nefarious things in mind if she has gone to the home of the Fae!") +end + +function BertoxxulousEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Hrath Everstill can be found near the entrance to the city of Gorowyn in Timorous Deep. It's been said that he's been conducting some rather gruesome experiments on some of the locals in an attempt to unleash the wrath of Bertoxxulous, the Plaguebringer. Perhaps he could use your assistance.") +end + +function AnashtiEnd(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "You have been most helpful. I will take my leave now.") + AddConversationOption(conversation, "On second thought...", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Once thought lost to the nothingness of the Void, Anashti Sul has found her way back to Norrath. Her Prophet, Plumetor Dul'Sadma, has taken up residence on the docks of the Sinking Sands. It is there you will need to travel if you wish to learn more about the nature of the Forgotten One.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/Raghunatha.lua b/Lua/SpawnScripts/Butcherblock/Raghunatha.lua new file mode 100755 index 000000000..ade70c065 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/Raghunatha.lua @@ -0,0 +1,197 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/Raghunatha.lua + Script Purpose : Raghunatha + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local SarnakSympathizerPart1 = 274 + +function spawn(NPC) + ProvidesQuest(NPC, SarnakSympathizerPart1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, SarnakSympathizerPart1) == false and HasQuest(Spawn, SarnakSympathizerPart1) == false and CanReceiveQuest(Spawn, SarnakSympathizerPart1) == true then + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha001.mp3", "", "", 62910123, 2692407233, Spawn) + AddConversationOption(conversation, "Indeed, I was wondering. Care to explain?", "dlg_1_1") + AddConversationOption(conversation, "Not at all, actually.") + StartConversation(conversation, NPC, Spawn, "Greetings, stranger. I'm sure you're wondering what a sarnak like myself is doing all the way here in the Butcherblock Mountains.") + elseif GetQuestStep(Spawn, SarnakSympathizerPart1) == 1 then + PlayFlavor(NPC, "", "Please return to me once you've completed all the Irontoe Dwarf Tasks", "thanks", 1689589577, 4560189, Spawn) + elseif HasCompletedQuest(Spawn, SarnakSympathizerPart2) == true then + PlayFlavor(NPC, "", "Thanks again for all your help!", "thanks", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha001.mp3", "", "", 62910123, 2692407233, Spawn) + end + + if convo==6 then + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha009.mp3", "", "", 3098514065, 2686440714, Spawn) + AddConversationOption(conversation, "I'm just glad I could help.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Friend, it's so very good to see you again. I've spoken with all the dwarves on the list I gave you. They've all said very kind things about your dedication to the tasks they've given you.") + end +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha002.mp3", "", "", 1071485609, 2454621762, Spawn) + AddConversationOption(conversation, "Were the Haoaerans successful?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "A small delegation of Gorwynian citizens have traveled across the Timorous Deep to enlist the help of the dwarves of Butcherblock and Kaladim. Our first concern was that the blasted Haoaerans would rouse the Kragploom aviaks into action and cause them to join their cause.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha003.mp3", "", "", 3690188667, 1562372666, Spawn) + AddConversationOption(conversation, "Are the dwarves unwilling to help at all?", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "So far, no. Our allies have prevented the two aviak tribes from conspiring with one another, though convincing the dwarves to assist us has proved more difficult than we originally anticipated.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha004.mp3", "", "", 833410768, 1027249809, Spawn) + AddConversationOption(conversation, "I'll help if I can. What's the problem?", "dlg_1_4") + AddConversationOption(conversation, "Ah, good luck then!") + StartConversation(conversation, NPC, Spawn, "Not exactly. The dwarves here are actually sympathetic to our plight. Afterall, they know firsthand what it's like to have an enemy encroach upon your ancestral lands.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha005.mp3", "", "", 518757181, 1757436789, Spawn) + AddConversationOption(conversation, "I can. Is there anything I can do to help?", "dlg_1_5") + AddConversationOption(conversation, "Sorry to hear that. Well, I need to leave. Good-bye!") + + StartConversation(conversation, NPC, Spawn, "Simply put, it is a matter of resources. The dwarves here in this outpost are an extremely busy lot. As much as they would like to assist us, they need to take care of their own problems first. A most frustrating dilemma for our cause, I'm sure you can imagine.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha006.mp3", "", "", 1066732182, 1623424378, Spawn) + AddConversationOption(conversation, "Yes, I will help.", "GiveSarnakSympathizerPart1") + StartConversation(conversation, NPC, Spawn, "You would be willing to assist us? Marvelous! Yes, please, I've taken it upon myself to assist the dwarves in their own problems in hope that with enough assistance, they would be able to return the favor. Would you be willing to speak with several of the dwarves around these lands, and help them in their duties?") +end + +function dlg_1_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha007.mp3", "", "", 3396264823, 906309207, Spawn) + AddConversationOption(conversation, "I'll begin at once!", "dlg_1_13") + StartConversation(conversation, NPC, Spawn, "Thank you, friend, I'll do my best to make sure you're rewarded kindly. Now, let me write down the names of all the dwarves you'll need to speak with. Complete their tasks and then return to me. Time is of the essence, and the Haoaeran's attacks grow stronger every day.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha010.mp3", "", "", 3327757984, 2621465746, Spawn) + AddConversationOption(conversation, "Good to hear. Good-bye, Raghuntha.", "dlg_6_2") + StartConversation(conversation, NPC, Spawn, "Indeed, you've helped both our causes tremendously. I'm happy to add that just this morning the dwarves here have agreed to lend both military and engineering support back to Gorowyn so we can finally gain the upper hand in our fight against the Haoaerans and drive them back whence they came!") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha002.mp3", "", "", 1071485609, 2454621762, Spawn) + AddConversationOption(conversation, "Were the Haoaerans successful?", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "A small delegation of Gorwynian citizens have traveled across the Timorous Deep to enlist the help of the dwarves of Butcherblock and Kaladim. Our first concern was that the blasted Haoaerans would rouse the Kragploom aviaks into action and cause them to join their cause.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha003.mp3", "", "", 3690188667, 1562372666, Spawn) + AddConversationOption(conversation, "Are the dwarves unwilling to help at all?", "dlg_10_3") + StartConversation(conversation, NPC, Spawn, "So far, no. Our allies have prevented the two aviak tribes from conspiring with one another, though convincing the dwarves to assist us has proved more difficult than we originally anticipated.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha004.mp3", "", "", 833410768, 1027249809, Spawn) + AddConversationOption(conversation, "Then what's the problem?", "dlg_10_4") + StartConversation(conversation, NPC, Spawn, "Not exactly. The dwarves here are actually sympathetic to our plight. Afterall, they know firsthand what it's like to have an enemy encroach upon your ancestral lands.") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha002.mp3", "", "", 1071485609, 2454621762, Spawn) + AddConversationOption(conversation, "Were the Haoaerans successful?", "dlg_14_2") + StartConversation(conversation, NPC, Spawn, "A small delegation of Gorwynian citizens have traveled across the Timorous Deep to enlist the help of the dwarves of Butcherblock and Kaladim. Our first concern was that the blasted Haoaerans would rouse the Kragploom aviaks into action and cause them to join their cause.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha003.mp3", "", "", 3690188667, 1562372666, Spawn) + AddConversationOption(conversation, "Are the dwarves unwilling to help at all?", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "So far, no. Our allies have prevented the two aviak tribes from conspiring with one another, though convincing the dwarves to assist us has proved more difficult than we originally anticipated.") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha004.mp3", "", "", 833410768, 1027249809, Spawn) + AddConversationOption(conversation, "Then what's the problem?", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "Not exactly. The dwarves here are actually sympathetic to our plight. Afterall, they know firsthand what it's like to have an enemy encroach upon your ancestral lands.") +end + +function dlg_14_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha005.mp3", "", "", 518757181, 1757436789, Spawn) + AddConversationOption(conversation, "I can. Is there anything I can do to help?", "dlg_14_5") + StartConversation(conversation, NPC, Spawn, "Simply put, it is a matter of resources. The dwarves here in this outpost are an extremely busy lot. As much as they would like to assist us, they need to take care of their own problems first. A most frustrating dilemma for our cause, I'm sure you can imagine.") +end + +function dlg_14_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha006.mp3", "", "", 1066732182, 1623424378, Spawn) + AddConversationOption(conversation, "Yes, I will help.", "dlg_14_6") + StartConversation(conversation, NPC, Spawn, "You would be willing to assist us? Marvelous! Yes, please, I've taken it upon myself to assist the dwarves in their own problems in hope that with enough assistance, they would be able to return the favor. Would you be willing to speak with several of the dwarves around these lands, and help them in their duties?") +end + +function dlg_14_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "raghuntha/_exp03/exp03_rgn_butcherblock/sarnak_sympathizer/raghunatha/raghunatha007.mp3", "", "", 3396264823, 906309207, Spawn) + AddConversationOption(conversation, "I'll begin at once!", "dlg_14_7") + StartConversation(conversation, NPC, Spawn, "Thank you, friend, I'll do my best to make sure you're rewarded kindly. Now, let me write down the names of all the dwarves you'll need to speak with. Complete their tasks and then return to me. Time is of the essence, and the Haoaeran's attacks grow stronger every day.") +end + +function GiveSarnakSympathizerPart1(NPC, Spawn) + OfferQuest(NPC, Spawn, SarnakSympathizerPart1) +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Thanks again for all your help!", "thanks", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Butcherblock/ResearcherEruwun.lua b/Lua/SpawnScripts/Butcherblock/ResearcherEruwun.lua new file mode 100755 index 000000000..28fbbda2b --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/ResearcherEruwun.lua @@ -0,0 +1,95 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/ResearcherEruwun.lua + Script Purpose : Researcher Eruwun + Script Author : jakejp + Script Date : 2018.06.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local UnusualPalate = 271 + +function spawn(NPC) + ProvidesQuest(NPC, UnusualPalate) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,1) + + if HasCompletedQuest(Spawn, UnusualPalate) == false and HasQuest(Spawn, UnusualPalate) == false and CanReceiveQuest(Spawn, UnusualPalate) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am. What is it you are looking to have done?", "dlg_1_1") + AddConversationOption(conversation, "Not at the moment. Farewell for now.") + StartConversation(conversation, NPC, Spawn, "Ah, you might be just who I was hoping for. I am assuming you are here looking for some work, are you not?") + elseif GetQuestStep(Spawn, UnusualPalate) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet, but I will return soon.") + StartConversation(conversation, NPC, Spawn, "Were you able to find the glands I need?") + elseif GetQuestStep(Spawn, UnusualPalate) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have them right here.", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "Were you able to find the glands I need?") + elseif HasCompletedQuest(Spawn, UnusualPalate) == true then + Say(NPC, "What a wealth of knowledge Faydwer is! If I spend the rest of my days in study here, it will not be enough time.") + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + end +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's interesting, but what does that have to do with me?", "dlg_1_2") + AddConversationOption(conversation, "Well, that is definitely a boon for them. Farewell.") + StartConversation(conversation, NPC, Spawn, "Excellent. I am looking to research some of the more unique creatures to Faydwer, and one in particular is fascinating to me. The rust creatures that wander the beach can turn metal into rust in very short order, and then consume the corrosion as sustenance. With all the activity on the docks and what comes up on the beaches, they never seem to have a shortage of food.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "We have a deal, then. I will return soon.", "GiveUnusualPalate") + StartConversation(conversation, NPC, Spawn, "I want to know how they turn metal into rust so quickly. I imagine this has something to do with their saliva, and I want to study it. Bring me a few of their saliva glands, if you can extract them without damaging them. I will, of course, pay you for your time.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's interesting, but what does that have to do with me?", "dlg_8_2") + AddConversationOption(conversation, "Well, that is definitely a boon for them. Farewell.") + StartConversation(conversation, NPC, Spawn, "Excellent. I am looking to research some of the more unique creatures to Faydwer, and one in particular is fascinating to me. The rust creatures that wander the beach can turn metal into rust in very short order, and then consume the corrosion as sustenance. With all the activity on the docks and what comes up on the beaches, they never seem to have a shortage of food.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "We have a deal, then. I will return soon.", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "I want to know how they turn metal into rust so quickly. I imagine this has something to do with their saliva, and I want to study it. Bring me a few of their saliva glands, if you can extract them without damaging them. I will, of course, pay you for your time.") +end + +function dlg_11_1(NPC, Spawn) + SetStepComplete(Spawn, UnusualPalate, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks to you as well. Farewell.") + StartConversation(conversation, NPC, Spawn, "Well, well! This is excellent! I may have to get these back to Gorowyn before I can really study them, but I am certainly looking forward to it. Here is the payment you were promised. My thanks again for your work. Farewell.") +end + +function GiveUnusualPalate(NPC, Spawn) + OfferQuest(NPC, Spawn, UnusualPalate) +end diff --git a/Lua/SpawnScripts/Butcherblock/SchmittyMcEricson.lua b/Lua/SpawnScripts/Butcherblock/SchmittyMcEricson.lua new file mode 100755 index 000000000..0cd597a29 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/SchmittyMcEricson.lua @@ -0,0 +1,160 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/SchmittyMcEricson.lua + Script Author : jakejp + Script Date : 2018.05.29 10:05:02 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/PlayerHistory" +local SchmittysSandals = 266 + +function spawn(NPC) + ProvidesQuest(NPC, SchmittysSandals) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + if HasQuest(Spawn, SchmittysSandals) and GetQuestStep(Spawn, SchmittysSandals) < 6 then + if GetQuestStep(Spawn, SchmittysSandals) == 1 then + --on 1st part of quest + Say(NPC, "Did you get everything on the list? I can't make me new sandals until ye come back with all the parts I need.") + elseif GetQuestStep(Spawn, SchmittysSandals) == 2 then + -- on 2nd part of quest + Say(NPC, "Did you get everything on the list? I can't make me new sandals until ye come back with all the parts I need.") + elseif GetQuestStep(Spawn, SchmittysSandals) == 3 then + --on 3rd part of quest + Say(NPC, "Did you get everything on the list? I can't make me new sandals until ye come back with all the parts I need.") + elseif GetQuestStep(Spawn, SchmittysSandals) == 4 then + --on 4th part of quest + --PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Right, anyways I brought back all the parts you need.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Phew! Something smells fishy! Oh, it's you... Sorry.") + elseif GetQuestStep(Spawn, SchmittysSandals) == 5 then + --on 5th part of quest + local time = GetPlayerHistory(Spawn, HISTORY.BB_SCHMITTYSANDALS_STEP5_WAIT) + 300 + if os.time() < time then + Say(NPC, "Sorry, friend. I still haven't finished the sandals. Give me a few more minutes, please.") + elseif os.time() > time then + SetStepComplete(Spawn, SchmittysSandals, 5) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sounds like a win-win situation to me!") + StartConversation(conversation, NPC, Spawn, "Here you are. Some of me best work! Thanks again for your help. I probably never would have found me old sandals were it not fer you.") + end + + end + elseif HasCompletedQuest(Spawn, SchmittysSandals) then + FaceTarget(NPC, Spawn) + Say(NPC, "I'm so happy I found me old sandals, I could kick them off in a fit of joy.") + + elseif CanReceiveQuest(Spawn, SchmittysSandals) then + AddConversationOption(conversation, "I beg your pardon? I was just saying hello.", "Option1") + StartConversation(conversation, NPC, Spawn, "Oh, what? You wanna fight er somethin'?") + else + local choice = math.random(1,2) + if choice == 1 then + Say(NPC, "Whoops! I almost hit you with my pole. What a tragedy THAT would have been!") + elseif choice == 2 then + Say(NPC, "You don't know me. You think you're better than me?!") + end + end +end + +function Option1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Are the fish not biting?", "Option2") + AddConversationOption(conversation, "Don't blame me. Bye!") + StartConversation(conversation, NPC, Spawn, "Ah, jeez. I'm sorry, friend. I didn't mean ta come at ya like that. You see, I'm just a poor fisherman who's fallen on hard times and is lookin' to blame everyone else for me problems besides meself.") +end + +function Option2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "How did you lose them?", "Option3") + StartConversation(conversation, NPC, Spawn, "Oh no, the fishing is great. It's just... well, it may seem silly ta you but... I've gone and lost me sandals.") +end + +function Option3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I see... So, can I help you find them?", "Option4") + StartConversation(conversation, NPC, Spawn, "I dunno! One moment I'm standing here, doin' my job. You know, fishing and making sure the ale hasn't been poisoned. Next thing I know, I'm looking down at my bare feet. Twas the strangest thing.") +end + +function Option4(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Alright. What do you need to make the new sandals?", "GiveSchmittysSandals") + AddConversationOption(conversation, "All this talk of ale and fish has gotten me hungry. I must go.") + StartConversation(conversation, NPC, Spawn, "I appreciate the offer friend, but I've looked all over for 'em wit no luck at all. You know... I think I could use your help! I'll just make me some new sandals! Haha!") +end + +function GiveSchmittysSandals(NPC, Spawn) + OfferQuest(NPC, Spawn, SchmittysSandals) +end + + +function Option6(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Off I go!") + StartConversation(conversation, NPC, Spawn, "Excellent! All the things I need can be found around this bay. You shouldn't have much trouble finding them.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Remarkable... Though, what am I going to do with all these odd animal parts?", "dlg_2_2") + AddConversationOption(conversation, "Actually, I can believe it. Here are the parts you asked for.") + StartConversation(conversation, NPC, Spawn, "Huh? Ohhhh! For the sandals. Right, right. Well, yer not gonna believe this, but I found me ol' sandals! Turns out they were just buried under a pile o' sand! Haha!") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yeah, why don't you make the sandals anyway. I could always use them.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "Well, no sense in lettin' it all go ta waste now, right?") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "This is going to be a bit. Isn't it?", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "That's a great idea! Now let's see here. This thread goes through that hole here...") +end + +function dlg_2_4(NPC, Spawn) + SetStepComplete(Spawn, SchmittysSandals, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_2_5") + StartConversation(conversation, NPC, Spawn, "And that connects there... Aye. Come back in a few minutes. I'll have your sandals for you then.") + + +end + +function StillWorking(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Sorry, friend. I still haven't finished the sandals. Give me a few more minutes, please.") + +end diff --git a/Lua/SpawnScripts/Butcherblock/TallyTopgallant.lua b/Lua/SpawnScripts/Butcherblock/TallyTopgallant.lua new file mode 100755 index 000000000..e62097fc7 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/TallyTopgallant.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/TallyTopgallant.lua + Script Purpose : Tally Topgallant + Script Author : jakejp + Script Date : 2018.06.02 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local CaptainSays = 267 + + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, CaptainSays) and GetQuestStep(Spawn, CaptainSays) == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Orders from the Cap'n, m'lady!", "dlg_8_1") + AddConversationOption(conversation, "Oh, you caught me! I'll be leaving now.") + StartConversation(conversation, NPC, Spawn, "Aye, wot do we got 'ere? Some land lubber think they can git the drop on ole Tally Topgallant? Ha ha! I think not!") + else + PlayFlavor(NPC, "", "Aye, wot do we got 'ere? Some land lubber think they can git the drop on ole Tally Topgallant? Ha ha! I think not!", "", 1689589577, 4560189, Spawn) + end +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Cap'n wants you ta lash up an' stow 'afore you batten down the hatches!", "dlg_8_2") + AddConversationOption(conversation, "Cap'n wants you ta stow the hatches 'afore you batten down the lash!", "WrongChoice") + AddConversationOption(conversation, "Cap'n wants you ta lash up the batten 'afore you stow the hatches.", "WrongChoice") + StartConversation(conversation, NPC, Spawn, "Hmph. He best pay me 'afor he can expect me ta take another run aboard that floatin' heap he be callin' a ship. Now then, wot's the Cap'n got ta say ta me?") +end + +function dlg_8_2(NPC, Spawn) + SetStepComplete(Spawn, CaptainSays, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll report back to the Cap'n at once!") + StartConversation(conversation, NPC, Spawn, "Aye, that's wot he always be tellin' me. Day in an' day out. Tell the Cap'n I'll be there promptly. Blimmey, I'm gettin' too old for this 'ere kinda work.") +end + +function WrongChoice(NPC,Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Wait, let me try that again!", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Is this some sorta joke? Let me guess, one too many hits wit a belay pin got you all scrambled in yer noggin', right? You ain't talk to no Cap'n I work for! Off wit ye!") +end +--[[ raw_conversations + PlayFlavor(NPC, "", "Aye, wot do we got 'ere? Some land lubber think they can git the drop on ole Tally Topgallant? Ha ha! I think not!", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Butcherblock/TalvraeTZyth.lua b/Lua/SpawnScripts/Butcherblock/TalvraeTZyth.lua new file mode 100755 index 000000000..be55cb67b --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/TalvraeTZyth.lua @@ -0,0 +1,235 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/TalvraeTZyth.lua + Script Purpose : Talvrae T'Zyth + Script Author : jakejp + Script Date : 2018.06.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TerratrodderChuck = 45400 + +local ForTheDogs = 284 +local AMindOfMyOwn = 294 + +function spawn(NPC) + ProvidesQuest(NPC, ForTheDogs) + ProvidesQuest(NPC, AMindOfMyOwn) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, SeekingBrultenHiltstill) then + -- Start first quest (Add if you don't do this quest from start zone) + -- Add Conversation to complete that side quest + SetStepComplete(Spawn, SeekingBrultenHiltstill, 1) + if HasCompletedQuest(Spawn, ForTheDogs) == false and HasQuest(Spawn, ForTheDogs ) == false and CanReceiveQuest(Spawn, ForTheDogs) then + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_001.mp3", "", "", 4232138815, 4269349384, Spawn) + AddConversationOption(conversation, "Is that so? And what would you rather be doing then, given the chance?", "dlg_8_1") + AddConversationOption(conversation, "Well, this is the job you were given. Farewell.") + StartConversation(conversation, NPC, Spawn, "Collecting samples. A coercer of my talents is sent to Faydwer to collect samples for magical research. This is work that should be relegated to students or apprentices. My abilities have far more practical and advantageous applications.") + end + elseif HasCompletedQuest(Spawn, ForTheDogs) == false and HasQuest(Spawn, ForTheDogs ) == false and CanReceiveQuest(Spawn, ForTheDogs) then + -- Offer For the Dogs if not completed or started + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_001.mp3", "", "", 4232138815, 4269349384, Spawn) + AddConversationOption(conversation, "Is that so? And what would you rather be doing then, given the chance?", "dlg_8_1") + AddConversationOption(conversation, "Well, this is the job you were given. Farewell.") + StartConversation(conversation, NPC, Spawn, "Collecting samples. A coercer of my talents is sent to Faydwer to collect samples for magical research. This is work that should be relegated to students or apprentices. My abilities have far more practical and advantageous applications.") + elseif GetQuestStep(Spawn, ForTheDogs) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have not found it all just yet. I will return.") + StartConversation(conversation, NPC, Spawn, "Where is the terratrodder meat I need?") + elseif GetQuestStep(Spawn, ForTheDogs) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Right here.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Where is the terratrodder meat I need?") + elseif HasCompletedQuest(Spawn, AMindOfMyOwn) == false and HasQuest(Spawn, AMindOfMyOwn) == false and CanReceiveQuest(Spawn, AMindOfMyOwn) then + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_006.mp3", "", "", 2533203842, 1528968842, Spawn) + AddConversationOption(conversation, "I understand. What happens once they eat the food?", "dlg_7_1") + AddConversationOption(conversation, "I have other things to do at the moment. Farewell.") + StartConversation(conversation, NPC, Spawn, "There, I have completed my task, and now it is your turn. You want to take this bowl of food to the Yapsnarl camp, and place it nearby one of the kobolds there. Do not let him see you, or he will probably just ignore the dish and try to eat you instead... and if that happens, you probably deserve it. If no kobold comes to eat it, pick it back up and move it somewhere else. If one of them does not eat the food in here, you cannot run the test.") + elseif GetQuestStep(Spawn, AMindOfMyOwn) == 1 then + if HasItem(Spawn, TerratrodderChuck) == false then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "The bait was lost. Might you have another?", "MoreBait") + AddConversationOption(conversation, "I'm not quite finished yet. I will return soon.") + StartConversation(conversation, NPC, Spawn, "Tell me how the experiment is going.") + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm not quite finished yet. I will return soon.") + StartConversation(conversation, NPC, Spawn, "Tell me how the experiment is going.") + end + end + + + + --PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + --AddConversationOption(conversation, "Right here.", "dlg_6_1") +-- StartConversation(conversation, NPC, Spawn, "Where is the bear meat I need?") + + if convo==14 then + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_006.mp3", "", "", 2533203842, 1528968842, Spawn) + AddConversationOption(conversation, "I understand. What happens once they eat the food?", "dlg_14_1") + AddConversationOption(conversation, "I have other things to do at the moment. Farewell.") + StartConversation(conversation, NPC, Spawn, "There, I have completed my task, and now it is your turn. You want to take this bowl of food to the Yapsnarl camp, and place it nearby one of the kobolds there. Do not let him see you, or he will probably just ignore the dish and try to eat you instead... and if that happens, you probably deserve it. If no kobold comes to eat it, pick it back up and move it somewhere else. If one of them does not eat the food in here, you cannot run the test.") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Everything seems to have gone as you predicted.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Tell me how the experiment is going.") + end + + if convo==23 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Hulis sent me here. He said that you might be looking for some help.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "I don’t remember calling for you. What is it you need?") + end + +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, ForTheDogs, 2) + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_005.mp3", "", "", 2314822935, 2368990546, Spawn) + AddConversationOption(conversation, "As long as there's more pay, I'll be right here.") + StartConversation(conversation, NPC, Spawn, "Ah, you have done well! This should be exactly what I need to execute the experiment... well, aside from a little more help from you, that is. Now, if you will excuse me a moment, I will prepare this for the next step in my plan.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_007.mp3", "", "", 3385211924, 1859135719, Spawn) + AddConversationOption(conversation, "Okay, so, feed this to a kobold, and it will suddenly follow me around? Are you sure about this?", "GiveAMindOfMyOwn") + AddConversationOption(conversation, "I'm not sure I feel like hand-feeding kobolds at the moment. Farewell.") + StartConversation(conversation, NPC, Spawn, "The food is enchanted to make the kobolds open to suggestion, and should make them follow your commands without question. Once a kobold has eaten the food, I want you to try to get him to attack and kill his own packmates. If he will do that, then I will know that I have complete control over the creature, and I will consider the experiment a success.") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_008.mp3", "", "", 1081612079, 3658293484, Spawn) + AddConversationOption(conversation, "I see. Well then, I will return and let you know how things went.", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "While I have no reason to question my own magic craft, I don't know how well the enchantment will work on what is essentially a simple creature. It might just go primal and attack everything nearby, or might just run off to the hills. I wouldn't attempt walking too far from the camp this time, as I don't know how long the enchantment will last.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_002.mp3", "", "", 201730222, 3203333132, Spawn) + AddConversationOption(conversation, "So I take it that you have a plan, then?", "dlg_8_2") + AddConversationOption(conversation, "That may be true, but that's not your choice to make. Good luck with your work. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, I see the need for study. But why would we be picking flowers and collecting stones when we could be instead learning more about the lesser races and creatures that now inhabit this land. Who they are, what they live like... what their weaknesses are. This information would be far more useful to the Teir'Dal than the latent magic properties of flower petals.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_003.mp3", "", "", 1922846233, 313729102, Spawn) + AddConversationOption(conversation, "Sounds interesting. I might be willing to help, if there is pay involved. What is it you are proposing?", "GiveForTheDogs") + AddConversationOption(conversation, "I'm not here to do your dirty work. Good day to you.") + StartConversation(conversation, NPC, Spawn, "Indeed I do, but I will need help to execute it. You see, I still have my assigned work, and thanks to my... partner here, I can't really abandon my duties. However, if you could provide me with some assistance, we can together test a theory I have. I will need several pounds of bear meat to begin with. The meat needs to be fresh, so I would prefer if the meat came from nearby bears.") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_007.mp3", "", "", 3385211924, 1859135719, Spawn) + AddConversationOption(conversation, "Okay, so, feed this to a kobold, and it will suddenly follow me around? Are you sure about this?", "dlg_14_2") + AddConversationOption(conversation, "I'm not sure I feel like hand-feeding kobolds at the moment. Farewell.") + StartConversation(conversation, NPC, Spawn, "The food is enchanted to make the kobolds open to suggestion, and should make them follow your commands without question. Once a kobold has eaten the food, I want you to try to get him to attack and kill his own packmates. If he will do that, then I will know that I have complete control over the creature, and I will consider the experiment a success.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_008.mp3", "", "", 1081612079, 3658293484, Spawn) + AddConversationOption(conversation, "I see. Well then, I will return and let you know how things went.", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "While I have no reason to question my own magic craft, I don't know how well the enchantment will work on what is essentially a simple creature. It might just go primal and attack everything nearby, or might just run off to the hills. I wouldn't attempt walking too far from the camp this time, as I don't know how long the enchantment will last.") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_009.mp3", "", "", 2505068723, 2862902650, Spawn) + AddConversationOption(conversation, "Err... thanks, I guess.", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "So it worked then? Not that I had any doubt in my theory, but nonetheless I am glad to hear that it went as I expected. I will work on enhancing the enchantment further, but I can do that on my own. In the meantime, you served me well, and you can be proud of yourself for that. You may go now.") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "I see – Hulis is being a good little pet. Sending me some help when he knows I have no need of it, but just for my own convenience. Well, I guess since you are here, I can put you to some good. I’ve had just about enough of all of this menial work anyway.") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_001.mp3", "", "", 4232138815, 4269349384, Spawn) + AddConversationOption(conversation, "Is that so? And what would you rather be doing then, given the chance?", "dlg_23_3") + AddConversationOption(conversation, "Well, this is the job you were given. Farewell.") + StartConversation(conversation, NPC, Spawn, "Collecting samples. A coercer of my talents is sent to Faydwer to collect samples for magical research. This is work that should be relegated to students or apprentices. My abilities have far more practical and advantageous applications.") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_002.mp3", "", "", 201730222, 3203333132, Spawn) + AddConversationOption(conversation, "So I take it that you have a plan, then?", "dlg_23_4") + AddConversationOption(conversation, "That may be true, but that's not your choice to make. Good luck with your work. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, I see the need for study. But why would we be picking flowers and collecting stones when we could be instead learning more about the lesser races and creatures that now inhabit this land. Who they are, what they live like... what their weaknesses are. This information would be far more useful to the Teir'Dal than the latent magic properties of flower petals.") +end + +function dlg_23_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_003.mp3", "", "", 1922846233, 313729102, Spawn) + AddConversationOption(conversation, "Sounds interesting. I might be willing to help, if there is pay involved. What is it you are proposing?", "dlg_23_5") + AddConversationOption(conversation, "I'm not here to do your dirty work. Good day to you.") + StartConversation(conversation, NPC, Spawn, "Indeed I do, but I will need help to execute it. You see, I still have my assigned work, and thanks to my... partner here, I can't really abandon my duties. However, if you could provide me with some assistance, we can together test a theory I have. I will need several pounds of bear meat to begin with. The meat needs to be fresh, so I would prefer if the meat came from nearby bears.") +end + +function dlg_23_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "talvrae_t_zyth/_exp03/exp03_rgn_butcherblock/talvrae/qst_talvrae_004.mp3", "", "", 1310097835, 2111544733, Spawn) + AddConversationOption(conversation, "I'm sure that I can. I'll gather the meat and return soon.", "dlg_23_6") + StartConversation(conversation, NPC, Spawn, "I could not explain the details of exactly what I am doing to the likes of you, for I doubt you would understand it. The only parts important to you are the task, and the result. Can you handle that?") +end + +function MoreBait(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SummonItem(Spawn, TerratrodderChuck, 1) + + AddConversationOption(conversation, "I'll keep that in mind. Farewell.") + StartConversation(conversation, NPC, Spawn, "I thought you might, so I kept some here with me for that eventuality. Now be more careful with this bowl. I do not have much more.") +end + +function GiveForTheDogs(NPC, Spawn) + OfferQuest(NPC, Spawn, ForTheDogs) +end + +function GiveAMindOfMyOwn(NPC, Spawn) + OfferQuest(NPC, Spawn, AMindOfMyOwn) +end diff --git a/Lua/SpawnScripts/Butcherblock/ThayvlUlthonis.lua b/Lua/SpawnScripts/Butcherblock/ThayvlUlthonis.lua new file mode 100755 index 000000000..9ff8e7b00 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/ThayvlUlthonis.lua @@ -0,0 +1,103 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/ThayvlUlthonis.lua + Script Purpose : Thayvl Ulthonis + Script Author : jakejp + Script Date : 2018.06.17 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local StockComponents = 345 + +function spawn(NPC) + ProvidesQuest(NPC, StockComponents) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, StockComponents) == false and HasQuest(Spawn, StockComponents) == false and CanReceiveQuest(Spawn, StockComponents) == true then + -- Offer first quest if not completed or started + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are you seeking?", "dlg_5_1") + AddConversationOption(conversation, "Spell components?", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "A thousand curses on the Master! A mage of my stature shouldn't have to stoop so low as to be forced to collect spell components for his experiments.") + elseif GetQuestStep(Spawn, StockComponents) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Do not return until you have gathered all the wandering essence dust that I require!") + elseif GetQuestStep(Spawn, StockComponents) == 2 then + SetStepComplete(Spawn, StockComponents, 2) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Indeed.") + AddConversationOption(conversation, "Um, I've actually heard otherwise but... Nevermind.") + StartConversation(conversation, NPC, Spawn, "Good. The Master will be most pleased with me. Perhaps now, after securing his trust I can... well, my plans are of little matter to you. Here take this. Let it not be said that the Teir'Dal do not keep their word.") + elseif HasCompletedQuest(Spawn, StockComponents) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Your efforts are appreciated. If the Master demands another cadaver, I'll make sure you're not it.") + end +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "For a reward I might be able to collect the essence dust for you.", "GiveStockComponents") + AddConversationOption(conversation, "Interesting. What sort of spell is he preparing?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "My... benefactor is most insistent that I gather the dust from the wandering essences that meander throughout these mountains. Something about their nature adds to the potency of a spell he is creating.") +end + +function AcceptedDialogue(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "We have a deal. I will return with a large amount of dust shortly.") + StartConversation(conversation, NPC, Spawn, "Hmm. Alright, I might be able to part with a trinket of sorts in exchange for your help. The sooner I have all the material components I've been... asked to bring back, the sooner I can return to... home. Yes, home.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Fine, fine. Though, for a reward I might be able to collect the essence dust for you.", "GiveStockComponents") + StartConversation(conversation, NPC, Spawn, "Many questions should remain unanswered, my friend. I've seen the Master kill people for asking too much. I'll not risk a similar fate in divulging secrets to a newly met adventurer.") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I've seen that. What other components are there?", "dlg_5_5") + AddConversationOption(conversation, "Actually, I'm not looking for a lesson on spell casting. What are you out doing out here?", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Yes, often times special components are required to cast a spell. As an adventurer you no doubt have come across mages who use verbal components when they cast a spell.") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I've seen that. What other components are there?", "dlg_5_6") + AddConversationOption(conversation, "Actually, I'm not looking for a lesson on spell casting. What are you out doing out here?", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "A mage might also be required to gesture or, more simply put, move one's hands in a particular fashion to complete a spell. This type of component is called a somatic component.") +end + +function dlg_5_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what sort of component are you gathering?", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "The third type of component, which happens to be the type I've been sent to these acursed mountains to harvest, is the material type. A pinch of dirt from a particular location, the wing of a shriller, or a gem are all examples.") +end + +function GiveStockComponents(NPC, Spawn) + OfferQuest(NPC, Spawn, StockComponents) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/TrapperCoalbear.lua b/Lua/SpawnScripts/Butcherblock/TrapperCoalbear.lua new file mode 100755 index 000000000..9c431b197 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/TrapperCoalbear.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : SpawnScripts/ButcherblockMountains/TrapperCoalbear.lua + Script Purpose : Trapper Coalbear + Script Author : jakejp + Script Date : 2018.06.07 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TheNumberOneThreatInButcherblock = 265 + +function spawn(NPC) + ProvidesQuest(NPC, TheNumberOneThreatInButcherblock) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, TheNumberOneThreatInButcherblock) == false and HasQuest(Spawn, TheNumberOneThreatInButcherblock) == false and CanReceiveQuest(Spawn, TheNumberOneThreatInButcherblock) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Huh?", "dlg_20_4") + AddConversationOption(conversation, "You mean kobolds, right?", "dlg_20_1") + StartConversation(conversation, NPC, Spawn, "Be on the look out! Danger lurks everywhere. I've seen two today already. Ferocious quadrupedal beasts who's insatiable appetite for adventurers like you and me can only be met with an equal disdain!") + elseif GetQuestStep(Spawn, TheNumberOneThreatInButcherblock) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + Say(NPC, "You're back? Already? No, no no. You couldn't have come clsoe to exterminating nearly enough bears yet. I told you, the threat of bears must be significantly reduced! Now, go!") + elseif GetQuestStep(Spawn, TheNumberOneThreatInButcherblock) == 2 then + SetStepComplete(Spawn, TheNumberOneThreatInButcherblock, 2) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "We can only hope for the best!", "dlg_4_1") + AddConversationOption(conversation, "Um, sure. Right... ") + StartConversation(conversation, NPC, Spawn, "Thanks for your help! Perhaps one day we'll be free from the furry clutches of their terrifying wrath... But for now we must remain vigilant, mindful of our berry patches and cautious when eating outside with family members on beautiful sun-filled days.") + elseif HasCompletedQuest(Spawn, TheNumberOneThreatInButcherblock) == true then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + Say(NPC, "Thanks again for your help. May the gods have mercy on us all and deliver us from a bear-filled destiny soon!") + end +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bears?", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "Oh no. Kobolds' pack-like nature, hierarchical command structure and base knowledge of divine magic have nothing on the raw paw-swatting tenacity of a bear! They're like the personification of chaotic evil... in bear form!") +end + +function dlg_20_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bears?", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "Bears!") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure... I suppose I could help.", "GiveTheNumberOneThreatInButcherblock") + AddConversationOption(conversation, "Forget it. I have far more important things to do.") + StartConversation(conversation, NPC, Spawn, "Yes, bears. The number one threat in Butcherblock! Tell me, can you help? I may be an accomplished hunter, put on this world with the single purpose of removing all mammalian calamites... But I can't do it all alone. If not for me, could you do it to help protect everyone else?") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will do!", "dlg_20_4") + StartConversation(conversation, NPC, Spawn, "Great! You can get started right away. As I said, I've seen several already. Come see me again when you've significantly reduced the threat of bears in the area!") +end + +function GiveTheNumberOneThreatInButcherblock(NPC, Spawn) + OfferQuest(NPC, Spawn, TheNumberOneThreatInButcherblock) +end diff --git a/Lua/SpawnScripts/Butcherblock/afaetailor.lua b/Lua/SpawnScripts/Butcherblock/afaetailor.lua new file mode 100755 index 000000000..15a7cfd3f --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/afaetailor.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/afaetailor.lua + Script Author : jakejp + Script Date : 2018.06.04 07:06:21 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Sorry, can't chat, very busy with a rush order right now. Safe travels!") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Butcherblock/agriffintamer.lua b/Lua/SpawnScripts/Butcherblock/agriffintamer.lua new file mode 100755 index 000000000..e99021bf6 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/agriffintamer.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/agriffintamer.lua + Script Purpose : a griffin tamer + Script Author : jakejp + Script Date : 2018.06.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local GriffinStationsButcherblock = 269 + +function spawn(NPC) + ProvidesQuest(NPC, GriffinStationsButcherblock) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + +if CanReceiveQuest(Spawn, GriffinStationsButcherblock) then + -- Start Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_4_1") + AddConversationOption(conversation, "I am fine staying here, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + elseif HasQuest(Spawn, GriffinStationsButcherblock) and GetQuestStep(Spawn, GriffinStationsButcherblock) < 3 then + -- Still on quest + Say(NPC, "Did you discover all of the routes yet?") + elseif HasCompletedQuest(Spawn, GriffinStationsButcherblock) then + -- Finished Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That makes sense.", "GiveGriffinStationsButcherblock") + StartConversation(conversation, NPC, Spawn, "Well, before I can send you off you must discover the routes for yourself. There are stations near the docks, Greater Faydark and Lesser Faydark. Once you map the location of each you can borrow one of our griffons. We have to be sure you won't get lost up there.") +end + +function GiveGriffinStationsButcherblock(NPC, Spawn) + OfferQuest(NPC, Spawn, GriffinStationsButcherblock) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/agriffontamer.lua b/Lua/SpawnScripts/Butcherblock/agriffontamer.lua new file mode 100755 index 000000000..20d3c8135 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/agriffontamer.lua @@ -0,0 +1,152 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/agriffintamer.lua + Script Purpose : a griffin tamer (1080164) + Script Author : Neatz09 + Script Date : 4/17/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 72449 then + --Docks-- + AddConversationOption(con, "To Greater Faydark.", "DocksToGFay") + AddConversationOption(con, "To The Highland Station.", "DocksToHigh") + AddConversationOption(con, "To Lesser Faydark.", "DocksToLFay") + elseif GetSpawnLocationID(NPC) == 1586031 then + --Greater Faydark-- + AddConversationOption(con, "To The Docks.", "GfayToDocks") + AddConversationOption(con, "To The Highland Station.", "GFayToHigh") + AddConversationOption(con, "To Lesser Faydark.", "GfayToLFay") + elseif GetSpawnLocationID(NPC) == 72602 then + --Highland-- + AddConversationOption(con, "To The Docks.", "HighToDocks") + elseif GetSpawnLocationID(NPC) == 72601 then + --Lesser Faydark-- + AddConversationOption(con, "To The Docks.", "LFayToDocks") + AddConversationOption(con, "To Greater Faydark.", "LFayToGFay") + AddConversationOption(con, "To The Highland Station.", "LFayToHigh") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function DocksToGFay(NPC, Spawn) + StartAutoMount(Spawn, 241) + SetMount(Spawn, 225) +end + +function DocksToHigh(NPC, Spawn) + StartAutoMount(Spawn, 238) + SetMount(Spawn, 225) +end + +function DocksToLFay(NPC, Spawn) + StartAutoMount(Spawn, 242) + SetMount(Spawn, 225) +end + +function GfayToDocks(NPC, Spawn) + StartAutoMount(Spawn, 231) + SetMount(Spawn, 225) +end + +function GFayToHigh(NPC, Spawn) + StartAutoMount(Spawn, 232) + SetMount(Spawn, 225) +end + +function GfayToLFay(NPC, Spawn) + StartAutoMount(Spawn, 243) + SetMount(Spawn, 225) +end + +function HighToDocks(NPC, Spawn) + StartAutoMount(Spawn, 228) + SetMount(Spawn, 225) +end + +function LFayToDocks(NPC, Spawn) + StartAutoMount(Spawn, 240) + SetMount(Spawn, 225) +end + +function LFayToGFay(NPC, Spawn) + StartAutoMount(Spawn, 239) + SetMount(Spawn, 225) +end + +function LFayToHigh(NPC, Spawn) + StartAutoMount(Spawn, 233) + SetMount(Spawn, 225) +end + +--[[Replaced script + Script Name : SpawnScripts/Butcherblock/agriffintamer.lua + Script Purpose : a griffin tamer + Script Author : jakejp + Script Date : 2018.06.01 + Script Notes : Auto-Generated Conversation from PacketParser Data + + +local GriffinStationsButcherblock = 269 + +function spawn(NPC) + ProvidesQuest(NPC, GriffinStationsButcherblock) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if CanReceiveQuest(Spawn, GriffinStationsButcherblock) then + -- Start Quest + -- PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_4_1") + AddConversationOption(conversation, "I am fine staying here, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + elseif HasQuest(Spawn, GriffinStationsButcherblock) and GetQuestStep(Spawn, GriffinStationsButcherblock) < 3 then + -- Still on quest + Say(NPC, "Did you discover all of the routes yet?") + elseif HasCompletedQuest(Spawn, GriffinStationsButcherblock) then + -- Finished Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That makes sense.", "GiveGriffinStationsButcherblock") + StartConversation(conversation, NPC, Spawn, "Well, before I can send you off you must discover the routes for yourself. There are stations near the docks, Greater Faydark and Lesser Faydark. Once you map the location of each you can borrow one of our griffons. We have to be sure you won't get lost up there.") +end + +function GiveGriffinStationsButcherblock(NPC, Spawn) + OfferQuest(NPC, Spawn, GriffinStationsButcherblock) +end--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/apatchofpuresoil.lua b/Lua/SpawnScripts/Butcherblock/apatchofpuresoil.lua new file mode 100755 index 000000000..86fb6fbb1 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/apatchofpuresoil.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/apatchofpuresoil.lua + Script Author : jakejp + Script Date : 2018.06.13 09:06:04 + Script Purpose : + : +--]] + +local DiggingInTheYard = 313 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 40, "CheckQuest", "CheckQuest") + SetRequiredQuest(NPC, DiggingInTheYard, 1) + +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "gather" and GetQuestStep(Caster, DiggingInTheYard) == 1 then + Despawn(Target) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function CheckQuest(NPC, Player) + if HasQuest(Player, DiggingInTheYard) and GetQuestStep(Player, DiggingInTheYard) == 1 then + AddSpawnAccess(NPC, Player) + else + RemoveSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Butcherblock/qsttalvraesbowl.lua b/Lua/SpawnScripts/Butcherblock/qsttalvraesbowl.lua new file mode 100755 index 000000000..6362210bb --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/qsttalvraesbowl.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/qsttalvraesbowl.lua + Script Author : jakejp + Script Date : 2018.06.10 06:06:14 + Script Purpose : + : +--]] + +Whelp_SpawnIDs = {1080383, 1080612, 1080701, 1081148, 1081151, 1081154} +local whelp = nil +local five_minutes_ms = 5 * 60000 +local AMindOfMyOwn = 294 + +function spawn(NPC) + AddTimer(NPC, 500, "QuestCheckLoop") + AddTimer(NPC, five_minutes_ms, "Despawn") +end + +function QuestCheckLoop(NPC) + AddTimer(NPC, 500, "QuestCheckLoop") + local Player = GetTempVariable(NPC, "PlayerPointer") + if Player == nil then + return + end + + for index, id in ipairs(Whelp_SpawnIDs) do + whelp = GetSpawn(NPC, id) + if whelp ~= nil and GetDistance(NPC, whelp) < 20 then + break + else + whelp = nil + end + end + + if whelp ~= nil then + Charm(Player, whelp) + if GetQuestStep(Player, AMindOfMyOwn) == 1 then + SetStepComplete(Player, AMindOfMyOwn, 1) + end + end +end + diff --git a/Lua/SpawnScripts/Butcherblock/questhighpebbletome.lua b/Lua/SpawnScripts/Butcherblock/questhighpebbletome.lua new file mode 100755 index 000000000..2fa12e810 --- /dev/null +++ b/Lua/SpawnScripts/Butcherblock/questhighpebbletome.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/Butcherblock/questhighpebbletome.lua + Script Author : jakejp + Script Date : 2018.06.02 09:06:56 + Script Purpose : + : +--]] + +local NauticalDisaster = 252 + +function spawn(NPC) + SetRequiredQuest(NPC, NauticalDisaster, 1) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Take the tome" then + if GetQuestStep(Caster, NauticalDisaster) == 1 then + SetStepComplete(Caster, NauticalDisaster, 1) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/Castleview/AadalianFarenair.lua b/Lua/SpawnScripts/Castleview/AadalianFarenair.lua new file mode 100755 index 000000000..f217e0dfe --- /dev/null +++ b/Lua/SpawnScripts/Castleview/AadalianFarenair.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Castleview/AadalianFarenair.lua + Script Purpose : Aadalian Farenair + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/highelf_base_1/ft/highelf/highelf_base_1_1_garbled_gm_755db2c3.mp3", "garbled text not to be translated", "", 2766992983, 3224256482) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/ApprenticeBoggi.lua b/Lua/SpawnScripts/Castleview/ApprenticeBoggi.lua new file mode 100755 index 000000000..4972313a1 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/ApprenticeBoggi.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Castleview/ApprenticeBoggi.lua + Script Purpose : Apprentice Boggi + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/apprentice_boggi/qey_village04/apprenticeboggi.mp3", "", "", 1068299089, 2686342617) + AddConversationOption(conversation, "I think I'll let you get back to resting your \"injury.\" Good bye.") + StartConversation(conversation, NPC, Spawn, "Oh! Hello! I wasn't... um... napping. I was just resting my injured leg. That's it!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/ArmsdealerFroptub.lua b/Lua/SpawnScripts/Castleview/ArmsdealerFroptub.lua new file mode 100755 index 000000000..bd872f730 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/ArmsdealerFroptub.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Castleview/ArmsdealerFroptub.lua + Script Purpose : Armsdealer Froptub + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/armsdealer_froptub/qey_village04/100_armsdealer_froptub_multhail1_14614e12.mp3", "Graciously accept my pardon for I am a quite the bit busy. Mayhaps I couldst speak with thee anon?", "", 1509622466, 1792291092, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Bhalastia.lua b/Lua/SpawnScripts/Castleview/Bhalastia.lua new file mode 100755 index 000000000..be5a4c82b --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Bhalastia.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Castleview/Bhalastia.lua + Script Purpose : Bhalastia + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericMerchantVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Bleemeb.lua b/Lua/SpawnScripts/Castleview/Bleemeb.lua new file mode 100755 index 000000000..7ea26a905 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Bleemeb.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Castleview/Bleemeb.lua + Script Purpose : Bleemeb + Script Author : Jabantiz + Script Date : 4/24/2017 + Script Notes : Old script was just a note to collect on live so gave a generic merchant script. +--]] + +dofile("SpawnScripts/Generic/GenericMerchantVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Bubbler.lua b/Lua/SpawnScripts/Castleview/Bubbler.lua new file mode 100755 index 000000000..6b678b154 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Bubbler.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Castleview/Bubbler.lua + Script Purpose : Bubbler + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericMerchantVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Bulurg.lua b/Lua/SpawnScripts/Castleview/Bulurg.lua new file mode 100755 index 000000000..02a74c3d2 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Bulurg.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Castleview/Bulurg.lua + Script Purpose : Bulurg + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericBartenderVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericBartenderHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/BupipaGuryup.lua b/Lua/SpawnScripts/Castleview/BupipaGuryup.lua new file mode 100755 index 000000000..24e86c54c --- /dev/null +++ b/Lua/SpawnScripts/Castleview/BupipaGuryup.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Castleview/BupipaGuryup.lua + Script Purpose : Bupipa Guryup + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "", "The sounds of the swamp are sweet to hear! FROAK! FROAK FROAK! The bugs so sweet it brings a tear! FROAK! FROAK FROOOOAAAAKKK! ", "orate", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Graciously accept my pardon for I am a quite the bit busy. Mayhaps I couldst speak with thee anon?", "fullcurtsey", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/CarpenterGoroop.lua b/Lua/SpawnScripts/Castleview/CarpenterGoroop.lua new file mode 100755 index 000000000..56f33bf12 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/CarpenterGoroop.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Castleview/CarpenterGoroop.lua + Script Purpose : Carpenter Goroop + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/carpenter_goroop/qey_village04/newbie_path_froglok/carpentergoroop007.mp3", "", "", 437901215, 87177442) + AddConversationOption(conversation, "Indeed. I hope you enjoy it!") + AddConversationOption(conversation, "I have no time to talk, as I am on a task.") + StartConversation(conversation, NPC, Spawn, "Hail! 'Tis a great day!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Cilindari.lua b/Lua/SpawnScripts/Castleview/Cilindari.lua new file mode 100755 index 000000000..59541519a --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Cilindari.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/Castleview/Cilindari.lua + Script Purpose : Cilindari + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericAlchemistVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + GenericAlchemistHail(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericAlchemistHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Castleview/Cinaldar.lua b/Lua/SpawnScripts/Castleview/Cinaldar.lua new file mode 100755 index 000000000..a1c9a9f66 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Cinaldar.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Castleview/Cinaldar.lua + Script Purpose : Cinaldar + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Castleview/CorruptedGreenWisp.lua b/Lua/SpawnScripts/Castleview/CorruptedGreenWisp.lua new file mode 100755 index 000000000..c86b89d3b --- /dev/null +++ b/Lua/SpawnScripts/Castleview/CorruptedGreenWisp.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Castleview/CorruptedGreenWisp.lua + Script Purpose : CorruptedGreenWisp + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_3 = 225 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + --SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_3, 2) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_3) and GetQuestStep(Caster, HIGH_ELF_MENTOR_QUEST_3) == 2 and SpellName == "Cleanse" then + SetStepComplete(Caster, HIGH_ELF_MENTOR_QUEST_3, 2) + local devious_sunshimmer_sprite = SpawnMob(GetZone(Target), 2360058, false, 710.408, -15.5306, -161.493, 200) + AddHate(Caster, devious_sunshimmer_sprite, 100) + RemoveSpawnAccess(Target, Caster) + --Despawn(Target, 180000) + end +end + +function InRange(NPC, Spawn) + if HasQuest(Spawn, HIGH_ELF_MENTOR_QUEST_3) and GetQuestStep(Spawn, HIGH_ELF_MENTOR_QUEST_3) == 2 then + AddSpawnAccess(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Dalonalis.lua b/Lua/SpawnScripts/Castleview/Dalonalis.lua new file mode 100755 index 000000000..71b636ef7 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Dalonalis.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Castleview/Dalonalis.lua + Script Purpose : Dalonalis + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/banker_dalonalis/qey_village04/banker_dalonalis001.mp3", "", "", 2898017630, 956866327) + AddConversationOption(conversation, "I have all the trust in you.") + StartConversation(conversation, NPC, Spawn, "Good day to you, adventurer. Your valuables will be safe in our vaults, I promise you that.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/DaylenaTelanthis.lua b/Lua/SpawnScripts/Castleview/DaylenaTelanthis.lua new file mode 100755 index 000000000..e5e506fbf --- /dev/null +++ b/Lua/SpawnScripts/Castleview/DaylenaTelanthis.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/Castleview/DaylenaTelanthis.lua + Script Purpose : Daylena Telanthis + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_15aa4eed.mp3", "Those who have neither the abilities nor the aspirations to pursue the intellectual arts will find a home at the Ironforge Exchange.", "", 523104392, 3732258776, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_4121a9b2.mp3", "The Concordium uses ancient and forgotten knowledge to protect us from the shadows that surround Qeynos.", "", 1945306751, 352506246, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_88bbd1aa.mp3", "The Tunarian Alliance does not see the greater issues beyond individual evils. Their forests might be scorched wastelands and they would still be fending off poachers.", "", 3133325899, 3316523299, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_987a9a3c.mp3", "While the Celestial Watch futilely awaits word from its forgotten gods the Concordium has harnessed the true power that blazes within each of us.", "", 3806603086, 3205979382, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_b52cd580.mp3", "The Qeynos Guard cannot defend us from dark forces it neither sees nor understands.", "", 1941375851, 1104708565, Spawn) + end +end diff --git a/Lua/SpawnScripts/Castleview/DolthyryrHelyanwe.lua b/Lua/SpawnScripts/Castleview/DolthyryrHelyanwe.lua new file mode 100755 index 000000000..b056a065c --- /dev/null +++ b/Lua/SpawnScripts/Castleview/DolthyryrHelyanwe.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Castleview/DolthyryrHelyanwe.lua + Script Purpose : Dolthyryr Helyanwe + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dolthyryr_helyanwe/qey_village04/newbie_path_froglok/dolthyryrhelyanwe004.mp3", "", "", 848573287, 2779070481) + AddConversationOption(conversation, "Indeed, for at least those within the walls.") + AddConversationOption(conversation, "Rather beautiful, I would agree.") + StartConversation(conversation, NPC, Spawn, "Another glorious day in the city of Qeynos, wouldn't you agree?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/EireneithAlannia.lua b/Lua/SpawnScripts/Castleview/EireneithAlannia.lua new file mode 100755 index 000000000..f0c6decc2 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/EireneithAlannia.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Castleview/EireneithAlannia.lua + Script Purpose : Eireneith Alannia + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + PlayFlavor(NPC, "", "One of my responsibilities is controlling the population of creatures in the area, and I'm barely keeping up! The glade deer population has grown out of control. Once their numbers rise, those deer are hard to manage!", "", 1689589577, 4560189) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/EntertainerFaeadaen.lua b/Lua/SpawnScripts/Castleview/EntertainerFaeadaen.lua new file mode 100755 index 000000000..d9b2ec49a --- /dev/null +++ b/Lua/SpawnScripts/Castleview/EntertainerFaeadaen.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/Castleview/EntertainerFaeadaen.lua + Script Purpose : Entertainer Faeadaen + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +local Quest = 238 +function spawn(NPC) + ProvidesQuest(NPC, Quest) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/entertainer_faeadaen/qey_village04/100_entertainer_faeadaen_multhail2_2d3351bb.mp3", "Step up and watch as I make lights dance and coins disappear into thin air!", "flirt", 3189499038, 1784304503) + local con = CreateConversation() + AddConversationOption(con, "I want a quest", "GiveQuest") + AddConversationOption(con, "Nothing, goodbye.") + StartConversation(con, NPC, Spawn, "Hello, what can I do for you today?") +end + +function GiveQuest(NPC, Spawn) + OfferQuest(NPC, Spawn, Quest) +end + +function AcceptedQuest(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local con = CreateConversation() + AddConversationOption(con, "You won't.") + StartConversation(con, NPC, Spawn, "I hope I won't regret this.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Fevalin.lua b/Lua/SpawnScripts/Castleview/Fevalin.lua new file mode 100755 index 000000000..b54d2b08f --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Fevalin.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Castleview/Fevalin.lua + Script Purpose : Fevalin + Script Author : John Adams + Script Date : 2009.04.25 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1012.mp3", "", "", 0, 0, Spawn) +end + diff --git a/Lua/SpawnScripts/Castleview/Fibrone.lua b/Lua/SpawnScripts/Castleview/Fibrone.lua new file mode 100755 index 000000000..7680fcaf2 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Fibrone.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Castleview/ + Script Purpose : Fibrone + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Castleview/FoorogGallantblade.lua b/Lua/SpawnScripts/Castleview/FoorogGallantblade.lua new file mode 100755 index 000000000..55af1a308 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/FoorogGallantblade.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Castleview/FoorogGallantblade.lua + Script Purpose : Foorog Gallantblade + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/foorog_gallantblade/qey_village04/newbie_path_froglok/fooroggallantblade005.mp3", "", "", 4022799450, 3509477944, Spawn) + AddConversationOption(conversation, "Enjoy the day!") + StartConversation(conversation, NPC, Spawn, "Glory to Marr, and a hearty welcome to you, mighty traveler!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/GilcirithElensar.lua b/Lua/SpawnScripts/Castleview/GilcirithElensar.lua new file mode 100755 index 000000000..f361fdd66 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/GilcirithElensar.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Castleview/GilcirithElensar.lua + Script Purpose : Gilcirith Elensar + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gilcirith_elensar/qey_village04/newbie_path_froglok/gilcirithelensar004.mp3", "", "", 259212641, 3674286430) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Welcome, traveler.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/GlumpMarrblade.lua b/Lua/SpawnScripts/Castleview/GlumpMarrblade.lua new file mode 100755 index 000000000..e32028398 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/GlumpMarrblade.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Castleview/GlumpMarrblade.lua + Script Purpose : Glump Marrblade + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC, Spawn) +end + +function respawn(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + conversation = CreateConversation() + + -- artisan essentials volume 2 + if HasItem(Spawn, 31373, 1) then + Say(NPC, "I have nothing else to teach you for the moment. Please return to me when you have earned enough experience to choose your profession.", Spawn) + else + AddConversationOption(conversation, "Yes, please teach me.", "TeachMe") + AddConversationOption(conversation, "No, not at the moment.") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade, good. We can always use talented artisans. I can help you get started, would you be interested?") + end +end + +function TeachMe(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- artisan essentials volume 2 + SummonItem(Spawn, 31373, 1) + + AddConversationOption(conversation, "I will start on that now.") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting speciality.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/GraacJustheart.lua b/Lua/SpawnScripts/Castleview/GraacJustheart.lua new file mode 100755 index 000000000..08bc0f829 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/GraacJustheart.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Castleview/GraacJustheart.lua + Script Purpose : Graac Justheart + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "And a blessing upon your house, good lady!") + StartConversation(conversation, NPC, Spawn, "Mighty adventurer, I greet you with a hearty welcome! ") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/GreenWisp.lua b/Lua/SpawnScripts/Castleview/GreenWisp.lua new file mode 100755 index 000000000..4bce6eaf2 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/GreenWisp.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Castleview/GreenWisp.lua + Script Purpose : Green Wisp + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_1 = 223 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_1, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/GrommlukOognee.lua b/Lua/SpawnScripts/Castleview/GrommlukOognee.lua new file mode 100755 index 000000000..8aadcf062 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/GrommlukOognee.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Castleview/GrommlukOognee.lua + Script Purpose : Grommluk Oognee + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/grommluk_oognee/qey_village04/100_swimmer_grommluk_multhail2_b5e61808.mp3", "I profess that I am not mad, but I do thinketh this water is too clean. And the stones! They doth not squish under thy feet!", "crazy", 2658355916, 3677777453) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/InnkeeperValean.lua b/Lua/SpawnScripts/Castleview/InnkeeperValean.lua new file mode 100755 index 000000000..6691f663b --- /dev/null +++ b/Lua/SpawnScripts/Castleview/InnkeeperValean.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Castleview/InnkeeperValean.lua + Script Purpose : Innkeeper Valean + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes.", "OfferQuest1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Hello " .. GetName(Spawn) .. ", I am the Innkeeper for this village. We have received word of your arrival and have a room prepared for you. Would you like to know more about housing?") +end + +function OfferQuest1(NPC, Spawn) +end + +--[[ + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/qey_village04/innkeeper001.mp3", "", "", 1553251638, 3978555092) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_7_1") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello there" .. GetName(Spawn) .. ". what can I help you with?") + --]] \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/KethelinShadowcross.lua b/Lua/SpawnScripts/Castleview/KethelinShadowcross.lua new file mode 100755 index 000000000..e5f3af874 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/KethelinShadowcross.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Castleview/KethelinShadowcross.lua + Script Purpose : Kethelin Shadowcross + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(0, 100) <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_celestialwatch/ft/eco/good/highelf_eco_good_celestialwatch_hail_gm_1a077d47.mp3", "The Qeynos Guard blindly strikes at the darkness rather than see the opportunity for redemption that lies within even the most lost of us.", "", 970013852, 575367438, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_celestialwatch/ft/eco/good/highelf_eco_good_celestialwatch_hail_gm_3af79ac9.mp3", "While their fellow citizens struggle against the tides of evil, the Tunarian Alliance worries itself with the plight of soulless plants and animals.", "", 3394764444, 3959777727, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_celestialwatch/ft/eco/good/highelf_eco_good_celestialwatch_hail_gm_87dd538b.mp3", "Were they to encounter a god, the Concordium would drop their staves and bow before the might of a true power.", "", 3531845971, 679110479, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_celestialwatch/ft/eco/good/highelf_eco_good_celestialwatch_hail_gm_d1a0f4da.mp3", "The Celestial Watch preserves the rituals of servitude to the gods so that all might experience through worship the return of the ancient deities.", "", 3161458185, 1498528167, Spawn) + end +end diff --git a/Lua/SpawnScripts/Castleview/KnightCaptainGerathalas.lua b/Lua/SpawnScripts/Castleview/KnightCaptainGerathalas.lua new file mode 100755 index 000000000..defeedf07 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/KnightCaptainGerathalas.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Castleview/Knight-CaptainGerathalas.lua + Script Purpose : Knight-Captain Gerathalas + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericHail(NPC, Spawn) + Say(NPC, "Good day to you, adventurer. I hope you have been keeping yourself safe.", Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Kruuprum.lua b/Lua/SpawnScripts/Castleview/Kruuprum.lua new file mode 100755 index 000000000..4ad65a191 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Kruuprum.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Castleview/Kruuprum.lua + Script Purpose : Kruuprum + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/merchant_kruuprum/qey_village04/100_merchant_left_kuuprum_callout _7959ca4b.mp3", "Verily, 'tis fine to havest thou here in Castleview! FroooOOOooaak! Fevalin and I here hath set up a nice arrangement and canst offer thou the widest variety of Qeynosian goods! Come view our wares!", "", 19553490, 2117485462, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/merchant_kruuprum/qey_village04/100_merchant_left_kuuprum_multhail1_9d28d570.mp3", "Were I to possess the time to speak, 'twould be a gracious thing. I must continue selling mine items so I might catch a bite to eat. Mayhaps we can speak again.", "", 2901211010, 2505702223, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/merchant_kruuprum/qey_village04/100_merchant_left_kuuprum_multhail2_9a6056e9.mp3", "'Tis a great day when one browses mine wares. Mine stomach grumbles, yet I have so much to do.", "", 3873091282, 3521185500, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/merchant_kruuprum/qey_village04/100_merchant_left_kuuprum_multhail3_f6fcb534.mp3", "Pray tell, wouldst thou be in possession of the flies? Ah ... I see ... then I shall wait to eat.", "", 1179465815, 2252444306, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/ListalaniaVainederian.lua b/Lua/SpawnScripts/Castleview/ListalaniaVainederian.lua new file mode 100755 index 000000000..7c3c4cf15 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/ListalaniaVainederian.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Castleview/ListalaniaVainederian.lua + Script Purpose : Listalania Vainederian + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : Speak Koada'Dal +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_base_1/ft/highelf/highelf_base_1_1_garbled_gf_a002225a.mp3", "garbled text not to be translated", "", 3121965781, 2073270812, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_base_1/ft/highelf/highelf_base_1_1_garbled_gf_fde7b8f7.mp3", "garbled text not to be translated", "", 595061935, 2035542297, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/PaygeMenedor.lua b/Lua/SpawnScripts/Castleview/PaygeMenedor.lua new file mode 100755 index 000000000..b498cc754 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/PaygeMenedor.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Castleview/PaygeMenedor.lua + Script Purpose : Payge Menedor + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericMerchantVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/RrakBoldfist.lua b/Lua/SpawnScripts/Castleview/RrakBoldfist.lua new file mode 100755 index 000000000..67dcfeaa8 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/RrakBoldfist.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Castleview/RrakBoldfist.lua + Script Purpose : Rrak Boldfist + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/rrak_boldfist/qey_village04/newbie_path_froglok/rrakboldfist001.mp3", "", "", 4249735014, 1158423101) + AddConversationOption(conversation, "Very well, kind sir. Thank you.") + StartConversation(conversation, NPC, Spawn, "Greetings! Fare thee well?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/ShaeAhla.lua b/Lua/SpawnScripts/Castleview/ShaeAhla.lua new file mode 100755 index 000000000..c4c871763 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/ShaeAhla.lua @@ -0,0 +1,114 @@ +--[[ + Script Name : SpawnScripts/Castleview/ShaeAhla.lua + Script Purpose : Shae'Ahla + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +local TargetingCorruption = 225 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + GenericHail(NPC, Spawn) + + if HasQuest(Spawn, TargetingCorruption) and GetQuestStep(Spawn, TargetingCorruption) == 1 then + WherePainGose(NPC, Spawn, conversation) + else + RandomChat(NPC, Spawn) + end +end + +function RandomChat(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "To be lost is to avoid being found.", Spawn) + elseif choice == 2 then + Say(NPC, "A life cut off from your senses is no life at all.", Spawn) + elseif choice == 3 then + Say(NPC, "If you do not seek out pain, it will still find you.", Spawn) + end +end + +function WherePainGose(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/shae_ahla/qey_village04/quests/sheaahla/sheaahla000.mp3", "", "", 4274300137, 4254333791, Spawn) + AddConversationOption(conversation, "Vindain sent me, I need your help.", "dlg_20_3") + AddConversationOption(conversation, "What does that mean?", "dlg_20_1") + AddConversationOption(conversation, "I agree.") + StartConversation(conversation, NPC, Spawn, "Where pain goes, all sentient beings tend to follow.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/shae_ahla/qey_village04/quests/sheaahla/sheaahla001.mp3", "", "", 3064229666, 2077041902, Spawn) + AddConversationOption(conversation, "That is a rather pessimistic view.", "dlg_20_2") + AddConversationOption(conversation, "That makes sense.", "RareYouAndI") + StartConversation(conversation, NPC, Spawn, "It means that we--elves, humans, gnomes, trolls, all races--blindly plunge ourselves into darkness and chaos. We do not 'intend' to do this, but without fail we do.") +end + +function RareYouAndI(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Vindain sent me, I need your help.", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "We are rare, you and I. Why do you come to me?") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/shae_ahla/qey_village04/quests/sheaahla/sheaahla003.mp3", "", "", 3991540822, 537258105, Spawn) + AddConversationOption(conversation, "Vindain sent me, I need your help.", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "Worlds that are lost in strife and pain do tend to produce pessimists. Tell me, why are you here?") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/shae_ahla/qey_village04/quests/sheaahla/sheaahla004.mp3", "", "", 1399643965, 359394892, Spawn) + AddConversationOption(conversation, "I was planting Green Wisps here in Castleview Hamlet. One wisp came alive and attacked me.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "What do you require?") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/shae_ahla/qey_village04/quests/sheaahla/sheaahla005.mp3", "", "", 2035237242, 2834747464, Spawn) + AddConversationOption(conversation, "Can you help?", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "You see? Corruption is everywhere.") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/shae_ahla/qey_village04/quests/sheaahla/sheaahla006.mp3", "", "", 1528947055, 3565435961, Spawn) + AddConversationOption(conversation, "All right.", "dlg_21_4") + StartConversation(conversation, NPC, Spawn, "Yes, I can help. Please, give me your hand.") +end + +function dlg_21_4(NPC, Spawn) + SetStepComplete(Spawn, TargetingCorruption, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/shae_ahla/qey_village04/quests/sheaahla/sheaahla007.mp3", "", "", 2043489074, 1826207926, Spawn) + AddConversationOption(conversation, "Thank you, Shae'Ahla.") + StartConversation(conversation, NPC, Spawn, "It is done. Your fingers are blessed in a way that will counter the corruption, simply rub the leaves of the plant to cleanse it.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Sinanyala.lua b/Lua/SpawnScripts/Castleview/Sinanyala.lua new file mode 100755 index 000000000..29256b613 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Sinanyala.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Castleview/Sinanyala.lua + Script Purpose : Sinanyala + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, SPawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Castleview/SirAntylusTeraeth.lua b/Lua/SpawnScripts/Castleview/SirAntylusTeraeth.lua new file mode 100755 index 000000000..d118531ae --- /dev/null +++ b/Lua/SpawnScripts/Castleview/SirAntylusTeraeth.lua @@ -0,0 +1,133 @@ +--[[ + Script Name : SpawnScripts/Castleview/SirAntylusTeraeth.lua + Script Purpose : Sir Antylus Teraeth + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth000.mp3", "", "", 2410300960, 837808802) + AddConversationOption(conversation, "Who are the Priests of Life? ", "dlg_4_1") + AddConversationOption(conversation, "Thanks for your words, but I must go now.") + StartConversation(conversation, NPC, Spawn, "Another beautiful day in the city of Qeynos! As the Priests of Life would say, 'The light of life shines bright upon Qeynos.' ") + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth001.mp3", "", "", 3149606154, 2024355118) + AddConversationOption(conversation, "What is the Crusade of the Fallen?", "dlg_4_2") + AddConversationOption(conversation, "I am more concerned with Qeynos present. Farewell.") + StartConversation(conversation, NPC, Spawn, "Friends of mine from my past, a benevolent order of Qeynos yore. I marched with them on the Crusade of the Fallen. ") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth002.mp3", "", "", 663436168, 3617497960) + AddConversationOption(conversation, "I wish to hear this tale. ", "dlg_4_3") + AddConversationOption(conversation, "I am sorry. I have no time for the tale. ") + StartConversation(conversation, NPC, Spawn, "You never heard of the Crusade of the Fallen? Oh my! It was, perhaps, the finest moment for the Priests of Life. It's a simple tale of respect and honor. ") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth003.mp3", "", "", 3201920823, 1156394229) + AddConversationOption(conversation, "So many deaths. How sad. ", "dlg_4_6") + AddConversationOption(conversation, "You are not a Qeynosian?", "dlg_4_4") + AddConversationOption(conversation, "I must leave now. Farewell.") + StartConversation(conversation, NPC, Spawn, "It began with the Shattering, when a reign of fire from the death throes of the moon Luclin barraged Norrath. Millions died in this apocalyptic fury. Bodies littered the land. Even the royal family of Bayle could not escape this violence. My new home was battered and its people nearly all lost. ") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth010.mp3", "", "", 3512678812, 1974187666) + AddConversationOption(conversation, "What of the Crusade of the Fallen?", "dlg_4_6") + AddConversationOption(conversation, "What is Felwithe?", "dlg_4_5") + AddConversationOption(conversation, "I must leave now. Farewell.") + StartConversation(conversation, NPC, Spawn, "No. I'm a citizen of the halls of Felwithe, a place I departed more than 150-years ago, near the start of the Age of Cataclysms. My only goal was to find the lost city of Fayspire, but the oceans became violent and impassable. I couldn't turn back, so I trekked on in my search.") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth011.mp3", "", "", 903203081, 3867676461) + AddConversationOption(conversation, "But the city was in ruins.", "dlg_4_6") + StartConversation(conversation, NPC, Spawn, "Felwithe was the home of my people, the Koada'Dal! Our grand city sat high atop the clouds where the sun always shined. It rests many leagues away on the continent of Faydwer. I do miss my city in the clouds, but Qeynos has embraced me and is my new sanctuary from the violence of this world.") +end + +function dlg_4_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth004.mp3", "", "", 1716743258, 3118361328) + AddConversationOption(conversation, "How long did this horror last?", "dlg_4_7") + AddConversationOption(conversation, "I thank you for the tale. Farewell.") + StartConversation(conversation, NPC, Spawn, "Qeynos lay in rubble, and its kingdom, which spread across the horizon, was littered with the bodies of those who couldn't escape the torment of the land. Such carnage brought disease and scavengers to plague the lands. ") +end + +function dlg_4_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth005.mp3", "", "", 360171820, 1225175245) + AddConversationOption(conversation, "But you mentioned the Priests of Life.", "dlg_4_8") + AddConversationOption(conversation, "I must leave now. Farewell.") + StartConversation(conversation, NPC, Spawn, "The horror of fields of the fallen could not be cleansed. Most of the kingdom lay in rubble. Outland residents flooded in and aided with the reconstruction of the great city. When this was complete, and the army was replenished, then the time was right to clear the ravaged countryside and all its chaos.") +end + +function dlg_4_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth006.mp3", "", "", 1680809797, 715676428) + AddConversationOption(conversation, "Why did they want to gather the bodies?", "dlg_4_9") + StartConversation(conversation, NPC, Spawn, "The Priests of Life, defenders of all souls. Their numbers were small. They took many losses, but still, they rose to march. They traveled the lands gathering forgotten souls. I was in awe of their humble valor. So taken was I, that I joined their crusade. ") +end + +function dlg_4_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth007.mp3", "", "", 1110308997, 819506069) + AddConversationOption(conversation, "What did they do with all the bodies?", "dlg_4_10") + AddConversationOption(conversation, "This is interesting, but I must leave.") + StartConversation(conversation, NPC, Spawn, "To them, life was precious. No soul could rest easily if their body was not given a proper burial. So the Priests of Life trod into the land and fought scavengers and bandits to gather all the Antonican bodies they could find. A massive line of bodies flooded the path to Qeynos. ") +end + +function dlg_4_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth008.mp3", "", "", 1255692585, 2313041410) + AddConversationOption(conversation, "The bodies are in the catacombs?", "dlg_4_11") + StartConversation(conversation, NPC, Spawn, "Qeynos is larger than it seems. A whole undercity exists below us. Under the roads of the city, rest the extensive Qeynos Waterworks and the labyrinth of the Qeynos Catacombs, both of which still stand with little damage from the cataclysms. ") +end + +function dlg_4_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/sir_antylus_teraeth/qey_village04/antylus_teraeth009.mp3", "", "", 2009817836, 2128199220) + AddConversationOption(conversation, "I thank you for the tale. Farewell.") + StartConversation(conversation, NPC, Spawn, "Yes. Every soul was given an honorable burial and was laid to rest with the bodies of the Priests of Life who fell before and after the Crusade of the Fallen. Below the feet of every Qeynosian rests a sanctuary for the fallen souls of the Age of Cataclysms. ") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/TaneranthalisNedaiveren.lua b/Lua/SpawnScripts/Castleview/TaneranthalisNedaiveren.lua new file mode 100755 index 000000000..1c0542a84 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/TaneranthalisNedaiveren.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Castleview/TaneranthalisNedaiveren.lua + Script Purpose : Taneranthalis Nedaiveren + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/taneranthalis_nedaiveren/qey_village04/100_park_taneranthalis_callout_b8c9bef.mp3", "Please be at ease. Though we stand outside the great gates of the city proper, you are as safe in Castleview as anywhere in Norrath!", "", 4095321012, 2558651917, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/taneranthalis_nedaiveren/qey_village04/100_park_taneranthalis_multhail1_d1775db6.mp3", "Please move on, traveler. I must attend to important business matters.", "", 3098654696, 1348141498, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/taneranthalis_nedaiveren/qey_village04/100_park_taneranthalis_multhail2_c2e4d5a7.mp3", "It seems like just yesterday I was a small child brought to Qeynos from Felwithe. Though its white towers are but a distant memory, the Koada'dal in Castleview keep the elven spirit alive.", "", 2103458666, 2948247370, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/Valinar.lua b/Lua/SpawnScripts/Castleview/Valinar.lua new file mode 100755 index 000000000..0237d2ebc --- /dev/null +++ b/Lua/SpawnScripts/Castleview/Valinar.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Castleview/Valinar.lua + Script Purpose : Valinar + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericMerchantVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/VindainGreenfaith.lua b/Lua/SpawnScripts/Castleview/VindainGreenfaith.lua new file mode 100755 index 000000000..e2a5d7dae --- /dev/null +++ b/Lua/SpawnScripts/Castleview/VindainGreenfaith.lua @@ -0,0 +1,486 @@ +--[[ + Script Name : SpawnScripts/Castleview/VindainGreenfaith.lua + Script Purpose : Vindain Greenfaith + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : Updated by Jabantiz (4/24/2017) +--]] + +local HIGHELF = 8 +local ComponentsOfGrowth = 223 +local SowingBeauty = 224 +local TargetingCorruption = 225 +local TheCommune = 226 +local SendingWord = 227 + +function spawn(NPC) + ProvidesQuest(NPC, ComponentsOfGrowth) + ProvidesQuest(NPC, SowingBeauty) + ProvidesQuest(NPC, TargetingCorruption) + ProvidesQuest(NPC, TheCommune) + ProvidesQuest(NPC, SendingWord) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetRace(Spawn) == HIGHELF then + Begin(NPC, Spawn) + else + NotHighElf(NPC, Spawn) + end +end + +function NotHighElf(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/qst_vindain_nothighelf_57692d23.mp3", "The Koada'Dal need heroes and leaders like myself, now more than ever. But I am here for them, my friend, and cannot help you now.", "", 2055920001, 877280336, Spawn) +end + +function Begin(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, ComponentsOfGrowth) then + if HasCompletedQuest(Spawn, SowingBeauty) then + if HasCompletedQuest(Spawn, TargetingCorruption) then + if HasCompletedQuest(Spawn, TheCommune) then + if HasCompletedQuest(Spawn, SendingWord) then + SpokenWithAdalinYet(NPC, Spawn, conversation) + elseif HasQuest(Spawn, SendingWord) then + SpokenWithAdalinYet(NPC, Spawn, conversation) + else + SpokenWithSpiritYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, TheCommune) then + SpokenWithSpiritYet(NPC, Spawn, conversation) + else + GreenMistCleared(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, TargetingCorruption) then + GreenMistCleared(NPC, Spawn, conversation) + else + PlantedBushesYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, SowingBeauty) then + PlantedBushesYet(NPC, Spawn, conversation) + else + GatheredComponentsYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, ComponentsOfGrowth) then + GatheredComponentsYet(NPC, Spawn, conversation) + else + KoadaDalNeedYou(NPC, Spawn, conversation) + end +end + +---------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +---------------------------------------------------------------------------------------------------------------- + +function KoadaDalNeedYou(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain001.mp3", "", "", 3275063525, 1876910304, Spawn) + AddConversationOption(conversation, "I do not deny my help.", "DoNotDeny") + AddConversationOption(conversation, "Koada'Dal?", "KoadaDal") + AddConversationOption(conversation, "I will choose when and where to offer my help.") + StartConversation(conversation, NPC, Spawn, "The Koada'Dal need you, do you deny them your help?") +end + +function DoNotDeny(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain005.mp3", "", "", 2071218193, 1536623710, Spawn) + AddConversationOption(conversation, "Did you fight?", "DidYouFight") + StartConversation(conversation, NPC, Spawn, "I am glad to hear that. In ages past the Koada'Dal have rallied to Tunare's aid. We have fought--and died--in countless wars against forces both small and great. This was our charge and we accepted it without hesitation or regret.") +end + +function DidYouFight(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain006.mp3", "", "", 558239952, 3089092887, Spawn) + AddConversationOption(conversation, "How will we bring about a rebirth for our people?", "RebirthForOurPeople") + AddConversationOption(conversation, "Did you need help or not?", "DidYouNeedHelp") + StartConversation(conversation, NPC, Spawn, "Not in any of the great wars, no. Though I had more than my share of battle. And now, here we are, a displaced people. We rest within the walls of Qeynos as if refugees. And, though it is a bitter taste to even speak it, we are refugees. Our time has gone and not yet come again, " .. GetName(Spawn) .. ".") +end + +function RebirthForOurPeople(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain007.mp3", "", "", 2133745057, 422152869, Spawn) + AddConversationOption(conversation, "How do you cope?", "HowDoYouCope") + StartConversation(conversation, NPC, Spawn, "That is not for me to know or plan, I leave that to the scholars. Me, all I can do is wait for our time. It is a heavy burden on one's soul, to wait for a time you may not ever see.") +end + +function HowDoYouCope(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain008.mp3", "", "", 2132206040, 1773497371, Spawn) + AddConversationOption(conversation, "The reasons alone mean that those who see it will be helped.", "TheReasonsAlone") + StartConversation(conversation, NPC, Spawn, "Heh... I try to bring my people closer to themselves. It is a thankless duty, and may not even help, but it is all I can do.") +end + +function TheReasonsAlone(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain009.mp3", "", "", 3987444274, 3750842326, Spawn) + AddConversationOption(conversation, "I would like to help out around here.", "IWouldLikeToHelp") + AddConversationOption(conversation, "Who are your contacts?", "WhoAreYourContacts") + AddConversationOption(conversation, "Not now, thanks.") + StartConversation(conversation, NPC, Spawn, "I am glad to hear you say that. Would you like to give some effort of your own to help our people? There are tasks around here that must be attended to, or I have contacts if you're interested in something more adventurous. What say you?") +end + +function IWouldLikeToHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain011.mp3", "", "", 2903193382, 1971757298, Spawn) + AddConversationOption(conversation, "Sure, I am willing to do that.", "SureIAmWilling") + AddConversationOption(conversation, "What are Green Wisps?", "DidYouNeedHelp") + StartConversation(conversation, NPC, Spawn, "That is good. Our people are not as strong in spirit as we once were. Every little thing we do helps, or so I believe. One plan I have had to help our people is to plant more Green Wisp bushes around Castleview Hamlet. I believe this would be a perfect job for you, what do you say?") +end + +function SureIAmWilling(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain013.mp3", "", "", 344140216, 1983346323, Spawn) + AddConversationOption(conversation, "And the blessed water?", "AndTheBlessedWater") + StartConversation(conversation, NPC, Spawn, "Good. You will need Green Wisp seeds, some enriched soil, and blessed water. The seeds you can get from the Green Wisps that surround the Fountain of Valor. The soil you can get from a barrel that holds it, northwest of the armor shop on the level above this one.") +end + +function AndTheBlessedWater(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain014.mp3", "", "", 1499994650, 3739794099, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Collect some blessed water from the Fountain of Valor. Examine the flask while near it to do so.") +end + +function KoadaDal(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain002.mp3", "", "", 1275465348, 3317665592, Spawn) + AddConversationOption(conversation, "I have not, what does it mean?", "WhatDoesItMean") + AddConversationOption(conversation, "Oh, I've heard it. I was just joking. Sorry.", "JustJoking") + StartConversation(conversation, NPC, Spawn, "You cannot be serious. From where were you raised? Have you, in seriousness, not heard that term before?") +end + +function WhatDoesItMean(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain004.mp3", "", "", 3729119270, 3986173886, Spawn) + AddConversationOption(conversation, "I am Koada'Dal. What can I do?", "DoNotDeny") + AddConversationOption(conversation, "I will leave for now then.") + StartConversation(conversation, NPC, Spawn, "By Tunare, when did it all go so wrong? Koada'Dal... this is you, this is me, this is all of our people. Though, and some would disagree with me on this, there is a difference between a high elf and a Koada'Dal. True Koada'Dal know their lives are forfeit if it is the will of Tunare. High elves... well they're just humans with pointy ears.") +end + +function JustJoking(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain003.mp3", "", "", 934395148, 2380624550, Spawn) + AddConversationOption(conversation, "I apologize, I wish to help.", "DoNotDeny") + StartConversation(conversation, NPC, Spawn, "Jokes are for those who lack the bravery to take action when it is needed. You do what you like, I will be busy helping our people.") +end + +function DidYouNeedHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain012.mp3", "", "", 4192139867, 2744580245, Spawn) + AddConversationOption(conversation, "Yes.", "SureIAmWilling") + AddConversationOption(conversation, "No, not right now.") + StartConversation(conversation, NPC, Spawn, "Green Wisps are the beautiful bushes that once adorned the noble houses of Felwithe. They spend most of the day as any other plant, but as day turns to night and night turns to day they glow with a pulsing green light. It is breathtaking. I wish to spread them around Felw- er, around Castleview Hamlet for all to see. Will you help me?") +end + +function WhoAreYourContacts(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain010.mp3", "", "", 3834761356, 938291768, Spawn) + AddConversationOption(conversation, "I will find him, thank you.") + StartConversation(conversation, NPC, Spawn, "They are currently in Oakmyst Forest. They should not be hard to find, speak with Adalin Emerael just within Oakmyst, he will point you in the right direction.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, ComponentsOfGrowth) +end + +function GatheredComponentsYet(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain015.mp3", "", "", 3988898427, 1857718440, Spawn) + + if (HasQuest(Spawn, ComponentsOfGrowth) and QuestStepIsComplete(Spawn, ComponentsOfGrowth, 1) and QuestStepIsComplete(Spawn, ComponentsOfGrowth, 2) and QuestStepIsComplete(Spawn, ComponentsOfGrowth, 3) and GetQuestStep(Spawn, ComponentsOfGrowth) == 4) or HasCompletedQuest(Spawn, ComponentsOfGrowth) then + AddConversationOption(conversation, "Yes, I have.", "GotComponents") + end + + AddConversationOption(conversation, "I need the water flask.", "NeedWaterFlask") + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you gathered the components yet?") +end + +function NeedWaterFlask(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Water Flask + if HasItem(Spawn, 15337, 1) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain017.mp3", "", "", 1348687410, 1688928730, Spawn) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "I believe you already have it. Please check all of your bags, it may even be in the bank. Once you find it, get close to the Fountain of Valor and examine it.") + else + AddConversationOption(conversation, "Thanks you.") + StartConversation(conversation, NPC, Spawn, "Certainly, here you are.") + SummonItem(Spawn, 15337, 1) + end +end + +function GotComponents(NPC, Spawn) + if HasQuest(Spawn, ComponentsOfGrowth) then + SetStepComplete(Spawn, ComponentsOfGrowth, 4) + end + ReadyForNextStep(NPC, Spawn) +end + +---------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +---------------------------------------------------------------------------------------------------------------- + + +function ReadyForNextStep(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain018.mp3", "", "", 3208917088, 31436847, Spawn) + AddConversationOption(conversation, "Sure.", "SureQuest2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Excellent. You are ready for the next step. There are eight planters around Castleview Hamlet. Currently, each has a tree in it. I would like you to plant Green Mists in them as well. Between the enriched soil and the blessed water it should not be too difficult. What do you say?") +end + +function SureQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain019.mp3", "", "", 2622235887, 2432498099, Spawn) + AddConversationOption(conversation, "I can go plant them now.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Great. There are eight planters: two on the south western corner of the inn, two north of the bank, one on the north west corner of the scribe's shop, one west of the scribe's shop on the level below it, and two north of the armor shop on the level above our current one.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, SowingBeauty) +end + +function PlantedBushesYet(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain020.mp3", "", "", 1860236238, 2496988444, Spawn) + + if (HasCompletedQuest(Spawn, SowingBeauty) and not HasCompletedQuest(Spawn, TargetingCorruption)) or (HasQuest(Spawn, SowingBeauty) and GetQuestStep(Spawn, SowingBeauty) == 9) then + AddConversationOption(conversation, "Yes, I have, there was a problem.", "dlg_19_1") + else + AddConversationOption(conversation, "No, not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you planted all of the Green Mist bushes?") +end + +function dlg_19_1(NPC, Spawn) + if HasQuest(Spawn, SowingBeauty) then + SetStepComplete(Spawn, SowingBeauty, 9) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain021.mp3", "", "", 1190805988, 2574516810, Spawn) + AddConversationOption(conversation, "When I tried to plant the seed at the planter north west of the scribe's shop part of the plant came alive and attacked me.", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "Oh? Nothing serious I hope.") +end + +-------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +-------------------------------------------------------------------------------------------------------------- + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain022.mp3", "", "", 2234653654, 1673262997, Spawn) + AddConversationOption(conversation, "It looks corrupted.", "dlg_19_3") + StartConversation(conversation, NPC, Spawn, "By Tunare! How could that have happened? You seem all right, how is the plant?") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain023.mp3", "", "", 1015908882, 1417407767, Spawn) + AddConversationOption(conversation, "Yes, I will.", "OfferQuest3") + AddConversationOption(conversation, "No, not right now.") + StartConversation(conversation, NPC, Spawn, "We must fix this, " .. GetName(Spawn) .. ". I know someone who can help. Shae'Ahla, you will find her northeast of the entrance to Qeynos Harbor. If anyone can help cleanse the Green Mist she can. Will you seek her out?") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, TargetingCorruption) +end + +function GreenMistCleared(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain025.mp3", "", "", 3990599486, 444977837, Spawn) + + if (HasCompletedQuest(Spawn, TargetingCorruption) and not HasCompletedQuest(Spawn, TheCommune)) or (HasQuest(Spawn, TargetingCorruption) and GetQuestStep(Spawn, TargetingCorruption) == 3) then + AddConversationOption(conversation, "Yes, a sprite attacked me as I cleansed it.", "dlg_22_1") + else + AddConversationOption(conversation, "Not, not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Has the Green Mist been cleansed?") +end + +function dlg_22_1(NPC, Spawn) + SetStepComplete(Spawn, TargetingCorruption, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain026.mp3", "", "", 622027382, 4205976531, Spawn) + AddConversationOption(conversation, "Yes, I did.", "dlg_22_2") + AddConversationOption(conversation, "No, I did not.", "DidNotKillSprite") + StartConversation(conversation, NPC, Spawn, "A sprite? Here? That must be what caused the corruption, then. Originally I had actually suspected the alchemists to have been dumping chemicals in the planter outside their shop, I am relieved to know that this probably isn't the case. But this sprite... that is unfortunate. Did you kill it?") +end + +------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +-------------------------------------------------------------------------------------------------------------- + +function DidNotKillSprite(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You could not have known.", "dlg_22_3") + AddConversationOption(conversation, "It was not your fault.", "dlg_22_3") + AddConversationOption(conversation, "It is all right.", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "I don't suppose that will matter much now. If you cleansed her charge she will have likely died shortly thereafter. I cannot believe this, I sent you out to plant, to encourage growth, and now you have indirectly caused death. I am sorry.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain028.mp3", "", "", 1775941301, 1525044387, Spawn) + AddConversationOption(conversation, "You could not have known.", "dlg_22_3") + AddConversationOption(conversation, "It was not your fault.", "dlg_22_3") + AddConversationOption(conversation, "It is all right.", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "By Tunare... I sent you out to plant, to cause growth, and now I have forced you to cause death instead. I am so sorry, " .. GetName(Spawn) .. ".") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain029.mp3", "", "", 2832440299, 4280395631, Spawn) + AddConversationOption(conversation, "I can.", "OfferQuest4") + AddConversationOption(conversation, "I can not.", "dlg_22_4") + StartConversation(conversation, NPC, Spawn, "You must seek out the spirit of this sprite. It will remain near her charge. Speak with it, perhaps you can ease your mind. Maybe we will even learn why she did it. Can you do this?") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, TheCommune) +end + +function SpokenWithSpiritYet(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain031.mp3", "", "", 3214169408, 3875873368, Spawn) + + if (HasCompletedQuest(Spawn, TheCommune) and not HasCompletedQuest(Spawn, SendingWord)) or (HasQuest(Spawn, TheCommune) and GetQuestStep(Spawn, TheCommune) == 2) then + AddConversationOption(conversation, "I have.", "dlg_25_1") + else + AddConversationOption(conversation, "I haven't yet.") + end + StartConversation(conversation, NPC, Spawn, "Have you spoken with the spirit?") +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain032.mp3", "", "", 2910726024, 1590892637, Spawn) + AddConversationOption(conversation, "She said she was sorry.", "dlg_25_2") + StartConversation(conversation, NPC, Spawn, "And what did she say?") +end + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain033.mp3", "", "", 3033520362, 3912252683, Spawn) + AddConversationOption(conversation, "She mentioned never being able to see Oakmyst Forest again.", "dlg_25_3") + StartConversation(conversation, NPC, Spawn, "I am not surprised. In death, for true creatures of Tunare, all corruption is purged.") +end + +function dlg_25_3(NPC, Spawn) + if HasQuest(Spawn, TheCommune) then + SetStepComplete(Spawn, TheCommune, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain034.mp3", "", "", 2141460256, 860400107, Spawn) + AddConversationOption(conversation, "She mentioned thin green thread while she was corrupted. What did that mean?", "dlg_25_4") + StartConversation(conversation, NPC, Spawn, "I was afraid of this... a sunshimmer sprite.") +end + +------------------------------------------------------------------------------------------------------------------------------ +-- QUEST 5 +------------------------------------------------------------------------------------------------------------------------------ + +function dlg_25_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain035.mp3", "", "", 405362245, 656678829, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_25_5") + AddConversationOption(conversation, "I can not.") + StartConversation(conversation, NPC, Spawn, "The thin green thread... it represents an unwavering connection with Tunare. She was strong, her death is unfortunate." .. GetName(Spawn) .. ". we must not idle. Will you carry the news of this event to Oakmyst Forest?") +end + +function dlg_25_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vindain_greenfaith/qey_village04/quests/vindain/vindain035a.mp3", "", "", 2092202853, 2822343063, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Thank you. Please, travel to Oakmyst Forest and speak with Adalin Emerael. Tell him what has occurred here, he will know what to do.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, SendingWord) +end + +function SpokenWithAdalinYet(NPC, Spawn, conversation) + if HasCompletedQuest(Spawn, SendingWord) then + AddConversationOption(conversation, "Yes, I have.", "SpokeWithAdalin") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you spoken with Adalin yet?") +end + +function SpokeWithAdalin(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Perhaps.") + StartConversation(conversation, NPC, Spawn, "Good, perhaps more corruption can be avoided.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/WaitressBrooak.lua b/Lua/SpawnScripts/Castleview/WaitressBrooak.lua new file mode 100755 index 000000000..80b183cb9 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/WaitressBrooak.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Castleview/WaitressBrooak.lua + Script Purpose : Waitress Brooak + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/waitress_brooak/qey_village04/newbie_path_froglok/waitressbrooak004.mp3", "", "", 4277299826, 3957611159) + AddConversationOption(conversation, "Perhaps later, gentle lady.") + StartConversation(conversation, NPC, Spawn, "Care ye for a bog water spirit, kind traveler? 'Tis the specialty of the house!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/YanariCyellann.lua b/Lua/SpawnScripts/Castleview/YanariCyellann.lua new file mode 100755 index 000000000..7d08aca8e --- /dev/null +++ b/Lua/SpawnScripts/Castleview/YanariCyellann.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/Castleview/YanariCyellann.lua + Script Purpose : Yanari Cyellann + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +function spawn(NPC) + --ProvidesQuest(NPC, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_multhail1_ba125732.mp3", "I'm very busy and don't want you getting hurt. Please leave me to my work.", "", 2153034813, 3927600348) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_multhail5_d4faf799.mp3", "Don't touch anything! You could turn yourself into a goo or destroy the entire building! I'm very busy and don't want you getting hurt. On your way, now!", "", 3857840792, 1030063822) + end + +--[[ + if HasCompletedQuest(Spawn, 1) then + else + PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/yanaricyellan.mp3", "", "", 3613336528, 1736617695) + AddConversationOption(conversation, "I brought the claws that you asked for.", "dlg_26_1") + AddConversationOption(conversation, "You seem to be a bit busy at the moment. I'll leave you alone. ") + StartConversation(conversation, NPC, Spawn, "Do not touch anything! You could turn yourself into a goo or destroy the entire building. What do you need?") + end +--]] +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/yanaricyellan002.mp3", "", "", 3385634498, 2633500192) + AddConversationOption(conversation, "I'll just be under this very thick table.", "dlg_26_2") + StartConversation(conversation, NPC, Spawn, "Marvelous! I shall use one of the claws to imbue a wand for you. Um ... just take a few steps back, safety and all.") +end + +function dlg_26_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/yanaricyellan003.mp3", "", "", 3490869984, 2394433819) + AddConversationOption(conversation, "I plan to be very careful with it.", "dlg_26_3") + StartConversation(conversation, NPC, Spawn, "It worked! I mean ... here is a wand for you. Use it well.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/adevioussunshimmerspritespirit.lua b/Lua/SpawnScripts/Castleview/adevioussunshimmerspritespirit.lua new file mode 100755 index 000000000..678523ccb --- /dev/null +++ b/Lua/SpawnScripts/Castleview/adevioussunshimmerspritespirit.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : SpawnScripts/Castleview/adevioussunshimmerspritespirit.lua + Script Purpose : a devious sunshimmer sprite spirit + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TheCommune = 226 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function InRange(NPC, Spawn) + if HasQuest(Spawn, TheCommune) and GetQuestStep(Spawn, TheCommune) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasQuest(Spawn, TheCommune) then + if GetQuestStep(Spawn, TheCommune) == 1 then + ForWhatIHaveDone(NPC, Spawn) + else + Say(NPC, "For what I have done there is no atonement.", Spawn) + end + end +end + +function ForWhatIHaveDone(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_devious_sunshimmer_sprite_spirit/qey_village04/quests/sprite/sprite_000.mp3", "", "", 10752592, 2895198222, Spawn) + AddConversationOption(conversation, "What have you done?", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "For what I have done there is no atonement.") +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_devious_sunshimmer_sprite_spirit/qey_village04/quests/sprite/sprite_001.mp3", "", "", 3975280832, 3208663156, Spawn) + AddConversationOption(conversation, "Why were you corrupted?", "dlg_24_2") + StartConversation(conversation, NPC, Spawn, "I have fallen to corruption. I will never see Oakmyst Forest again. This is a sad day.") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_devious_sunshimmer_sprite_spirit/qey_village04/quests/sprite/sprite_002.mp3", "", "", 3139966243, 521548245, Spawn) + AddConversationOption(conversation, "What do you remember from when you were corrupted?", "dlg_24_3") + StartConversation(conversation, NPC, Spawn, "I do not know. It was not my choice, if that is what you are asking.") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_devious_sunshimmer_sprite_spirit/qey_village04/quests/sprite/sprite_003.mp3", "", "", 2953330382, 2257771207, Spawn) + AddConversationOption(conversation, "A green thread?", "dlg_24_4") + StartConversation(conversation, NPC, Spawn, "Very little. The memories are dark and hazy. Through it all the only tangible thing I recall is a single, green thread, tugging at me always.") +end + +function dlg_24_4(NPC, Spawn) + SetStepComplete(Spawn, TheCommune, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_devious_sunshimmer_sprite_spirit/qey_village04/quests/sprite/sprite_004.mp3", "", "", 3927425201, 2478568698, Spawn) + AddConversationOption(conversation, "Very well.") + AddConversationOption(conversation, "Very well, Tunare be with you.") + StartConversation(conversation, NPC, Spawn, "I must go now. Tunare be with you, Koada'Dal. I will attend to this Green Wisp, it is the least I can do. Please, I must be alone.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/barrelwithenrichedsoil.lua b/Lua/SpawnScripts/Castleview/barrelwithenrichedsoil.lua new file mode 100755 index 000000000..75b91159d --- /dev/null +++ b/Lua/SpawnScripts/Castleview/barrelwithenrichedsoil.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Castleview/barrel_with_enriched_soil.lua + Script Purpose : barrel_with_enriched_soil + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : Updated by Jabantiz (4/24/2017) +--]] + +local HIGH_ELF_MENTOR_QUEST_1 = 223 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_1, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, Message) + if not QuestStepIsComplete(Spawn, HIGH_ELF_MENTOR_QUEST_1, 3) then + SummonItem(Spawn, 9305, 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/planter_1.lua b/Lua/SpawnScripts/Castleview/planter_1.lua new file mode 100755 index 000000000..a6d255593 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_1.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_1.lua + Script Purpose : planter_1 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 1) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 1) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360172, false, 787.97, -15.615, -123.30, 220) + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. A fresh green wisp plant begins to grow at a surprising rate.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/planter_2.lua b/Lua/SpawnScripts/Castleview/planter_2.lua new file mode 100755 index 000000000..10d7a7736 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_2.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_2.lua + Script Purpose : planter_2 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 2) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 2) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360173, false, 799.61, -15.529, -127.96, 269.984) + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. A fresh green wisp plant begins to grow at a surprising rate.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/planter_3.lua b/Lua/SpawnScripts/Castleview/planter_3.lua new file mode 100755 index 000000000..a2b57943a --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_3.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_3.lua + Script Purpose : planter_3 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 3) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 3) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360167, false, 760.25, -14.4741, -160.396, 200) + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. A fresh green wisp plant begins to grow at a surprising rate.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/planter_4.lua b/Lua/SpawnScripts/Castleview/planter_4.lua new file mode 100755 index 000000000..c69d66ff9 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_4.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_4.lua + Script Purpose : planter_4 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 4) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 4) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 4) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360166, false, 742.82, -14.4122, -165.919, 229.984) + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. A fresh green wisp plant begins to grow at a surprising rate.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/planter_5.lua b/Lua/SpawnScripts/Castleview/planter_5.lua new file mode 100755 index 000000000..b6649c623 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_5.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_5.lua + Script Purpose : planter_5 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 +local HIGH_ELF_MENTOR_QUEST_3 = 225 +local HIGH_ELF_MENTOR_QUEST_4 = 226 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 5) + SetPlayerProximityFunction(NPC, 10, "InRange2", "LeaveRange") + SetPlayerProximityFunction(NPC, 10, "InRange3", "LeaveRange") +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 5) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 5) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360169, false, 712, -15.4961, -162.534, 200) + local agitated_spirit = SpawnMob(GetZone(Spawn), 2360057, false, 712, -15.4961, -162.534, 200) + if agitated_spirit ~= nil then + AddHate(agitated_spirit, Spawn, 100) + end + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. The Green Wisp plant begins to grow, but then gurgles and pulls itself from the planter!") +end + +function InRange2(NPC, Spawn) +Say(NPC, "InRange2") + if HasQuest(Spawn, HIGH_ELF_MENTOR_QUEST_3) and GetQuestStep(Spawn, HIGH_ELF_MENTOR_QUEST_3) == 2 then +Say(NPC, "Passed quest check, spawning shrub") + local corrupted_green_wisp = GetSpawn(Spawn, 2360130) + if corrupted_green_wisp == nil then + corrupted_green_wisp = SpawnMob(GetZone(NPC), 2360130, false, 712.015, -15.4941, -162.501, 200) + Despawn(corrupted_green_wisp, 180000) + end + end +end + +function InRange3(NPC, Spawn) + if HasQuest(Spawn, HIGH_ELF_MENTOR_QUEST_4) and GetQuestStep(Spawn, HIGH_ELF_MENTOR_QUEST_4) == 1 then + local Spirit = SpawnMob(GetZone(NPC), 2360059, false, 710.408, -15.5306, -161.493, 200) + Despawn(Spirit, 120000) + end +end + +function LeaveRange(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Castleview/planter_6.lua b/Lua/SpawnScripts/Castleview/planter_6.lua new file mode 100755 index 000000000..789d6adf9 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_6.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_6.lua + Script Purpose : planter_6 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 6) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 6) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 6) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360168, false, 719.588, -20.4004, -143.931, 0) + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. A fresh green wisp plant begins to grow at a surprising rate.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/planter_7.lua b/Lua/SpawnScripts/Castleview/planter_7.lua new file mode 100755 index 000000000..2d4497289 --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_7.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_7.lua + Script Purpose : planter_7 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 7) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 7) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_2, 7) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360170, false, 749.837, -12.8826, -126.576, 220) + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. A fresh green wisp plant begins to grow at a surprising rate.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Castleview/planter_8.lua b/Lua/SpawnScripts/Castleview/planter_8.lua new file mode 100755 index 000000000..2b3055a5b --- /dev/null +++ b/Lua/SpawnScripts/Castleview/planter_8.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Castleview/planter_8.lua + Script Purpose : planter_8 + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF_MENTOR_QUEST_2 = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, HIGH_ELF_MENTOR_QUEST_2, 8) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, HIGH_ELF_MENTOR_QUEST_2) and not QuestStepIsComplete(Caster, HIGH_ELF_MENTOR_QUEST_2, 8) and SpellName == "Plant Seeds" then + conversation = CreateConversation() + AddConversationOption(conversation, "Plant the seeds.", "PlantSeeds") + StartDialogConversation(conversation, 1, Target, Caster, "This is one of the planters that Vindain spoke of.") + end +end + +function PlantSeeds(NPC, Spawn) + SetStepComplete(Spawn,HIGH_ELF_MENTOR_QUEST_2, 8) + local GreenWisp = SpawnMob(GetZone(Spawn), 2360171, false, 738.12, -12.9465, -115.119, 300) + Despawn(GreenWisp, 300000) + + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the planter.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place a seed, some soil, and some water into the planter. A fresh green wisp plant begins to grow at a surprising rate.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/ConsulBree.lua b/Lua/SpawnScripts/Caves/ConsulBree.lua new file mode 100755 index 000000000..b8c4edf97 --- /dev/null +++ b/Lua/SpawnScripts/Caves/ConsulBree.lua @@ -0,0 +1,457 @@ +--[[ + Script Name : SpawnScripts/Caves/ConsulBree.lua + Script Purpose : Consul Bree + Script Author : Scatman + Script Date : 2008.09.21 + Script Notes : +--]] + +local QUEST_FROM_OAKMYST = 212 +local QUEST_FROM_PEATBOG = 220 +local QUEST_1 = 361 +local QUEST_2 = 224 +local QUEST_3 = 225 +local QUEST_4 = 230 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_OAKMYST) or HasQuest(Spawn, QUEST_FROM_PEATBOG) then + AddConversationOption(conversation, "I am here as requested.", "HereAsRequested") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/qst_bree_done_c548f9b0.mp3", "The Queen was right about you. We may yet meet again.", "", 2998869341, 2973499858) + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + OnQuest3(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + OnQuest2(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + OnQuest1(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + IAmGladYouAreHere(NPC, Spawn, conversation) + end +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST FROM OAKMYST +------------------------------------------------------------------------------------------------------------------- + +function HereAsRequested(NPC, Spawn) + if HasQuest(Spawn, QUEST_FROM_OAKMYST) then + SetStepComplete(Spawn, QUEST_FROM_OAKMYST, 1) + elseif HasQuest(Spawn, QUEST_FROM_PEATBOG) then + SetStepComplete(Spawn, QUEST_FROM_PEATBOG, 1) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_001.mp3", "", "", 2064805321, 3198467105) + + if not HasCompletedQuest(Spawn, QUEST_1) and not HasQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "How can I be of service?", "dlg_0_2") + else + AddConversationOption(conversation, "I will get to work on my current task.", "dlg_2_2") + end + + StartConversation(conversation, NPC, Spawn, "That you are. I appreciate your answering the summons.") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------- + +function IAmGladYouAreHere(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_000.mp3", "", "", 312135119, 4181129061) + AddConversationOption(conversation, "Why is that?", "dlg_0_1") + AddConversationOption(conversation, "What is going on here?", "dlg_1_1") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "I am glad you are here.") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_002.mp3", "", "", 2428180651, 3557450253) + AddConversationOption(conversation, "What must I do?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "There are problems here to solve. You and I are part of the solution.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_003.mp3", "", "", 502817302, 1202580742) + AddConversationOption(conversation, "What can I do to help?", "dlg_0_3") + AddConversationOption(conversation, "How do you know this?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "The Rockpaw gnoll clan has wrested control of these caves to themselves. They are planning something very large.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_004.mp3", "", "", 3518125832, 3106838592) + AddConversationOption(conversation, "Very well.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "To begin with you can help me retrieve an updated copy of the gnoll field book. My copy is more than a few weeks old and these gnolls are more organized than one would like to credit their race capable of. The leaders of each clan of gnolls within these caves will have the order book. There is a Dustpaw gnoll camp west of here, on this level. Retrieve their field book. It may be encoded. If you see a small symbol of a paw held to an eye, then it is encoded. If it is then you must find the key to the cipher, this could be carried by any gnoll. Once you have the key, bring it and the book back to me so I can study it.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_000.mp3", "", "", 3394008889, 3046376303) + AddConversationOption(conversation, "Was there a link?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "I was here on my own a short time ago. These Caves are home to a few gnoll clans: the Dustpaw, the Mudpaw and the Rockpaw. Previously they had fought amongst themselves. After a series of strange reports from a few of the areas that surround Qeynos, I was sent here to investigate a possible link.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_001.mp3", "", "", 3459374999, 3197214487) + AddConversationOption(conversation, "So what was the link?", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "A strong link. Among the Rockpaw gnolls a new leader has come, High Shaman Zen/'Durath. He/'s smart, smarter than any other gnoll I know of. He rallied the Rockpaw gnolls and brought them victory over the other two clans. He then reestablished ties with Blackburrow. Blackburrow provided him with some contacts. Through these contacts Zen/'Durath got in touch with a few Freeportian engineers, Fluwkowir and Fulkoir Haggleton.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_002.mp3", "", "", 16239315, 349954635) + AddConversationOption(conversation, "Why not?", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "There had been gnoll sightings in the Forest Ruins, the Oakmyst Forest and the Peat Bog. That alone is very strange. There were also reports of gnolls possessing strange machines. The purpose of most of these machines has yet to be deciphered. A couple, however, are known to us. One is meant to dig, and the other is meant to poison. When I arrived here things were quiet, for a time. Now that is no longer the case.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_003.mp3", "", "", 3632364295, 1198051029) + AddConversationOption(conversation, "They plan on attacking Qeynos?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "The gnolls have brought an expert smithy from Blackburrow. They/'ve been creating armor to outfit an army for some time now. And that isn/'t the only source of noise... The Haggletons have provided these gnolls with massive digging machines. When I was last down here the plans were not finalized, but it looked like they were going to tunnel directly into Qeynos. This is why we must act discretely. Panic would only complicate things at this point.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_004.mp3", "", "", 1057994736, 896440060) + AddConversationOption(conversation, "How can I help?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "I believe so, though not directly.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_005.mp3", "", "", 3442310120, 962597541) + if (HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 4) or (HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "I have. Here it is.", "dlg_7_1") + else + AddConversationOption(conversation, "No, not yet.") + end + + --------- TEMPORARY + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + SetStepComplete(Spawn, QUEST_1, 2) + end + + AddConversationOption(conversation, "What can you tell me about the Caves?", "AboutCaves") + StartConversation(conversation, NPC, Spawn, "Have you gotten the gnollish order book?") +end + +function AboutCaves(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_000.mp3", "", "", 3394008889, 3046376303) + AddConversationOption(conversation, "Was there a link?", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "I was here on my own a short time ago. These Caves are home to a few gnoll clans: the Dustpaw, the Mudpaw and the Rockpaw. Previously they had fought amongst themselves. After a series of strange reports from a few of the areas that surround Qeynos, I was sent here to investigate a possible link.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_001.mp3", "", "", 3459374999, 3197214487) + AddConversationOption(conversation, "So what was the link?", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "A strong link. Among the Rockpaw gnolls a new leader has come, High Shaman Zen/'Durath. He/'s smart, smarter than any other gnoll I know of. He rallied the Rockpaw gnolls and brought them victory over the other two clans. He then reestablished ties with Blackburrow. Blackburrow provided him with some contacts. Through these contacts Zen/'Durath got in touch with a few Freeportian engineers, Fluwkowir and Fulkoir Haggleton.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_002.mp3", "", "", 16239315, 349954635) + AddConversationOption(conversation, "Why not?", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "There had been gnoll sightings in the Forest Ruins, the Oakmyst Forest and the Peat Bog. That alone is very strange. There were also reports of gnolls possessing strange machines. The purpose of most of these machines has yet to be deciphered. A couple, however, are known to us. One is meant to dig, and the other is meant to poison. When I arrived here things were quiet, for a time. Now that is no longer the case.") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_003.mp3", "", "", 3632364295, 1198051029) + AddConversationOption(conversation, "They plan on attacking Qeynos?", "dlg_4_5") + StartConversation(conversation, NPC, Spawn, "The gnolls have brought an expert smithy from Blackburrow. They/'ve been creating armor to outfit an army for some time now. And that isn/'t the only source of noise... The Haggletons have provided these gnolls with massive digging machines. When I was last down here the plans were not finalized, but it looked like they were going to tunnel directly into Qeynos. This is why we must act discretely. Panic would only complicate things at this point.") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_004.mp3", "", "", 1057994736, 896440060) + AddConversationOption(conversation, "I will see what I can find out.") + StartConversation(conversation, NPC, Spawn, "I believe so, though not directly.") +end + +function dlg_7_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_006.mp3", "", "", 3677963528, 2296083792) + AddConversationOption(conversation, "I am ready.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Great! This will prove to be very useful I am certain... Yes, their plans are as we suspected. " .. GetName(Spawn) .. ", we need to put an immediate halt to their production! Are you ready to act again?") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +------------------------------------------------------------------------------------------------------------------- + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_007.mp3", "", "", 2761151538, 2929645199) + AddConversationOption(conversation, "All right.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "The gnolls are creating an army that will be used to invade Qeynos. I had Emma whip up some explosives just for times like this. Take these charges. I need you to destroy the forge in the armory; it/'s on the level above this one. The gnolls also have a number of machine parts scattered around. These are not the two, main digging machines that they are using, but they are still part of the gnoll war machine and should be destroyed.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_005.mp3", "", "", 3442310120, 962597541) + AddConversationOption(conversation, "I have. Here it is.", "dlg_7_4") + AddConversationOption(conversation, "What can you tell me about the Caves?") + StartConversation(conversation, NPC, Spawn, "Have you gotten the gnollish order book?") +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_008.mp3", "", "", 3464612854, 1006122097) + if (HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 3) or (HasCompletedQuest(Spawn, QUEST_2)) then + AddConversationOption(conversation, "Yes, I destroyed the machines and the forge.", "dlg_15_1") + else + AddConversationOption(conversation, "I need more explosives.", "MoreExplosives") + AddConversationOption(conversation, "No, not yet.") + end + AddConversationOption(conversation, "What can you tell me about the Caves?", "AboutCaves") + AddConversationOption(conversation, "Have you learned anything new from the book?", "LearnedFromBook") + StartConversation(conversation, NPC, Spawn, "Have you done as I asked?") +end + +function LearnedFromBook(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_005.mp3", "", "", 2808914338, 1740276714) + AddConversationOption(conversation, "Can they be stopped?", "dlg_9_2") + StartConversation(conversation, NPC, Spawn, "The gnolls have a very sophisticated attack plan, especially considering they/'re gnolls. They plan to dig under Qeynos and sneak inside. Once there they will fight, but not with much force. Eventually they will attack, forcing us to defend ourselves. As this happens they plan on attacking from a new entry point, hopefully catching us unaware.") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_info_006.mp3", "", "", 1238557944, 2958306914) + AddConversationOption(conversation, "I see.") + StartConversation(conversation, NPC, Spawn, "Sure, but not without a heavy loss of life. It would be preferable, by far, to stop them here, now. Crippling their ability to dig and produce armor is our best bet at this point.") +end + +function MoreExplosives(NPC, Spawn) + -- 7 explosives + for i = 1, 6, 1 do + SummonItem(Spawn, 4873) + SendMessage(Spawn, "You receive [explosives].") + SendPopUpMessage(Spawn, "You receive explosives.", 255, 255, 255) + end +end + + +function dlg_15_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_2) then + SetStepComplete(Spawn, QUEST_2, 3) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_009.mp3", "", "", 2550748211, 2686782300) + AddConversationOption(conversation, "What do you mean?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "Wonderful. A setback like this will cost them dearly. They may not have proper time to recoup. I do not intend to give them that chance.") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +------------------------------------------------------------------------------------------------------------------- + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_011.mp3", "", "", 980784513, 319939534) + AddConversationOption(conversation, "What is the ritual?", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "I know enough of these gnolls. I did stay here for quite some time, hidden but among them, you realize. The Rockpaw have a ritual they use when they wish to speak with Zen/'Durath. If we mimic that ritual he will show.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_012.mp3", "", "", 4286756342, 1858639464) + AddConversationOption(conversation, "I can do it.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "First you must collect the necessary items. You will need five crown scales from the albino pythons. You will also need some of the Rockpaw shaman/'s incantation powder, you can find this in the Rockpaw camps. Finally, you will need a river stone from the river behemoths. These can all be found on the uppermost level here. However, the river stone may be difficult to get.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_013.mp3", "", "", 1041018837, 4007905391) + if (HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 5) or (HasCompletedQuest(Spawn, QUEST_3)) then + AddConversationOption(conversation, "Yes, here they are.", "dlg_22_1") + else + AddConversationOption(conversation, "No, not yet.") + end + AddConversationOption(conversation, "What can you tell me about the Caves?", "AboutCaves") + AddConversationOption(conversation, "What can you tell me about the gnoll attack plan?", "GnollAttack") + AddConversationOption(conversation, "Have you learned anything new from the book?", "LearnedFromBook") + StartConversation(conversation, NPC, Spawn, "Have you collected the materials?") +end + +function GnollAttack(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can they be stopped?", "CanTheyBeStopped") + StartConversation(conversation, NPC, Spawn, "The gnolls have a very sophistical attack plan, especially considering they/'re gnolls. They plan to dig under Qeynos and attack inside. Once there, they will fight, but not with much force. Eventually they will attack, forcing us to defend ourselves. As this happens they plan on attacking from every entry point hopefully catching us unaware.") +end + +function CanTheyBeStopped(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see.") + StartConversation(conversation, NPC, Spawn, "Sure, but not without a heavy loss of life. It would be preferable, by far, to stop them here, now. Crippling their ability to dig and produce armor is our best bet at this point.") +end + +function dlg_22_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_3) then + SetStepComplete(Spawn, QUEST_3, 5) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_014.mp3", "", "", 247398570, 2593527030) + AddConversationOption(conversation, "Yes.", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "Then I have all I need. I will make the staff of summoning now. Do not be alarmed, the skeleton that adorns it is not a recent one. With this staff Zen/'Durath will be summoned. Are you ready?") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +------------------------------------------------------------------------------------------------------------------- + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_015.mp3", "", "", 2549188816, 2219129213) + AddConversationOption(conversation, "I will return.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Good. Take this staff to the large skull on the northern end one level above this one. Once there place the staff in the skull, this will bring forth Zen/'Durath. Return to me when he is dead.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_016.mp3", "", "", 2025655936, 1813056075) + if GetQuestStep(Spawn, QUEST_4) == 2 then + AddConversationOption(conversation, "Yes.", "dlg_28_1") + else + AddConversationOption(conversation, "Not yet.", "dlg_27_1") + AddConversationOption(conversation, "I need the summoning staff.", "NeedStaff") + end + AddConversationOption(conversation, "What can you tell me about the Caves?", "AboutCaves") + AddConversationOption(conversation, "What can you tell me about the gnoll attack plan?", "GnollAttack") + AddConversationOption(conversation, "Is there anything else you can tell me?", "AnythingElse") + StartConversation(conversation, NPC, Spawn, "Is Zen/'Durath dead?") +end + +function AnythingElse(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "The book spoke of /'Haggletons/' who are Freeportian gnomes. We don/'t know if they acted alone or with some element of their government. It/'s not likely we/'ll ever know. From the way things are around here now, it/'s clear the gnoll/'s production is slowing. I do not expect this to last much longer, thanks in large part to you. I am lucky to have you on my side.") +end + +function NeedStaff(NPC, Spawn) + -- summoning staff + if not HasItem(Spawn, 11850) then + SummonItem(Spawn, 11850, 1) + end +end + +function dlg_28_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/consul_bree/qey_adv03_caves/quests/bree/bree_017.mp3", "", "", 1945105628, 3603406518) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Then it is done, and the Rockpaw shall soon fall. I am very relieved. I am lucky to have you, " .. GetName(Spawn) .. ". Please, take this as a sign of my thanks, and the thanks of the Queen. You have earned it.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/EmmaTorque.lua b/Lua/SpawnScripts/Caves/EmmaTorque.lua new file mode 100755 index 000000000..d30461120 --- /dev/null +++ b/Lua/SpawnScripts/Caves/EmmaTorque.lua @@ -0,0 +1,223 @@ +--[[ + Script Name : SpawnScripts/Caves/EmmaTorque.lua + Script Purpose : Emma Torque + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local QUEST1_FROM_CONSULBREE = 223 +local QUEST3_FROM_CONSULBREE = 225 +local QUEST4_FROM_CONSULBREE = 230 +local QUEST_1 = 226 +local QUEST_2 = 227 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- her quests require QUEST1_FROM_CONSULBREE to be completed first + + if HasQuest(Spawn, QUEST3_FROM_CONSULBREE) then + if GetQuestStep(Spawn, QUEST3_FROM_CONSULBREE) == 1 then + AddConversationOption(conversation, "Consul Bree sent me to you. I need a river stone.", "dlg_17_1") + + -- Drawing Ray + elseif not HasItem(Spawn, 140946) then + AddConversationOption(conversation, "I need the Drawing Ray.", "dlg_17_2") + end + end + + if HasCompletedQuest(Spawn, QUEST1_FROM_CONSULBREE) then + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST4_FROM_CONSULBREE) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/qst_emma_done_3b19b0b7.mp3", "Fulkoir had a great mind, but a poor, poor heart.", "", 4051073368, 1187972437, Spawn) + else + OnQuest2(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + OnQuest1(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + HaveAlmostEverything(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST1_FROM_CONSULBREE) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/qst_emma_notready_aeac255d.mp3", "Once Consul Bree gets me the information she promised me I'll be able to design these charges! Maybe you can help her.", "", 2803218058, 1631284097, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/qst_emma_notready_aeac255d.mp3", "Once Consul Bree gets me the information she promised me I'll be able to design these charges! Maybe you can help her.", "", 2803218058, 1631284097, Spawn) + end +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 FROM CONSUL BREE +------------------------------------------------------------------------------------------------------------------- + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_bree_000.mp3", "", "", 1968235016, 878780365, Spawn) + AddConversationOption(conversation, "May I have one?", "dlg_17_2") + StartConversation(conversation, NPC, Spawn, "Ah, yes. She had me studying those a while back. Very complicated procedure to draw the stone from a river behemoth. You need to kill one and then, from its remains, you can draw the stone to the surface. After that it is as simple as grabbing it. You'll need a Drawing Ray--one of my inventions--to get it.") +end + +function dlg_17_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST3_FROM_CONSULBREE, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Drawing Ray + if not HasItem(Spawn, 140946) then + SummonItem(Spawn, 140946, 1) + SendMessage(Spawn, "You receive [Drawing Ray].") + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_ray.mp3", "", "", 98468078, 2274575394, Spawn) + AddConversationOption(conversation, "Thanks, I guess.") + StartConversation(conversation, NPC, Spawn, "Sure. Be careful with it. I don't think it will explode and kill you, but I also don't want you using it anywhere near me.") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------- + +function HaveAlmostEverything(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_000.mp3", "", "", 1365042533, 2322859650, Spawn) + AddConversationOption(conversation, "Destruction?", "dlg_12_1") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "I have almost everything I need! You know, most of my people are so preoccupied with creation that they forget to see the value in proper destruction.") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_001.mp3", "", "", 961712587, 2002405652, Spawn) + AddConversationOption(conversation, "To demolish?", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "Oh? Are you a fan of destruction? The elegant need for precise calculation is unobserved to many, but demolitions are not something suited to an ogre mind. Real demolitions, I mean. Sure an ogre can smash all he wants, but with a fraction of that effort a correctly placed explosive charge can render far more damage. That is why I am here.") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_002.mp3", "", "", 3590999842, 100037735, Spawn) + AddConversationOption(conversation, "What kind of machines?", "dlg_12_3") + StartConversation(conversation, NPC, Spawn, "Consul Bree asked for me. Well, not me specifically, but the Engineering Guild knew I was perfect for the job. These gnolls have come across some terrible machines, " .. GetName(Spawn) .. ".") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_003.mp3", "", "", 3625869581, 925115546, Spawn) + AddConversationOption(conversation, "When will you be ready?", "dlg_12_4") + StartConversation(conversation, NPC, Spawn, "Devices that can be used to tunnel through rock with the speed of dynamite, but the subtlety of manual labor. I have reason to believe that these machines--among others--were provided to the gnolls by Freeportians. A pair of gnomes: Fulkoir and Fluwkowir Haggleton. Consul Bree has seen the machines, that is why she has called for me. And I'm almost ready to move.") +end + +function dlg_12_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_004.mp3", "", "", 1144754177, 2806670128, Spawn) + AddConversationOption(conversation, "How can I help?", "dlg_12_5") + StartConversation(conversation, NPC, Spawn, "As soon as I get a large enough collection of blasting powder. I have enough for the smaller devices, those that Consul Bree will be able to take care of--my precision won't really be needed. But the Freeportian gnomes have finished construction on two monstrous machines. Those machines are here, now in the Caves. And it falls to me to destroy them. But I need help.") +end + +function dlg_12_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_005.mp3", "", "", 2949726626, 4278022809, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "All around here are the wasteful remnants of previous dig projects. You will find copious amounts of blasting powder among the ignored, powdered mineral that is spit out by their digging machines. Collect this powder for me.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_006.mp3", "", "", 3167880761, 2808104950, Spawn) + if (HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2) or (HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "Yes, I have. Here you go.", "dlg_20_1") + else + AddConversationOption(conversation, "No, not yet.") + end + StartConversation(conversation, NPC, Spawn, "Have you collected the powder?") +end + +function dlg_20_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_007.mp3", "", "", 4075800183, 229387878, Spawn) + AddConversationOption(conversation, "I am ready.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "Most precise! This will be enough to create both charges. Are you ready to help me again?") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +------------------------------------------------------------------------------------------------------------------- + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_008.mp3", "", "", 3584996398, 1510863126, Spawn) + AddConversationOption(conversation, "I can.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "When you find the machines, the 2830 series DDBDs, there should be two of them. For our purposes they are 'A' and 'B.' I doubt they'll even be labeled, but you should know them when you see them. It is important that you place these explosives on the main drive shaft, which is external to the inner workings. It will be outside the hardwood casing, it shouldn't be hard to spot. Consul Bree's information suggests that one of the two gnomes responsible for bringing this technology here is already dead. The remaining gnome, Fulkoir Haggleton, must be stopped. He will be near the Rockpaws, though he may be in hiding. Destroying his machines will certainly draw him out. Can you do this?") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_010.mp3", "", "", 3042855134, 2522255224, Spawn) + if GetQuestStep(Spawn, QUEST_2) == 4 then + AddConversationOption(conversation, "I have done all that you asked.", "dlg_26_1") + end + AddConversationOption(conversation, "Nothing. Bye.") + StartConversation(conversation, NPC, Spawn, "Well?") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_011.mp3", "", "", 3844748719, 1801822798, Spawn) + AddConversationOption(conversation, "Yes, the machines are destroyed and Fulkoir is dead.", "dlg_26_2") + StartConversation(conversation, NPC, Spawn, "Most precise! I heard the explosions from here, I am glad you were not in them and that they were in the proper spots--they WERE in the proper spots, right?") +end + +function dlg_26_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/emma_torque/qey_adv03_caves/quests/emma/emma_012.mp3", "", "", 514277359, 3372853210, Spawn) + AddConversationOption(conversation, "You are welcome.") + StartConversation(conversation, NPC, Spawn, "Great! Consul Bree will be very pleased. You have done the Qeynos Guard a great service, " .. GetName(Spawn) .. ". Take this, please. And thank you.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/FulkoirHaggleton.lua b/Lua/SpawnScripts/Caves/FulkoirHaggleton.lua new file mode 100755 index 000000000..0c3a5526c --- /dev/null +++ b/Lua/SpawnScripts/Caves/FulkoirHaggleton.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Caves/FulkoirHaggleton.lua + Script Purpose : Fulkoir Haggleton + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function aggro(NPC, Spawn) + Say(NPC, "This is entirely unnacceptable!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/GuardBelaire.lua b/Lua/SpawnScripts/Caves/GuardBelaire.lua new file mode 100755 index 000000000..60945e47b --- /dev/null +++ b/Lua/SpawnScripts/Caves/GuardBelaire.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Caves/GuardBelaire.lua + Script Purpose : Guard Belaire + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/HighShamanZenDurath.lua b/Lua/SpawnScripts/Caves/HighShamanZenDurath.lua new file mode 100755 index 000000000..0ee7b499a --- /dev/null +++ b/Lua/SpawnScripts/Caves/HighShamanZenDurath.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Caves/HighShamanZenDurath.lua + Script Purpose : High Shaman Zen Durath + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function death(NPC, Spawn) + -- Head of High Shaman Zen'Durath + if not HasItem(Spawn, 6922) then + SummonItem(Spawn, 6922) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/KahlaUlno.lua b/Lua/SpawnScripts/Caves/KahlaUlno.lua new file mode 100755 index 000000000..c1825434b --- /dev/null +++ b/Lua/SpawnScripts/Caves/KahlaUlno.lua @@ -0,0 +1,102 @@ +--[[ + Script Name : SpawnScripts/Caves/KahlaUlno.lua + Script Purpose : Kahla Ulno + Script Author : Scatman + Script Date : 2009.09.04 + Script Notes : +--]] + +local QUEST_1 = 228 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + RandomVoice(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + PlayFlavor(NPC, "", "Still no conclusions.", "", 1689589577, 4560189, Spawn) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + Greetings(NPC, Spawn, conversation) + end +end + +function RandomVoice(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1035.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1035.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1035.mp3", "", "", 0, 0, Spawn) + end +end + +------------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------------- + +function Greetings(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1035.mp3", "", "", 0, 0) + AddConversationOption(conversation, "Help how?", "dlg_1_1") + AddConversationOption(conversation, "Nope, sorry.") + StartConversation(conversation, NPC, Spawn, "Greetings! I don't suppose you have some time to help an information-hungry kerra like myself, do you?") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What's that?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Well, I'm very interested in the creatures that inhabit these caves. I am trying to catalog these creatures so I can better compare them with their cousins found elsewhere. But I've run into a problem.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can get them for you.", "dlg_2_3") + AddConversationOption(conversation, "I'm not interested.") + StartConversation(conversation, NPC, Spawn, "The amount of information I can get from living specimens is minimal. I tried to kill some, but I am no fighter. If I could get a number of dead specimens it would be a huge boon to my work.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "You can? That would be great. I think four of the spiders, four of the bats, and four of the flying serpents would be enough for me to get most of my research done.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 4 then + AddConversationOption(conversation, "Yes I got them.", "dlg_13_1") + else + AddConversationOption(conversation, "No, not yet.") + end + StartConversation(conversation, NPC, Spawn, "Did you get the creatures?") +end + +function dlg_13_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Glad to hear it.") + StartConversation(conversation, NPC, Spawn, "Perfect! Thank you so much! This will help me a great deal.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/LieutenantDelsun.lua b/Lua/SpawnScripts/Caves/LieutenantDelsun.lua new file mode 100755 index 000000000..46daa5fe1 --- /dev/null +++ b/Lua/SpawnScripts/Caves/LieutenantDelsun.lua @@ -0,0 +1,111 @@ +--[[ + Script Name : SpawnScripts/Caves/LieutenantDelsun.lua + Script Purpose : Lieutenant Delsun + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local QUEST4_FROM_CONSULBREE = 230 +local QUEST_1 = 229 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST4_FROM_CONSULBREE) then + PlayFlavor(NPC, "", "Thanks to you, the city of Qeynos will be safe from the Rockpaw gnolls. We are in your debt.", "salute", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/qst_delsun_done_5c9845fb.mp3", "I appreciate the help. I am confident that soon you and Consul Bree will put an end to this threat.", "", 687681487, 1420406743, Spawn) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + WellMet(NPC, Spawn, conversation) + end +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------------------------------- + +function WellMet(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_000.mp3", "", "", 633173859, 3236436843, Spawn) + AddConversationOption(conversation, "What can I do to help?", "dlg_6_4") + AddConversationOption(conversation, "What is going on down here?", "dlg_5_1") + AddConversationOption(conversation, "I must go for now.") + StartConversation(conversation, NPC, Spawn, "Well met. If you're here it's probably because you can help. I'm Lieutenant Delsun of the Qeynos Guard.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_003.mp3", "", "", 3979540292, 2231912258, Spawn) + AddConversationOption(conversation, "What are the gnolls planning?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "Many things, adventurer, many things. Consul Bree, Emma--over there--and I have been down here for some time now. Consul Bree was here by herself before that. The gnolls here are up to something big. I believe Consul Bree had the Queen herself request the presence of a large number of adventurers who showed great potential. Perhaps that is why you are here.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_004.mp3", "", "", 2892187663, 805835825, Spawn) + AddConversationOption(conversation, "What can I do to help?", "dlg_6_3") + AddConversationOption(conversation, "I must go for now.") + StartConversation(conversation, NPC, Spawn, "An attack. I do not know their intent. I do not believe they could ever defeat Qeynos in a war, but perhaps they are serving as a distraction. Either way, they must be stopped before it's too late. Consul Bree may know more of their plans.") +end + +function dlg_6_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_001.mp3", "", "", 339232666, 1307734696, Spawn) + AddConversationOption(conversation, "I will help you.", "dlg_6_4") + AddConversationOption(conversation, "I must go for now.") + StartConversation(conversation, NPC, Spawn, "Well. Consul Bree has a plan of attack that she may need help with. So speak to her if you want to offer your services. As for me, I am more interested in the gnolls than their plans. If you want to help me by taking some of them out, I will gladly accept it.") +end + +function dlg_6_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_002.mp3", "", "", 455797705, 3616046354, Spawn) + AddConversationOption(conversation, "I will do this.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "That is good to hear. I'd like you to help me take out the gnollish fighting force. Slay thirty gnolls within the caves. Make sure two of 'em are the Dustpaw armorers from the level above us, and five of 'em are the Rockpaw guards from the level above that. From the same level as the Rockpaw guards, take out five of the gnoll guardians known as alabaster behemoths. Return to me when you're done.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_005.mp3", "", "", 2158069765, 3678013662, Spawn) + if GetQuestStep(Spawn, QUEST_1) == 5 then + AddConversationOption(conversation, "I have.", "dlg_21_1") + else + AddConversationOption(conversation, "Not yet.") + end + StartConversation(conversation, NPC, Spawn, "Have you done as I asked?") +end + +function dlg_21_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 5) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_delsun/qey_adv03_caves/quests/delsun/delsun_006.mp3", "", "", 718413957, 2288759319, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Good. Though we may not directly attack their production as Consul Bree does, we've done a great part in thinning out their armies. Take this, the Qeynos Guard puts aside such things for times like this. I believe you deserve it.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/Slaverjaw.lua b/Lua/SpawnScripts/Caves/Slaverjaw.lua new file mode 100755 index 000000000..a70bf69de --- /dev/null +++ b/Lua/SpawnScripts/Caves/Slaverjaw.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Caves/Slaverjaw.lua + Script Author : Shatou + Script Date : 2018.09.01 11:09:39 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Caves/aDustpawarmorer.lua b/Lua/SpawnScripts/Caves/aDustpawarmorer.lua new file mode 100755 index 000000000..fb23dd2e9 --- /dev/null +++ b/Lua/SpawnScripts/Caves/aDustpawarmorer.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Caves/aDustpawarmorer.lua + Script Purpose : a Dustpaw armorer + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_2_garbled_fad67c0f.mp3", "Grrrolven brakth kerrtt", "", 1531034367, 952662328) +end + diff --git a/Lua/SpawnScripts/Caves/aMudpawguard.lua b/Lua/SpawnScripts/Caves/aMudpawguard.lua new file mode 100755 index 000000000..680e92b0c --- /dev/null +++ b/Lua/SpawnScripts/Caves/aMudpawguard.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Caves/aMudpawguard.lua + Script Purpose : a Mudpaw guard + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function attacked(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_1_aggro_75cd5d19.mp3", "Not allowed here!", "", 1292107958, 2335134714) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_1_aggro_d81be55c.mp3", "Bite! Show sharp teeth!", "", 612586564, 102929785) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_3_aggro_d81be55c.mp3", "Bite! Show sharp teeth!", "", 3276849474, 2846177216) + else + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_2_death_9c1f07cb.mp3", "Another member of the pack down!", "", 3426629421, 3660282518) + end + +end diff --git a/Lua/SpawnScripts/Caves/aMudpawlookout.lua b/Lua/SpawnScripts/Caves/aMudpawlookout.lua new file mode 100755 index 000000000..591332ca0 --- /dev/null +++ b/Lua/SpawnScripts/Caves/aMudpawlookout.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/Caves/aMudpawlookout.lua + Script Purpose : a Mudpaw lookout + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_1_garbled_2f8caa7b.mp3", "Krovel grarggt ereverrrn", "", 3999652656, 427507713) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_2_garbled_2f8caa7b.mp3", "Krovel grarggt ereverrrn", "", 2385604574, 3717589402) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_1_aggro_fda03a16.mp3", "Spin, weave, dodge, attack!!!", "", 1347636574, 484324781) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_1_aggro_d81be55c.mp3", "Bite! Show sharp teeth!", "", 612586564, 102929785) + else + end + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Spin, weave, dodge, attack!!!", "", 1689589577, 4560189) +end + diff --git a/Lua/SpawnScripts/Caves/aRockpawguard.lua b/Lua/SpawnScripts/Caves/aRockpawguard.lua new file mode 100755 index 000000000..ef95f2f83 --- /dev/null +++ b/Lua/SpawnScripts/Caves/aRockpawguard.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Caves/aRockpawguard.lua + Script Purpose : a Rockpaw guard + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_3_victory_e4520926.mp3", "Packmate not happy with scrawny catch.", "", 1321865956, 173648139) +end + diff --git a/Lua/SpawnScripts/Caves/aRockpawscout.lua b/Lua/SpawnScripts/Caves/aRockpawscout.lua new file mode 100755 index 000000000..f2f91dc10 --- /dev/null +++ b/Lua/SpawnScripts/Caves/aRockpawscout.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/Caves/aRockpawscout.lua + Script Purpose : a Rockpaw scout + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_3_victory_e4520926.mp3", "Packmate not happy with scrawny catch.", "", 1321865956, 173648139) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_1_victory_f225e591.mp3", "One to bring back to lair!", "", 3397285495, 2608729760) +end + diff --git a/Lua/SpawnScripts/Caves/aRockpawstriker.lua b/Lua/SpawnScripts/Caves/aRockpawstriker.lua new file mode 100755 index 000000000..eadafb02d --- /dev/null +++ b/Lua/SpawnScripts/Caves/aRockpawstriker.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Caves/aRockpawstriker.lua + Script Purpose : a Rockpaw striker + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Spin, weave, dodge, attack!!!", "", 1689589577, 4560189) +end + diff --git a/Lua/SpawnScripts/Caves/adustpawguard.lua b/Lua/SpawnScripts/Caves/adustpawguard.lua new file mode 100755 index 000000000..38b50e633 --- /dev/null +++ b/Lua/SpawnScripts/Caves/adustpawguard.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Caves/adustpawguard.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 2/23/2019 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 48.04, 2.68, -92.89, 2) + MovementLoopAddLocation(NPC, 38.91, 2.60, -90.71, 2) + MovementLoopAddLocation(NPC, 30.94, 3.32, -87.40, 2) + MovementLoopAddLocation(NPC, 28.13, 3.36, -83.55, 2) + MovementLoopAddLocation(NPC, 24.03, 5.10, -76.07, 2) + MovementLoopAddLocation(NPC, 21.20, 4.93, -71.53, 2) + MovementLoopAddLocation(NPC, 24.03, 5.10, -76.07, 2) + MovementLoopAddLocation(NPC, 28.13, 3.36, -83.55, 2) + MovementLoopAddLocation(NPC, 30.94, 3.32, -87.40, 2) + MovementLoopAddLocation(NPC, 38.91, 2.60, -90.71, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +--Moved these from the old script + +--[[ +PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_2_death_9c1f07cb.mp3", "Another member of the pack down!", "", 3426629421, 3660282518, Spawn) +PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_2_garbled_2f8caa7b.mp3", "Krovel grarggt ereverrrn", "", 2385604574, 3717589402, Spawn) +PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_2_garbled_fad67c0f.mp3", "Grrrolven brakth kerrtt", "", 1531034367, 952662328, Spawn) +PlayFlavor(NPC, "voiceover/english/gnoll_base_1/ft/gnoll/gnoll_base_1_2_garbled_fe1eedd8.mp3", "Rrrrevvvvnarrr jahht ttekkkman", "", 1674950709, 3936377565, Spawn) +--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/agnollishbook.lua b/Lua/SpawnScripts/Caves/agnollishbook.lua new file mode 100755 index 000000000..baf1a5cfb --- /dev/null +++ b/Lua/SpawnScripts/Caves/agnollishbook.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Caves/agnollishbook.lua + Script Purpose : a gnollish book + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +local QUEST_1_CONSULBREE = 223 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_1_CONSULBREE, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, QUEST_1_CONSULBREE) and GetQuestStep(Spawn, QUEST_1_CONSULBREE) == 1 and SpellName == "Take book" then + SetStepComplete(Spawn, QUEST_1_CONSULBREE, 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/analabasterbehemoth.lua b/Lua/SpawnScripts/Caves/analabasterbehemoth.lua new file mode 100755 index 000000000..81194ee5d --- /dev/null +++ b/Lua/SpawnScripts/Caves/analabasterbehemoth.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Caves/analabasterbehemoth.lua + Script Purpose : an alabaster behemoth + Script Author : Scatman + Script Date : 2009.11.20 + Script Notes : +--]] + +local MIN_TIME = 3000 +local MAX_TIME = 10000 + +function spawn(NPC) + local sli = GetSpawnLocationID(NPC) + if sli == 387773 or sli == 387774 or sli == 387772 or sli == 387778 or sli == 1585477 or sli == 387766 then + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function MakeAttack(NPC) + PlayFlavor(NPC, "", "", "attack", 0, 0) + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") +end + +--[[ +PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_e0fead4d.mp3", "Pintoota kolata eldina mastarina", "", 2947217871, 3677590207) +PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_garbled_48632408.mp3", "Boona vas kontrella", "", 3186320893, 862014285) +--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/analabastergolem(388539).lua b/Lua/SpawnScripts/Caves/analabastergolem(388539).lua new file mode 100755 index 000000000..cbd4071dc --- /dev/null +++ b/Lua/SpawnScripts/Caves/analabastergolem(388539).lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Caves/analabastergolem(388539).lua + Script Purpose : + Script Author : Jabantiz + Script Date : 2/23/2019 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 3.36, 12.13, -109.20, 2) + MovementLoopAddLocation(NPC, 2.21, 12.10, -101.08, 2) + MovementLoopAddLocation(NPC, -5.27, 12.16, -96.08, 2) + MovementLoopAddLocation(NPC, -13.81, 12.23, -91.39, 2) + MovementLoopAddLocation(NPC, -18.10, 12.17, -76.93, 2) + MovementLoopAddLocation(NPC, -15.76, 12.13, -66.19, 2) + MovementLoopAddLocation(NPC, -16.49, 12.12, -53.90, 2) + MovementLoopAddLocation(NPC, -15.76, 12.13, -66.19, 2) + MovementLoopAddLocation(NPC, -18.10, 12.17, -76.93, 2) + MovementLoopAddLocation(NPC, -13.81, 12.23, -91.39, 2) + MovementLoopAddLocation(NPC, -5.27, 12.16, -96.08, 2) + MovementLoopAddLocation(NPC, 2.21, 12.10, -101.08, 2) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/analabastergolem.lua b/Lua/SpawnScripts/Caves/analabastergolem.lua new file mode 100755 index 000000000..3530043f7 --- /dev/null +++ b/Lua/SpawnScripts/Caves/analabastergolem.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Caves/analabastergolem.lua + Script Purpose : an alabaster golem + Script Author : Scatman + Script Date : 2009.11.19 + Script Notes : +--]] + +local MIN_TIME = 3000 +local MAX_TIME = 10000 + +function spawn(NPC) + local sli = GetSpawnLocationID(NPC) + if sli == 388305 or sli == 388308 or sli == 147864 or sli == 159970 or sli == 159971 or sli == 159972 or sli == 147866 or sli == 147867 then + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function MakeAttack(NPC) + PlayFlavor(NPC, "", "", "attack", 0, 0) + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") +end + +--[[ +PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_7c1e7a03.mp3", "Oerbet aertres nuavalen sulana", "", 294229851, 323943279) +PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_48632408.mp3", "Boona vas kontrella", "", 2577927628, 312715019) +PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_e0fead4d.mp3", "Pintoota kolata eldina mastarina", "", 2947217871, 3677590207) +PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_ba1c8454.mp3", "Ervmenta oolaves kor'tenza", "", 422166849, 245170409) +PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_garbled_7c1e7a03.mp3", "Oerbet aertres nuavalen sulana", "", 2422828991, 2611697218) +--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/ariverbehemoth.lua b/Lua/SpawnScripts/Caves/ariverbehemoth.lua new file mode 100755 index 000000000..60e3c5e3f --- /dev/null +++ b/Lua/SpawnScripts/Caves/ariverbehemoth.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Caves/ariverbehemoth.lua + Script Purpose : a river behemoth + Script Author : Scatman + Script Date : 2009.05.18 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function death(NPC, Spawn) + local Remains = SpawnMob(GetZone(Spawn), 1970147, false, GetX(NPC), GetY(NPC), GetZ(NPC)) + Despawn(Remains, 60000) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/arockpawstonemaster.lua b/Lua/SpawnScripts/Caves/arockpawstonemaster.lua new file mode 100755 index 000000000..5c047ae4d --- /dev/null +++ b/Lua/SpawnScripts/Caves/arockpawstonemaster.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Caves/arockpawstonemaster.lua + Script Purpose : Activate Atramentor (1970035) when this spawn is killed + Script Author : Jabantiz + Script Date : 2/23/2019 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function death(NPC, Spawn) + local Atramentor = GetSpawn(Spawn, 1970035) + if Atramentor ~= nil then + SpawnSet(Atramentor, "attackable", "1") + SpawnSet(Atramentor, "show_level", "1") + end +end diff --git a/Lua/SpawnScripts/Caves/awhitespider.lua b/Lua/SpawnScripts/Caves/awhitespider.lua new file mode 100755 index 000000000..ddd21dee4 --- /dev/null +++ b/Lua/SpawnScripts/Caves/awhitespider.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Caves/awhitespider.lua + Script Purpose : a white spider + Script Author : Scatman + Script Date : 2009.10.27 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/MovementCircleSmall.lua") + +function spawn(NPC) + local sli = GetSpawnLocationID(NPC) + if sli == 147821 or sli == 147820 or sli == 147818 or sli == 147817 then + SpawnChooseRandomMovement(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/digging_machine.lua b/Lua/SpawnScripts/Caves/digging_machine.lua new file mode 100755 index 000000000..431feee6a --- /dev/null +++ b/Lua/SpawnScripts/Caves/digging_machine.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Caves/digging_machine.lua + Script Purpose : digging_machine + Script Author : Scatman + Script Date : 2009.05.16 + Script Notes : +--]] + +local QUEST2_FROM_CONSULBREE = 222 + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST2_FROM_CONSULBREE, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Caster, Target) + if HasQuest(Caster, QUEST2_FROM_CONSULBREE) and not QuestStepIsComplete(Caster, QUEST2_FROM_CONSULBREE, 2) then + AddStepProgress(Caster, QUEST2_FROM_CONSULBREE, 2, 1) + SendMessage(Caster, "Charges set for 3 seconds.") + AddTimer(Target, 3000, "BlowUpMachine", 1, Caster) + end +end + +function BlowUpMachine(NPC, Spawn) + Despawn(NPC) + -- explosives + RemoveItem(Spawn, 4873) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/digging_machine_1.lua b/Lua/SpawnScripts/Caves/digging_machine_1.lua new file mode 100755 index 000000000..a8a258370 --- /dev/null +++ b/Lua/SpawnScripts/Caves/digging_machine_1.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/Caves/digging_machine_1.lua + Script Purpose : digging_machine_2 + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local QUEST2_FROM_EMMA = 227 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST2_FROM_EMMA, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, QUEST2_FROM_EMMA) and not QuestStepIsComplete(Caster, QUEST2_FROM_EMMA, 1) and SpellName == "Place Explosives" then + SetStepComplete(Caster, QUEST2_FROM_EMMA, 1) + AddTimer(Target, 1000, "DespawnMachine") + end +end + +function DespawnMachine(NPC) + local digging_machine1 = GetSpawn(NPC, 1970108) + Despawn(digging_machine1) + + local control_device1 = GetSpawn(NPC, 1970114) + Despawn(control_device1) + + local crate1 = GetSpawn(NPC, 1970116) + Despawn(crate1) + + local instructions1 = GetSpawn(NPC, 1970113) + Despawn(instructions1) + + local shovel1 = GetSpawn(NPC, 1970115) + while shovel1 ~= nil do + Despawn(shovel1) + shovel1 = GetSpawn(NPC, 1970115) + end + + -- spawn smashed machine + + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/digging_machine_2.lua b/Lua/SpawnScripts/Caves/digging_machine_2.lua new file mode 100755 index 000000000..ea0f8a80f --- /dev/null +++ b/Lua/SpawnScripts/Caves/digging_machine_2.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/Caves/digging_machine_2.lua + Script Purpose : digging_machine_2 + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local QUEST2_FROM_EMMA = 227 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST2_FROM_EMMA, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, QUEST2_FROM_EMMA) and not QuestStepIsComplete(Caster, QUEST2_FROM_EMMA, 2) and SpellName == "Place Explosives" then + SetStepComplete(Caster, QUEST2_FROM_EMMA, 2) + AddTimer(Target, 1000, "DespawnMachine") + end +end + +function DespawnMachine(NPC) + local digging_machine2 = GetSpawn(NPC, 1970122) + Despawn(digging_machine2) + + local control_device2 = GetSpawn(NPC, 1970128) + Despawn(control_device2) + + local crate2 = GetSpawn(NPC, 1970130) + Despawn(crate2) + + local instructions2 = GetSpawn(NPC, 1970127) + Despawn(instructions2) + + local shovel2 = GetSpawn(NPC, 1970129) + while shovel2 ~= nil do + Despawn(shovel2) + shovel2 = GetSpawn(NPC, 1970129) + end + + -- spawn smashed machine + + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/incantationdust.lua b/Lua/SpawnScripts/Caves/incantationdust.lua new file mode 100755 index 000000000..e6b26e874 --- /dev/null +++ b/Lua/SpawnScripts/Caves/incantationdust.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Caves/incantationdust.lua + Script Purpose : incantation dust + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local CAVES_CONSUL_BREE_QUEST_3 = 225 + +function spawn(NPC) + SetRequiredQuest(NPC, CAVES_CONSUL_BREE_QUEST_3, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/powderedminerals.lua b/Lua/SpawnScripts/Caves/powderedminerals.lua new file mode 100755 index 000000000..1d9a5a2fa --- /dev/null +++ b/Lua/SpawnScripts/Caves/powderedminerals.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Caves/powderedminerals.lua + Script Purpose : powdered minerals + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local QUEST_1_FROM_EMMA_TORQUE = 226 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_1_FROM_EMMA_TORQUE, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/qey_blacksmith_oven001.lua b/Lua/SpawnScripts/Caves/qey_blacksmith_oven001.lua new file mode 100755 index 000000000..f092855cd --- /dev/null +++ b/Lua/SpawnScripts/Caves/qey_blacksmith_oven001.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Caves/qey_blacksmith_oven001.lua + Script Purpose : digging_machine + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +local QUEST2_FROM_CONSULBREE = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST2_FROM_CONSULBREE, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, QUEST2_FROM_CONSULBREE) and not QuestStepIsComplete(Caster, QUEST2_FROM_CONSULBREE, 1) and SpellName == "Place Explosives" then + -- explosives + if HasItem(Caster, 6052) then + RemoveItem(Caster, 6052) + end + SendMessage(Caster, "Charges set for 3 seconds.") + SetStepComplete(Caster, QUEST2_FROM_CONSULBREE, 1) + AddTimer(Target, 3000, "BlowUpMachine") + end +end + +function BlowUpMachine(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/qst_shaman_spawner_skull.lua b/Lua/SpawnScripts/Caves/qst_shaman_spawner_skull.lua new file mode 100755 index 000000000..302d76068 --- /dev/null +++ b/Lua/SpawnScripts/Caves/qst_shaman_spawner_skull.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Caves/qst_shaman_spawner_skull.lua + Script Purpose : qst_shaman_spawner_skull + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local QUEST4_FROM_CONSULBREE = 230 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST4_FROM_CONSULBREE, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST4_FROM_CONSULBREE) and GetQuestStep(Caster, QUEST4_FROM_CONSULBREE) == 1 then + if HasItem(Caster, 11850) then + local SpearedSkeleton = SpawnMob(GetZone(Caster), 1970139, false, 25.0848, 13.4502, -107.594, 178.328) + SendMessage(Caster, "The skull seems to come alive as a wave of heat blows in from the north.") + -- summoning staff + while HasItem(Caster, 11850) do + RemoveItem(Caster, 11850) + end + local ZenDurath = GetSpawn(Caster, 1970075) + if ZenDurath == nil then + ZenDurath = SpawnMob(GetZone(Caster), 1970075, false, 28.9003, 20.2769, -128.765, 0) + end + Despawn(SpearedSkeleton, 60000) + Despawn(ZenDurath, 60000) + else + SendMessage(Caster, "You need the summoning staff from Consul Bree.") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/riverbehemothremains.lua b/Lua/SpawnScripts/Caves/riverbehemothremains.lua new file mode 100755 index 000000000..a1787c376 --- /dev/null +++ b/Lua/SpawnScripts/Caves/riverbehemothremains.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Caves/riverbehemothremains.lua + Script Purpose : river behemoth remains + Script Author : Scatman + Script Date : 2009.10.18 + Script Notes : +--]] + +local CAVES_CONSUL_BREE_QUEST_3 = 225 + +function spawn(NPC) + SetRequiredQuest(NPC, CAVES_CONSUL_BREE_QUEST_3, 4) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, CAVES_CONSUL_BREE_QUEST_3) and not QuestStepIsComplete(Spawn, CAVES_CONSUL_BREE_QUEST_3, 4) and SpellName == "Remove River Stone" then + -- river stone (quest step gets complete once the player recieves the item (obtainitem) + if not HasItem(Spawn, 10068) then + SummonItem(Spawn, 10068, 1) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Caves/spare_machine_parts.lua b/Lua/SpawnScripts/Caves/spare_machine_parts.lua new file mode 100755 index 000000000..9f18c289b --- /dev/null +++ b/Lua/SpawnScripts/Caves/spare_machine_parts.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Caves/spare_machine_parts.lua + Script Purpose : spare_machine_parts + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +local QUEST2_FROM_CONSULBREE = 224 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST2_FROM_CONSULBREE, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, QUEST2_FROM_CONSULBREE) and not QuestStepIsComplete(Caster, QUEST2_FROM_CONSULBREE, 2) and SpellName == "Place Explosives" then + -- explosives + if HasItem(Caster, 6052) then + RemoveItem(Caster, 6052) + end + SendMessage(Caster, "Charges set for 3 seconds.") + AddStepProgress(Caster, QUEST2_FROM_CONSULBREE, 2, 1) + AddTimer(Target, 3000, "BlowUpMachine") + end +end + +function BlowUpMachine(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Commonlands/AmuliusRamio.lua b/Lua/SpawnScripts/Commonlands/AmuliusRamio.lua new file mode 100755 index 000000000..c42adaa63 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/AmuliusRamio.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : AmuliusRamio.lua + Script Purpose : Amulius Ramio + Script Author : ParserGenerated (Replace this) + Script Date : 08/28/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Quiet you! Can't you see I'm trying to avoid being seen? Get down here before an orc spots you!") + Dialog.AddOption("My mistake, what are you doing here? (crouch)", "dlg_3") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + --]] + +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Get down and wait a moment, I think I hear an orc passing.") + + Dialog.Start() +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Alright listen, the Overlord passed down orders to have me find out where these orcs have been staging their attacks from. As you can see, this looks like an orc forward base if I ever saw one. I don't have time to get back to Freeport to get some extra troops, so I'm going to have to ask for your help on this. What say you?") + Dialog.AddOption("Are you insane? I can't do this, I must go.") + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Commonlands/Arconicus.lua b/Lua/SpawnScripts/Commonlands/Arconicus.lua new file mode 100755 index 000000000..1947eb112 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/Arconicus.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Arconicus.lua + Script Purpose : Arconicus + Script Author : ParserGenerated (Replace this) + Script Date : 08/28/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("What do you want? Please don't tell me you're another one of these country bumpkins who has never seen a mage before.") + Dialog.AddOption("I won't. I'll just tell you goodbye.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Commonlands/CaptainIsta.lua b/Lua/SpawnScripts/Commonlands/CaptainIsta.lua new file mode 100755 index 000000000..4ad8e024c --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/CaptainIsta.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : CaptainIsta.lua + Script Purpose : Captain Ista + Script Author : ParserGenerated (Replace this) + Script Date : 08/28/2019 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Hrmph! What? You expect me to assign a task to a weak little runt like yourself? Get Lost!") + Dialog.AddOption("I will come back later then.") + + Dialog.Start() + + --[[ Say() from this NPC + + + Orphaned PlayFlavors + --]] + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Commonlands/GerunPontian.lua b/Lua/SpawnScripts/Commonlands/GerunPontian.lua new file mode 100755 index 000000000..7488e6c13 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/GerunPontian.lua @@ -0,0 +1,103 @@ +--[[ + Script Name: SpawnScripts/Commonlands/GerunPontian.lua + Script Purpose: Gerun Pontian + Script Author: vo1d + Script Date: 10/8/2019 + Script Notes: n/a +--]] + +require "SpawnScripts/Generic/DialogModule" + +local SpeckledRattlerVenom = 375 + +function spawn(NPC) + spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + if HasCompletedQuest(Spawn, SpeckledRattlerVenom) == false and HasQuest(Spawn, SpeckledRattlerVenom) == false then + Dialog.AddDialog("Gerun Pontian of the Militia. I watch the gates. I assure you a more dreary job does not exist in all of D'Lere.") + Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_3_1022.mp3", 0, 0) + Dialog.AddOption("What makes it so dreary?", "dlg_2") + Dialog.AddOption("I have to go.") + Dialog.Start() + elseif GetQuestStep(Spawn, SpeckledRattlerVenom) == 1 then + Dialog.New(NPC, Spawn) + Dialog.AddDialog("Did you get the venom?") + Dialog.AddOption("Not yet.") + Dialog.Start() + elseif GetQuestStep(Spawn, SpeckledRattlerVenom) == 2 then + Dialog.New(NPC, Spawn) + Dialog.AddDialog("Did you get the venom?") + Dialog.AddOption("Yes, here it is.", "CompleteSpeckledRattlerVenom") + Dialog.Start() + elseif HasCompletedQuest(Spawn, SpeckledRattlerVenom) == true then + Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_3_1022.mp3", 0, 0) + end +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Who attacks the gates of Freeport? Orcs? Dervish Cutthroats? Qeynosians? Hah! The only good thing about this post is it gives me a lot of time. And even the most daft of fools knows that time equals money.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("How does this post turn profit?", "dlg_3") + + Dialog.Start() +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Like I said, I've got free time. So while I'm out here I can acquire commodities that I can then sell to the merchants of Freeport. If I can't be out there earning glory, I'll stay back here and earn coin. Care to help?") + Dialog.AddOption("What do you need?", "dlg_4") + Dialog.AddOption("No thanks.") + + Dialog.Start() +end + +function dlg_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Venom has been selling quite nicely. There are quite a few speckled rattlers around here. They're a great source of venom. If you bring me back the venom from eight of them I'll give you a portion of what the profit will be. Sound good?") + Dialog.AddOption("Sure.", "OfferSpeckledRattlerVenom") + Dialog.Start() +end + +function dlg_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Great! I'll be here, of course.") + Dialog.AddVoiceover("", "", 0) + Dialog.AddOption("I'll be back.") + + Dialog.Start() +end + +function OfferSpeckledRattlerVenom(NPC, Spawn) + OfferQuest(NPC, Spawn, SpeckledRattlerVenom) +end + +function CompleteSpeckledRattlerVenom(NPC, Spawn) + SetStepComplete(Spawn, SpeckledRattlerVenom, 2) + PlaySound(NPC, "sounds/ui/gui_quest_complete.wav", GetX(Spawn), GetY(Spawn), GetZ(Spawn), Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Good work. You've made us both quite a bit of coin. Thanks for the help. I'm sorry that my tasks have been so dull, it's hard to pull the important missions when you're a lowly gate patrol. I do have something a bit more exciting if you're interested.") + + Dialog.AddOption("What is it?") + Dialog.AddOption("No thanks.") + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Commonlands/Graverobber.lua b/Lua/SpawnScripts/Commonlands/Graverobber.lua new file mode 100755 index 000000000..b51917a47 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/Graverobber.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/Graverobber.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:20 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/MadamVi.lua b/Lua/SpawnScripts/Commonlands/MadamVi.lua new file mode 100755 index 000000000..564e6197a --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/MadamVi.lua @@ -0,0 +1,511 @@ +--[[ + Script Name : SpawnScripts/TheCommonlands/MadamVi.lua + Script Purpose : Madam Vi + Script Author : Kinglykrab + Script Date : 2019.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,1) + + if choice == 1 then + PlayFlavor(NPC, "", "Wonderful to see you, thanks again for all of your help.", "", 1689589577, 4560189, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have the things you need for your Seer Stone, Madam.", "dlg_0_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + if convo==1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have the things you need for your Seer Stone, Madam.", "dlg_1_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have filled the flasks for you, Madam.", "dlg_2_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, I do.", "dlg_3_1") + AddConversationOption(conversation, "Not for you.") + StartConversation(conversation, NPC, Spawn, "Hello again. Do you have any further time to spare?") + end + + if convo==4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was able to find your stone, Madam.", "dlg_4_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was able to find your stone, Madam.", "dlg_5_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==6 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Some, yes.", "dlg_6_1") + AddConversationOption(conversation, "No, nothing at all. I better go.") + StartConversation(conversation, NPC, Spawn, "You have certainly proven yourself, and it is I who am honored. Tell me, do you know anything of mage craft?") + end + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Some, yes.", "dlg_7_1") + AddConversationOption(conversation, "No, nothing at all. I better go.") + StartConversation(conversation, NPC, Spawn, "You have certainly proven yourself, and it is I who am honored. Tell me, do you know anything of mage craft?") + end + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Some, yes.", "dlg_8_1") + AddConversationOption(conversation, "No, nothing at all. I better go.") + StartConversation(conversation, NPC, Spawn, "You have certainly proven yourself, and it is I who am honored. Tell me, do you know anything of mage craft?") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Some, yes.", "dlg_9_1") + AddConversationOption(conversation, "No, nothing at all. I better go.") + StartConversation(conversation, NPC, Spawn, "You have certainly proven yourself, and it is I who am honored. Tell me, do you know anything of mage craft?") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Some, yes.", "dlg_10_1") + AddConversationOption(conversation, "No, nothing at all. I better go.") + StartConversation(conversation, NPC, Spawn, "You have certainly proven yourself, and it is I who am honored. Tell me, do you know anything of mage craft?") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet. Patience, my lady.", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "Have you completed your task?") + end + + if convo==14 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What assistance do you require?", "dlg_14_1") + AddConversationOption(conversation, "I'm busy at the moment.") + StartConversation(conversation, NPC, Spawn, "I need some assistance. Would you be willing to aid me?") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What assistance do you require?", "dlg_15_1") + AddConversationOption(conversation, "I'm busy at the moment.") + StartConversation(conversation, NPC, Spawn, "I need some assistance. Would you be willing to aid me?") + end + + if convo==16 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What assistance do you require?", "dlg_16_1") + AddConversationOption(conversation, "I'm busy at the moment.") + StartConversation(conversation, NPC, Spawn, "I need some assistance. Would you be willing to aid me?") + end + + if convo==17 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What assistance do you require?", "dlg_17_1") + AddConversationOption(conversation, "I'm busy at the moment.") + StartConversation(conversation, NPC, Spawn, "I need some assistance. Would you be willing to aid me?") + end + + if convo==20 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was able to find your stone, Madam.", "dlg_20_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==21 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was able to find your friends. They were very grateful for the water.", "dlg_21_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==22 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was able to find your friends. They were very grateful for the water.", "dlg_22_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==23 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It was my pleasure, but you seem distracted. Do you require further assistance?", "dlg_23_1") + AddConversationOption(conversation, "I did do great didn't I? I'll be off now.") + StartConversation(conversation, NPC, Spawn, "Hello friend. My companions are rehydrated and back to themselves, thanks to you.") + end + + if convo==24 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It was my pleasure, but you seem distracted. Do you require further assistance?", "dlg_24_1") + AddConversationOption(conversation, "I did do great didn't I? I'll be off now.") + StartConversation(conversation, NPC, Spawn, "Hello friend. My companions are rehydrated and back to themselves, thanks to you.") + end + + if convo==25 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It was my pleasure, but you seem distracted. Do you require further assistance?", "dlg_25_1") + AddConversationOption(conversation, "I did do great didn't I? I'll be off now.") + StartConversation(conversation, NPC, Spawn, "Hello friend. My companions are rehydrated and back to themselves, thanks to you.") + end + + if convo==26 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It was my pleasure, but you seem distracted. Do you require further assistance?", "dlg_26_1") + AddConversationOption(conversation, "I did do great didn't I? I'll be off now.") + StartConversation(conversation, NPC, Spawn, "Hello friend. My companions are rehydrated and back to themselves, thanks to you.") + end + + if convo==27 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet. Patience, my lady.", "dlg_27_1") + StartConversation(conversation, NPC, Spawn, "Have you completed your task?") + end + + if convo==31 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet. Patience, my lady.", "dlg_31_1") + StartConversation(conversation, NPC, Spawn, "Have you completed your task?") + end + + if convo==45 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What assistance do you require?", "dlg_45_1") + AddConversationOption(conversation, "I'm busy at the moment.") + StartConversation(conversation, NPC, Spawn, "I need some assistance. Would you be willing to aid me?") + end + + if convo==46 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What assistance do you require?", "dlg_46_1") + AddConversationOption(conversation, "I'm busy at the moment.") + StartConversation(conversation, NPC, Spawn, "I need some assistance. Would you be willing to aid me?") + end + + if convo==47 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What assistance do you require?", "dlg_47_1") + AddConversationOption(conversation, "I'm busy at the moment.") + StartConversation(conversation, NPC, Spawn, "I need some assistance. Would you be willing to aid me?") + end + + if convo==48 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet. Patience, my lady.", "dlg_48_1") + StartConversation(conversation, NPC, Spawn, "Have you completed your task?") + end + + if convo==69 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have filled the flasks for you, Madam.", "dlg_69_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==70 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have filled the flasks for you, Madam.", "dlg_70_1") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again. Any news?") + end + + if convo==71 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, I do.", "dlg_71_1") + AddConversationOption(conversation, "Not for you.") + StartConversation(conversation, NPC, Spawn, "Hello again. Do you have any further time to spare?") + end + + if convo==72 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, I do.", "dlg_72_1") + AddConversationOption(conversation, "Not for you.") + StartConversation(conversation, NPC, Spawn, "Hello again. Do you have any further time to spare?") + end + + if convo==73 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, I do.", "dlg_73_1") + AddConversationOption(conversation, "Not for you.") + StartConversation(conversation, NPC, Spawn, "Hello again. Do you have any further time to spare?") + end + + if convo==74 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet. Patience, my lady.", "dlg_74_1") + StartConversation(conversation, NPC, Spawn, "Have you completed your task?") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure.") + AddConversationOption(conversation, "Not right now.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "The heat out here is ridiculous and I am parched. I would do anything for some nice cool water. The water around here gets so filthy from the livestock. Even as hot as it is, I can't just drink any water, you know? Do you think you could go out and fill each of these flasks with clean water from the lake and river for me? Oh, and I will also need one of them filled from the sea. Mooshga always needs more salt for curing her specialties.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome, Madam.", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Excellent work!") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome, Madam.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Excellent work!") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will find them.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "Head out to the northwest. They have been missing for quite some time.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perhaps.", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "I wonder if they've set up camp yet.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No problem, where are they?", "dlg_3_2") + AddConversationOption(conversation, "I care not for your friends.") + StartConversation(conversation, NPC, Spawn, "A section of my entourage seems to be lost out there. I need you to find them, give them the water you collected earlier, and relay their location to me.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will find them.", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "Head out to the northwest. They have been missing for quite some time.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perhaps.", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "I wonder if they've set up camp yet.") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome, Madam.", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "Oh, thank you... I can complete my stone, at long last!") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_15_2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "The heat out here is ridiculous and I am parched. I would do anything for some nice cool water. The water around here gets so filthy from the livestock. Even as hot as it is, I can't just drink any water, you know? Do you think you could go out and fill each of these flasks with clean water from the lake and river for me? Oh, and I will also need one of them filled from the sea. Mooshga always needs more salt for curing her specialties.") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_16_2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "The heat out here is ridiculous and I am parched. I would do anything for some nice cool water. The water around here gets so filthy from the livestock. Even as hot as it is, I can't just drink any water, you know? Do you think you could go out and fill each of these flasks with clean water from the lake and river for me? Oh, and I will also need one of them filled from the sea. Mooshga always needs more salt for curing her specialties.") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Of course.", "dlg_16_3") + StartConversation(conversation, NPC, Spawn, "Do make sure there are no parasites in the water.") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_17_2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "The heat out here is ridiculous and I am parched. I would do anything for some nice cool water. The water around here gets so filthy from the livestock. Even as hot as it is, I can't just drink any water, you know? Do you think you could go out and fill each of these flasks with clean water from the lake and river for me? Oh, and I will also need one of them filled from the sea. Mooshga always needs more salt for curing her specialties.") +end + +function dlg_17_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Of course.", "dlg_17_3") + StartConversation(conversation, NPC, Spawn, "Do make sure there are no parasites in the water.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "Oh yes, this is just what I needed. Look here, the gem is right inside. Oh, it's just gorgeous, and will work perfectly for what I have in mind. Thank you.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I agree.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "Great news! Nothing like an ice cold drink on a hot day.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am very interested. Where do I look?", "dlg_21_3") + AddConversationOption(conversation, "No, not right now. Maybe later.") + StartConversation(conversation, NPC, Spawn, "Exactly. You are quite intuitive. The gem you retrieved for me is in itself not enough to create the quality item I desire. Would you be interested in fetching the rest of the components I need?") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be off then.", "dlg_21_4") + AddConversationOption(conversation, "I don't think I will help.") + StartConversation(conversation, NPC, Spawn, "To finish my Seer Stone, I will need some components that you can gather for me from different beasts around the Commonlands. I will need some bone dust, a few water glands and, just for good measure, some sparkly bits.") +end + +function dlg_21_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_21_5") + StartConversation(conversation, NPC, Spawn, "Please hurry!") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I agree.", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "Great news! Nothing like an ice cold drink on a hot day.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will find the gem for you.", "dlg_22_3") + AddConversationOption(conversation, "Wailing Caves? Are you insane?!") + StartConversation(conversation, NPC, Spawn, "There is a gem that I truly desire which has evaded me. I heard that it can be found by breaking open clumps of rocks inside the wailing caves to the west. Look for dull stone outcroppings near the vibrant blue rocks found inside.") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am always careful.", "dlg_22_4") + StartConversation(conversation, NPC, Spawn, "Be careful, those caves are dangerous!") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I meant no offense. Is there anything I can do to rid you of this distraction?", "dlg_23_2") + AddConversationOption(conversation, "I think you need to get out of the sun. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Wha..distracted? Hmm, well I suppose you are correct, but please do keep your observations to yourself in the future. ") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will find the gem for you.", "dlg_23_3") + AddConversationOption(conversation, "Wailing Caves? Are you insane?!") + StartConversation(conversation, NPC, Spawn, "There is a gem that I truly desire which has evaded me. I heard that it can be found by breaking open clumps of rocks inside the wailing caves to the west. Look for dull stone outcroppings near the vibrant blue rocks found inside.") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am always careful.", "dlg_23_4") + StartConversation(conversation, NPC, Spawn, "Be careful, those caves are dangerous!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Wonderful to see you, thanks again for all of your help.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Commonlands/OgofRunner.lua b/Lua/SpawnScripts/Commonlands/OgofRunner.lua new file mode 100755 index 000000000..6a20e9bb5 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/OgofRunner.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/Generic/OgofRunner.lua + Script Author : gloat + Script Date : 2019.02.03 01:02:21 + Script Purpose : + : +--]] + +function spawn(NPC) + AddTimer(NPC, 900, "follow_Ogof") + +end + +function follow_Ogof(NPC) + local zone = GetZone(NPC) + local captOgof = GetSpawnByLocationID(zone, 1585710) + local whoAmI = GetSpawnLocationID(NPC) + + local ogofX = GetX(captOgof) + local ogofY = GetY(captOgof) + local ogofZ = GetZ(captOgof) + local speed = 2 + + if whoAmI == 286752 then + if GetDistance(NPC, captOgof) >= 5 then + speed = 5 + MoveToLocation(NPC, ogofX - 4, ogofY, ogofZ - 4, speed) + else + speed = 2 + MoveToLocation(NPC, ogofX - 4, ogofY, ogofZ - 4, speed) + end + end + speed = 2 + AddTimer(NPC, 1500, "follow_Ogof") +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Commonlands/VtalNarin.lua b/Lua/SpawnScripts/Commonlands/VtalNarin.lua new file mode 100755 index 000000000..bd5fffb82 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/VtalNarin.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/VtalNarin.lua + Script Author : neatz09 + Script Date : 2019.08.28 09:08:17 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aBloodskullpriest.lua b/Lua/SpawnScripts/Commonlands/aBloodskullpriest.lua new file mode 100755 index 000000000..7b69159ae --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aBloodskullpriest.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aBloodskullpriest.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:18 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aBloodskullwarrior.lua b/Lua/SpawnScripts/Commonlands/aBloodskullwarrior.lua new file mode 100755 index 000000000..2dbe31702 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aBloodskullwarrior.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aBloodskullwarrior.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:40 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aFesteringCadaver.lua b/Lua/SpawnScripts/Commonlands/aFesteringCadaver.lua new file mode 100755 index 000000000..c8ecd4cb7 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aFesteringCadaver.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aFesteringCadaver.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:55 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aGateCallerscion.lua b/Lua/SpawnScripts/Commonlands/aGateCallerscion.lua new file mode 100755 index 000000000..e89d69a1f --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aGateCallerscion.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aGateCallerscion.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:39 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/abrittleskeleton.lua b/Lua/SpawnScripts/Commonlands/abrittleskeleton.lua new file mode 100755 index 000000000..e0713fbc0 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/abrittleskeleton.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/abrittleskeleton.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:39 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/abullrhinoceros.lua b/Lua/SpawnScripts/Commonlands/abullrhinoceros.lua new file mode 100755 index 000000000..9b9817d92 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/abullrhinoceros.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/abullrhinoceros.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:12 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aburlyarmadillo.lua b/Lua/SpawnScripts/Commonlands/aburlyarmadillo.lua new file mode 100755 index 000000000..1dce724c3 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aburlyarmadillo.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aburlyarmadillo.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:41 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/acarrionhound.lua b/Lua/SpawnScripts/Commonlands/acarrionhound.lua new file mode 100755 index 000000000..1edc226da --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/acarrionhound.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/acarrionhound.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:33 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallenapostle.lua b/Lua/SpawnScripts/Commonlands/afallenapostle.lua new file mode 100755 index 000000000..660f172ef --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallenapostle.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallenapostle.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:24 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallenblackguard.lua b/Lua/SpawnScripts/Commonlands/afallenblackguard.lua new file mode 100755 index 000000000..43a6047cb --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallenblackguard.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallenblackguard.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:43 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallencaptain.lua b/Lua/SpawnScripts/Commonlands/afallencaptain.lua new file mode 100755 index 000000000..9bb0e5dc6 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallencaptain.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallencaptain.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:01 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallencrusader.lua b/Lua/SpawnScripts/Commonlands/afallencrusader.lua new file mode 100755 index 000000000..a80e9ad72 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallencrusader.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallencrusader.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:05 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallendefender.lua b/Lua/SpawnScripts/Commonlands/afallendefender.lua new file mode 100755 index 000000000..74c096b5a --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallendefender.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallendefender.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:44 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallendiplomat.lua b/Lua/SpawnScripts/Commonlands/afallendiplomat.lua new file mode 100755 index 000000000..fd36c4ff6 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallendiplomat.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallendiplomat.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:03 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallendisciple.lua b/Lua/SpawnScripts/Commonlands/afallendisciple.lua new file mode 100755 index 000000000..b68955671 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallendisciple.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallendisciple.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:34 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallenguardian.lua b/Lua/SpawnScripts/Commonlands/afallenguardian.lua new file mode 100755 index 000000000..c029719bc --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallenguardian.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallenguardian.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:26 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallenorc.lua b/Lua/SpawnScripts/Commonlands/afallenorc.lua new file mode 100755 index 000000000..11eb904e0 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallenorc.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallenorc.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:47 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afallenorclieutenant.lua b/Lua/SpawnScripts/Commonlands/afallenorclieutenant.lua new file mode 100755 index 000000000..908746475 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afallenorclieutenant.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afallenorclieutenant.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:10 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afarmer.lua b/Lua/SpawnScripts/Commonlands/afarmer.lua new file mode 100755 index 000000000..3a46e38c1 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afarmer.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afarmer.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:34 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afiercecarrionhound.lua b/Lua/SpawnScripts/Commonlands/afiercecarrionhound.lua new file mode 100755 index 000000000..5484234f4 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afiercecarrionhound.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afiercecarrionhound.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:21 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/afreshwatercrab.lua b/Lua/SpawnScripts/Commonlands/afreshwatercrab.lua new file mode 100755 index 000000000..616439852 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/afreshwatercrab.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/afreshwatercrab.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:35 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aghostlyorc.lua b/Lua/SpawnScripts/Commonlands/aghostlyorc.lua new file mode 100755 index 000000000..1a56257a0 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aghostlyorc.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aghostlyorc.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:05 + Script Purpose : + : +--]] + + +require "SpawnScripts/Generic/MovementCircleSmall" + +function spawn(NPC) + + SpawnChooseRandomMovement(NPC) + + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aghostlyorcmessenger.lua b/Lua/SpawnScripts/Commonlands/aghostlyorcmessenger.lua new file mode 100755 index 000000000..f3b08e28d --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aghostlyorcmessenger.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aghostlyorcmessenger.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:06 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/agiantgrovewisp.lua b/Lua/SpawnScripts/Commonlands/agiantgrovewisp.lua new file mode 100755 index 000000000..f2e90b31d --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/agiantgrovewisp.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/agiantgrovewisp.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:23 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/agiantspider.lua b/Lua/SpawnScripts/Commonlands/agiantspider.lua new file mode 100755 index 000000000..5c8ec2b1d --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/agiantspider.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/agiantspider.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:46 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/agiantvulrich.lua b/Lua/SpawnScripts/Commonlands/agiantvulrich.lua new file mode 100755 index 000000000..4d9781667 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/agiantvulrich.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/agiantvulrich.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:25 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/agriffintamer.lua b/Lua/SpawnScripts/Commonlands/agriffintamer.lua new file mode 100755 index 000000000..126831fc5 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/agriffintamer.lua @@ -0,0 +1,207 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/agriffontamer.lua + Script Purpose : a griffon tamer (2490000) + Script Author : Jabantiz + Script Date : 2014.07.14 + Script Notes : +--]] + +local GriffonEggs = 112 + +function spawn(NPC) + ProvidesQuest(NPC, GriffonEggs) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if CanReceiveQuest(Spawn, GriffonEggs) then + -- Start Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was wondering if there were any errands you needed help with.", "dlg_0_1") + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "I am fine staying here, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + elseif GetQuestStep(Spawn, GriffonEggs) == 2 then + -- Turn in the quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + SetStepComplete(Spawn, GriffonEggs, 2) + AddConversationOption(conversation, "I hope she grows up healthy and strong!") + StartConversation(conversation, NPC, Spawn, "Oh, my, that's a gorgeous egg! Let me just put it down right over here. Our thanks, it's going to be rough for the handlers to raise all these!") + else + -- Finished Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "They certainly have. These look very sturdy, but I don't see many griffins about.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "It's been a real treat watching this tower be built by all the artisans. They've done a marvelous job getting it ready for our flying friends.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So if you had some more griffons, the scheduling would be better?", "dlg_0_3") + AddConversationOption(conversation, "This sounds like a scheduling problem I don't want anything to do with.") + StartConversation(conversation, NPC, Spawn, "These towers were built very fast, and we were unable to get the griffin stock up to what it should be. This has made scheduling flights very difficult.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, sounds like a deal.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Oh, certainly. But they've got to be trained properly from birth, really. I'll tell you what, if you grab an unhatched griffin egg and return it to any of us tamers, you will be rewarded handsomely. How's that sound?") +end + +function dlg_0_4(NPC, Spawn) + OfferQuest(NPC, Spawn, GriffonEggs) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 1214217 then + AddConversationOption(con, "To Antonica Gates.", "DocksToAnt") + AddConversationOption(con, "To South East Station.", "DocksToSE") + AddConversationOption(con, "To Coldwind.", "DocksToCold") + AddConversationOption(con, "To Thundermist Village.", "DocksToThundermist") + elseif GetSpawnLocationID(NPC) == 1214218 then + AddConversationOption(con, "To Antonica Gate.", "SEToAnt") + AddConversationOption(con, "To Coldwind.", "SEToCold") + AddConversationOption(con, "To Thundermist Village.", "SEToThundermist") + AddConversationOption(con, "To Docks.", "SEToDocks") + elseif GetSpawnLocationID(NPC) == 1214219 then + AddConversationOption(con, "To Thundermist Village.", "AntToThundermist") + AddConversationOption(con, "To South East Station.", "AntToSE") + AddConversationOption(con, "To Coldwind.", "AntToCold") + elseif GetSpawnLocationID(NPC) == 1214220 then + AddConversationOption(con, "To Thundermist Village.", "ColdToThundermist") + AddConversationOption(con, "To South East Station.", "ColdToSE") + AddConversationOption(con, "To Antonica Gate.", "ColdToAnt") + AddConversationOption(con, "To Docks.", "ColdToDocks") + elseif GetSpawnLocationID(NPC) == 1214221 then + AddConversationOption(con, "To Antonica Gate.", "ThundermistToAnt") + AddConversationOption(con, "To Coldwind.", "ThundermistToCold") + AddConversationOption(con, "To South East Station.", "ThundermistToSE") + AddConversationOption(con, "To Docks.", "ThundermistToDocks") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function DocksToAnt(NPC, Spawn) + StartAutoMount(Spawn, 16) + SetMount(Spawn, 225) +end + +function DocksToSE(NPC, Spawn) + StartAutoMount(Spawn, 15) + SetMount(Spawn, 225) +end + +function DocksToCold(NPC, Spawn) + StartAutoMount(Spawn, 14) + SetMount(Spawn, 225) +end + +function DocksToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 13) + SetMount(Spawn, 225) +end + +function SEToAnt(NPC, Spawn) + StartAutoMount(Spawn, 4) + SetMount(Spawn, 225) +end + +function SEToCold(NPC, Spawn) + StartAutoMount(Spawn, 7) + SetMount(Spawn, 225) +end + +function SEToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 12) + SetMount(Spawn, 225) +end + +function SEToDocks(NPC, Spawn) + StartAutoMount(Spawn, 18) + SetMount(Spawn, 225) +end + +function AntToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 1) + SetMount(Spawn, 225) +end + +function AntToSE(NPC, Spawn) + StartAutoMount(Spawn, 3) + SetMount(Spawn, 225) +end + +function AntToCold(NPC, Spawn) + StartAutoMount(Spawn, 10) + SetMount(Spawn, 225) +end + +function ColdToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 6) + SetMount(Spawn, 225) +end + +function ColdToSE(NPC, Spawn) + StartAutoMount(Spawn, 8) + SetMount(Spawn, 225) +end + +function ColdToAnt(NPC, Spawn) + StartAutoMount(Spawn, 11) + SetMount(Spawn, 225) +end + +function ColdToDocks(NPC, Spawn) + StartAutoMount(Spawn, 19) + SetMount(Spawn, 225) +end + +function ThundermistToAnt(NPC, Spawn) + StartAutoMount(Spawn, 2) + SetMount(Spawn, 225) +end + +function ThundermistToCold(NPC, Spawn) + StartAutoMount(Spawn, 5) + SetMount(Spawn, 225) +end + +function ThundermistToSE(NPC, Spawn) + StartAutoMount(Spawn, 9) + SetMount(Spawn, 225) +end + +function ThundermistToDocks(NPC, Spawn) + StartAutoMount(Spawn, 17) + SetMount(Spawn, 225) +end +--[[ raw_conversations + PlayFlavor(NPC, "", "Fun, fun, fun! This big old tower, built for griffons, and yet... there just don't seem to be any around. Thinking about helping us out?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "You can scramble 'em, boil 'em, fry 'em... oh, wait... were we talking about griffon eggs or chicken eggs?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "I say... you haven't seen any griffon eggs around, have you? We sure could use some!", "", 1689589577, 4560189, Spawn) +--]] diff --git a/Lua/SpawnScripts/Commonlands/agriffontamer.lua b/Lua/SpawnScripts/Commonlands/agriffontamer.lua new file mode 100755 index 000000000..d0aa8ee14 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/agriffontamer.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : SpawnScripts/Commonlands/agriffontamer.lua + Script Purpose : a griffin tamer (330209) + Script Author : Neatz09 + Script Date : 2/5/2019 + Script Notes : +--]] + + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "I am fine staying here, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 295729 then + AddConversationOption(con, "To Freeport Station.", "NekToFreeport") + AddConversationOption(con, "To Hidden Canyon Station.", "NekToCanyon") + elseif GetSpawnLocationID(NPC) == 295727 then + AddConversationOption(con, "To Hidden Canyon Station.", "FreeportToCanyon") + AddConversationOption(con, "To Nektulos Forest Staion", "FreeportToNek") + elseif GetSpawnLocationID(NPC) == 295728 then + AddConversationOption(con, "To Freeport Station.", "CanyonToFreeport") + AddConversationOption(con, "To Nektulos Station.", "CanyonToNek") + + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function NekToFreeport(NPC, Spawn) + StartAutoMount(Spawn, 172) + SetMount(Spawn, 225) +end + +function NekToCanyon(NPC, Spawn) + StartAutoMount(Spawn, 171) + SetMount(Spawn, 225) +end + +function FreeportToCanyon(NPC, Spawn) + StartAutoMount(Spawn, 169) + SetMount(Spawn, 225) +end + +function FreeportToNek(NPC, Spawn) + StartAutoMount(Spawn, 170) + SetMount(Spawn, 225) +end + +function CanyonToFreeport(NPC, Spawn) + StartAutoMount(Spawn, 167) + SetMount(Spawn, 225) +end + +function CanyonToNek(NPC, Spawn) + StartAutoMount(Spawn, 168) + SetMount(Spawn, 225) +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Fun, fun, fun! This big old tower, built for griffons, and yet... there just don't seem to be any around. Thinking about helping us out?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "You can scramble 'em, boil 'em, fry 'em... oh, wait... were we talking about griffon eggs or chicken eggs?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "I say... you haven't seen any griffon eggs around, have you? We sure could use some!", "", 1689589577, 4560189, Spawn) +--]] diff --git a/Lua/SpawnScripts/Commonlands/agrovewisp.lua b/Lua/SpawnScripts/Commonlands/agrovewisp.lua new file mode 100755 index 000000000..7213d6079 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/agrovewisp.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/agrovewisp.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:55 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/agruntofRee.lua b/Lua/SpawnScripts/Commonlands/agruntofRee.lua new file mode 100755 index 000000000..a8287525a --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/agruntofRee.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/agruntofRee.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:18 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/ahopelessmercenary.lua b/Lua/SpawnScripts/Commonlands/ahopelessmercenary.lua new file mode 100755 index 000000000..376816212 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/ahopelessmercenary.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/ahopelessmercenary.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:38 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/ahulkingfirebeetle.lua b/Lua/SpawnScripts/Commonlands/ahulkingfirebeetle.lua new file mode 100755 index 000000000..1c2d07790 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/ahulkingfirebeetle.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/ahulkingfirebeetle.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:44 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/ahuntsman.lua b/Lua/SpawnScripts/Commonlands/ahuntsman.lua new file mode 100755 index 000000000..138575504 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/ahuntsman.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/ahuntsman.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:09 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/akerranrogue.lua b/Lua/SpawnScripts/Commonlands/akerranrogue.lua new file mode 100755 index 000000000..c9a08d28f --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/akerranrogue.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/akerranrogue.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:38 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/akerranvagrant.lua b/Lua/SpawnScripts/Commonlands/akerranvagrant.lua new file mode 100755 index 000000000..8c27b42e1 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/akerranvagrant.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/akerranvagrant.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:36 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/alostsoul.lua b/Lua/SpawnScripts/Commonlands/alostsoul.lua new file mode 100755 index 000000000..c78da2299 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/alostsoul.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/alostsoul.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:47 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/amarrowsapper.lua b/Lua/SpawnScripts/Commonlands/amarrowsapper.lua new file mode 100755 index 000000000..194c75aff --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/amarrowsapper.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/amarrowsapper.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:35 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/amassiveemeraldbeetle.lua b/Lua/SpawnScripts/Commonlands/amassiveemeraldbeetle.lua new file mode 100755 index 000000000..59b5a6a25 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/amassiveemeraldbeetle.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/amassiveemeraldbeetle.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:10 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/amereguardian.lua b/Lua/SpawnScripts/Commonlands/amereguardian.lua new file mode 100755 index 000000000..fd4e65ff9 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/amereguardian.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Commonlands/amereguardian.lua + Script Author : gloat + Script Date : 2019.01.31 02:01:26 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/amoltingscorpion.lua b/Lua/SpawnScripts/Commonlands/amoltingscorpion.lua new file mode 100755 index 000000000..6c76f9a74 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/amoltingscorpion.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/amoltingscorpion.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:40 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/amonitorbehemoth.lua b/Lua/SpawnScripts/Commonlands/amonitorbehemoth.lua new file mode 100755 index 000000000..86143d9b8 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/amonitorbehemoth.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/amonitorbehemoth.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:52 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/amonitorlizard.lua b/Lua/SpawnScripts/Commonlands/amonitorlizard.lua new file mode 100755 index 000000000..727d16713 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/amonitorlizard.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/amonitorlizard.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:26 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/anearthenrumbler.lua b/Lua/SpawnScripts/Commonlands/anearthenrumbler.lua new file mode 100755 index 000000000..9a0ded695 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/anearthenrumbler.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/anearthenrumbler.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:38 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/anearthentumbler.lua b/Lua/SpawnScripts/Commonlands/anearthentumbler.lua new file mode 100755 index 000000000..8efbd2fff --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/anearthentumbler.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/anearthentumbler.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:19 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/anelephant.lua b/Lua/SpawnScripts/Commonlands/anelephant.lua new file mode 100755 index 000000000..52306c5a1 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/anelephant.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/anelephant.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:04 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/anelephantcalf.lua b/Lua/SpawnScripts/Commonlands/anelephantcalf.lua new file mode 100755 index 000000000..19fd1eb63 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/anelephantcalf.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/anelephantcalf.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:42 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/anorcrunner.lua b/Lua/SpawnScripts/Commonlands/anorcrunner.lua new file mode 100755 index 000000000..e454c1763 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/anorcrunner.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/anorcrunner.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:27 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/ascourgerat.lua b/Lua/SpawnScripts/Commonlands/ascourgerat.lua new file mode 100755 index 000000000..4c834c5b4 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/ascourgerat.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/ascourgerat.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:35 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/ascrubrat.lua b/Lua/SpawnScripts/Commonlands/ascrubrat.lua new file mode 100755 index 000000000..d6bf4d2b3 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/ascrubrat.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/ascrubrat.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:15 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/asmallemeraldbeetle.lua b/Lua/SpawnScripts/Commonlands/asmallemeraldbeetle.lua new file mode 100755 index 000000000..1936bf9c2 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/asmallemeraldbeetle.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/asmallemeraldbeetle.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:19 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aspeckledrattler.lua b/Lua/SpawnScripts/Commonlands/aspeckledrattler.lua new file mode 100755 index 000000000..0ab520465 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aspeckledrattler.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aspeckledrattler.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:48 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/aspectraldefender.lua b/Lua/SpawnScripts/Commonlands/aspectraldefender.lua new file mode 100755 index 000000000..68ebc21d2 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/aspectraldefender.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Commonlands/aspectraldefender.lua + Script Author : gloat + Script Date : 2019.01.30 09:01:15 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" + +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + --[[if GetSpawnLocationID(NPC) == 272418 then + MovementLoopAddLocation(NPC, -1302.65, -73.65, -218.35, 2, math.random(3,4)) + MovementLoopAddLocation(NPC, -1285.33, -73.75, -221.20, 2, math.random(1,7)) + MovementLoopAddLocation(NPC, -1302.65, -73.65, -218.35, 2, math.random(3,4)) + end]] +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/ayoungvulrich.lua b/Lua/SpawnScripts/Commonlands/ayoungvulrich.lua new file mode 100755 index 000000000..11d926cb3 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/ayoungvulrich.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/ayoungvulrich.lua + Script Author : gloat + Script Date : 2019.01.31 12:01:17 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Commonlands/darkseepage.lua b/Lua/SpawnScripts/Commonlands/darkseepage.lua new file mode 100755 index 000000000..efb024336 --- /dev/null +++ b/Lua/SpawnScripts/Commonlands/darkseepage.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Commonlands/darkseepage.lua + Script Author : gloat + Script Date : 2019.01.31 01:01:40 + Script Purpose : + : +--]] +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/CrustaceanCave/Bonesnapper.lua b/Lua/SpawnScripts/CrustaceanCave/Bonesnapper.lua new file mode 100755 index 000000000..c12fc09ac --- /dev/null +++ b/Lua/SpawnScripts/CrustaceanCave/Bonesnapper.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/CrustaceanCave/Bonesnapper.lua + Script Author : jakejp + Script Date : 2018.12.26 08:12:17 + Script Purpose : Creating a simple raid for testing purposes + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(Target, Caster, SpellName) + local zone = GetZone(Caster) + local disturbed = 0 + if SpellName == "Disturb Crab" and disturbed == 0 then + disturbed = 1 + SpawnSet(Target, "targetable", 1) + SpawnSet(Target, "attackable", 1) + SpawnSet(Target, "show_level", 1) + SpawnSet(Target, "faction", 1) + SpawnSet(Target, "command_primary", 11) + Attack(Target, Caster) + SpawnByLocationID(zone, 378748) + end +end + +function death(NPC, Spawn) + SpawnSet(Target, "targetable", 1) + SpawnSet(Target, "attackable", 0) + SpawnSet(Target, "show_level", 0) + SpawnSet(Target, "faction", 0) +end + +function aggro(NPC, Spawn) + +end + +function healthchanged(NPC, Spawn) + local zone = GetZone(Spawn) + local addSpawned = 0 + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + + if health_percent <= 10 and addSpawned == 0 then + addSpawned = 1 + ClearHate(NPC) + SpawnByLocationID(zone, 378748) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/DarkBargainers/SasitSoroth.lua b/Lua/SpawnScripts/DarkBargainers/SasitSoroth.lua new file mode 100755 index 000000000..ca0dbdc1a --- /dev/null +++ b/Lua/SpawnScripts/DarkBargainers/SasitSoroth.lua @@ -0,0 +1,281 @@ +--[[ + Script Name : SpawnScripts/DarkBargainers/SasitSoroth.lua + Script Purpose : Sasit Soroth + Script Author : jakejp + Script Date : 2018.12.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tradeskill level.", "TradeskillLevel") + AddConversationOption(conversation, "Tradeskill class.", "TradeskillClass") + StartConversation(conversation, NPC, Spawn, "What do you want to change") +end + +function TradeskillLevel(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "10", "SetTSLevel10") + AddConversationOption(conversation, "20", "SetTSLevel20") + AddConversationOption(conversation, "30", "SetTSLevel30") + AddConversationOption(conversation, "40", "SetTSLevel40") + AddConversationOption(conversation, "50", "SetTSLevel50") + AddConversationOption(conversation, "60", "SetTSLevel60") + AddConversationOption(conversation, "70", "SetTSLevel70") + AddConversationOption(conversation, "80", "SetTSLevel80") + AddConversationOption(conversation, "90", "SetTSLevel90") + AddConversationOption(conversation, "100", "SetTSLevel100") + AddConversationOption(conversation, "Nevermind") + StartConversation(conversation, NPC, Spawn, "What tradeskill level do you want to be?") +end + +function TradeskillClass(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Artisan", "SetArtisan") + AddConversationOption(conversation, "Craftsman", "SetCraftsman") + AddConversationOption(conversation, "Provisioner", "SetProvisioner") + AddConversationOption(conversation, "Woodworker", "SetWoodworker") + AddConversationOption(conversation, "Carpenter", "SetCarpenter") + AddConversationOption(conversation, "Outfitter", "SetOutfitter") + AddConversationOption(conversation, "Armorer", "SetArmorer") + AddConversationOption(conversation, "Weaponsmith", "SetWeaponsmith") + AddConversationOption(conversation, "Tailor", "SetTailor") + AddConversationOption(conversation, "Scholar", "SetScholar") + AddConversationOption(conversation, "Jeweler", "SetJeweler") + AddConversationOption(conversation, "Sage", "SetSage") + AddConversationOption(conversation, "Alchemist", "SetAlchemist") + AddConversationOption(conversation, "Nevermind") + StartConversation(conversation, NPC, Spawn, "What class do you want to be?") +end + +function SetArtisan(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 1) +end + +function SetCraftsman(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 2) +end + +function SetProvisioner(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 3) +end + +function SetWoodworker(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 4) +end + +function SetCarpenter(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 5) +end + +function SetOutfitter(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 6) +end + +function SetArmorer(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 7) +end + +function SetWeaponsmith(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 8) +end + +function SetTailor(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 9) +end + +function SetScholar(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 10) +end + +function SetJeweler(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 11) +end + +function SetSage(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 12) +end + +function SetAlchemist(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillClass(Spawn, 13) +end + +function SetTSLevel10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 10) +end + +function SetTSLevel20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 20) +end + +function SetTSLevel30(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 30) +end + +function SetTSLevel40(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 40) +end + +function SetTSLevel50(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 50) +end + +function SetTSLevel60(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 60) +end + +function SetTSLevel70(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 70) +end + +function SetTSLevel80(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 80) +end + +function SetTSLevel90(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 90) +end + +function SetTSLevel100(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Your wish is my command.") + SetTradeskillLevel(Spawn, 100) +end + +function MaxForesting(NPC, Spawn) + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thanks") + StartConversation(conversation, NPC, Spawn, "Done.") +end + +function MaxGathering(NPC, Spawn) + local skill = GetSkill(Spawn, "Gathering") + if skill ~= nil then + SetSkillMaxValue(skill, 300) + SetSkillValue(skill, 300) + end +end + +function MaxFishing(NPC, Spawn) + local skill = GetSkill(Spawn, "Fishing") + if skill ~= nil then + SetSkillValue(skill, 300) + end +end + +function MaxMining(NPC, Spawn) + local skill = GetSkill(Spawn, "Mining") + if skill ~= nil then + SetSkillValue(skill, 300) + end +end + +function MaxTrapping(NPC, Spawn) + local skill = GetSkill(Spawn, "Trapping") + if skill ~= nil then + SetSkillValue(skill, 300) + end +end + +function MaxForesting(NPC, Spawn) + local skill = GetSkill(Spawn, "Foresting") + if skill ~= nil then + SetSkillValue(skill, 300) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/Aunthrae.lua b/Lua/SpawnScripts/Darklight/Aunthrae.lua new file mode 100755 index 000000000..bd511c998 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/Aunthrae.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/Aunthrae.lua + Script Purpose : Aunthrae + Script Author : fearfx + Script Date : 2017.01.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local HopefulNetReturns = 160 +local WhatsInDemand = 142 + +function spawn(NPC) + ProvidesQuest(NPC, HopefulNetReturns) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, HopefulNetReturns) and not HasCompletedQuest(Spawn, HopefulNetReturns) and HasCompletedQuest(Spawn, WhatsInDemand) then + PlayFlavor(NPC, "aunthrae/darklight_wood/tvatar_post/aunthrae_revamp/aunthrae001.mp3", "", "", 715895592, 1731061060, Spawn) + AddConversationOption(conversation, "Perhaps.", "Quest_HopefulNetReturns") + AddConversationOption(conversation, "Not at this time.") + StartConversation(conversation, NPC, Spawn, "Stay a moment and hear me out, Villii. I see you helping my master. Perhaps you'd be willing to help me!") + end +end + +function Quest_HopefulNetReturns(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can we do?", "Quest_HopefulNetReturns_01") + StartConversation(conversation, NPC, Spawn, "Supplies are becoming harder and harder to come by here at the outpost. If Hate's Envy doesn't get their act together and send us more supplies soon, I fear we might face mass desertion, or worse, revolt!") +end + +function Quest_HopefulNetReturns_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, what's her name?", "Quest_HopefulNetReturns_02") + AddConversationOption(conversation, "Sorry, I can't help right now.") + StartConversation(conversation, NPC, Spawn, "Foodstuffs and rations are probably the most important thing we need at the moment. Ilmtar dispatched someone to see whether or not she could catch us fish from the Lower Tendril, however she has yet to report back. Would you go look for her?") +end + +function Quest_HopefulNetReturns_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will find her.", "QuestOffer_HopefulNetReturns") + StartConversation(conversation, NPC, Spawn, "Great. Her name is Dirzdia T'Zauvirr. As I said, she was sent to the Searing Tendril River, southwest from T'Vatar Oupost. Find her and give her this net I managed to scrounge up. Hopefully it will help her catch us some food.") +end + +function QuestOffer_HopefulNetReturns(NPC, Spawn) + OfferQuest(NPC, Spawn, HopefulNetReturns) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/CalnozzJMelvirr.lua b/Lua/SpawnScripts/Darklight/CalnozzJMelvirr.lua new file mode 100755 index 000000000..f19ee5f52 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/CalnozzJMelvirr.lua @@ -0,0 +1,727 @@ +--[[ + Script Name : SpawnScripts/Darklight/CalnozzJMelvirr.lua + Script Purpose : Calnozz J'Melvirr + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +require "SpawnScripts/Generic/DialogModule" + +local DrawUponWellsprings = 155 +local StunningRevelation = 156 +local InfantileIngredients = 157 +local DustToDust = 158 +local RichFishFlesh = 191 + +function spawn(NPC) + ProvidesQuest(NPC, DrawUponWellsprings) + ProvidesQuest(NPC, StunningRevelation) + ProvidesQuest(NPC, InfantileIngredients) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, DrawUponWellsprings) and not HasCompletedQuest(Spawn, DrawUponWellsprings) and GetQuestStep(Spawn, DrawUponWellsprings) < 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You heard the guards speaking of me?", "Quest_DrawUponWellsprings_01A") + AddConversationOption(conversation, "I am good.", "Quest_DrawUponWellsprings_01B") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. "? I've heard the guards speaking of you. They have been quite impressed by your feats.") + elseif HasQuest(Spawn, DrawUponWellsprings) and not HasCompletedQuest(Spawn, DrawUponWellsprings) then + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz008.mp3", "", "", 1789620757, 3499917810, Spawn) + if GetQuestStep(Spawn, DrawUponWellsprings) == 1 and GetTempVariable(Spawn, "cub") ~= nil then + AddConversationOption(conversation, "I have a bear cub.", "Quest_DrawUponWellsprings_05") + AddConversationOption(conversation, "All right.") + elseif GetQuestStepProgress(Spawn, 155, 1) == 3 then + SetStepComplete(Spawn, DrawUponWellsprings, 2) + else + --Say(NPC, "You are current progress on step one is " .. GetQuestStepProgress(Spawn, 155, 1)) + AddConversationOption(conversation, "All right.") + end + StartConversation(conversation, NPC, Spawn, "Bring me the cubs and then we'll talk about payment.") + elseif HasCompletedQuest(Spawn, DrawUponWellsprings) and not HasQuest(Spawn, StunningRevelation) and not HasCompletedQuest(Spawn, StunningRevelation) then + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz008_progress.mp3", "", "", 1983465757, 3955037985, Spawn) + AddConversationOption(conversation, "Yes.", "Quest_StunningRevelation") + StartConversation(conversation, NPC, Spawn, "Was that all three?") + elseif HasQuest(Spawn, StunningRevelation) and GetQuestStep(Spawn, StunningRevelation) == 2 then + AddConversationOption(conversation, "I have the mushroom caps here.", "Quest_StunningRevelation_04") + StartConversation(conversation, NPC, Spawn, "Did you collect them?") + elseif HasCompletedQuest(Spawn, StunningRevelation) and not HasQuest(Spawn, InfantileIngredients) and not HasCompletedQuest(Spawn, InfantileIngredients) then + AddConversationOption(conversation, "I have the mushroom caps here.", "Quest_InfantileIngredients") + StartConversation(conversation, NPC, Spawn, "Did you collect them?") + elseif HasQuest(Spawn, InfantileIngredients) and not HasCompletedQuest(Spawn, InfantileIngredients) then + if GetQuestStep(Spawn, InfantileIngredients) == 2 then + AddConversationOption(conversation, "Yes, I have them here.", "Quest_DustToDust") + + while HasItem(Spawn, 4080, 1) do + RemoveItem(Spawn, 4080) + end + else + AddConversationOption(conversation, "Not Yet") + end + StartConversation(conversation, NPC, Spawn, "Did you collect them?") + elseif HasCompletedQuest(Spawn, InfantileIngredients) and not HasQuest(Spawn, DustToDust) and not HasCompletedQuest(Spawn, DustToDust) then + AddConversationOption(conversation, "Yes, I have them here.", "Quest_DustToDust") + StartConversation(conversation, NPC, Spawn, "Did you collect them?") + elseif HasQuest(Spawn, DustToDust) and not HasCompletedQuest(Spawn, DustToDust) then + + if GetQuestStep(Spawn, DustToDust) == 2 then + AddConversationOption(conversation, "The dust successfully stunned them, but only for a short duration.", "Quest_DustToDust_03") + else + AddConversationOption(conversation, "I'm still conducting the test.") + end + StartConversation(conversation, NPC, Spawn, "How did the test go?") + elseif HasQuest(Spawn, RichFishFlesh) then + AddConversationOption(conversation, "I have some flesh from Smolderfin and thought you might be interested.", "Quest_RichFishFlesh") + StartConversation(conversation, NPC, Spawn, "Can I help you?") + else + StartConversation(conversation, NPC, Spawn, "Hello again. Should you find your business here at the outpost concluded, I'd encourage you to travel west and seek out Wanderlust Fair. Many an odd character reside there, many more could use the help of someone like you. The Queen smiles upon you, young one. Good day.") + end +end +]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("" .. GetName(Spawn) .. "? I've heard the guards speaking of you. They have been quite impressed by your feats.") + Dialog.AddVoiceover("voiceover/english/voice_emotes/greetings/greetings_1_1048.mp3", 0, 0) + Dialog.AddRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, DrawUponWellsprings) + Dialog.AddRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, DrawUponWellsprings) + Dialog.AddOption("You heard the guards speaking of me?", "Quest_DrawUponWellsprings_01A") + Dialog.AddOption("I am good.", "Quest_DrawUponWellsprings_01B") + + Dialog.AddDialog("Bring me the cubs and then we'll talk about payment.") + Dialog.AddVoiceover("voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz008.mp3", 1789620757, 3499917810) + Dialog.AddRequirement(REQ_QUEST_HAS_QUEST, DrawUponWellsprings) + Dialog.AddRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, DrawUponWellsprings) + Dialog.AddOption("I have a bear cub.", "Quest_DrawUponWellsprings_05") + Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, DrawUponWellsprings, 1) + Dialog.AddOptionRequirement(REQ_TEMP_VAR_NOT_SET, "cub", nil) + Dialog.AddOption("All right.") + + if GetQuestStepProgress(Spawn, DrawUponWellsprings, 1) == 3 then + SetStepComplete(Spawn, DrawUponWellsprings, 2) + end + + Dialog.AddDialog("Was that all three?") + Dialog.AddVoiceover("voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz008_progress.mp3", 1983465757, 3955037985) + Dialog.AddRequirement(REQ_QUEST_HAS_COMPLETED_QUEST, DrawUponWellsprings) + Dialog.AddRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, StunningRevelation) + Dialog.AddRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, StunningRevelation) + Dialog.AddOption("Yes.", "Quest_StunningRevelation") + + Dialog.AddDialog("Did you collect them?") + Dialog.AddRequirement(REQ_QUEST_HAS_QUEST, StunningRevelation) + Dialog.AddRequirement(REQ_QUEST_ON_STEP, StunningRevelation, 2) + Dialog.AddOption("I have the mushroom caps here.", "Quest_StunningRevelation_04") + + Dialog.AddDialog("Did you collect them?") + Dialog.AddRequirement(REQ_QUEST_HAS_COMPLETED_QUEST, StunningRevelation) + Dialog.AddRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, InfantileIngredients) + Dialog.AddRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, InfantileIngredients) + Dialog.AddOption("I have the mushroom caps here.", "Quest_InfantileIngredients") + + Dialog.AddDialog("Did you collect them?") + Dialog.AddRequirement(REQ_QUEST_HAS_QUEST, InfantileIngredients) + Dialog.AddRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, InfantileIngredients) + Dialog.AddOption("Yes, I have them here.", "Quest_DustToDust") + Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, InfantileIngredients, 2) + Dialog.AddOption("Not Yet") + Dialog.AddOptionRequirement(REQ_QUEST_NOT_ON_STEP, InfantileIngredients, 2) + + if GetQuestStep(Spawn, InfantileIngredients) == 2 then + while HasItem(Spawn, 4080, 1) do + RemoveItem(Spawn, 4080) + end + end + + Dialog.AddDialog("Did you collect them?") + Dialog.AddRequirement(REQ_QUEST_HAS_COMPLETED_QUEST, InfantileIngredients) + Dialog.AddRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, DustToDust) + Dialog.AddRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, DustToDust) + Dialog.AddOption("Yes, I have them here.", "Quest_DustToDust") + + Dialog.AddDialog("How did the test go?") + Dialog.AddRequirement(REQ_QUEST_HAS_QUEST, DustToDust) + Dialog.AddRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, DustToDust) + Dialog.AddOption("The dust successfully stunned them, but only for a short duration.", "Quest_DustToDust_03") + Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, DustToDust, 2) + Dialog.AddOption("I'm still conducting the test.") + Dialog.AddOptionRequirement(REQ_QUEST_NOT_ON_STEP, DustToDust, 2) + + Dialog.AddDialog("Can I help you?") + Dialog.AddRequirement(REQ_QUEST_HAS_QUEST, RichFishFlesh) + Dialog.AddOption("I have some flesh from Smolderfin and thought you might be interested.", "Quest_RichFishFlesh") + + Dialog.AddDialog("Hello again. Should you find your business here at the outpost concluded, I'd encourage you to travel west and seek out Wanderlust Fair. Many an odd character reside there, many more could use the help of someone like you. The Queen smiles upon you, young one. Good day.") + + Dialog.Start() +end + +-------------------------------------------------------------------------------------- +-- To Draw Upon Wellsprings +-------------------------------------------------------------------------------------- + +function Quest_DrawUponWellsprings_01A(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Throw in some coin and we have a deal.", "Quest_DrawUponWellsprings_02") + AddConversationOption(conversation, "I would like to hear more.", "Quest_DrawUponWellsprings_02") + StartConversation(conversation, NPC, Spawn, "Indeed I have, and it impressed me as well. Such skills could be put to work around here.") +end + +function Quest_DrawUponWellsprings_01B(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Throw in some coin and we have a deal.", "Quest_DrawUponWellsprings_02") + AddConversationOption(conversation, "I would like to hear more.", "Quest_DrawUponWellsprings_02") + StartConversation(conversation, NPC, Spawn, "I hold no doubt of that. Such skills could be put to work around here.") +end + +function Quest_DrawUponWellsprings_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "agree", 0, 0, Spawn) + AddConversationOption(conversation, "Where do I come in?", "Quest_DrawUponWellsprings_03") + StartConversation(conversation, NPC, Spawn, "Certainly! I am responsible for ensuring the Dread Guard remain an unequaled fighting force and are prepared for an eventual march on the Thexian invaders. They say all armies must be bred, fed and led. Well, I've got the last two categories covered.") +end + +function Quest_DrawUponWellsprings_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "agree", 0, 0, Spawn) + AddConversationOption(conversation, "That would be impressive.", "Quest_DrawUponWellsprings_04") + StartConversation(conversation, NPC, Spawn, "I have turned my attention to the local fauna of this forest to expand our fighting regiments. Imagine a full platoon of Dread Guard Dragoons charging their enemy atop fearsome bears!") +end + +function Quest_DrawUponWellsprings_04(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, I can do this.", "QuestOffer_DrawUponWellsprings") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "For this plan to come to fruition, we must capture several cubs and domesticate them at an early age before their savage nature makes them untamable. I want you to find some cubs and bring them back to me.") +end + +function QuestOffer_DrawUponWellsprings(NPC, Spawn) + OfferQuest(NPC, Spawn, DrawUponWellsprings) +end + +function Quest_DrawUponWellsprings_05(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Remove cub var -- + cub = GetTempVariable(Spawn, "cub") + Despawn(cub) + -------------------- + + AddStepProgress(Spawn, 155, 1, 1) + SetTempVariable(Spawn, "cub", nil) + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz009.mp3", "", "", 1819294557, 1460011625, Spawn) + if GetQuestStep(Spawn, DrawUponWellsprings) == 2 then + AddConversationOption(conversation, "That's three cubs.", "Quest_StunningRevelation") + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Nice work!") + else + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Nice work!") + end +end + +-------------------------------------------------------------------------------------- +-- Stunning Revelation +-------------------------------------------------------------------------------------- + +function Quest_StunningRevelation(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, DrawUponWellsprings, 2) + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz010.mp3", "", "", 3144240243, 3441965982, Spawn) + AddConversationOption(conversation, "Yes.", "Quest_StunningRevelation_01") + AddConversationOption(conversation, "Not right now, Calnozz.") + StartConversation(conversation, NPC, Spawn, "That it is. Very nice. I do believe our partnership will work out fine. Do you wish to continue working?") +end + +function Quest_StunningRevelation_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What's that?", "Quest_StunningRevelation_02") + StartConversation(conversation, NPC, Spawn, "As an opportunist I am always seeking new methods for disposing of our enemies. In recent months I believe I've discovered a new way to address the constant threat of undead corpses who stalk these woods.") +end + +function Quest_StunningRevelation_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz004.mp3", "", "", 1724396442, 329779287, Spawn) + AddConversationOption(conversation, "Where should I look for these mushrooms?", "Quest_StunningRevelation_03") + AddConversationOption(conversation, "Not a chance, Calnozz.") + StartConversation(conversation, NPC, Spawn, "I've found a particular mushroom, which, when ground into a fine powder, causes a topical paralysis on undead test subjects. I'm close to perfecting the mixture; however, I've run out of stunspore mushroom caps. Would you be willing to harvest some more for me?") +end + +function Quest_StunningRevelation_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz004.mp3", "", "", 1724396442, 329779287, Spawn) + AddConversationOption(conversation, "I'll take my chances.", "QuestOffer_StunningRevelation") + AddConversationOption(conversation, "Nevermind, I am not interested.") + StartConversation(conversation, NPC, Spawn, "You should be able to find the stunspore mushrooms due west from this outpost. Be careful. A colony of bats has taken a liking to the area.") +end + +function QuestOffer_StunningRevelation(NPC, Spawn) + OfferQuest(NPC, Spawn, StunningRevelation) +end + +function Quest_StunningRevelation_04(NPC, Spawn) + FaceTarget(NPC, Spawn) + SetStepComplete(Spawn, StunningRevelation, 2) + conversation = CreateConversation() + AddConversationOption(conversation, "Second ingredient?", "Quest_InfantileIngredients_01") + StartConversation(conversation, NPC, Spawn, "Nice work " .. GetName(Spawn) .. ". It may seem worthless now, but with a little more preparation and the second ingredient, we can create a powerful undead paralysis agent.") +end + +------------------------------------------------------------------------------------- +-- Infantile Ingredients +-------------------------------------------------------------------------------------- + +function Quest_InfantileIngredients(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Second ingredient?", "Quest_InfantileIngredients_01") + StartConversation(conversation, NPC, Spawn, "Nice work " .. GetName(Spawn) .. ". It may seem worthless now, but with a little more preparation and the second ingredient, we can create a powerful undead paralysis agent.") +end + +function Quest_InfantileIngredients_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "What?!", "Quest_InfantileIngredients_02") + StartConversation(conversation, NPC, Spawn, "Oh, I thought I already mentioned that to you. My apologies, in my haste to develop this compound I must have forgotten to mention the baby snake venom I require.") +end + +function Quest_InfantileIngredients_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Very well, I can collect them.", "QuestOffer_InfantileIngredients") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "The venom from a baby snake is nearly twice as powerful as it is from an adult. It's just the thing I need to make the compound irresistible. Along the banks of the Searing Tendril you will find serpents. Some, when slain, will spew forth baby snakes-- a beautiful way to come into the world, no doubt. These baby snakes are what I require.") +end + +function QuestOffer_InfantileIngredients(NPC, Spawn) + OfferQuest(NPC, Spawn, InfantileIngredients) +end + +function Quest_InfantileIngredients_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Very well, I can collect them.", "QuestOffer_InfantileIngredients") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "The venom from a baby snake is nearly twice as powerful as it is from an adult. It's just the thing I need to make the compound irresistible. Along the banks of the Searing Tendril you will find serpents. Some, when slain, will spew forth baby snakes-- a beautiful way to come into the world, no doubt. These baby snakes are what I require.") +end + +------------------------------------------------------------------------------------- +-- Dust to Dust +-------------------------------------------------------------------------------------- + +function Quest_DustToDust(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, InfantileIngredients, 2) + + AddConversationOption(conversation, "Thank You.", "Quest_DustToDust_01") + StartConversation(conversation, NPC, Spawn, "Nice work, " .. GetName(Spawn) .. ". Nice work indeed. These will do nicely. Here is your payment.") +end + +function Quest_DustToDust_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Who... Er, what will I test it on?", "Quest_DustToDust_02") + AddConversationOption(conversation, "Sorry, not at this time.") + StartConversation(conversation, NPC, Spawn, "With the final ingredient added, it is now time to test the stunspore powder. In its current state I do believe it will effectively stop undead in their tracks, thus allowing someone tme to either engage or escape from the fiend on their own terms. Care to give it a try?") +end + +function Quest_DustToDust_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, give me the dust and I'll test it out.", "QuestOffer_DustToDust") + StartConversation(conversation, NPC, Spawn, "Southwest from here, beyond the Lower Tendril River, lies Warpfont Spire, an architectural antiquity from many ages ago. Use the skeletons there as our test subjects!") +end + +function QuestOffer_DustToDust(NPC, Spawn) + OfferQuest(NPC, Spawn, DustToDust) +end + +function Quest_DustToDust_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, DustToDust, 2) + + AddConversationOption(conversation, "You're welcome, Calnozz.") + StartConversation(conversation, NPC, Spawn, "Hmm, perhaps perfection was a result I had expected a bit too early. Nonetheless, future prototypes shall benefit from your tireless work! For that, I thank you, " .. GetName(Spawn) .. ". Should you find your business here at the outpost concluded, I'd encourage you to travel west and seek out Wanderlust Fair. Many odd characters reside there. Many more could use the help of someone like you. The Queen smiles upon you, young one. Good day.") +end +------------------------------------------------------------------------------------- +-- Rich Fish Flesh +-------------------------------------------------------------------------------------- + +function Quest_RichFishFlesh(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, RichFishFlesh, 1) + + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Oh! This is amazing! Hah, this is quite a find! Good show, " .. GetName(Spawn) .. ". Good show indeed. Those who know me will hear quite good things about you.") +end + +--[[ +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz005.mp3", "", "", 833398241, 239346045, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_4_5") + StartConversation(conversation, NPC, Spawn, "Good to hear. One delicacy I helped introduce to Neriak is called gerael. What it is, is the meat from bear cubs, which everyone knows. What most laymen don't know--and most collectors fail to capitalize on--is the activity level of the cubs from which the meat is derived.") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz006.mp3", "", "", 37698119, 695494273, Spawn) + AddConversationOption(conversation, "All right, I can do this.", "dlg_4_6") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "I keep my cubs chained up to limit their movement. This retards the growth of tough muscle fiber and makes the flesh nice and tender. It is because of this that restaurants pay a premium for my meat. What I'd like from you, is to go find some cubs and bring them back to me.") +end + +function dlg_4_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz007.mp3", "", "", 1447659069, 1085130442, Spawn) + AddConversationOption(conversation, "All right.", "dlg_4_7") + StartConversation(conversation, NPC, Spawn, "Excellent. I will be here waiting for you to bring the cubs back. Here is the leash.") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz020.mp3", "", "", 3550554639, 273920671, Spawn) + AddConversationOption(conversation, "Thank you.", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "Nice work, .. GetName(Spawn) .. . Nice work indeed. These will do nicely. Here is your payment.") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz021.mp3", "", "", 1698965568, 399908880, Spawn) + AddConversationOption(conversation, "Oh?", "dlg_12_3") + AddConversationOption(conversation, "Oh, I am quite aware of that. But your concern is appreciated.") + StartConversation(conversation, NPC, Spawn, "You seem to play the game well, assuming your attitude is a mask. If it is not, make it one. Do not be sincere within Neriak, .. GetName(Spawn) .. . That is a mistake you will not be allowed to repeat.") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz022.mp3", "", "", 1513724159, 2767202576, Spawn) + AddConversationOption(conversation, "Funny for YOU to say that to me.", "dlg_12_4") + StartConversation(conversation, NPC, Spawn, "Put on the mask, be friendly, that is what they expect and how they interact with each other. But trust no one, and use everyone you can, lest you be used yourself.") +end + +function dlg_12_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz023.mp3", "", "", 2872411134, 1698258241, Spawn) + AddConversationOption(conversation, "I see. Well, thank you for the advice. Do you have any more work?", "dlg_12_5") + StartConversation(conversation, NPC, Spawn, "Fair enough, you may break off our dealings at any time. Though it is more acceptable to avoid the political mess that is Neriak once you leave the city itself.") +end + +function dlg_12_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz025.mp3", "", "", 3007549595, 1246810731, Spawn) + AddConversationOption(conversation, "I'm sure I can figure it out.", "dlg_12_6") + AddConversationOption(conversation, "Not really, but I'll try.") + AddConversationOption(conversation, "Know how to fish? I'm a fishing prodigy!") + AddConversationOption(conversation, "Fishing? Goodbye.") + StartConversation(conversation, NPC, Spawn, "In fact I do. I have a client who is requesting Smoldering trout. They are the resilient fish that swim about in Smoldering Lake, which is found to the northwest. I hope you know how to fish.") +end + +function dlg_12_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz026.mp3", "", "", 466576522, 3228815072, Spawn) + AddConversationOption(conversation, "I'll return with them.") + StartConversation(conversation, NPC, Spawn, "Well, so long as I get the fish!") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz001.mp3", "", "", 1345648558, 587665125, Spawn) + AddConversationOption(conversation, "Well, nice to meet you.", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "Indeed I did, though that is of little importance. I am Calnozz J'Melvirr.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz003.mp3", "", "", 1237619057, 3188401533, Spawn) + AddConversationOption(conversation, "What did you have in mind?", "dlg_13_3") + StartConversation(conversation, NPC, Spawn, "No doubt. You may not have heard of me, but I am one of the top suppliers to most of the higher class restaurants in Neriak. I've worked in the field for quite some time. I've even discovered a number of new ingredients for the restaurants to use. In my spare time, I cook, naturally. For now, though, I am out here. Collecting. Tell me, Zuzoo, would a short term business partnership interest you?") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz004.mp3", "", "", 1724396442, 329779287, Spawn) + AddConversationOption(conversation, "I'm listening.", "dlg_13_4") + StartConversation(conversation, NPC, Spawn, "You get things done, and I have things that need doing. I will pay you for your work.") +end + +function dlg_13_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz005.mp3", "", "", 833398241, 239346045, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_13_5") + StartConversation(conversation, NPC, Spawn, "Good to hear. One delicacy I helped introduce to Neriak is called gerael. What it is, is the meat from bear cubs, which everyone knows. What most laymen don't know--and most collectors fail to capitalize on--is the activity level of the cubs from which the meat is derived.") +end + +function dlg_13_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz006.mp3", "", "", 37698119, 695494273, Spawn) + AddConversationOption(conversation, "All right, I can do this.", "dlg_13_6") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "I keep my cubs chained up to limit their movement. This retards the growth of tough muscle fiber and makes the flesh nice and tender. It is because of this that restaurants pay a premium for my meat. What I'd like from you, is to go find some cubs and bring them back to me.") +end + +function dlg_13_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz007.mp3", "", "", 1447659069, 1085130442, Spawn) + AddConversationOption(conversation, "All right.", "dlg_13_7") + StartConversation(conversation, NPC, Spawn, "Excellent. I will be here waiting for you to bring the cubs back. Here is the leash.") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz009.mp3", "", "", 1819294557, 1460011625, Spawn) + AddConversationOption(conversation, "That's three cubs.", "dlg_14_2") + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Nice work!") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz010.mp3", "", "", 3144240243, 3441965982, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "That it is. Very nice. I do believe our partnership will work out fine. Do you wish to continue working?") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz011.mp3", "", "", 2621978220, 49747204, Spawn) + AddConversationOption(conversation, "What's that?", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "Good. I have my own garden in Neriak. Though, most often I am not the one caring for it, so really I wouldn't say the garden is MINE so much. But I do own it. One thing that helps my fruits and vegetables ripen is the right fertilizer. Most folks tend to use land mammal dung as fertilizer, but in my wanderings out here I've stumbled onto a little secret.") +end + +function dlg_14_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz012.mp3", "", "", 514050601, 1202589149, Spawn) + AddConversationOption(conversation, "All right, I'll collect some.", "dlg_14_5") + AddConversationOption(conversation, "Not a chance, Calnozz.") + StartConversation(conversation, NPC, Spawn, "Screecher dung. You would be amazed at how well this stuff helps plants grow. The screechers are just west of T'Vatar Post, and their droppings can be found all around that area.") +end + +function dlg_14_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz013.mp3", "", "", 2963845770, 48104833, Spawn) + AddConversationOption(conversation, "Yeah, yeah. I'll be back.", "dlg_14_6") + StartConversation(conversation, NPC, Spawn, "It's a dirty job, but someone who isn't me has to do it.") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz015.mp3", "", "", 1272266981, 2604142858, Spawn) + AddConversationOption(conversation, "Interesting.", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "Nice work, .. GetName(Spawn) .. . It may seem worthless now, but with a little preparation this can turn a few seeds into platinum.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz016.mp3", "", "", 636649601, 977260067, Spawn) + AddConversationOption(conversation, "What task?", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "Interesting in a 'money making' sort of way, yes. Whatever it takes to meet the discerning palate of the Neriak elite, I always say. On that note, I have another task for you.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz017.mp3", "", "", 1678813904, 3793532984, Spawn) + AddConversationOption(conversation, "I can collect them.", "dlg_15_4") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "Baby snake is a delicacy in Neriak. Along the banks of the Searing Tendril you will find serpents. Some, when slain, will spew forth baby snakes--a beautiful way to come into the world, no doubt. These baby snakes are what I require.") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz018.mp3", "", "", 3304982869, 1880170968, Spawn) + AddConversationOption(conversation, "I'll try to remember.", "dlg_15_5") + StartConversation(conversation, NPC, Spawn, "They sell for quite a bit, so try not to slice up the babies too much.") +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz009.mp3", "", "", 1819294557, 1460011625, Spawn) + AddConversationOption(conversation, "All right.", "dlg_25_2") + StartConversation(conversation, NPC, Spawn, "Nice work!") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz009.mp3", "", "", 1819294557, 1460011625, Spawn) + AddConversationOption(conversation, "All right.", "dlg_26_2") + StartConversation(conversation, NPC, Spawn, "Nice work!") +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz009.mp3", "", "", 1819294557, 1460011625, Spawn) + AddConversationOption(conversation, "That's three cubs.", "dlg_27_2") + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Nice work!") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz010.mp3", "", "", 3144240243, 3441965982, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_27_3") + StartConversation(conversation, NPC, Spawn, "That it is. Very nice. I do believe our partnership will work out fine. Do you wish to continue working?") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz011.mp3", "", "", 2621978220, 49747204, Spawn) + AddConversationOption(conversation, "What's that?", "dlg_27_4") + StartConversation(conversation, NPC, Spawn, "Good. I have my own garden in Neriak. Though, most often I am not the one caring for it, so really I wouldn't say the garden is MINE so much. But I do own it. One thing that helps my fruits and vegetables ripen is the right fertilizer. Most folks tend to use land mammal dung as fertilizer, but in my wanderings out here I've stumbled onto a little secret.") +end + +function dlg_27_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz012.mp3", "", "", 514050601, 1202589149, Spawn) + AddConversationOption(conversation, "All right, I'll collect some.", "dlg_27_5") + AddConversationOption(conversation, "Not a chance, Calnozz.") + StartConversation(conversation, NPC, Spawn, "Screecher dung. You would be amazed at how well this stuff helps plants grow. The screechers are just west of T'Vatar Post, and their droppings can be found all around that area.") +end + +function dlg_27_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz013.mp3", "", "", 2963845770, 48104833, Spawn) + AddConversationOption(conversation, "Yeah, yeah. I'll be back.", "dlg_27_6") + StartConversation(conversation, NPC, Spawn, "It's a dirty job, but someone who isn't me has to do it.") +end + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz015.mp3", "", "", 1272266981, 2604142858, Spawn) + AddConversationOption(conversation, "Interesting.", "dlg_29_2") + StartConversation(conversation, NPC, Spawn, "Nice work, Zuzoo. It may seem worthless now, but with a little preparation this can turn a few seeds into platinum.") +end + +function dlg_29_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz016.mp3", "", "", 636649601, 977260067, Spawn) + AddConversationOption(conversation, "What task?", "dlg_29_3") + StartConversation(conversation, NPC, Spawn, "Interesting in a 'money making' sort of way, yes. Whatever it takes to meet the discerning palate of the Neriak elite, I always say. On that note, I have another task for you.") +end + +function dlg_29_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz017.mp3", "", "", 1678813904, 3793532984, Spawn) + AddConversationOption(conversation, "I can collect them.", "dlg_29_4") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "Baby snake is a delicacy in Neriak. Along the banks of the Searing Tendril you will find serpents. Some, when slain, will spew forth baby snakes--a beautiful way to come into the world, no doubt. These baby snakes are what I require.") +end + +function dlg_29_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/calnozz_j_melvirr/darklight_wood/tvatar_post/calnozz/calnozz018.mp3", "", "", 3304982869, 1880170968, Spawn) + AddConversationOption(conversation, "I'll try to remember.", "dlg_29_5") + StartConversation(conversation, NPC, Spawn, "They sell for quite a bit, so try not to slice up the babies too much.") +end +]]-- diff --git a/Lua/SpawnScripts/Darklight/DalvosDNar.lua b/Lua/SpawnScripts/Darklight/DalvosDNar.lua new file mode 100755 index 000000000..3d613a451 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/DalvosDNar.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Darklight/DalvosDNar.lua + Script Author : fearfx + Script Date : 2017.01.21 06:01:37 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "At peace or at war, my work must go on.") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Darklight/DanyaHalfmoon.lua b/Lua/SpawnScripts/Darklight/DanyaHalfmoon.lua new file mode 100755 index 000000000..cdb232aad --- /dev/null +++ b/Lua/SpawnScripts/Darklight/DanyaHalfmoon.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : SpawnScripts/Darklight/DanyaHalfmoon.lua + Script Purpose : Danya Halfmoon + Script Author : John Adams Updated by Cynnar + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local SableveinRubble = 137 +local SealingTheRift = 122 + +function spawn(NPC) + ProvidesQuest(NPC, SableveinRubble) +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, SealingTheRift) then + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/quest/hates_envy/qst_danya_toolow_d63cbe27.mp3", "", "", 1007828063, 3522254640, Spawn) + StartConversation(conversation, NPC, Spawn, "I'm a little tense, perhaps you should leave me be.") + elseif HasCompletedQuest(Spawn, SableveinRubble) then + -- + elseif not HasQuest(Spawn, SableveinRubble) then + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya000.mp3", "", "", 3154437003, 176778633, Spawn) + AddConversationOption(conversation, "Yes.", "QuestChat_0_1") + AddConversationOption(conversation, "No.") + StartConversation(conversation, NPC, Spawn, "What do you need? Just looking for a job?") + elseif HasQuest(Spawn, SableveinRubble) and GetQuestStep(Spawn, SableveinRubble) == 1 then + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya006.mp3", "", "", 2899629615, 2055968822, Spawn) + AddConversationOption(conversation, "No.") + StartConversation(conversation, NPC, Spawn, "I am eager to work, have you brought the ore?") + elseif HasQuest(Spawn, SableveinRubble) and GetQuestStep(Spawn, SableveinRubble) == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya006.mp3", "", "", 2899629615, 2055968822, Spawn) + AddConversationOption(conversation, "Yes, here you are.", "QuestChat_1_0") + StartConversation(conversation, NPC, Spawn, "I am eager to work, have you brought the ore?") + else + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/quest/hates_envy/qst_danya_done_ba2066a8.mp3", "", "", 2678058007, 1352299031, Spawn) + StartConversation(conversation, NPC, Spawn, "You know, one of the reasons I asked you to get me ore is so I can get some work done!") + end +end + +function QuestChat_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya003.mp3", "", "", 470214479, 1083810129, Spawn) + AddConversationOption(conversation, "You want ore from the mine.", "QuestChat_0_2") + StartConversation(conversation, NPC, Spawn, "I haven't been able to get the ore I need ever since the elementals pushed the miners out of Sablevein Tear. I'm sure you see where this is going.") +end + +function QuestChat_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya004.mp3", "", "", 3325647670, 962149852, Spawn) + AddConversationOption(conversation, "I can get it.", "OfferQuest1") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "Bingo. The ore is mixed in with other rocks and bits of earth within the cave. Bring me some of the Sablevein rubble from the cave and I can refine the ore in it and turn it into something workable.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, SableveinRubble) +end + +function QuestChat_1_0(NPC, Spawn) + SetStepComplete(Spawn, SableveinRubble, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/danya_halfmoon/darklight_wood/hates_envy/danya/danya007.mp3", "", "", 2771597308, 3920757098, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Finally! You have my thanks, and the thanks of everyone who's had to deal with me in the past few days.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/DirzdiaTZauvirr.lua b/Lua/SpawnScripts/Darklight/DirzdiaTZauvirr.lua new file mode 100755 index 000000000..e30468608 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/DirzdiaTZauvirr.lua @@ -0,0 +1,1303 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/DirzdiaTZauvirr.lua + Script Purpose : Dirzdia T'Zauvirr + Script Author : fearfx + Script Date : 2017.01.23 + Script Notes : Auto-Generated Conversation from PacketParser Data + + Smoking the Competition + Reaping the Benefits of a Monopoly + So Hot You Catch Them Cooked + The Big One + Rich Fish Flesh + +--]] + +local HopefulNetReturns = 160 +local SmokingTheCompetition = 187 +local ReapingTheBenefits = 188 +local SoHotYouCatch = 189 +local TheBigOne = 190 +--local RichFishFlesh = 191 + +function spawn(NPC) + ProvidesQuest(NPC, SmokingTheCompetition) + ProvidesQuest(NPC, ReapingTheBenefits) + ProvidesQuest(NPC, SoHotYouCatch) + ProvidesQuest(NPC, TheBigOne) + --ProvidesQuest(NPC, RichFishFlesh) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, HopefulNetReturns) and not HasCompletedQuest(Spawn, HopefulNetReturns) then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery000.mp3", "", "", 169576251, 1164193707, Spawn) + AddConversationOption(conversation, "Hi. I've a delivery from Aunthrae for you.", "Quest_HopefulNetReturns") + StartConversation(conversation, NPC, Spawn, "Hello.") + elseif HasCompletedQuest(Spawn, HopefulNetReturns) and not HasQuest(Spawn, SmokingTheCompetition) and not HasCompletedQuest(Spawn, SmokingTheCompetition) then + AddConversationOption(conversation, "Hi.", "Quest_SmokingTheCompetition_01") + StartConversation(conversation, NPC, Spawn, "Hello.") + elseif HasQuest(Spawn, SmokingTheCompetition) and GetQuestStep(Spawn, SmokingTheCompetition) == 2 then + AddConversationOption(conversation, "I have. Here you go.", "Quest_ReapingTheBenefits") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + elseif HasCompletedQuest(Spawn, SmokingTheCompetition) and not HasQuest(Spawn, ReapingTheBenefits) and not HasCompletedQuest(Spawn, ReapingTheBenefits) then + AddConversationOption(conversation, "I have. Here you go.", "Quest_ReapingTheBenefits") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + elseif HasQuest(Spawn, ReapingTheBenefits) and GetQuestStep(Spawn, ReapingTheBenefits) == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia013.mp3", "", "", 4057665445, 4206402151, Spawn) + AddConversationOption(conversation, "I do. Here you are.", "Quest_SoHotYouCatch") + StartConversation(conversation, NPC, Spawn, "Do you have them?") + elseif HasCompletedQuest(Spawn, ReapingTheBenefits) and not HasQuest(Spawn, SoHotYouCatch) and not HasCompletedQuest(Spawn, SoHotYouCatch) then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia013.mp3", "", "", 4057665445, 4206402151, Spawn) + AddConversationOption(conversation, "I do. Here you are.", "Quest_SoHotYouCatch") + StartConversation(conversation, NPC, Spawn, "Do you have them?") + elseif HasQuest(Spawn, SoHotYouCatch) and GetQuestStep(Spawn, SoHotYouCatch) == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia017.mp3", "", "", 614943785, 2190575335, Spawn) + AddConversationOption(conversation, "I sure did.", "Quest_TheBigOne") + StartConversation(conversation, NPC, Spawn, "Did you get them?") + elseif HasCompletedQuest(Spawn, SoHotYouCatch) and not HasQuest(Spawn, TheBigOne) and not HasCompletedQuest(Spawn, TheBigOne) then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia017.mp3", "", "", 614943785, 2190575335, Spawn) + AddConversationOption(conversation, "I sure did.", "Quest_TheBigOne") + StartConversation(conversation, NPC, Spawn, "Did you get them?") + elseif HasQuest(Spawn, TheBigOne) and GetQuestStep(Spawn, TheBigOne) == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia023.mp3", "", "", 2998879726, 1525879375, Spawn) + AddConversationOption(conversation, "I have, actually.", "Quest_TheBigOne_03") + StartConversation(conversation, NPC, Spawn, "Have you found my lure?") + else + Say(NPC, "END") + end + +end + +-------------------------------------------------------------------------------------- +-- Hopeful Net Returns +-------------------------------------------------------------------------------------- + +function Quest_HopefulNetReturns(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, HopefulNetReturns, 1) + + StartConversation(conversation, NPC, Spawn, "Perfect! Thanks! Just put it on the ground there.") +end + +-------------------------------------------------------------------------------------- +-- SmokingTheCompetition +-------------------------------------------------------------------------------------- + +function Quest_SmokingTheCompetition_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Hello.", "Quest_SmokingTheCompetition_02") + StartConversation(conversation, NPC, Spawn, "Hi.") +end + +function Quest_SmokingTheCompetition_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "... goodbye.", "Quest_SmokingTheCompetition_03") + StartConversation(conversation, NPC, Spawn, "Hello.") +end + +function Quest_SmokingTheCompetition_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "What?", "Quest_SmokingTheCompetition_04") + StartConversation(conversation, NPC, Spawn, "Hey, Wait!") +end + +function Quest_SmokingTheCompetition_04(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Why do you ask?", "Quest_SmokingTheCompetition_05") + StartConversation(conversation, NPC, Spawn, "How good are you at killing?") +end + +function Quest_SmokingTheCompetition_05(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "What do you want me to do?", "Quest_SmokingTheCompetition_06") + StartConversation(conversation, NPC, Spawn, "Fishing is getting more and more difficult as the razormaw in this river reach maturity. They break my lines, steal my lures, and eat all the fish before I have a chance to catch them! But they sure do taste great when smoked!") +end + +function Quest_SmokingTheCompetition_06(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "All right, I'll help you.", "QuestOffer_SmokingTheCompetition") + AddConversationOption(conversation, "Find someone else.") + StartConversation(conversation, NPC, Spawn, "Kill them for me so I can fish in peace... and so I can have a tasty dinner. What do you say? I'll compensate you for your time, of course.") +end + +function QuestOffer_SmokingTheCompetition(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + OfferQuest(NPC, Spawn, SmokingTheCompetition) + AddConversationOption(conversation, "I'll be back when I've killed them.") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +-------------------------------------------------------------------------------------- +-- Reaping the Benefits of a Monopoly +-------------------------------------------------------------------------------------- + +function Quest_ReapingTheBenefits(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, SmokingTheCompetition) then + SetStepComplete(Spawn, SmokingTheCompetition, 2) + end + + AddConversationOption(conversation, "I'm " .. GetName(Spawn) .. ".", "Quest_ReapingTheBenefits_01") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way. I've been sent out here to catch fish to help feed those stationed at T'Vatar Outpost.") +end + +function Quest_ReapingTheBenefits_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "All the time.", "Quest_ReapingTheBenefits_02") + AddConversationOption(conversation, "Sometimes.", "Quest_ReapingTheBenefits_02") + AddConversationOption(conversation, "No.") + StartConversation(conversation, NPC, Spawn, "Oh, I'll never remember that. Tell me, do you fish much?") +end + +function Quest_ReapingTheBenefits_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?", "Quest_ReapingTheBenefits_03") + StartConversation(conversation, NPC, Spawn, "Well, the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function Quest_ReapingTheBenefits_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia011.mp3", "", "", 3261932029, 3599840953, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "QuestOffer_ReapingTheBenefits") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Just help me catch them. Right now I'm trying to catch searing trout. They swim around in the Lower Tendril River. What do you say?") +end + +function QuestOffer_ReapingTheBenefits(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, ReapingTheBenefits) + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia012.mp3", "", "", 2680874987, 3116118568, Spawn) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Great! Just bring them back to me when you've caught them.") +end + +-------------------------------------------------------------------------------------- +-- So Hot You Catch Them Cooked +-------------------------------------------------------------------------------------- + +function Quest_SoHotYouCatch(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, ReapingTheBenefits) == 2 then + SetStepComplete(Spawn, ReapingTheBenefits, 2) + end + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia014.mp3", "", "", 3630010163, 822378916, Spawn) + AddConversationOption(conversation, "What kind of fish do you need?", "Quest_SoHotYouCatch_01") + StartConversation(conversation, NPC, Spawn, "Great! These will go a long ways towards feeding the soldiers stationed at T'Vatar Outpost. Now then, if you'd like, you could help me catch some more fish.") +end + +function Quest_SoHotYouCatch_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia015.mp3", "", "", 2001952195, 1089349401, Spawn) + AddConversationOption(conversation, "I can fish them up.", "QuestOffer_SoHotYouCatch") + AddConversationOption(conversation, "I'd prefer not to.") + StartConversation(conversation, NPC, Spawn, "Seared char! I know, their name is repetitive! They swim in the Searing Tendril, before it splits off into the Lower Tendril River. If you could fish me up some, that would be great!") +end + +function QuestOffer_SoHotYouCatch(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, SoHotYouCatch) + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia016.mp3", "", "", 3096333821, 2080368744, Spawn) + StartConversation(conversation, NPC, Spawn, "Glad to hear it! I'll be waiting here... fishing!") +end + +-------------------------------------------------------------------------------------- +-- The Big One +-------------------------------------------------------------------------------------- + +function Quest_TheBigOne(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, SoHotYouCatch) == 2 then + SetStepComplete(Spawn, SoHotYouCatch, 2) + end + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia018.mp3", "", "", 2836144377, 248697270, Spawn) + AddConversationOption(conversation, "Smolderfin?", "Quest_TheBigOne_01") + StartConversation(conversation, NPC, Spawn, "You're a much better fisher than I am. Maybe that's why I enjoy it though. I can always get better. I bet you could catch Smolderfin!") +end + +function Quest_TheBigOne_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia019.mp3", "", "", 1258409578, 147829151, Spawn) + AddConversationOption(conversation, "How can we catch him, then?", "Quest_TheBigOne_02") + StartConversation(conversation, NPC, Spawn, "He's a reclusive one, swims around up in Smoldering Lake. I hooked him once, but he took my pole down with him. Eventually it washed ashore and I got it back, but my favorite lure was gone.") +end + +function Quest_TheBigOne_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia021.mp3", "", "", 4015813922, 782743353, Spawn) + AddConversationOption(conversation, "Okay, I'm up for the challenge.", "QuestOffer_TheBigOne") + AddConversationOption(conversation, "I don't think I'm interested.") + StartConversation(conversation, NPC, Spawn, "Like I said, he's in Smoldering Lake. But it's rare that he comes out. He likes to eat the smoldering trout, though. If you catch enough of them and drop them in the lake, all bloody and squirming, I bet that will drag him out.") +end + +function Quest_TheBigOne_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, TheBigOne, 2) + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia024.mp3", "", "", 4053635028, 357139583, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "You did? That's amazing. This is perfect, maybe now I'll finally catch something. Thank you, thank you very much!") +end + +function QuestOffer_TheBigOne(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, TheBigOne) + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia022.mp3", "", "", 1365892706, 718371768, Spawn) + AddConversationOption(conversation, "All right.", "dlg_8_5") + StartConversation(conversation, NPC, Spawn, "Good luck! Bring me back my lure if you find it.") +end + +--[[ + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery000.mp3", "", "", 169576251, 1164193707, Spawn) + AddConversationOption(conversation, "Hi. I've a delivery from Fileyl for you.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Hello.") + if convo==1 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia013.mp3", "", "", 4057665445, 4206402151, Spawn) + AddConversationOption(conversation, "I do. Here you are.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Do you have them?") + end + + if convo==2 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia013.mp3", "", "", 4057665445, 4206402151, Spawn) + AddConversationOption(conversation, "I do. Here you are.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Do you have them?") + end + + if convo==4 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia000.mp3", "", "", 3120161704, 1555228530, Spawn) + AddConversationOption(conversation, "Hi.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Hello.") + end + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia017.mp3", "", "", 614943785, 2190575335, Spawn) + AddConversationOption(conversation, "I sure did.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Did you get them?") + end + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia017.mp3", "", "", 614943785, 2190575335, Spawn) + AddConversationOption(conversation, "I sure did.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Did you get them?") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia007.mp3", "", "", 1448690893, 2588880650, Spawn) + AddConversationOption(conversation, "I do, here you go.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia007.mp3", "", "", 1448690893, 2588880650, Spawn) + AddConversationOption(conversation, "I do, here you go.", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia013.mp3", "", "", 4057665445, 4206402151, Spawn) + AddConversationOption(conversation, "I do. Here you are.", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "Do you have them?") + end + + if convo==13 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery000.mp3", "", "", 169576251, 1164193707, Spawn) + AddConversationOption(conversation, "Hi. I've a delivery from Fileyl for you.", "dlg_13_1") + StartConversation(conversation, NPC, Spawn, "Hello.") + end + + if convo==21 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery000.mp3", "", "", 169576251, 1164193707, Spawn) + AddConversationOption(conversation, "Hi. I've a delivery from Fileyl for you.", "dlg_21_1") + StartConversation(conversation, NPC, Spawn, "Hello.") + end + + if convo==22 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia000.mp3", "", "", 3120161704, 1555228530, Spawn) + AddConversationOption(conversation, "Hi.", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "Hello.") + end + + if convo==23 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia007.mp3", "", "", 1448690893, 2588880650, Spawn) + AddConversationOption(conversation, "I do, here you go.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + end + + if convo==24 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia007.mp3", "", "", 1448690893, 2588880650, Spawn) + AddConversationOption(conversation, "I do, here you go.", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + end + + if convo==25 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia013.mp3", "", "", 4057665445, 4206402151, Spawn) + AddConversationOption(conversation, "I do. Here you are.", "dlg_25_1") + StartConversation(conversation, NPC, Spawn, "Do you have them?") + end + + if convo==26 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia013.mp3", "", "", 4057665445, 4206402151, Spawn) + AddConversationOption(conversation, "I do. Here you are.", "dlg_26_1") + StartConversation(conversation, NPC, Spawn, "Do you have them?") + end + + if convo==32 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery000.mp3", "", "", 169576251, 1164193707, Spawn) + AddConversationOption(conversation, "Hi. I've a delivery from Aunthrae for you.", "dlg_32_1") + StartConversation(conversation, NPC, Spawn, "Hello.") + end + + if convo==38 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia017.mp3", "", "", 614943785, 2190575335, Spawn) + AddConversationOption(conversation, "I sure did.", "dlg_38_1") + StartConversation(conversation, NPC, Spawn, "Did you get them?") + end + + if convo==39 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia023.mp3", "", "", 2998879726, 1525879375, Spawn) + AddConversationOption(conversation, "I have, actually.", "dlg_39_1") + StartConversation(conversation, NPC, Spawn, "Have you found my lure?") + end + + if convo==47 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia007.mp3", "", "", 1448690893, 2588880650, Spawn) + AddConversationOption(conversation, "I have. Here you go.", "dlg_47_1") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + end + + if convo==48 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia007.mp3", "", "", 1448690893, 2588880650, Spawn) + AddConversationOption(conversation, "I have. Here you go.", "dlg_48_1") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + end + + if convo==49 then + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia007.mp3", "", "", 1448690893, 2588880650, Spawn) + AddConversationOption(conversation, "I have. Here you go.", "dlg_49_1") + StartConversation(conversation, NPC, Spawn, "Have you got the razormaw?") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery001.mp3", "", "", 1749958115, 2883042757, Spawn) + AddConversationOption(conversation, "All right. Goodbye.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Perfect! Thanks! Just put it on the ground there.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery002.mp3", "", "", 2799282957, 2320910908, Spawn) + AddConversationOption(conversation, "What?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Hey, wait!") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia000.mp3", "", "", 3120161704, 1555228530, Spawn) + AddConversationOption(conversation, "Hi.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Hello.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?") + StartConversation(conversation, NPC, Spawn, "Well the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia001.mp3", "", "", 1088846584, 3200436101, Spawn) + AddConversationOption(conversation, "Hello.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "Hi.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia002.mp3", "", "", 3622946514, 3238136826, Spawn) + AddConversationOption(conversation, "... goodbye.", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "Hello.") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery002.mp3", "", "", 2799282957, 2320910908, Spawn) + AddConversationOption(conversation, "What?", "dlg_0_7") + StartConversation(conversation, NPC, Spawn, "Hey, wait!") +end + +function dlg_0_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia003.mp3", "", "", 1931781458, 1316667418, Spawn) + AddConversationOption(conversation, "Why do you ask?", "dlg_0_8") + StartConversation(conversation, NPC, Spawn, "How good are you at killing?") +end + +function dlg_0_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia004.mp3", "", "", 999431120, 423593637, Spawn) + AddConversationOption(conversation, "What do you want me to do?", "dlg_0_9") + StartConversation(conversation, NPC, Spawn, "Fishing is getting more and more difficult as the razormaw in this river reach maturity. They break my lines, steal my lures, and eat all the fish before I have a chance to catch them! But they sure do taste great when smoked!") +end + +function dlg_0_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia005.mp3", "", "", 3936904424, 544099891, Spawn) + AddConversationOption(conversation, "All right, I'll help you.", "dlg_0_10") + AddConversationOption(conversation, "Find someone else.") + StartConversation(conversation, NPC, Spawn, "Kill them for me so I can fish in peace... and so I can have a tasty dinner. What do you say? I'll compensate you for your time, of course.") +end + +function dlg_0_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia006.mp3", "", "", 1689993769, 508680301, Spawn) + AddConversationOption(conversation, "I'll be back when I've killed them.", "dlg_0_11") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia014.mp3", "", "", 3630010163, 822378916, Spawn) + AddConversationOption(conversation, "What kind of fish do you need?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Great! These will go a long ways towards feeding the soldiers stationed at T'Vatar Outpost. Now then, if you'd like, you could help me catch some more fish.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia015.mp3", "", "", 2001952195, 1089349401, Spawn) + AddConversationOption(conversation, "I can fish them up.", "dlg_1_3") + AddConversationOption(conversation, "I'd prefer not to.") + StartConversation(conversation, NPC, Spawn, "Seared char! I know, their name is repetitive! They swim in the Searing Tendril, before it splits off into the Lower Tendril River. If you could fish me up some, that would be great!") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia014.mp3", "", "", 3630010163, 822378916, Spawn) + AddConversationOption(conversation, "What kind of fish do you need?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Great! These will go a long ways towards feeding the soldiers stationed at T'Vatar Outpost. Now then, if you'd like, you could help me catch some more fish.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia015.mp3", "", "", 2001952195, 1089349401, Spawn) + AddConversationOption(conversation, "I can fish them up.", "dlg_2_3") + AddConversationOption(conversation, "I'd prefer not to.") + StartConversation(conversation, NPC, Spawn, "Seared char! I know, their name is repetitive! They swim in the Searing Tendril, before it splits off into the Lower Tendril River. If you could fish me up some, that would be great!") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia016.mp3", "", "", 3096333821, 2080368744, Spawn) + StartConversation(conversation, NPC, Spawn, "Glad to hear it! I'll be waiting here... fishing!") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia001.mp3", "", "", 1088846584, 3200436101, Spawn) + AddConversationOption(conversation, "Hello.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Hi.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia018.mp3", "", "", 2836144377, 248697270, Spawn) + AddConversationOption(conversation, "Smolderfin?", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "You're a much better fisher than I am. Maybe that's why I enjoy it though. I can always get better. I bet you could catch Smolderfin!") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia019.mp3", "", "", 1258409578, 147829151, Spawn) + AddConversationOption(conversation, "How can we catch him, then?", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "He's a reclusive one, swims around up in Smoldering Lake. I hooked him once, but he took my pole down with him. Eventually it washed ashore and I got it back, but my favorite lure was gone.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia021.mp3", "", "", 4015813922, 782743353, Spawn) + AddConversationOption(conversation, "Okay, I'm up for the challenge.", "dlg_7_4") + AddConversationOption(conversation, "I don't think I'm interested.") + StartConversation(conversation, NPC, Spawn, "Like I said, he's in Smoldering Lake. But it's rare that he comes out. He likes to eat the smoldering trout, though. If you catch enough of them and drop them in the lake, all bloody and squirming, I bet that will drag him out.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia018.mp3", "", "", 2836144377, 248697270, Spawn) + AddConversationOption(conversation, "Smolderfin?", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "You're a much better fisher than I am. Maybe that's why I enjoy it though. I can always get better. I bet you could catch Smolderfin!") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia019.mp3", "", "", 1258409578, 147829151, Spawn) + AddConversationOption(conversation, "How can we catch him, then?", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "He's a reclusive one, swims around up in Smoldering Lake. I hooked him once, but he took my pole down with him. Eventually it washed ashore and I got it back, but my favorite lure was gone.") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia021.mp3", "", "", 4015813922, 782743353, Spawn) + AddConversationOption(conversation, "Okay, I'm up for the challenge.", "dlg_8_4") + AddConversationOption(conversation, "I don't think I'm interested.") + StartConversation(conversation, NPC, Spawn, "Like I said, he's in Smoldering Lake. But it's rare that he comes out. He likes to eat the smoldering trout, though. If you catch enough of them and drop them in the lake, all bloody and squirming, I bet that will drag him out.") +end + +function dlg_8_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia022.mp3", "", "", 1365892706, 718371768, Spawn) + AddConversationOption(conversation, "All right.", "dlg_8_5") + StartConversation(conversation, NPC, Spawn, "Good luck! Bring me back my lure if you find it.") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia008.mp3", "", "", 2217132870, 3346276431, Spawn) + AddConversationOption(conversation, "I'm XXXXXXX.", "dlg_9_2") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way.") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "No.", "dlg_9_3") + AddConversationOption(conversation, "Sometimes.") + AddConversationOption(conversation, "All the time.") + StartConversation(conversation, NPC, Spawn, "Oh I'll never remember that. Tell me, do you fish much?") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?") + StartConversation(conversation, NPC, Spawn, "Well the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia008.mp3", "", "", 2217132870, 3346276431, Spawn) + AddConversationOption(conversation, "I'm XXXXXXX.", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "No.", "dlg_10_3") + AddConversationOption(conversation, "Sometimes.") + AddConversationOption(conversation, "All the time.") + StartConversation(conversation, NPC, Spawn, "Oh I'll never remember that. Tell me, do you fish much?") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?", "dlg_10_4") + StartConversation(conversation, NPC, Spawn, "Well the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia011.mp3", "", "", 3261932029, 3599840953, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "dlg_10_5") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Just help me catch them. Right now I'm trying to catch searing trout. They swim around in the Lower Tendril River. What do you say?") +end + +function dlg_10_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia012.mp3", "", "", 2680874987, 3116118568, Spawn) + AddConversationOption(conversation, "All right.", "dlg_10_6") + StartConversation(conversation, NPC, Spawn, "Great! Just bring them back to me when you've caught them.") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia014.mp3", "", "", 3630010163, 822378916, Spawn) + AddConversationOption(conversation, "What kind of fish do you need?", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "Great! I hope you enjoyed the fishing here, I certainly do. If you'd like, you could help me catch some more fish.") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia015.mp3", "", "", 2001952195, 1089349401, Spawn) + AddConversationOption(conversation, "I can fish them up.", "dlg_11_3") + AddConversationOption(conversation, "I'd prefer not to.") + StartConversation(conversation, NPC, Spawn, "Seared char! I know, their name is repetitive! They swim in the Searing Tendril, before it splits off into the Lower Tendril River. If you could fish me up some, that would be great!") +end + +function dlg_11_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia016.mp3", "", "", 3096333821, 2080368744, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_11_4") + StartConversation(conversation, NPC, Spawn, "Glad to hear it! I'll be waiting here... fishing!") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery001.mp3", "", "", 1749958115, 2883042757, Spawn) + AddConversationOption(conversation, "All right. Goodbye.", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "Perfect! Thanks! Just put it on the ground there.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia003.mp3", "", "", 1931781458, 1316667418, Spawn) + AddConversationOption(conversation, "Why do you ask?", "dlg_13_3") + StartConversation(conversation, NPC, Spawn, "How good are you at killing?") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia004.mp3", "", "", 999431120, 423593637, Spawn) + AddConversationOption(conversation, "What do you want me to do?", "dlg_13_4") + StartConversation(conversation, NPC, Spawn, "Fishing is getting more and more difficult as the razormaw in this river reach maturity. They break my lines, steal my lures, and eat all the fish before I have a chance to catch them! But they sure do taste great when smoked!") +end + +function dlg_13_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia005.mp3", "", "", 3936904424, 544099891, Spawn) + AddConversationOption(conversation, "All right, I'll help you.", "dlg_13_5") + AddConversationOption(conversation, "Find someone else.") + StartConversation(conversation, NPC, Spawn, "Kill them for me so I can fish in peace... and so I can have a tasty dinner. What do you say? I'll compensate you for your time, of course.") +end + +function dlg_13_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia006.mp3", "", "", 1689993769, 508680301, Spawn) + AddConversationOption(conversation, "I'll be back when I've killed them.", "dlg_13_6") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery001.mp3", "", "", 1749958115, 2883042757, Spawn) + AddConversationOption(conversation, "All right. Goodbye.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "Perfect! Thanks! Just put it on the ground there.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery002.mp3", "", "", 2799282957, 2320910908, Spawn) + AddConversationOption(conversation, "What?", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "Hey, wait!") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia003.mp3", "", "", 1931781458, 1316667418, Spawn) + AddConversationOption(conversation, "Why do you ask?", "dlg_21_4") + StartConversation(conversation, NPC, Spawn, "How good are you at killing?") +end + +function dlg_21_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia004.mp3", "", "", 999431120, 423593637, Spawn) + AddConversationOption(conversation, "What do you want me to do?", "dlg_21_5") + StartConversation(conversation, NPC, Spawn, "Fishing is getting more and more difficult as the razormaw in this river reach maturity. They break my lines, steal my lures, and eat all the fish before I have a chance to catch them! But they sure do taste great when smoked!") +end + +function dlg_21_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia005.mp3", "", "", 3936904424, 544099891, Spawn) + AddConversationOption(conversation, "All right, I'll help you.", "dlg_21_6") + AddConversationOption(conversation, "Find someone else.") + StartConversation(conversation, NPC, Spawn, "Kill them for me so I can fish in peace... and so I can have a tasty dinner. What do you say? I'll compensate you for your time, of course.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia001.mp3", "", "", 1088846584, 3200436101, Spawn) + AddConversationOption(conversation, "Hello.", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "Hi.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia002.mp3", "", "", 3622946514, 3238136826, Spawn) + AddConversationOption(conversation, "... goodbye.", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "Hello.") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery002.mp3", "", "", 2799282957, 2320910908, Spawn) + AddConversationOption(conversation, "What?", "dlg_22_4") + StartConversation(conversation, NPC, Spawn, "Hey, wait!") +end + +function dlg_22_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia003.mp3", "", "", 1931781458, 1316667418, Spawn) + AddConversationOption(conversation, "Why do you ask?", "dlg_22_5") + StartConversation(conversation, NPC, Spawn, "How good are you at killing?") +end + +function dlg_22_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia004.mp3", "", "", 999431120, 423593637, Spawn) + AddConversationOption(conversation, "What do you want me to do?", "dlg_22_6") + StartConversation(conversation, NPC, Spawn, "Fishing is getting more and more difficult as the razormaw in this river reach maturity. They break my lines, steal my lures, and eat all the fish before I have a chance to catch them! But they sure do taste great when smoked!") +end + +function dlg_22_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia005.mp3", "", "", 3936904424, 544099891, Spawn) + AddConversationOption(conversation, "All right, I'll help you.", "dlg_22_7") + AddConversationOption(conversation, "Find someone else.") + StartConversation(conversation, NPC, Spawn, "Kill them for me so I can fish in peace... and so I can have a tasty dinner. What do you say? I'll compensate you for your time, of course.") +end + +function dlg_22_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia006.mp3", "", "", 1689993769, 508680301, Spawn) + AddConversationOption(conversation, "I'll be back when I've killed them.", "dlg_22_8") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia008.mp3", "", "", 2217132870, 3346276431, Spawn) + AddConversationOption(conversation, "I'm Chayne.", "dlg_23_2") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way.") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "No.", "dlg_23_3") + AddConversationOption(conversation, "Sometimes.") + AddConversationOption(conversation, "All the time.") + StartConversation(conversation, NPC, Spawn, "Oh I'll never remember that. Tell me, do you fish much?") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?") + StartConversation(conversation, NPC, Spawn, "Well the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_23_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia011.mp3", "", "", 3261932029, 3599840953, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "dlg_23_5") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Just help me catch them. Right now I'm trying to catch searing trout. They swim around in the Lower Tendril River. What do you say?") +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia008.mp3", "", "", 2217132870, 3346276431, Spawn) + AddConversationOption(conversation, "I'm Chayne.", "dlg_24_2") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way.") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "No.", "dlg_24_3") + AddConversationOption(conversation, "Sometimes.") + AddConversationOption(conversation, "All the time.") + StartConversation(conversation, NPC, Spawn, "Oh I'll never remember that. Tell me, do you fish much?") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?") + StartConversation(conversation, NPC, Spawn, "Well the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia003.mp3", "", "", 1931781458, 1316667418, Spawn) + AddConversationOption(conversation, "Why do you ask?", "dlg_24_4") + StartConversation(conversation, NPC, Spawn, "How good are you at killing?") +end + +function dlg_24_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia011.mp3", "", "", 3261932029, 3599840953, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "dlg_24_5") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Just help me catch them. Right now I'm trying to catch searing trout. They swim around in the Lower Tendril River. What do you say?") +end + +function dlg_24_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia012.mp3", "", "", 2680874987, 3116118568, Spawn) + AddConversationOption(conversation, "All right.", "dlg_24_6") + StartConversation(conversation, NPC, Spawn, "Great! Just bring them back to me when you've caught them.") +end + +function dlg_24_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia006.mp3", "", "", 1689993769, 508680301, Spawn) + AddConversationOption(conversation, "I'll be back when I've killed them.", "dlg_24_7") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia014.mp3", "", "", 3630010163, 822378916, Spawn) + AddConversationOption(conversation, "What kind of fish do you need?", "dlg_25_2") + StartConversation(conversation, NPC, Spawn, "Great! I hope you enjoyed the fishing here, I certainly do. If you'd like, you could help me catch some more fish.") +end + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia015.mp3", "", "", 2001952195, 1089349401, Spawn) + AddConversationOption(conversation, "I can fish them up.", "dlg_25_3") + AddConversationOption(conversation, "I'd prefer not to.") + StartConversation(conversation, NPC, Spawn, "Seared char! I know, their name is repetitive! They swim in the Searing Tendril, before it splits off into the Lower Tendril River. If you could fish me up some, that would be great!") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia014.mp3", "", "", 3630010163, 822378916, Spawn) + AddConversationOption(conversation, "What kind of fish do you need?", "dlg_26_2") + StartConversation(conversation, NPC, Spawn, "Great! I hope you enjoyed the fishing here, I certainly do. If you'd like, you could help me catch some more fish.") +end + +function dlg_26_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia015.mp3", "", "", 2001952195, 1089349401, Spawn) + AddConversationOption(conversation, "I can fish them up.", "dlg_26_3") + AddConversationOption(conversation, "I'd prefer not to.") + StartConversation(conversation, NPC, Spawn, "Seared char! I know, their name is repetitive! They swim in the Searing Tendril, before it splits off into the Lower Tendril River. If you could fish me up some, that would be great!") +end + +function dlg_26_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia016.mp3", "", "", 3096333821, 2080368744, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_26_4") + StartConversation(conversation, NPC, Spawn, "Glad to hear it! I'll be waiting here... fishing!") +end + +function dlg_32_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery001.mp3", "", "", 1749958115, 2883042757, Spawn) + AddConversationOption(conversation, "All right. Goodbye.", "dlg_32_2") + StartConversation(conversation, NPC, Spawn, "Perfect! Thanks! Just put it on the ground there.") +end + +function dlg_32_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia_delivery002.mp3", "", "", 2799282957, 2320910908, Spawn) + AddConversationOption(conversation, "What?", "dlg_32_3") + StartConversation(conversation, NPC, Spawn, "Hey, wait!") +end + +function dlg_32_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia003.mp3", "", "", 1931781458, 1316667418, Spawn) + AddConversationOption(conversation, "Why do you ask?", "dlg_32_4") + StartConversation(conversation, NPC, Spawn, "How good are you at killing?") +end + +function dlg_32_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia004.mp3", "", "", 999431120, 423593637, Spawn) + AddConversationOption(conversation, "What do you want me to do?", "dlg_32_5") + StartConversation(conversation, NPC, Spawn, "Fishing is getting more and more difficult as the razormaw in this river reach maturity. They break my lines, steal my lures, and eat all the fish before I have a chance to catch them! But they sure do taste great when smoked!") +end + +function dlg_32_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia005.mp3", "", "", 3936904424, 544099891, Spawn) + AddConversationOption(conversation, "All right, I'll help you.", "dlg_32_6") + AddConversationOption(conversation, "Find someone else.") + StartConversation(conversation, NPC, Spawn, "Kill them for me so I can fish in peace... and so I can have a tasty dinner. What do you say? I'll compensate you for your time, of course.") +end + +function dlg_32_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia006.mp3", "", "", 1689993769, 508680301, Spawn) + AddConversationOption(conversation, "I'll be back when I've killed them.", "dlg_32_7") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +function dlg_38_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia018.mp3", "", "", 2836144377, 248697270, Spawn) + AddConversationOption(conversation, "Smolderfin?", "dlg_38_2") + StartConversation(conversation, NPC, Spawn, "You're great! A much better fisher than I am, maybe that's why I enjoy it though, I can always get better. I bet you could catch Smolderfin!") +end + +function dlg_38_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia019.mp3", "", "", 1258409578, 147829151, Spawn) + AddConversationOption(conversation, "Maybe I could fish him up for you.", "dlg_38_3") + StartConversation(conversation, NPC, Spawn, "He's a reclusive one, swims around up in Smoldering Lake. I hooked him once, but he took my pole down with him. Eventually it washed ashore and I got it back, but my favorite lure was gone.") +end + +function dlg_38_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia020.mp3", "", "", 1402216958, 1000093253, Spawn) + AddConversationOption(conversation, "Where can I find him?", "dlg_38_4") + StartConversation(conversation, NPC, Spawn, "Maybe if you were a giant. Smolderfin is huge. But if you want to try I won't stop you, especially if it means I might get my lure back. I'll just tell you to be careful.") +end + +function dlg_38_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia021.mp3", "", "", 4015813922, 782743353, Spawn) + AddConversationOption(conversation, "Ok, I'm up for the challenge.", "dlg_38_5") + AddConversationOption(conversation, "I don't think I'm interested.") + StartConversation(conversation, NPC, Spawn, "Like I said, he's in Smoldering Lake. But it's rare that he comes out. He likes to eat the smoldering trout, though. If you catch enough of them and drop them in the lake, all bloody and squirming, I bet that will drag him out.") +end + +function dlg_38_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia022.mp3", "", "", 1365892706, 718371768, Spawn) + AddConversationOption(conversation, "All right.", "dlg_38_6") + StartConversation(conversation, NPC, Spawn, "Good luck! Bring me back my lure if you find it.") +end + +function dlg_39_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia024.mp3", "", "", 4053635028, 357139583, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_39_2") + StartConversation(conversation, NPC, Spawn, "You did? That's amazing. This is perfect, maybe now I'll finally catch something. Thank you, thank you very much!") +end + +function dlg_47_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia008.mp3", "", "", 2217132870, 3346276431, Spawn) + AddConversationOption(conversation, "I'm Hacaci.", "dlg_47_2") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way. I've been sent out here to catch fish to help feed those stationed at T'Vatar Outpost.") +end + +function dlg_47_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "No.", "dlg_47_3") + AddConversationOption(conversation, "Sometimes.") + AddConversationOption(conversation, "All the time.") + StartConversation(conversation, NPC, Spawn, "Oh, I'll never remember that. Tell me, do you fish much?") +end + +function dlg_47_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?", "dlg_47_4") + StartConversation(conversation, NPC, Spawn, "Well, the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_47_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia011.mp3", "", "", 3261932029, 3599840953, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "dlg_47_5") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Just help me catch them. Right now I'm trying to catch searing trout. They swim around in the Lower Tendril River. What do you say?") +end + +function dlg_48_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia008.mp3", "", "", 2217132870, 3346276431, Spawn) + AddConversationOption(conversation, "I'm Hacaci.", "dlg_48_2") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way. I've been sent out here to catch fish to help feed those stationed at T'Vatar Outpost.") +end + +function dlg_48_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "No.", "dlg_48_3") + AddConversationOption(conversation, "Sometimes.") + AddConversationOption(conversation, "All the time.") + StartConversation(conversation, NPC, Spawn, "Oh, I'll never remember that. Tell me, do you fish much?") +end + +function dlg_48_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?") + StartConversation(conversation, NPC, Spawn, "Well, the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_48_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia011.mp3", "", "", 3261932029, 3599840953, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "dlg_48_5") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Just help me catch them. Right now I'm trying to catch searing trout. They swim around in the Lower Tendril River. What do you say?") +end + +function dlg_49_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia008.mp3", "", "", 2217132870, 3346276431, Spawn) + AddConversationOption(conversation, "I'm Hacaci.", "dlg_49_2") + StartConversation(conversation, NPC, Spawn, "Great! I thought the waters seemed a bit calmer. I'm Dirzdia, by the way. I've been sent out here to catch fish to help feed those stationed at T'Vatar Outpost.") +end + +function dlg_49_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia009.mp3", "", "", 389446448, 2794640706, Spawn) + AddConversationOption(conversation, "No.", "dlg_49_3") + AddConversationOption(conversation, "Sometimes.") + AddConversationOption(conversation, "All the time.") + StartConversation(conversation, NPC, Spawn, "Oh, I'll never remember that. Tell me, do you fish much?") +end + +function dlg_49_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia010.mp3", "", "", 2956956838, 3113219938, Spawn) + AddConversationOption(conversation, "What kind of help?") + StartConversation(conversation, NPC, Spawn, "Well, the waters here are pretty good for fishing. How would you like to help me reel them in?") +end + +function dlg_49_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia011.mp3", "", "", 3261932029, 3599840953, Spawn) + AddConversationOption(conversation, "Sure, I'll help.", "dlg_49_5") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Just help me catch them. Right now I'm trying to catch searing trout. They swim around in the Lower Tendril River. What do you say?") +end + +function dlg_49_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/dirzdia_t_zauvirr/darklight_wood/tvatar_post/dirzdia/dirzdia012.mp3", "", "", 2680874987, 3116118568, Spawn) + AddConversationOption(conversation, "All right.", "dlg_49_6") + StartConversation(conversation, NPC, Spawn, "Great! Just bring them back to me when you've caught them.") +end + +]]-- \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/DrizasNRyt.lua b/Lua/SpawnScripts/Darklight/DrizasNRyt.lua new file mode 100755 index 000000000..4cd497c5e --- /dev/null +++ b/Lua/SpawnScripts/Darklight/DrizasNRyt.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/Darklight/DrizasNRyt.lua + Script Purpose : Drizas N'Ryt + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + + +function hailed(NPC, Spawn) + -- need to find a standard DEF greeting + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "Why must you bother me?", "", 0, 0, Spawn) +end + diff --git a/Lua/SpawnScripts/Darklight/FileylAlyylharil.lua b/Lua/SpawnScripts/Darklight/FileylAlyylharil.lua new file mode 100755 index 000000000..aed1278c7 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/FileylAlyylharil.lua @@ -0,0 +1,287 @@ +--[[ + Script Name : SpawnScripts/Darklight/FileylAlyylharil.lua + Script Purpose : Fileyl Alyylharil + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +Arasai = 17 +QUEST_1 = 80 +QUEST_2 = 81 +QUEST_3 = 82 +QUEST_4 = 83 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + HelloAgain(NPC, Spawn) + elseif HasQuest(Spawn, QUEST_4) then + HelloAgain(NPC, Spawn) + else + LeavingHateAnytimeSoon(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + TalkToMeLater(NPC, Spawn) + else + DidYouCollectWeeds(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + DidYouCollectWeeds(NPC, Spawn, conversation) + else + DoYouHaveThePelts(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + DoYouHaveThePelts(NPC, Spawn, conversation) + else + if GetRace(Spawn) == Arasai then + OneOfYou(NPC, Spawn, conversation) + else + NewToHatesEnvy(NPC, Spawn, conversation) + end + end + + --[[ + + + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl100.mp3", "", "", 197775186, 684715500, Spawn) + AddConversationOption(conversation, "I found this pelt that you might be interested in.", "dlg_8_1") + AddConversationOption(conversation, "Nope.") + StartConversation(conversation, NPC, Spawn, "I guess you'll be leaving soon, eh?") + end + + if convo==9 then + + end + + if convo==11 then + + end + + if convo==13 then + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl004.mp3", "", "", 3186146596, 1953587154, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_13_1") + StartConversation(conversation, NPC, Spawn, "Do you have the pelts?") + end + + if convo==16 then + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl008.mp3", "", "", 3278232788, 3073634729, Spawn) + AddConversationOption(conversation, "Yes, I did. Here you go.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Did you collect the weeds?") + end + + if convo==19 then + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl011.mp3", "", "", 1920696283, 4232876553, Spawn) + AddConversationOption(conversation, "Maybe, why?", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "Hello again. Leaving Hate's Envy anytime soon?") + end--]] +end + +--------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------- + +function NewToHatesEnvy(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl000.mp3", "", "", 3623847893, 3999510628, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Hello. New to Hate's Envy?") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl001.mp3", "", "", 3801739584, 171673650, Spawn) + AddConversationOption(conversation, "What work do you have?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "I thought so, you had that look about you. I'm not sure if you're familiar with the way things work around here, but in general Hate's Envy tends to attract people looking for work. Immigration laws in Neriak have relaxed somewhat lately, and Hate's Envy has reaped the benefits of that. For someone like me, that means a large labor force. Which is, I imagine, why you're speaking with me--for work.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl002.mp3", "", "", 648997851, 4053921867, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + AddConversationOption(conversation, "I'm not interested.") + StartConversation(conversation, NPC, Spawn, "I don't think it matters much to you. It will earn you money, that's what's important. I've got it on good authority that the mayor is looking to clear out the dusk prowlers. Now, this is good, because they've been nothing but trouble since they got here. But it's also bad, because the more of them there are around the easier it is to get their pelts. Without pelts, I don't make any money. Thus, I need you to go collect some pelts for me.") +end + +function OneOfYou(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl000_arasai.mp3", "", "", 2813168737, 3167084012, Spawn) + AddConversationOption(conversation, "One of me?", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Ah, it's one of... you.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl001_arasai.mp3", "", "", 1120312592, 2814949135, Spawn) + AddConversationOption(conversation, "Distaste?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Yes. One of you. One of Cristanos' chosen. You will get special treatment if you travel to Neriak. But don't worry, for each unearned right the Queen drapes about your shoulders, the distaste some have for you will only increase.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl002_arasai.mp3", "", "", 69953400, 3339174619, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_2_3") + AddConversationOption(conversation, "I am no slave.") + StartConversation(conversation, NPC, Spawn, "You are not Teir'Dal, you are but our slave. Keeping that in mind at all times will make your time spent in our company all the easier. Forget it and, well, there are some who need little excuse to start trouble, especially with one of you.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl003_arasai.mp3", "", "", 2450188832, 1514540923, Spawn) + AddConversationOption(conversation, "What work?", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "And talking like that will only hasten your demise. If you're looking for acceptance, go find Queen Cristanos. If you're looking for work, then you'll find it here.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function DoYouHaveThePelts(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl004.mp3", "", "", 3186146596, 1953587154, Spawn) + + if (HasCompletedQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_2)) or (HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2) then + AddConversationOption(conversation, "Yes.", "dlg_7_1") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Do you have the pelts?") +end + +function dlg_7_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl005.mp3", "", "", 2096271371, 3465768991, Spawn) + AddConversationOption(conversation, "What work?", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Perfect. These are fine. As promised here's your payment. Keep working for me and I'll be sure to put in a good word for you with my political contacts in Neriak. I do have more work if you're interested.") +end + +------------------------------------------------------------------------------------- +-- QUEST 2 +-------------------------------------------------------------------------------------- + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl006.mp3", "", "", 3456710239, 1509006332, Spawn) + AddConversationOption(conversation, "I can do that.", "OfferQuest2") + AddConversationOption(conversation, "This doesn't sound like something I'd be interested in.") + StartConversation(conversation, NPC, Spawn, "I use the Malkaen Weed that grows around here as part of a curing process. The process takes a very large amount of the weed, though. Fortunately, nobody ever sells the stuff since it's lying around everywhere. As such, it's dirt cheap or free, you just have to have someone to collect it. Which is what I'd like you to do.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function DidYouCollectWeeds(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl008.mp3", "", "", 3278232788, 3073634729, Spawn) + + if (HasCompletedQuest(Spawn, QUEST_2) and not HasCompletedQuest(Spawn, QUEST_3)) or (HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 2) then + AddConversationOption(conversation, "Yes, I did. Here you go.", "dlg_9_1") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Did you collect the weeds?") +end + +function dlg_9_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_2) then + SetStepComplete(Spawn, QUEST_2, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl009.mp3", "", "", 3832374147, 290832441, Spawn) + AddConversationOption(conversation, "I can bring it to her.", "OfferQuest3") + AddConversationOption(conversation, "I do mind, actually.") + StartConversation(conversation, NPC, Spawn, "Good, good. I can get to work on more orders now. On that note, I've completed an order and need it delivered. Do you mind running it to the customer for me? The order is for Danya Halfmoon, she's usually outside at her anvil, just west of here. Yah, I'd do it but... well she's been quite annoying lately.") +end + +--------------------------------------------------------------------------------------------- +-- QUEST 3 +--------------------------------------------------------------------------------------------- + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function TalkToMeLater(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Talk to me later, I'm busy right now.", Spawn) +end + +--------------------------------------------------------------------------------------------- +-- QUEST 4 +--------------------------------------------------------------------------------------------- + +function LeavingHateAnytimeSoon(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl011.mp3", "", "", 1920696283, 4232876553, Spawn) + AddConversationOption(conversation, "Maybe, why?", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "Hello again. Leaving Hate's Envy anytime soon?") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl012.mp3", "", "", 245191252, 630199436, Spawn) + AddConversationOption(conversation, "I'd be interested.", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "I have another delivery for you. This time the order needs to be delivered west of T'Vatar Post, which is north of here. Interested?") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/fileyl_alyylharil/darklight_wood/hates_envy/fileyl/fileyl013.mp3", "", "", 240477682, 62641979, Spawn) + AddConversationOption(conversation, "I understand.", "OfferQuest4") + AddConversationOption(conversation, "I'd rather not.") + StartConversation(conversation, NPC, Spawn, "It's for Dirzdia T'Zauvirr. She asked for it to be delivered near the southern bridge that crosses the Searing Tendril. That's the river that flows from the Smoldering Lake. To get there, follow the path out of Hate's Envy. When you hit T'Vatar Post, go west. When the fork splits, follow it left.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function HelloAgain(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Hello Again.", Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/GaussnitraVKilana.lua b/Lua/SpawnScripts/Darklight/GaussnitraVKilana.lua new file mode 100755 index 000000000..3d70940ab --- /dev/null +++ b/Lua/SpawnScripts/Darklight/GaussnitraVKilana.lua @@ -0,0 +1,402 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/GaussnitraVKilana.lua + Script Purpose : Gaussnitra V'Kilana + Script Author : fearfx + Script Date : 2017.01.26 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + +end + --local choice = math.random(1,1) + + if choice == 1 then + PlayFlavor(NPC, "", "You have our gratitude.", "salute", 1689589577, 4560189, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Have you taken out the cultists?") + if convo==2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Have the wolves been taken care of?") + end + + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Have you slain them?") + end + + if convo==12 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_12_1") + StartConversation(conversation, NPC, Spawn, "Have you slain them?") + end + + if convo==18 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am willing.", "dlg_18_1") + StartConversation(conversation, NPC, Spawn, "Hello, Chayne. I'm stuck in Wanderlust Fair for now instead of out completing my assignments. Malyl says she needs me here to help with administrative work, how boring. I'd get Vicaonar to do my assignments for me, but I know he would just find a way to weasel out of them. How would you feel about doing some work for me?") + end + + if convo==19 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am willing.", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "Hello, Chayne. I'm stuck in Wanderlust Fair for now instead of out completing my assignments. Malyl says she needs me here to help with administrative work, how boring. I'd get Vicaonar to do my assignments for me, but I know he would just find a way to weasel out of them. How would you feel about doing some work for me?") + end + + if convo==22 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am willing.", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "Hello, Hacaci. I'm stuck in Wanderlust Fair for now instead of out completing my assignments. Malyl says she needs me here to help with administrative work. Sigh, how boring. I'd get Vicaonar to do my assignments for me, but he's just been sent out on some special assignment. How would you feel about doing some work for me?") + end + + if convo==23 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am willing.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "Hello, Hacaci. I'm stuck in Wanderlust Fair for now instead of out completing my assignments. Malyl says she needs me here to help with administrative work. Sigh, how boring. I'd get Vicaonar to do my assignments for me, but he's just been sent out on some special assignment. How would you feel about doing some work for me?") + end + + if convo==24 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "Have you taken them out?") + end + + if convo==25 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_25_1") + StartConversation(conversation, NPC, Spawn, "Have you taken them out?") + end + + if convo==26 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, they have.", "dlg_26_1") + StartConversation(conversation, NPC, Spawn, "Have the wolves been taken care of?") + end + + if convo==33 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_33_1") + StartConversation(conversation, NPC, Spawn, "Have you taken them out?") + end + + if convo==34 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_34_1") + StartConversation(conversation, NPC, Spawn, "Have you taken them out?") + end + + if convo==52 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_52_1") + StartConversation(conversation, NPC, Spawn, "Have you taken out the cultists?") + end + + if convo==53 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_53_1") + StartConversation(conversation, NPC, Spawn, "Have you taken out the cultists?") + end + + if convo==54 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_54_1") + StartConversation(conversation, NPC, Spawn, "Have you taken out the cultists?") + end + +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_1_2") + AddConversationOption(conversation, "I may return later to finish this business.") + StartConversation(conversation, NPC, Spawn, "Excellent work. Belarshalee has identified the leader of the cult, I'd like you to go take her out before they have time to recoup from the losses we've already inflicted upon them. She resides at the base of the crater itself, her name is Alerica. While you're there I'd also like you to take out the elite caste of the cult, the adherents.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I shall.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "Report back to me once you've finished.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything else I can do?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "Your work is excellent, Chayne. I will be sure and note how much of an asset you were in my report to Malyl. Thank you, soldier.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I can do that.", "dlg_5_3") + AddConversationOption(conversation, "I can not.") + StartConversation(conversation, NPC, Spawn, "There is, actually. I've been trying to get Vicaonar to figure out what is going on with the adolescent wolves to the northwest, but he keeps claiming he's too busy. I know the claim is false, but I cannot punish him. I will, of course, note his attitude to Malyl, but she is quite busy herself. Either way, I will be looking into the wolves to see if I can find a cause for their strange behavior. But, it would help in the interim if you could kill some of them so they stop harassing travelers and fair goers. Do you think you can do that for me?") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Thank you very much, Chayne.") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything else I can do?", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "Your work is excellent, Hacaci. I will be sure and note how much of an asset you were in my report to Malyl. Thank you, soldier.") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I can do that.", "dlg_12_3") + AddConversationOption(conversation, "I can not.") + StartConversation(conversation, NPC, Spawn, "There is, actually. Vicaonar has not returned from his latest assignment. He was sent to the east to investigate some missing Nerians who have failed to return to Wanderlust Fair. I need you to check on his progress, and aid him, if necessary.") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_12_4") + StartConversation(conversation, NPC, Spawn, "Thank you very much, Hacaci.") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You want me to take them out?", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "That's the first good news I've heard in quite a while. Right now I'm looking for potential threats to Neriak and to the Darklight Woods. For some time now there has been a cult operating out of the Sableflame Crater to the southeast. Though they haven't tried to move outward from their location, they are quite hostile to anyone--guards and citizens of Neriak included--who get close.") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_18_3") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "I do, but approach with caution. For now don't go into the crater itself, just kill those that wander too far away, their outriders, fanatics, and heralds.") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You want me to take them out?", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "That's the first good news I've heard in quite a while. Right now I'm looking for potential threats to Neriak and to the Darklight Woods. For some time now there has been a cult operating out of the Sableflame Crater to the southeast. Though they haven't tried to move outward from their location, they are quite hostile to anyone--guards and citizens of Neriak included--who get close.") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_19_3") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "I do, but approach with caution. For now don't go into the crater itself, just kill those that wander too far away, their outriders, fanatics, and heralds.") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will do.", "dlg_19_4") + StartConversation(conversation, NPC, Spawn, "Return to me once you've completed the task.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You want me to take them out?", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "That's the first good news I've heard in quite a while. Right now I'm looking for potential threats to Neriak and to the Darklight Woods. For some time now there has been a cult operating out of the Sableflame Crater to the southeast. Though they haven't tried to move outward from their location, they are quite hostile to anyone--guards and citizens of Neriak included--who get close.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_22_3") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "I do, but approach with caution. For now, don't go into the crater itself. Just kill those that wander around its perimeter: their outriders, fanatics, and heralds.") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You want me to take them out?", "dlg_23_2") + StartConversation(conversation, NPC, Spawn, "That's the first good news I've heard in quite a while. Right now I'm looking for potential threats to Neriak and to the Darklight Woods. For some time now there has been a cult operating out of the Sableflame Crater to the southeast. Though they haven't tried to move outward from their location, they are quite hostile to anyone--guards and citizens of Neriak included--who get close.") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_23_3") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "I do, but approach with caution. For now, don't go into the crater itself. Just kill those that wander around its perimeter: their outriders, fanatics, and heralds.") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will do.", "dlg_23_4") + StartConversation(conversation, NPC, Spawn, "Return to me once you've completed the task.") +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can do that.", "dlg_24_2") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "Nice work. I've just spoken with Malyl and she has given me permission to step up the operation against the Sableflame cultists. Though she still won't let me leave the camp. That means I'd like you to go inside the crater itself, though not too deep. I've been speaking with Belarshalee Do'Torlyl who also has an interest in these cultists and she's told me more of their ranks. This time I'd like you to take out their incanters, cauterizers, scryers and watchers.") +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can do that.", "dlg_25_2") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "Nice work. I've just spoken with Malyl and she has given me permission to step up the operation against the Sableflame cultists. Though she still won't let me leave the camp. That means I'd like you to go inside the crater itself, though not too deep. I've been speaking with Belarshalee Do'Torlyl who also has an interest in these cultists and she's told me more of their ranks. This time I'd like you to take out their incanters, cauterizers, scryers and watchers.") +end + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_25_3") + StartConversation(conversation, NPC, Spawn, "I know you can. I will see you when you return.") +end + +function dlg_33_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can do that.", "dlg_33_2") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "Nice work. I've just spoken with Malyl and she has given me permission to step up the operation against the Sableflame cultists. Unfortunately, she still won't let me leave the camp. That means I need you to return to the crater and venture inside the crater itself. I've been speaking with Belarshalee Do'Torlyl, who also has an interest in these cultists, and she's told me more of their ranks. This time I'd like you to take out their incanters, cauterizers, scryers, and watchers.") +end + +function dlg_34_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can do that.", "dlg_34_2") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "Nice work. I've just spoken with Malyl and she has given me permission to step up the operation against the Sableflame cultists. Unfortunately, she still won't let me leave the camp. That means I need you to return to the crater and venture inside the crater itself. I've been speaking with Belarshalee Do'Torlyl, who also has an interest in these cultists, and she's told me more of their ranks. This time I'd like you to take out their incanters, cauterizers, scryers, and watchers.") +end + +function dlg_34_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_34_3") + StartConversation(conversation, NPC, Spawn, "I know you can. I will see you when you return. Make sure to speak to Belarshalee before you leave. She may know something about the Sableflame that will assist you in your task.") +end + +function dlg_52_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_52_2") + AddConversationOption(conversation, "I may return later to finish this business.") + StartConversation(conversation, NPC, Spawn, "Excellent work. Belarshalee has identified the leader of the cult. I'd like you to take her out before they have time to recoup from the losses we've already inflicted upon them. She resides at the base of the crater itself, and her name is Alerica. While you're there, I'd also like you to take out the elite caste of the Sableflame cult: the adherents.") +end + +function dlg_53_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_53_2") + AddConversationOption(conversation, "I may return later to finish this business.") + StartConversation(conversation, NPC, Spawn, "Excellent work. Belarshalee has identified the leader of the cult. I'd like you to take her out before they have time to recoup from the losses we've already inflicted upon them. She resides at the base of the crater itself, and her name is Alerica. While you're there, I'd also like you to take out the elite caste of the Sableflame cult: the adherents.") +end + +function dlg_54_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_54_2") + AddConversationOption(conversation, "I may return later to finish this business.") + StartConversation(conversation, NPC, Spawn, "Excellent work. Belarshalee has identified the leader of the cult. I'd like you to take her out before they have time to recoup from the losses we've already inflicted upon them. She resides at the base of the crater itself, and her name is Alerica. While you're there, I'd also like you to take out the elite caste of the Sableflame cult: the adherents.") +end + +function dlg_54_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I shall.", "dlg_54_3") + StartConversation(conversation, NPC, Spawn, "Report back to me once you've finished.") +end +]]-- + +--[[ raw_conversations + PlayFlavor(NPC, "", "You have our gratitude.", "salute", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Darklight/GeldaxXalylharil.lua b/Lua/SpawnScripts/Darklight/GeldaxXalylharil.lua new file mode 100755 index 000000000..4d47a8f3a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/GeldaxXalylharil.lua @@ -0,0 +1,727 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/GeldaxXalylharil.lua + Script Purpose : Geldax Xalylharil + Script Author : fearfx + Script Date : 2017.01.26 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TheWarpfontSpire = 192 +local ComparisonsToTheHarrowglade = 193 +local OtherMaterials = 194 +local ResonanceCapture = 195 + +function spawn(NPC) + ProvidesQuest(NPC, TheWarpfontSpire) + ProvidesQuest(NPC, ComparisonsToTheHarrowglade) + ProvidesQuest(NPC, OtherMaterials) + ProvidesQuest(NPC, ResonanceCapture) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, TheWarpfontSpire) and not HasCompletedQuest(Spawn, TheWarpfontSpire) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am " .. GetName(Spawn) .. ".", "Quest_TheWarpfontSpire") + StartConversation(conversation, NPC, Spawn, "Greetings. I am Geldax Xalylharil.") + elseif HasQuest(Spawn, TheWarpfontSpire) and GetQuestStep(Spawn, TheWarpfontSpire) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, here you go.", "Quest_ComparisonsToTheHarrowglade") + StartConversation(conversation, NPC, Spawn, "Do you have the dust?") + elseif not HasQuest(Spawn, ComparisonsToTheHarrowglade) and HasCompletedQuest(Spawn, TheWarpfontSpire) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, here you go.", "Quest_ComparisonsToTheHarrowglade") + StartConversation(conversation, NPC, Spawn, "Do you have the dust?") + else + Say(NPC, "End of Dialog, or error") + end +end + +-------------------------------------------------------------------------------- +-- The Warpfont Spire +-------------------------------------------------------------------------------- + +function Quest_TheWarpfontSpire(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is your work?", "Quest_TheWarpfontSpire_01") + StartConversation(conversation, NPC, Spawn, "Ah, that name sounds familiar to me for some reason. In any case, welcome to the Wanderlust Fair. Home to many things I have nothing to do with, but also to a bright scientific community. Watching Vornlin work is quite impressive, I must say. I don't know what he is studying, though, as my own work keeps me too busy to question him much.") +end + +function Quest_TheWarpfontSpire_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "And you're trying to figure that out?", "Quest_TheWarpfontSpire_02") + StartConversation(conversation, NPC, Spawn, "Have you ever heard of Warp Fatigue? I hope not, because I just made it up. But it is what I use to describe the effects of 'something' on certain inhabitants of the Darklight Wood. Near the pass to the Commonlands, southeast of here, you can find the Warpfont Spire. The stone itself has been twisted by some unnatural force. Wisps that spend time near it become twisted themselves, but nobody knows why.") +end + +function Quest_TheWarpfontSpire_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I could help collect samples.", "Quest_TheWarpfontSpire_03") + StartConversation(conversation, NPC, Spawn, "Trying, yes, but so far I have not learned very much. Things would go much faster if I could have my samples gathered while I was working, but I'm not as prestigious as Vornlin, and was not provided with an assistant.") +end + +function Quest_TheWarpfontSpire_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, I'll go collect your samples.", "QuestOffer_TheWarpfontSpire") + AddConversationOption(conversation, "I'm a little busy at the moment.") + StartConversation(conversation, NPC, Spawn, "That would be perfect. Right now I need the resonant dust from the warped wisplings that coalesce about the Warpfont Spire. If you take the road east out of Wanderlust Fair and then go south at the fork, the Warpfont Spire is south of where the Searing Tendril River splits.") +end + +function QuestOffer_TheWarpfontSpire(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, TheWarpfontSpire) + + AddConversationOption(conversation, "Great.", "dlg_5_6") + StartConversation(conversation, NPC, Spawn, "They should be easy to get, the wisps are filled with this dust.") +end + +-------------------------------------------------------------------------------- +-- Comparisons To The Harrowglade +-------------------------------------------------------------------------------- + +function Quest_ComparisonsToTheHarrowglade(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, TheWarpfontSpire) == 2 then + SetStepComplete(Spawn, TheWarpfontSpire, 2) + end + + AddConversationOption(conversation, "What happened?", "Quest_ComparisonsToTheHarrowglade_01") + StartConversation(conversation, NPC, Spawn, "My thanks. I can now run some of my first tests to see if--hm. I wasn't exactly expecting this.") +end + +function Quest_ComparisonsToTheHarrowglade_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So it's affecting everything?", "Quest_ComparisonsToTheHarrowglade_02") + StartConversation(conversation, NPC, Spawn, "Well, I had always assumed the wisps were affected by the Warpfont Spires because they were somehow naturally attuned to whatever energies the spire is putting out. The magical nature of wisps is why I had assumed only they were being affected. But I've just now come across an impure sample from one of the warped wisplings and it seems that the very soil is also being somehow adjusted by the energies of the Warpfont Spire.") +end + +function Quest_ComparisonsToTheHarrowglade_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you need this time?", "Quest_ComparisonsToTheHarrowglade_03") + StartConversation(conversation, NPC, Spawn, "I really don't know. Maybe the wisp itself affected this soil, I can't tell without more samples.") +end + +function Quest_ComparisonsToTheHarrowglade_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll go collect the rocks.", "QuestOffer_ComparisonsToTheHarrowglade") + AddConversationOption(conversation, "I can't, actually.") + StartConversation(conversation, NPC, Spawn, "Rocks, if you could. Rocks from the Warpfont Spire as well as from the Harrowglade. If this warp is affecting everything then perhaps the spire is not a conduit as I originally imagined and merely a bystander, as these wisps.") +end + +function QuestOffer_ComparisonsToTheHarrowglade(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, ComparisonsToTheHarrowglade) + + AddConversationOption(conversation, "I'll be back.", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "Thank you. I will continue my research.") +end + +--[[ + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, here you go.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Do you have the dust?") + if convo==1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I do.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Do you have the samples?") + end + + if convo==3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I do.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Do you have the samples?") + end + + if convo==4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am Chayne.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Greetings. I am Geldax Xalylharil.") + end + + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am Chayne.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Greetings. I am Geldax Xalylharil.") + end + + if convo==6 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I do.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Do you have the samples?") + end + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I do.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Do you have the samples?") + end + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes I have.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Have you captured the warp extract?") + end + + if convo==14 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am Hacaci.", "dlg_14_1") + StartConversation(conversation, NPC, Spawn, "Greetings. I am Geldax Xalylharil.") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am Hacaci.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Greetings. I am Geldax Xalylharil.") + end + + if convo==20 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yup. Here you go.", "dlg_20_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the dust?") + end + + if convo==21 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yup. Here you go.", "dlg_21_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the dust?") + end + + if convo==24 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the dust?") + end + + if convo==29 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yup. Here you go.", "dlg_29_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the dust?") + end + + if convo==30 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yup. Here you go.", "dlg_30_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the dust?") + end + + if convo==60 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, here you go.", "dlg_60_1") + StartConversation(conversation, NPC, Spawn, "Do you have the dust?") + end + + if convo==61 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, here you go.", "dlg_61_1") + StartConversation(conversation, NPC, Spawn, "Do you have the dust?") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "My thanks. I can now run some of my first tests to see if--hm. I wasn't exactly expecting this.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So it's affecting everything?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Well, I had always assumed the wisps were affected by the Warpfont Spires because they were somehow naturally attuned to whatever energies the spire is putting out. The magical nature of wisps is why I had assumed only they were being affected. But I've just now come across an impure sample from one of the warped wisplings and it seems that the very soil is also being somehow adjusted by the energies of the Warpfont Spire.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you need this time?", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "I really don't know. Maybe the wisp itself affected this soil, I can't tell without more samples.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go collect the rocks.", "dlg_0_5") + AddConversationOption(conversation, "I can't, actually.") + StartConversation(conversation, NPC, Spawn, "Rocks, if you could. Rocks from the Warpfont Spire as well as from the Harrowglade. If this warp is affecting everything then perhaps the spire is not a conduit as I originally imagined and merely a bystander, as these wisps.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "Thank you. I will continue my research.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What plan?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Thank you. When I study these further I may be able to figure out what is going on. However, I have another plan to gain more information.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_1_3") + AddConversationOption(conversation, "Right now I would mind.") + StartConversation(conversation, NPC, Spawn, "I believe I've found a way to... well... extract the warp from one of the wisplings affected by it. However, using it on the resonant dust from the warped wisplings isn't returning quite the volume I was looking for. However, using it on a living wispling might prove more productive. Would you mind collecting some for me?") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll be back.", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Great. I believe this will help a great deal with my research.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What plan?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Thank you. When I study these further I may be able to figure out what is going on. However, I have another plan to gain more information.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_3_3") + AddConversationOption(conversation, "Right now I would mind.") + StartConversation(conversation, NPC, Spawn, "I believe I've found a way to... well... extract the warp from one of the wisplings affected by it. However, using it on the resonant dust from the warped wisplings isn't returning quite the volume I was looking for. However, using it on a living wispling might prove more productive. Would you mind collecting some for me?") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll be back.", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "Great. I believe this will help a great deal with my research.") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is your work?", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Ah, that name sounds familiar to me for some reason. In any case, welcome to the Wanderlust Fair. Home to many things I have nothing to do with, but also to a bright scientific community. Watching Vornlin work is quite impressive, I must say. I don't know what he is studying, though, as my own work keeps me too busy to question him much.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And you're trying to figure that out?", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "Have you ever heard of Warp Fatigue? I hope not, because I just made it up. But it is what I use to describe the effects of 'something' on certain inhabitants of the Darklight Wood. Near the pass to the Commonlands, southeast of here, you can find the Warpfont Spire. The stone itself has been twisted by some unnatural force. Wisps that spend time near it become twisted themselves, but nobody knows why.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I could help collect samples.", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "Trying, yes, but so far I have not learned very much. Things would go much faster if I could have my samples gathered while I was working, but I'm not as prestigious as Vornlin, and was not provided with an assistant.") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll go collect your samples.", "dlg_4_5") + AddConversationOption(conversation, "I'm a little busy at the moment.") + StartConversation(conversation, NPC, Spawn, "That would be perfect. Right now I need the resonant dust from the warped wisplings that coalesce about the Warpfont Spire. If you take the road east out of Wanderlust Fair and then go south at the fork, the Warpfont Spire is south of where the Searing Tendril River splits.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is your work?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "Ah, that name sounds familiar to me for some reason. In any case, welcome to the Wanderlust Fair. Home to many things I have nothing to do with, but also to a bright scientific community. Watching Vornlin work is quite impressive, I must say. I don't know what he is studying, though, as my own work keeps me too busy to question him much.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And you're trying to figure that out?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Have you ever heard of Warp Fatigue? I hope not, because I just made it up. But it is what I use to describe the effects of 'something' on certain inhabitants of the Darklight Wood. Near the pass to the Commonlands, southeast of here, you can find the Warpfont Spire. The stone itself has been twisted by some unnatural force. Wisps that spend time near it become twisted themselves, but nobody knows why.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I could help collect samples.", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Trying, yes, but so far I have not learned very much. Things would go much faster if I could have my samples gathered while I was working, but I'm not as prestigious as Vornlin, and was not provided with an assistant.") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll go collect your samples.", "dlg_5_5") + AddConversationOption(conversation, "I'm a little busy at the moment.") + StartConversation(conversation, NPC, Spawn, "That would be perfect. Right now I need the resonant dust from the warped wisplings that coalesce about the Warpfont Spire. If you take the road east out of Wanderlust Fair and then go south at the fork, the Warpfont Spire is south of where the Searing Tendril River splits.") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Great.", "dlg_5_6") + StartConversation(conversation, NPC, Spawn, "They should be easy to get, the wisps are filled with this dust.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What plan?", "dlg_6_2") + StartConversation(conversation, NPC, Spawn, "Thank you. When I study these further I may be able to figure out what is going on. However, I have another plan to gain more information.") +end + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_6_3") + AddConversationOption(conversation, "Right now I would mind.") + StartConversation(conversation, NPC, Spawn, "I believe I've found a way to... well... extract the warp magic from one of the wisplings. However, using it on the resonant dust you recovered from warped wisplings isn't returning quite the volume I was looking for. The magic extracted from a live wispling should prove more voluminous. Would you mind collecting them for me?") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What plan?", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Thank you. When I study these further I may be able to figure out what is going on. However, I have another plan to gain more information.") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_7_3") + AddConversationOption(conversation, "Right now I would mind.") + StartConversation(conversation, NPC, Spawn, "I believe I've found a way to... well... extract the warp magic from one of the wisplings. However, using it on the resonant dust you recovered from warped wisplings isn't returning quite the volume I was looking for. The magic extracted from a live wispling should prove more voluminous. Would you mind collecting them for me?") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right. I'll be back.", "dlg_7_4") + StartConversation(conversation, NPC, Spawn, "Splendid. This will help a great deal with my research.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Really begin?", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "Perfect. I believe I have all I need now to really begin my research.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "Yes. This is going to take some time. I did preliminary tests to help focus my study, but I've got a long way to go. You helped me up to this point much faster though, thank you.") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is your work?", "dlg_14_2") + StartConversation(conversation, NPC, Spawn, "Ah, that name sounds familiar to me for some reason. In any case, welcome to the Wanderlust Fair. Home to many things I have nothing to do with, but also to a bright scientific community. Watching Vornlin work is quite impressive, I must say. I don't know what he is studying, though, as my own work keeps me too busy to question him much.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And you're trying to figure that out?", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "Have you ever heard of Warp Fatigue? I hope not, because I just made it up. But it is what I use to describe the effects of 'something' on certain inhabitants of the Darklight Wood. Near the pass to the Commonlands, southeast of here, you can find the Warpfont Spire. The stone itself has been twisted by some unnatural force. Wisps that spend time near it become twisted themselves, but nobody knows why.") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I could help collect samples.", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "Trying, yes, but so far I have not learned very much. Things would go much faster if I could have my samples gathered while I was working, but I'm not as prestigious as Vornlin, and was not provided with an assistant.") +end + +function dlg_14_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll go collect your samples.", "dlg_14_5") + AddConversationOption(conversation, "I'm a little busy at the moment.") + StartConversation(conversation, NPC, Spawn, "That would be perfect. Right now I need the resonant dust from the warped wisplings that coalesce about the Warpfont Spire. If you take the road east out of Wanderlust Fair and then go south at the fork, the Warpfont Spire is south of where the Searing Tendril River splits.") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is your work?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "Ah, that name sounds familiar to me for some reason. In any case, welcome to the Wanderlust Fair. Home to many things I have nothing to do with, but also to a bright scientific community. Watching Vornlin work is quite impressive, I must say. I don't know what he is studying, though, as my own work keeps me too busy to question him much.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And you're trying to figure that out?", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "Have you ever heard of Warp Fatigue? I hope not, because I just made it up. But it is what I use to describe the effects of 'something' on certain inhabitants of the Darklight Wood. Near the pass to the Commonlands, southeast of here, you can find the Warpfont Spire. The stone itself has been twisted by some unnatural force. Wisps that spend time near it become twisted themselves, but nobody knows why.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I could help collect samples.", "dlg_15_4") + StartConversation(conversation, NPC, Spawn, "Trying, yes, but so far I have not learned very much. Things would go much faster if I could have my samples gathered while I was working, but I'm not as prestigious as Vornlin, and was not provided with an assistant.") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll go collect your samples.", "dlg_15_5") + AddConversationOption(conversation, "I'm a little busy at the moment.") + StartConversation(conversation, NPC, Spawn, "That would be perfect. Right now I need the resonant dust from the warped wisplings that coalesce about the Warpfont Spire. If you take the road east out of Wanderlust Fair and then go south at the fork, the Warpfont Spire is south of where the Searing Tendril River splits.") +end + +function dlg_15_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Great.", "dlg_15_6") + StartConversation(conversation, NPC, Spawn, "They should be easy to get. The wisps are filled with this dust.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I can get more samples.", "dlg_20_2") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Perfect! I appreciate this greatly. This will be quite enough to last me for some while. Hm, do you think you could restock my supplies for the same powder from the wisplings that aren't warped? They are west across the river from the Warpfont Spire, in a small section of the wood known as the Harrowglade.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I can get more samples.", "dlg_21_2") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Perfect! I appreciate this greatly. This will be quite enough to last me for some while. Hm, do you think you could restock my supplies for the same powder from the wisplings that aren't warped? They are west across the river from the Warpfont Spire, in a small section of the wood known as the Harrowglade.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "Good. I will need control samples in my research.") +end + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I can get more samples.", "dlg_29_2") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Perfect! I appreciate this greatly. This will be quite enough to last me for some while. Hm, do you think you could restock my supplies for the same powder from the wisplings that aren't warped? They are west across the river from the Warpfont Spire, in a small section of the wood known as the Harrowglade.") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I can get more samples.", "dlg_30_2") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Perfect! I appreciate this greatly. This will be quite enough to last me for some while. Hm, do you think you could restock my supplies for the same powder from the wisplings that aren't warped? They are west across the river from the Warpfont Spire, in a small section of the wood known as the Harrowglade.") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_30_3") + StartConversation(conversation, NPC, Spawn, "Good. I will need control samples in my research.") +end + +function dlg_60_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_60_2") + StartConversation(conversation, NPC, Spawn, "My thanks. I can now run some of my first tests to see if--hm. I wasn't exactly expecting this.") +end + +function dlg_60_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So you think the spires might be affecting everything?", "dlg_60_3") + StartConversation(conversation, NPC, Spawn, "I assumed the wisps were affected by the Warpfont Spires because they are naturally attuned to the arcane energies emitted by the spire, and yet here is an impure sample of soil from one of the wisplings. I wonder if the very earth itself isn't being affected by the energies of the spire.") +end + +function dlg_60_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kinds of samples?", "dlg_60_4") + StartConversation(conversation, NPC, Spawn, "I'm unsure. Maybe the wisp augmented the soil. I can't be certain without more samples.") +end + +function dlg_60_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go collect the rocks.", "dlg_60_5") + AddConversationOption(conversation, "I can't, actually.") + StartConversation(conversation, NPC, Spawn, "Perhaps the spire is not a conduit, as I originally hypothesized. I will require rocks from the Warpfont Spire as well as from the Harrowglade.") +end + +function dlg_61_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_61_2") + StartConversation(conversation, NPC, Spawn, "My thanks. I can now run some of my first tests to see if--hm. I wasn't exactly expecting this.") +end + +function dlg_61_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So you think the spires might be affecting everything?", "dlg_61_3") + StartConversation(conversation, NPC, Spawn, "I assumed the wisps were affected by the Warpfont Spires because they are naturally attuned to the arcane energies emitted by the spire, and yet here is an impure sample of soil from one of the wisplings. I wonder if the very earth itself isn't being affected by the energies of the spire.") +end + +function dlg_61_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kinds of samples?", "dlg_61_4") + StartConversation(conversation, NPC, Spawn, "I'm unsure. Maybe the wisp augmented the soil. I can't be certain without more samples.") +end + +function dlg_61_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go collect the rocks.", "dlg_61_5") + AddConversationOption(conversation, "I can't, actually.") + StartConversation(conversation, NPC, Spawn, "Perhaps the spire is not a conduit, as I originally hypothesized. I will require rocks from the Warpfont Spire as well as from the Harrowglade.") +end + +function dlg_61_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_61_6") + StartConversation(conversation, NPC, Spawn, "Waste no time, Hacaci.") +end + +]]-- \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/GhaunatarTrearn.lua b/Lua/SpawnScripts/Darklight/GhaunatarTrearn.lua new file mode 100755 index 000000000..15af5cd2e --- /dev/null +++ b/Lua/SpawnScripts/Darklight/GhaunatarTrearn.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/Darklight/GhaunatarTrearn.lua + Script Purpose : Ghaunatar Trearn + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am XXXXXXXXX.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "For the balance. I am Ghaunatar Trearn, in Thelia's service.") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What work?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "It is good that you arrive here, .. GetName(Spawn) .. . There is work to be done and many of our druids are far away.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am willing.", "dlg_0_3") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Work for the Darklight Wood, we are her keepers. For instance, the kodiak population has grown very large over the past few months. Though I am working diligently to discover the reason for this, their numbers are affecting the wood even now, and they must be culled. And so we need the services of those such as yourself. Are you willing?") +end + diff --git a/Lua/SpawnScripts/Darklight/GinryneXTreval.lua b/Lua/SpawnScripts/Darklight/GinryneXTreval.lua new file mode 100755 index 000000000..5d39d7b43 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/GinryneXTreval.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, 87) and not QuestStepIsComplete(Caster, 87, 2) then + SetStepComplete(Caster, 87, 2) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/GinwyssDArkenett.lua b/Lua/SpawnScripts/Darklight/GinwyssDArkenett.lua new file mode 100755 index 000000000..8988e14a3 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/GinwyssDArkenett.lua @@ -0,0 +1,300 @@ +--[[ + Script Name : SpawnScripts/Darklight/GinwyssDArkenett.lua + Script Purpose : Ginwyss D'Arkenett ID 340064 + Script Author : Cynnar + Script Date : 2015.12.30 + Script Notes : A Guard Insignia? Examine item a Neriak recruit badge dropped by moldering soldiers + Scritp Notes : It leads to Gwinyss final quest. +--]] + +local NoUndeadGoesUnturned = 134 +local ThexianTaint = 135 +local RottingScum = 138 +local PickingUpSlack = 139 +local AGuardInsignia = 140 +local MissingRecruit = 141 + +function spawn(NPC) + ProvidesQuest(NPC, RottingScum) + ProvidesQuest(NPC, PickingUpSlack) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, ThexianTaint) and GetQuestStep(Spawn, ThexianTaint) < 3 then + StartConversation(conversation, NPC, Spawn, "You need speak with Sselnyl Do'Zyth in Hate's Envy, then come back and see me.") + elseif not HasCompletedQuest(Spawn, ThexianTaint) and GetQuestStep(Spawn, ThexianTaint) == 3 then + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss001.mp3", "", "", 3871091964, 1580185291, Spawn) + AddConversationOption(conversation, "Sselnyl Do'Zyth has sent me from Hate's Envy. I've just stopped a Thexian Desecrator from completing a ritual at the Wellspring of Nightmares.", "ThexianTaint_Finish") + AddConversationOption(conversation, "Is there nothing I can do to help?", "Quest_RottingScum_B") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "You wish to help? If that's the case, then you need speak with Sselnyl Do'Zyth in Hate's Envy") + elseif HasCompletedQuest(Spawn, ThexianTaint) and not HasCompletedQuest(Spawn, RottingScum) then + if HasQuest(Spawn, RottingScum) then + if GetQuestStep(Spawn, RottingScum) ~= 3 then + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss009.mp3", "", "", 1363812552, 1394644666, Spawn) + AddConversationOption(conversation, "Not yet.", "RottingScum_No") + else + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss009.mp3", "", "", 1363812552, 1394644666, Spawn) + AddConversationOption(conversation, "I have.", "RottingScum_Yes") + end + StartConversation(conversation, NPC, Spawn, "Have you decimated the Thexian's proxy army?") + else + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss001.mp3", "", "", 3871091964, 1580185291, Spawn) + AddConversationOption(conversation, "Is there nothing I can do to help?", "Quest_RottingScum_B") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Yes? We've much to deal with here, so if I seem uneager to speak with you that is why.") + end + elseif HasCompletedQuest(Spawn, RottingScum) and not HasQuest(Spawn, PickingUpSlack) and not HasCompletedQuest(Spawn, PickingUpSlack) then + PickingUpSlack_B(NPC, Spawn) + elseif HasQuest(Spawn, PickingUpSlack) and not HasCompletedQuest(Spawn, PickingUpSlack) then + if GetQuestStep(Spawn, PickingUpSlack) < 2 then + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss016.mp3", "", "", 1608180400, 3304590468, Spawn) + AddConversationOption(conversation, "Not yet.", "PickingUpSlack_No") + else + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss016.mp3", "", "", 1608180400, 3304590468, Spawn) + AddConversationOption(conversation, "I have.", "PickingUpSlack_Yes") + end + StartConversation(conversation, NPC, Spawn, "Did you collect enough scrap pieces of armor?") + elseif HasCompletedQuest(Spawn, PickingUpSlack) and not HasQuest(Spawn, AGuardInsignia) and not HasCompletedQuest(Spawn, AGuardInsignia) then + PickingUpSlack_02(NPC, Spawn) + elseif HasQuest(Spawn, AGuardInsignia)then --and not HasQuest(Spawn, MissingRecruit) then + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss020.mp3", "", "", 2409485632, 3192848351, Spawn) + AddConversationOption(conversation, "I found this while hunting undead.", "Quest_MissingRecruit") + StartConversation(conversation, NPC, Spawn, "Yes, what is it now, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, AGuardInsignia) and not HasQuest(Spawn, MissingRecruit) and not HasCompletedQuest(Spawn, MissingRecruit) then + Quest_MissingRecruit(NPC, Spawn) + elseif HasQuest(Spawn, MissingRecruit) then + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss024.mp3", "", "", 3017598578, 1088608550, Spawn) + if GetQuestStep(Spawn, MissingRecruit) < 2 then + AddConversationOption(conversation, "Not yet.", "MissingRecruit_No") + else + AddConversationOption(conversation, "I have. Here you go.", "MissingRecruit_Yes") + end + StartConversation(conversation, NPC, Spawn, "Have you found his field kit?") + else + Say(NPC, "Nice work. Laexyar and I appreciate it.") + end +end + +-------------------------------------------------------------------------------------- +-- Thexian Taint Complete +-------------------------------------------------------------------------------------- + +function ThexianTaint_Finish(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ThexianTaint, 3) + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss002.mp3", "", "", 195833289, 1438804587, Spawn) + AddConversationOption(conversation, "Why is that?", "Quest_RottingScum") + StartConversation(conversation, NPC, Spawn, "Of course. We appreciate this. Anything we can do to keep the Thexians out of these woods is helpful. I am glad you have arrived.") +end + +-------------------------------------------------------------------------------------- +-- QUEST Rotting Scum +-------------------------------------------------------------------------------------- +function Quest_RottingScum(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss004.mp3", "", "", 2620151660, 2492067079, Spawn) + AddConversationOption(conversation, "I am.", "Quest_RottingScum_01") + AddConversationOption(conversation, "I am not.") + StartConversation(conversation, NPC, Spawn, "Laexyra is in charge of the Dread Guard here in the Darklight Wood. She's been moving forces deeper into the wood and will continue to do so until we control this land as cleanly as we do the city of Neriak itself. Are you willing to lend your assistance?") +end + +function Quest_RottingScum_B(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss003.mp3", "", "", 3004928751, 1497818906, Spawn) + AddConversationOption(conversation, "Oh?", "Quest_RottingScum") + StartConversation(conversation, NPC, Spawn, "You wish to help? If that's the case, then I'm glad you're here.") +end + +function Quest_RottingScum_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "agree", 0, 0, Spawn) + AddConversationOption(conversation, "Where have they come from?", "Quest_RottingScum_02") + StartConversation(conversation, NPC, Spawn, "That is good to hear, " .. GetName(Spawn) .. ". I would like your help with the undead that infest this camp.") +end + +function Quest_RottingScum_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss006.mp3", "", "", 1721704244, 1661413444, Spawn) + AddConversationOption(conversation, "These corpses... Who were they?", "Quest_RottingScum_03") + StartConversation(conversation, NPC, Spawn, "This was once the site of a very large battle. Though ages old, new corpses are beginning to resurface and attack. I suspect none other than the Thexians to be behind this plot. The cowards would rather have the dead attack us than face us in open battle!") +end + +function Quest_RottingScum_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss007.mp3", "", "", 1606040300, 1401696355, Spawn) + AddConversationOption(conversation, "Very well.", "QuestOffer_RottingScum") + AddConversationOption(conversation, "I cannot do what you ask.") + StartConversation(conversation, NPC, Spawn, "The fallen rangers and stout cadavers are the corpses of the halfling armies and their allies who attacked Neriak long ago. Now in undeath they seek to fulfill their mission once more. You must put them down at once!") +end + +function QuestOffer_RottingScum(NPC, Spawn) + OfferQuest(NPC, Spawn, RottingScum) +end + +function RottingScum_No(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss011.mp3", "", "", 465595230, 4113153338, Spawn) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, NPC, Spawn, "Do not return until you have put down the stout cadavers and fallen rangers!") +end + +function RottingScum_Yes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, RottingScum, 3) + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss010.mp3", "", "agree", 1734208636, 3841795105, Spawn) + AddConversationOption(conversation, "Isn't there a way to get rid of them permanently?", "PickingUpSlack_A") + StartConversation(conversation, NPC, Spawn, "Good. They'll be back in short order, unfortunately. Your efforts, however, should cause them to cease annoying us for the time being.") +end + +-------------------------------------------------------------------------------------- +-- QUEST Picking Up Slack +-------------------------------------------------------------------------------------- + +function PickingUpSlack_A(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss012.mp3", "", "agree", 1734208636, 3841795105, Spawn) + AddConversationOption(conversation, "What do you mean?", "PickingUpSlack_B") + StartConversation(conversation, NPC, Spawn, "I believe Laexyra is looking into that matter. However, before you run along and help her, I first need your assistance in dealing with a few deserters.") +end + +function PickingUpSlack_B(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I could help again.", "PickingUpSlack_01") + AddConversationOption(conversation, "I must take my leave.") + StartConversation(conversation, NPC, Spawn, "New recruits looking for a fast track into Neriak often disappear. I had one leave just yesterday, and I'm having trouble finding someone to replace him.") +end + +function PickingUpSlack_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss014.mp3", "", "", 3763405805, 3752416036, Spawn) + AddConversationOption(conversation, "All right.", "QuestOffer_PickingUpSlack") + AddConversationOption(conversation, "I would prefer not to.") + StartConversation(conversation, NPC, Spawn, "Indeed you could, " .. GetName(Spawn) .. ". I doubt Soltrin is coming back anytime soon. I had him collecting scraps of armor from the moldering soldiers found north from here. Jargos claims he can forge the pieces into new armor plates. Bring me several pieces and you will be rewarded.") +end + +function QuestOffer_PickingUpSlack(NPC, Spawn) + OfferQuest(NPC, Spawn, PickingUpSlack) +end + +function PickingUpSlack_No(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss018.mp3", "", "", 3110804349, 157804660, Spawn) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, NPC, Spawn, "Jargos cannot make armor plates with raw material. Do not return until you've collected enough scrap armor from the moldering soldiers.") +end + +function PickingUpSlack_Yes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, PickingUpSlack, 2) + + if HasQuest(Spawn, AGuardInsignia) then + AddConversationOption(conversation, "I found this while hunting undead.", "Quest_MissingRecruit") + StartConversation(conversation, NPC, Spawn, "Good work, young one. You're turning out to be a much harder worker than that no good deserter, Soltrin. Curious... I wonder what became of him.") + else + AddConversationOption(conversation, "I'll keep my eyes open for him.", "PickingUpSlack_03") + StartConversation(conversation, NPC, Spawn, "Good work, young one. You're turning out to be a much harder worker than that no good deserter, Soltrin. Curious... I wonder what became of him.") + end +end + +function PickingUpSlack_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, AGuardInsignia) then + AddConversationOption(conversation, "I found this while hunting undead.", "Quest_MissingRecruit") + StartConversation(conversation, NPC, Spawn, "Good work, young one. You're turning out to be a much harder worker than that no good deserter, Soltrin. Curious... I wonder what became of him.") + else + AddConversationOption(conversation, "I'll keep my eyes open for him.", "PickingUpSlack_03") + StartConversation(conversation, NPC, Spawn, "Good work, young one. You're turning out to be a much harder worker than that no good deserter, Soltrin. Curious... I wonder what became of him.") + end +end + +function PickingUpSlack_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll see what I can do.") + StartConversation(conversation, NPC, Spawn, "That is much appreciated, " .. GetName(Spawn) .. ". Now, in the meantime I suggest you speak with some of the others found here at this post. There is much work to be done.") +end + +-------------------------------------------------------------------------------------- +-- QUEST Missing Recruit +-------------------------------------------------------------------------------------- + +function Quest_MissingRecruit(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, MissingRecruit, 1) + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss021.mp3", "", "", 4046947438, 1960374270, Spawn) + AddConversationOption(conversation, "Sure.", "Quest_MissingRecruit_01") + StartConversation(conversation, NPC, Spawn, "Hmm. Interesting. Perhaps Soltrin didn't catch the fever. Perhaps he died while performing his duties--how noble of him. I wonder if we can still retrieve his field kit... Are you up for another task, " .. GetName(Spawn) .. "?") +end + +function Quest_MissingRecruit_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, AGuardInsignia, 1) + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss022.mp3", "", "", 2283622719, 1945338688, Spawn) + AddConversationOption(conversation, "All right.", "QuestOffer_MissingRecruit") + StartConversation(conversation, NPC, Spawn, "I'd like you to search the same area where you destroyed the undead soldiers. If Soltrin was killed, it's quite possible that his body is nearby. Hopefully his field kit will still be intact. If it is, I'd like you to retrieve it for me.") +end + +function QuestOffer_MissingRecruit(NPC, Spawn) + OfferQuest(NPC, Spawn, MissingRecruit) +end + +function MissingRecruit_No(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss026.mp3", "", "", 3389215806, 2500269282, Spawn) + AddConversationOption(conversation, "Alright, alright!") + StartConversation(conversation, NPC, Spawn, "Keep searching then!") +end + +function MissingRecruit_Yes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, MissingRecruit, 2) + + PlayFlavor(NPC, "ginwyss_d_arkenett/darklight_wood/tvatar_post/ginwyss_revamp/ginwyss025.mp3", "", "", 3122094664, 4174660668, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Nice work, Sygman. These kits aren't cheap. Again, you have our thanks.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/GuardDonidas.lua b/Lua/SpawnScripts/Darklight/GuardDonidas.lua new file mode 100755 index 000000000..89193ea11 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/GuardDonidas.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Darklight/GuardDonidas.lua + Script Purpose : Guard Donidas + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 1744928325, 2718395831, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3265760930, 1055342916, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Darklight/GuardTiboen.lua b/Lua/SpawnScripts/Darklight/GuardTiboen.lua new file mode 100755 index 000000000..3e525e72c --- /dev/null +++ b/Lua/SpawnScripts/Darklight/GuardTiboen.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Darklight/GuardTiboen.lua + Script Purpose : Guard Tiboen + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1906726944, 247472694, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3265760930, 1055342916, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Darklight/HarnenTaptha.lua b/Lua/SpawnScripts/Darklight/HarnenTaptha.lua new file mode 100755 index 000000000..27e46f60d --- /dev/null +++ b/Lua/SpawnScripts/Darklight/HarnenTaptha.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : SpawnScripts/Darklight/HarnenTaptha.lua + Script Purpose : Harnen Taptha + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, 99) and GetQuestStep(Spawn, 99) == 1 then + WhatDoYouWant(NPC, Spawn, conversation) + else + Say(NPC, "Go away, go away, go away, go away!", Spawn) + end +end + +function WhatDoYouWant(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/neriak/harnen_taptha/darklight_wood/tvatar_post/laexyra/harnen/harnen000.mp3", "", "", 2511697998, 3854280665, Spawn) + AddConversationOption(conversation, "I have a message for you.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "What? What is it?! What do you want?!") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/harnen_taptha/darklight_wood/tvatar_post/laexyra/harnen/harnen001.mp3", "", "", 1833587639, 1382963065, Spawn) + AddConversationOption(conversation, "Laexyra Y'Barriath wanted me to remind you that she was right.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Oh? Maybe this is about those mercenaries that failed to show.") +end + +function dlg_2_2(NPC, Spawn) + SetStepComplete(Spawn, 99, 1) + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Harnen...") + StartConversation(conversation, NPC, Spawn, "...") +end + +function healthchanged(NPC, Spawn) + current_hp = GetHP(NPC) + max_hp = GetMaxHP(NPC) + + if (current_hp <= (max_hp *2)) then + choice = math.random(1, 2) + if choice == 1 then + Say(NPC, "For Thule's sake!", Spawn) + else + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_halfhealth_gm_8bdfff2d.mp3", "I won't miss again!", "", 1970756563, 618808961, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/IlmtarDViervs.lua b/Lua/SpawnScripts/Darklight/IlmtarDViervs.lua new file mode 100755 index 000000000..0301d8538 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/IlmtarDViervs.lua @@ -0,0 +1,394 @@ +--[[ + Script Name : IlmtarDviervs.lua + Script Purpose : Ilmtar D'Viervs + Script Author : ParserGenerated (Replace this) + Script Date : 06/24/2018 + Script Notes : Auto-Generated from a chat log using SpawnScriptDesigner +--]] + +-- Quest ID's +local WHATS_IN_DEMAND = 142 +local ONE_MANS_WASTE = 143 +local USEFUL_MATERIALS = 144 +local SORCEROUS_NECESSITIES = 145 +local TIPPING_THE_SCALES_OF_POWER = 146 +local A_SNAKE_MADE_SERUM = 147 +local THE_MOTHER_LODE = 148 + +function spawn(NPC) + ProvidesQuest(NPC, WHATS_IN_DEMAND) + ProvidesQuest(NPC, ONE_MANS_WASTE) + ProvidesQuest(NPC, USEFUL_MATERIALS) + ProvidesQuest(NPC, SORCEROUS_NECESSITIES) + ProvidesQuest(NPC, TIPPING_THE_SCALES_OF_POWER) + ProvidesQuest(NPC, A_SNAKE_MADE_SERUM) + ProvidesQuest(NPC, THE_MOTHER_LODE) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if CanReceiveQuest(Spawn, WHATS_IN_DEMAND) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(con, "Others like myself.", "dlg_2") + StartConversation(con, NPC, Spawn, "Greetings. I am Ilmtar D'Viervs, Quartermaster for the Dread Guard. Ever since the recent Thexian attacks on Hate's Envy, I've been at my wit's end finding adequate supplies for those stationed here at T'Vatar Outpost. My chief responsibility is supplying general goods, or paying others to find them for me.") + elseif HasQuest(Spawn, WHATS_IN_DEMAND) and GetQuestStep(Spawn, WHATS_IN_DEMAND) >= 1 and GetQuestStep(Spawn, WHATS_IN_DEMAND) <= 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + if HasQuest(Spawn, WHATS_IN_DEMAND) and GetQuestStep(Spawn, WHATS_IN_DEMAND) == 2 then + AddConversationOption(con, "Yes, here you are.", "dlg_6") + end + if HasQuest(Spawn, WHATS_IN_DEMAND) and GetQuestStep(Spawn, WHATS_IN_DEMAND) == 1 then + AddConversationOption(con, "Not yet.") + end + StartConversation(con, NPC, Spawn, "Do you have the bone fragments?") + elseif HasCompletedQuest(Spawn, WHATS_IN_DEMAND) and CanReceiveQuest(Spawn, ONE_MANS_WASTE) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(con, "Yes, here you are.", "dlg_6") + StartConversation(con, NPC, Spawn, "Do you have the bone fragments?") + elseif HasQuest(Spawn, ONE_MANS_WASTE) and GetQuestStep(Spawn, ONE_MANS_WASTE) >= 1 and GetQuestStep(Spawn, ONE_MANS_WASTE) <= 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn) + if HasQuest(Spawn, ONE_MANS_WASTE) and GetQuestStep(Spawn, ONE_MANS_WASTE) == 2 then + AddConversationOption(con, "Yes, I have them.", "dlg_10") + end + if HasQuest(Spawn, ONE_MANS_WASTE) and GetQuestStep(Spawn, ONE_MANS_WASTE) == 1 then + AddConversationOption(con, "Not yet.") + end + StartConversation(con, NPC, Spawn, "Have you the weapons?") + elseif HasCompletedQuest(Spawn, ONE_MANS_WASTE) and CanReceiveQuest(Spawn, USEFUL_MATERIALS) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + if HasQuest(Spawn, USEFUL_MATERIALS) and GetQuestStep(Spawn, USEFUL_MATERIALS) == 2 then + AddConversationOption(con, "I did. Here you go.", "dlg_14") + end + if HasQuest(Spawn, USEFUL_MATERIALS) and GetQuestStep(Spawn, USEFUL_MATERIALS) == 1 then + AddConversationOption(con, "I haven't yet.") + end + StartConversation(con, NPC, Spawn, "Did you gather the wood?") + elseif HasCompletedQuest(Spawn, USEFUL_MATERIALS) and CanReceiveQuest(Spawn, SORCEROUS_NECESSITIES) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn) + if HasQuest(Spawn, SORCEROUS_NECESSITIES) and GetQuestStep(Spawn, SORCEROUS_NECESSITIES) == 2 then + AddConversationOption(con, "I did.", "dlg_18") + end + if HasQuest(Spawn, SORCEROUS_NECESSITIES) and GetQuestStep(Spawn, SORCEROUS_NECESSITIES) == 1 then + AddConversationOption(con, "I haven't yet.") + end + StartConversation(con, NPC, Spawn, "Did you collect the bat wings?") + elseif HasCompletedQuest(Spawn, SORCEROUS_NECESSITIES) and CanReceiveQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn) + if HasQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) and GetQuestStep(Spawn, TIPPING_THE_SCALES_OF_POWER) == 2 then + AddConversationOption(con, "I did, here you go.", "dlg_21") + end + if HasQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) and GetQuestStep(Spawn, TIPPING_THE_SCALES_OF_POWER) == 1 then + AddConversationOption(con, "Not yet.") + end + StartConversation(con, NPC, Spawn, "Did you collect the scales?") + elseif HasCompletedQuest(Spawn, TIPPING_THE_SCALES_OF_POWER) and CanReceiveQuest(Spawn, A_SNAKE_MADE_SERUM) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + if HasQuest(Spawn, A_SNAKE_MADE_SERUM) and GetQuestStep(Spawn, A_SNAKE_MADE_SERUM) == 2 then + AddConversationOption(con, "Yes, I did.", "dlg_27") + end + if HasQuest(Spawn, A_SNAKE_MADE_SERUM) and GetQuestStep(Spawn, A_SNAKE_MADE_SERUM) == 1 then + AddConversationOption(con, "Not yet.") + end + StartConversation(con, NPC, Spawn, "Did you bring me back the wurm corpses?") + elseif HasCompletedQuest(Spawn, A_SNAKE_MADE_SERUM) then + if HasQuest(Spawn, THE_MOTHER_LODE) and GetQuestStep(Spawn, THE_MOTHER_LODE) == 1 then + AddConversationOption(con, "Not yet.") + end + StartConversation(con, NPC, Spawn, "Did you get her skin?") + elseif HasCompletedQuest(Spawn, A_SNAKE_MADE_SERUM) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn) + if HasQuest(Spawn, THE_MOTHER_LODE) and GetQuestStep(Spawn, THE_MOTHER_LODE) == 2 then + AddConversationOption(con, "Yes.", "dlg_34") + end + StartConversation(con, NPC, Spawn, "Did you get her?") + end + + --[[ Say() from this NPC + + Say(NPC, "You've helped me a great deal, and I am thankful.", Spawn) + + + Orphaned PlayFlavors + + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1048.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + + --]] + +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Sure.", "dlg_3") + AddConversationOption(con, "Not right now.") + StartConversation(con, NPC, Spawn, "Precisely. Would you happen to be looking for work?") +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I'll collect the bone chips.", "OfferQuest1") + AddConversationOption(con, "Find someone else to do your work.") + StartConversation(con, NPC, Spawn, "I thought so. Currently I'm collecting bone fragments for the necromancers to use as reagents for their reanimating spells. This field we're in is home to a great number of undead, with fresh numbers rising daily. They're a perfect source for the bone fragments I'm after. So, if you're still willing to help...") +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, WHATS_IN_DEMAND) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(con, NPC, Spawn, "Then I await your return.") + --]] +end + +function dlg_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + SetStepComplete(Spawn, WHATS_IN_DEMAND, 2) + + AddConversationOption(con, "Yes.", "dlg_7") + AddConversationOption(con, "Not right now.") + StartConversation(con, NPC, Spawn, "Well done, well done. The whisperers were right about you, Sygman. There's more collecting to be done. Are you in?") +end + +function dlg_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I'll collect some for you.", "OfferQuest2") + AddConversationOption(con, "You'll have to collect them yourself.") + StartConversation(con, NPC, Spawn, "In the same field that these bones came from you'll find a great many weapons that once belonged to the soldiers who fought here. We arm our own legions of undead minions with them, thus saving the higher quality weapons for those of us still breathing.") +end + +function OfferQuest2(NPC, Spawn) + OfferQuest(NPC, Spawn, ONE_MANS_WASTE) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I'll see what can I dig up.") + StartConversation(con, NPC, Spawn, "Once you've collected a decent number of weapons return them to me.") + --]] +end + +function dlg_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + SetStepComplete(Spawn, ONE_MANS_WASTE, 2) + + AddConversationOption(con, "Certainly.", "dlg_11") + AddConversationOption(con, "Not right now.") + StartConversation(con, NPC, Spawn, "Again, I am impressed, Sygman. You may be surprised to know how hard it is to find good workers around here. Let's see here... bone fragments, weapons, ah, wood. Care for another job?") +end + +function dlg_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I can do that.", "OfferQuest4") + AddConversationOption(con, "Not right now.") + StartConversation(con, NPC, Spawn, "North of here are the remnants of recent attempts to construct upon the Field of Ruin. Never mind the fools who thought it was a good idea. Their building materials can be used to construct barricades and strengthen our preexisting dwellings. Specifically, I speak of the wood they've left laying around. I'd like you to retrieve it.") +end + +function OfferQuest4(NPC, Spawn) + OfferQuest(NPC, Spawn, USEFUL_MATERIALS) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(con, NPC, Spawn, "Good.") + --]] +end + +function dlg_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + SetStepComplete(Spawn, USEFUL_MATERIALS, 2) + + AddConversationOption(con, "I have no intention of doing that.", "dlg_15") + AddConversationOption(con, "Sorry, but I am needed elsewhere.") + StartConversation(con, NPC, Spawn, "Your help is most appreciated, Sygman. Most appreciated. There may yet be hope for this outpost. That is unless... you chose to abandon us now.") +end + +function dlg_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I can do that.", "OfferQuest5") + AddConversationOption(con, "Bat wings? I'm not interested.") + StartConversation(con, NPC, Spawn, "I thought not. By now I'm sure you've begun to understand the reputation you're garnering back in Neriak. Speaking of which, I've just received a request from a Neriak sorcerer of some repute. He's requesting fresh bat wings. Apparently they're a chief reagent used in a levitation spell he's working on. Would you be willing to bring me some?") +end + +function OfferQuest5(NPC, Spawn) + OfferQuest(NPC, Spawn, SORCEROUS_NECESSITIES) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I'll be back.") + StartConversation(con, NPC, Spawn, "Good, very good. You can find a colony of bats due west from T'Vatar Outpost.") + --]] +end + +function dlg_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + SetStepComplete(Spawn, SORCEROUS_NECESSITIES, 2) + + AddConversationOption(con, "I will bring you snake scales presently.", "OfferQuest6") + AddConversationOption(con, "This doesn't interest me.") + StartConversation(con, NPC, Spawn, "Ah, of course you did, Sygman. You've earned me, er.. us quite a bit of favor with the powers that be. But why stop there? If you travel farther west you'll find serpents slithering along the banks of the Searing Tendril River. Their scales are said to heighten the potency of a shadowknight's abilities. Go, bring me their scales.") +end + +function OfferQuest6(NPC, Spawn) + OfferQuest(NPC, Spawn, TIPPING_THE_SCALES_OF_POWER) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I will return when I get the scales.") + StartConversation(con, NPC, Spawn, "Good, good.") + --]] +end + +function dlg_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + SetStepComplete(Spawn, TIPPING_THE_SCALES_OF_POWER, 2) + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "What breakthrough is that?", "dlg_22") + StartConversation(con, NPC, Spawn, "Yes, these will do nicely. Now then, I have a bit of good news to share with you. It seems we've made a breakthrough in our battle with the Thexian curs.") +end + +function dlg_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Where do the pheromones come from?", "dlg_23") + StartConversation(con, NPC, Spawn, "A highly valued target has been captured... alive! Thus far he's said little, despite our torturers' best efforts. Queen Cristanos, however, feels that there are other methods of making the truth spill from our captive's lips. If a particular pheromone is harvested, it can, in the right hands, be distilled into a powerful truth serum.") +end + +function dlg_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Of course.", "dlg_24") + StartConversation(con, NPC, Spawn, "They come from flying snakes, the scar wurms. They glide about in Innoruuk's Scar just east of here. You'll have to hit them with something to catch their attention. Once that happens, though, they're quite aggressive--it's mating season.") +end + +function dlg_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I can do that.", "OfferQuest7") + AddConversationOption(con, "No thanks.") + StartConversation(con, NPC, Spawn, "Bring me back several of these wurm corpses so I can harvest their pheromone sacs. With any luck we'll have enough to make the truth serum Queen Cristanos has demanded.") +end + +function OfferQuest7(NPC, Spawn) + OfferQuest(NPC, Spawn, A_SNAKE_MADE_SERUM) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(con, NPC, Spawn, "Great. I'll be here preparing the additional ingredients needed for the serum.") + --]] +end + +function dlg_27(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + SetStepComplete(Spawn, A_SNAKE_MADE_SERUM, 2) + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "What do you have in mind?", "dlg_28") + StartConversation(con, NPC, Spawn, "Curses, this is not the result that I expected! These pheromones are far too weak to be used in the manner we need. We'll need a much stronger sample to draw from.") +end + +function dlg_28(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "So that work was for nothing?", "dlg_29") + StartConversation(con, NPC, Spawn, "The corpses you've brought me are all males. We need the pheromone of a female, the wurm mother.") +end + +function dlg_29(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "Sure.", "dlg_30") + AddConversationOption(con, "No. Definitely not.") + StartConversation(con, NPC, Spawn, "Absolutely not! We will use their pheromones to attract and ultimately kill the brood mother. With her corpse, we can make a potent version of the serum. Are you game?") +end + +function dlg_30(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(con, "I'll return with her corpse.", "OfferQuest8") + AddConversationOption(con, "Maybe later.") + StartConversation(con, NPC, Spawn, "Excellent. I've made this small device that will disperse the pheromone. This should call forth the wurm mother. Go back to Innoruuk's Scar and use it on the bridge. Once the wurm mother comes forth to spawn... kill her.") +end + +function OfferQuest8(NPC, Spawn) + OfferQuest(NPC, Spawn, THE_MOTHER_LODE) + + --[[ Move the following conversation to the Accepted function of the quest script + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "That's reassuring.") + StartConversation(con, NPC, Spawn, "Good luck, Sygman. Be sure you don't spray any of that stuff on yourself, ha!") + --]] +end + +function dlg_34(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + SetStepComplete(Spawn, THE_MOTHER_LODE, 2) + + AddConversationOption(con, "Good-bye.") + StartConversation(con, NPC, Spawn, "Ah, lovely! This is quite impressive, Sygman. I've almost finished the serum. Now I just need to add the essences distilled from the wurm mother's internal organs! Well done, Sygman. With this truth serum, our Queen is that much closer to bringing the Thexians to their knees. On behalf of the Queen, I offer you many thanks. Now, if you'll excuse me, I must concentrate on finishing my work here.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/IthariKXyrae.lua b/Lua/SpawnScripts/Darklight/IthariKXyrae.lua new file mode 100755 index 000000000..e598ed869 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/IthariKXyrae.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Darklight/IthariKXyrae.lua + Script Purpose : Ithari K'Xyrae + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/neriak/ithari_k_xyrae/darklight_wood/darkelf/quest_ithari_kxyrae_aggro_gf_61c50190.mp3", "For N'Fyre!", "", 2008625885, 2662895115, Spawn) +end + +function healthchanged(NPC) + HalfHealth = GetMaxHP(NPC) / 2 + if GetHP(NPC) <= HalfHealth then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886, Spawn) + end +end + +function death(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/neriak/ithari_k_xyrae/darklight_wood/darkelf/quest_ithari_kxyrae_death_gf_4f524174.mp3", "I'll never regain her favor now!", "", 3578616574, 1411501104, Spawn) +end diff --git a/Lua/SpawnScripts/Darklight/JhanaDoZyth.lua b/Lua/SpawnScripts/Darklight/JhanaDoZyth.lua new file mode 100755 index 000000000..4b70781cd --- /dev/null +++ b/Lua/SpawnScripts/Darklight/JhanaDoZyth.lua @@ -0,0 +1,141 @@ +--[[ + Script Name : SpawnScripts/Darklight/JhanaDoZyth.lua + Script Purpose : Jhana Do'Zyth + Script Author : Cynnar + Script Date : 2015.07.15 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local AnAuthorityOnHate = 125 +local ProwlerAnnoyance = 128 +local AFerociousInconvenience = 129 + +function spawn(NPC) + ProvidesQuest(NPC, ProwlerAnnoyance) + ProvidesQuest(NPC, AFerociousInconvenience) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, AnAuthorityOnHate) and not HasCompletedQuest(Spawn, AnAuthorityOnHate) then + SetStepComplete(Spawn, AnAuthorityOnHate, 1) + end + + if HasCompletedQuest(Spawn, AFerociousInconvenience) then + Quest2Chat_3(NPC, Spawn) + elseif HasQuest(Spawn, AFerociousInconvenience) and GetQuestStep(Spawn, AFerociousInconvenience) == 1 then + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana011.mp3", "", "", 3939930942, 3221492064, Spawn) + AddConversationOption(conversation, "I'm still hunting the beast. Where should I look for it?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Did you find the pack leader of the dusk prowlers?") + elseif HasQuest(Spawn, AFerociousInconvenience) and GetQuestStep(Spawn, AFerociousInconvenience) == 2 then + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana011.mp3", "", "", 3939930942, 3221492064, Spawn) + AddConversationOption(conversation, "The beast has been slain.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "Did you find the pack leader of the dusk prowlers?") + elseif HasCompletedQuest(Spawn, ProwlerAnnoyance) and not HasQuest(Spawn, AFerociousInconvenience) and not HasCompletedQuest(Spawn, AFerociousInconvenience) then + Quest2Chat_0(NPC, Spawn) + elseif HasQuest(Spawn, ProwlerAnnoyance) and GetQuestStep(Spawn, ProwlerAnnoyance) == 2 then + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana005.mp3", "", "", 2396106128, 3585430075, Spawn) + AddConversationOption(conversation, "Their numbers have been greatly reduced.", "Quest2Chat_0") + StartConversation(conversation, NPC, Spawn, "Have you removed the dusk prowlers from the area?") + elseif HasQuest(Spawn, ProwlerAnnoyance) and GetQuestStep(Spawn, ProwlerAnnoyance) == 1 then + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana005.mp3", "", "", 2396106128, 3585430075, Spawn) + AddConversationOption(conversation, "Not yet.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Have you removed the dusk prowlers from the area?") + elseif not HasCompletedQuest(Spawn, AnAuthorityOnHate) and not HasQuest(Spawn, AnAuthorityOnHate) then + PlayFlavor(NPC, "voiceover/english/neriak/jhana_do_zyth/darklight_wood/quest/hates_envy/qst_jhana_too_low_ee52f282.mp3", "", "", 1579540723, 4221550003, Spawn) + StartConversation(conversation, NPC, Spawn, "Maybe you could help me... if you were a little bit stronger.") + elseif not HasQuest(Spawn, ProwlerAnnoyance) then + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana001.mp3", "", "", 2468334286, 695035654, Spawn) + AddConversationOption(conversation, "What is it you want?", "Quest1Chat_0") + AddConversationOption(conversation, "I seek to serve Neriak in any way I can.", "Quest1Chat_0") + AddConversationOption(conversation, "I cannot help at this time.", "PlayerEmote_no") + StartConversation(conversation, NPC, Spawn, "Ah, the hero of Hate's Envy stands before us! Isn't he quite the specimen, Mother? Pellendra has informed us of your successful efforts to stop the Sablevein menace and the Thexians who were behind it. Now we'd like you to help us.") + end +end + +function PlayerEmote_no(NPC, Spawn) + PlayFlavor(Spawn, "", "", "no", 0, 0, Player) +end + +----------------------------------------------------------------------------------- +-- QUEST 1 Chat +----------------------------------------------------------------------------------- +function Quest1Chat_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana003.mp3", "", "agree", 1064695588, 175136461, Spawn) + AddConversationOption(conversation, "I'm up to the task!", "QuestOffer_ProwlerAnnoyance") + AddConversationOption(conversation, "I am not up to this task.") + StartConversation(conversation, NPC, Spawn, "With the recent Sablevein attacks from the east, the dusk prowlers have been forced nearer to Hate's Envy. Now they impede our progress into a Thexian burial chamber we wish to investigate. I need you to cull a number of these prowlers so we can gain access to the caves.") +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(Spawn, "", "", "no", 0, 0, Player) + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana007.mp3", "", "tapfoot", 1258715663, 4051557607, Spawn) + AddConversationOption(conversation, "Very well") + StartConversation(conversation, NPC, Spawn, "I thought my directions were clear. Do not return until you've slain the dusk prowlers.") +end + +function QuestOffer_ProwlerAnnoyance(NPC, Spawn) + OfferQuest(NPC, Spawn, ProwlerAnnoyance) +end + +----------------------------------------------------------------------------------- +-- QUEST 2 Chat +----------------------------------------------------------------------------------- + +function Quest2Chat_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ProwlerAnnoyance, 2) + + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana006.mp3", "", "", 2179526819, 2808298057, Spawn) + AddConversationOption(conversation, "What do you have in mind this time?", "Quest2Chat_1") + AddConversationOption(conversation, "Forget it. I'm finished helping you.", "PlayerEmote_no") + StartConversation(conversation, NPC, Spawn, "Wonderful, " .. GetName(Spawn) .. ". Knowing that, I have no doubt in your ability to help me once more.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana008.mp3", "", "", 2954723683, 1591713165, Spawn) + AddConversationOption(conversation, "I will remove the pack leader.", "QuestOffer_AFerociousInconvenience") + AddConversationOption(conversation, "Good luck with that.", "PlayerEmote_no") + StartConversation(conversation, NPC, Spawn, "While you were indeed successful in removing several of the dusk prowlers from outside the Thexian tomb, it appears their pack leader has moved inside the cave and made it his den. He must be exterminated at once!") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana013.mp3", "", "tapfoot", 2892144271, 4226558009, Spawn) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, NPC, Spawn, "As I mentioned earlier, the pack leader has moved into the cave just west from Hate's Envy. When you find the beast, slay it!") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, AFerociousInconvenience, 2) + + PlayFlavor(NPC, "jhana_do_zyth/darklight_wood/hates_envy/jhana_revamp/jhana012.mp3", "", "", 3216838749, 637919977, Spawn) + AddConversationOption(conversation, "As you wish.") + StartConversation(conversation, NPC, Spawn, "Fine work, " .. GetName(Spawn) .. ". Fine work indeed. Mother's work can begin at once. I suggest speaking with her if you have not already.") +end + +function QuestOffer_AFerociousInconvenience(NPC, Spawn) + OfferQuest(NPC, Spawn, AFerociousInconvenience) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/LaexyraYBarriath.lua b/Lua/SpawnScripts/Darklight/LaexyraYBarriath.lua new file mode 100755 index 000000000..e50abb976 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/LaexyraYBarriath.lua @@ -0,0 +1,413 @@ +--[[ + Script Name : SpawnScripts/Darklight/LaexyraYBarriath.lua + Script Purpose : Laexyra Y'Barriath (340075) + Script Author : Cynnar + Script Date : 2016.01.01 + Script Notes : Report to Zezas is not implemented yet since it requires you to go into Neriak. +--]] + +local PurposefulTrinkets = 149 +local PublicService = 150 +local AFriendlyReminder = 151 +local Reaping = 152 +local Condemned = 153 +local ContinuingAssistance = 154 +local ReporttoZezas = 159 + +function spawn(NPC) + ProvidesQuest(NPC, PurposefulTrinkets) + ProvidesQuest(NPC, PublicService) + ProvidesQuest(NPC, AFriendlyReminder) + ProvidesQuest(NPC, Reaping) + ProvidesQuest(NPC, Condemned) + ProvidesQuest(NPC, ContinuingAssistance) + --ProvidesQuest(NPC, ReporttoZezas) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, PurposefulTrinkets) and not HasCompletedQuest(Spawn, PurposefulTrinkets) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "tapfoot", 0, 0, Spawn) + AddConversationOption(conversation, "Reported to you?", "Quest_PurposefulTrinkets") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", it is about time you reported to me.") + elseif HasQuest(Spawn, PurposefulTrinkets) and not HasCompletedQuest(Spawn, PurposefulTrinkets) then + PurposefulTrinkets_00(NPC, Spawn) + elseif HasCompletedQuest(Spawn, PurposefulTrinkets) and not HasCompletedQuest(Spawn, PublicService) then + if not HasQuest(Spawn, PublicService) then + PurposefulTrinkets_00(NPC, Spawn) + else + PublicService_00(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, PublicService) and not HasCompletedQuest(Spawn, AFriendlyReminder) then + if not HasQuest(Spawn, AFriendlyReminder) then + PublicService_00(NPC, Spawn) + else + AFriendlyReminder_00(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, AFriendlyReminder) and not HasCompletedQuest(Spawn, Reaping) then + if not HasQuest(Spawn, Reaping) then + AFriendlyReminder_00(NPC, Spawn) + else + Reaping_00(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, Reaping) and not HasCompletedQuest(Spawn, Condemned) then + if not HasQuest(Spawn, Condemned) then + Reaping_00(NPC, Spawn) + else + Condemned_00(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, Condemned) and not HasCompletedQuest(Spawn, ContinuingAssistance) then + if not HasQuest(Spawn, ContinuingAssistance) then + Say(NPC, "CA offer") + Quest_ContinuingAssistance_01(NPC, Spawn) + else + Say(NPC, "test") + Quest_Condemned_03(NPC, Spawn) + end + else + Say(NPC, "Report to Zezas is not implemented yet because Neriak is not ready for visitors yet..") + end +end + +-------------------------------------------------------------------------------------- +-- Purposeful Trinkets +-------------------------------------------------------------------------------------- + +function PurposefulTrinkets_00(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + if not HasCompletedQuest(Spawn, PurposefulTrinkets) and GetQuestStep(Spawn, PurposefulTrinkets) ~= 2 then + AddConversationOption(conversation, "Not yet.") + else + AddConversationOption(conversation, "Yes.", "Quest_PurposefulTrinkets_04") + end + StartConversation(conversation, NPC, Spawn, "Have you collected the trinkets?.") +end + +function Quest_PurposefulTrinkets(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I have!", "Quest_PurposefulTrinkets_01") + AddConversationOption(conversation, "No.", "Quest_PurposefulTrinkets_Decline") + StartConversation(conversation, NPC, Spawn, "I am Laexyra Y'Barriath, Commander of the Dread Guard forces in the Darklight Wood. You have dedicated yourself to The City of Hate and Queen Cristanos, have you not?") +end + +function Quest_PurposefulTrinkets_Decline(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "brandish", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "Then begone before I am forced to clean you from my blade!") +end + +function Quest_PurposefulTrinkets_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is the current threat?", "Quest_PurposefulTrinkets_02") + StartConversation(conversation, NPC, Spawn, "Good. Neriak requires true statesmen and women who will do all they can to further their city. In my case, I am here in Darklight battling the forces--natural or otherwise--that threaten our city and her throne.") +end + +function Quest_PurposefulTrinkets_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is the plan?", "Quest_PurposefulTrinkets_03") + StartConversation(conversation, NPC, Spawn, "The never ending tide of undead. New corpses climb from the ground every day and those that we kill do not stay dead for long. I believe, with a little work, we can at least keep those we kill from coming back. But nothing is certain.") +end + +function Quest_PurposefulTrinkets_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "QuestOffer_PurposefulTrinkets") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Search the field to our south. The halflings and elf rangers who died there brought many things into our forest, including small tokens meant to remind them of home--to remind them of what they were fighting for. Collect some of these for me.") +end + +function QuestOffer_PurposefulTrinkets(NPC, Spawn) + OfferQuest(NPC, Spawn, PurposefulTrinkets) +end + +function Quest_PurposefulTrinkets_04(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, PurposefulTrinkets) then + SetStepComplete(Spawn, PurposefulTrinkets, 2) + end + + PlayFlavor(NPC, "", "", "agree", 0, 0, Spawn) + AddConversationOption(conversation, "I am willing.", "Quest_PublicService") + AddConversationOption(conversation, "An order is an order.", "Quest_PublicService") + StartConversation(conversation, NPC, Spawn, "Excellent. It will take me some time to prepare them for their purpose, however. In the meantime, the undead must be culled. Are you willing?") +end + +-------------------------------------------------------------------------------------- +-- Public Service +-------------------------------------------------------------------------------------- + +function PublicService_00(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + if not HasCompletedQuest(Spawn, PublicService) and GetQuestStep(Spawn, PublicService) ~= 3 then + AddConversationOption(conversation, "Not yet.") + else + AddConversationOption(conversation, "Temporarily, yes.", "Quest_PublicService_01") + end + StartConversation(conversation, NPC, Spawn, "Have you taken care of the undead?") +end + +function Quest_PublicService(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.", "QuestOffer_PublicService") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Good. North of here walk the undead remains of our Teir'Dal soldiers, now being used against us. Kill the defenders and soldiers so that we may have some respite.") +end + +function QuestOffer_PublicService(NPC, Spawn) + OfferQuest(NPC, Spawn, PublicService) +end + +function Quest_PublicService_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, PublicService) then + SetStepComplete(Spawn, PublicService, 3) + end + + PlayFlavor(NPC, "", "", "agree", 0, 0, Spawn) + AddConversationOption(conversation, "I'll make sure he understands the reminder.", "QuestOffer_AFriendlyReminder") + AddConversationOption(conversation, "Maybe someone else would be more interested in doing this for you.") + StartConversation(conversation, NPC, Spawn, "I've just received news regarding the recent undead attacks on this outpost. A Thexian necromancer by the name Kronryn N'Xytyl has been spotted near the Field of Ruin. I have little doubt that he is singularly responsible for raising our ancient slain foes against us once more. Remind him that his presence will not be tolerated in these woods.") +end + +-------------------------------------------------------------------------------------- +-- A Friendly Reminder +-------------------------------------------------------------------------------------- + +function AFriendlyReminder_00(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + if not HasCompletedQuest(Spawn, AFriendlyReminder) and GetQuestStep(Spawn, AFriendlyReminder) ~= 2 then + AddConversationOption(conversation, "Not yet.") + else + AddConversationOption(conversation, "Swiftly.", "Quest_AFriendlyReminder_01") + end + StartConversation(conversation, NPC, Spawn, "Did you deliver the message?") +end + +function QuestOffer_AFriendlyReminder(NPC, Spawn) + OfferQuest(NPC, Spawn, AFriendlyReminder) +end + +function Quest_AFriendlyReminder(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How are we to do that?", "Quest_AFriendlyReminder_01") + StartConversation(conversation, NPC, Spawn, "Such is a befitting end to a trespasser who foolishly dared to defy our rule of these lands. Now it is time to clean up the mess he has made.") +end + +function Quest_AFriendlyReminder_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, AFriendlyReminder, 2) + + AddConversationOption(conversation, "How does it work?", "Quest_AFriendlyReminder_02") + StartConversation(conversation, NPC, Spawn, "With the trinkets you collected. I've prepared them to capture the spirits of some of the fallen soldiers. These specially-prepared trinkets will pull the spirit of their owners together, into something more tangible.") +end + +function Quest_AFriendlyReminder_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, AFriendlyReminder, 2) + + AddConversationOption(conversation, "So, I am to kill their spirits?", "Quest_AFriendlyReminder_03") + StartConversation(conversation, NPC, Spawn, "You need only walk among the stout cadavers and fallen rangers with it. Instead of a mindless zombie it will actually BE the spirit of the fallen soldier that materializes for you. This means that if we get rid of this spirit, it will no longer contribute to the undead menace.") +end + +function Quest_AFriendlyReminder_03(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, AFriendlyReminder) then + SetStepComplete(Spawn, AFriendlyReminder, 2) + end + + AddConversationOption(conversation, "All right.", "QuestOffer_Reaping") + AddConversationOption(conversation, "I'm not interested.") + StartConversation(conversation, NPC, Spawn, "No, they wouldn't stay dead. We can, however, trap their spirits, and that's just what I'd like you to do.") +end + +-------------------------------------------------------------------------------------- +-- Reaping +-------------------------------------------------------------------------------------- + +function QuestOffer_Reaping(NPC, Spawn) + OfferQuest(NPC, Spawn, Reaping) +end + +function Reaping_00(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/laexyra_y_barriath/darklight_wood/tvatar_post/laexyra/laexyra021.mp3", "", "", 3742143393, 3604889298, Spawn) + if not HasCompletedQuest(Spawn, Reaping) and GetQuestStep(Spawn, Reaping) ~= 2 then + AddConversationOption(conversation, "Not yet.") + else + AddConversationOption(conversation, "I did.", "Quest_Reaping_01") + end + StartConversation(conversation, NPC, Spawn, "Did you trap the spirits?") +end + +function Quest_Reaping_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, Reaping, 2) + + AddConversationOption(conversation, "What do you have in mind?", "Quest_Reaping_02") + StartConversation(conversation, NPC, Spawn, "That pleases me," .. GetName(Spawn) .. ". Now to ensure they do not return to threaten us further.") +end + +function Quest_Reaping_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can put the spirits in the well.", "QuestOffer_Condemned") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "That we release these spirits near the Wellspring of Nightmares thus trapping them in perpetual torment. It's similar to their existence now, but with the added benefit that they have no corporeal connection to this world and are thus no longer annoying us.") +end + +-------------------------------------------------------------------------------------- +-- Condemned +-------------------------------------------------------------------------------------- + +function QuestOffer_Condemned(NPC, Spawn) + OfferQuest(NPC, Spawn, Condemned) +end + +function Condemned_00(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + if not HasCompletedQuest(Spawn, Condemned) and GetQuestStep(Spawn, Condemned) ~= 2 then + AddConversationOption(conversation, "Not yet.") + else + AddConversationOption(conversation, "I have.", "Quest_Condemned_01") + end + StartConversation(conversation, NPC, Spawn, "Have you released the spirits yet?") +end + +function Quest_Condemned_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/neriak/laexyra_y_barriath/darklight_wood/tvatar_post/laexyra/laexyra026.mp3", "", "", 3005578756, 2486978605, Spawn) + AddConversationOption(conversation, "None. They are all trapped.", "Quest_Condemned_02") + StartConversation(conversation, NPC, Spawn, "And none of them escaped?") +end + +function Quest_Condemned_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, Condemned, 2) + + AddConversationOption(conversation, "You're welcome.", "Quest_Condemned_03") + StartConversation(conversation, NPC, Spawn, "Mmm. Beautiful, beautiful. I believe this can be used to rid ourselves of the stout cadavers and fallen rangers. A more appropriate method of dealing with the Teir'Dal spirits will have to be found, however. But this is a very big step in the right direction. Thank you," .. GetName(Spawn) .. ".") +end + +--function Quest_Condemned_03(NPC, Spawn) +-- FaceTarget(NPC, Spawn) +-- conversation = CreateConversation() +-- +-- PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) +-- AddConversationOption(conversation, "Is there anything I can help with?", "Quest_ContinuingAssistance_01") +-- AddConversationOption(conversation, "I hope I have been helpful enough that you speak well of me to others.", "Quest_ReporttoZezas_01") +-- AddConversationOption(conversation, "Good luck with that.") +-- StartConversation(conversation, NPC, Spawn, "Now my only question is what problem to tackle next.") +--end + +-------------------------------------------------------------------------------------- +-- Continuing Assistance +-------------------------------------------------------------------------------------- + +function Quest_ContinuingAssistance_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.", "Quest_ContinuingAssistance_02") + StartConversation(conversation, NPC, Spawn, "Actually, yes, I could use your help. I have two correspondences I need delivered immediately. The first goes to Malyl N'Vazin. The second goes to a sniveling wretch named, Vornlin B'Vytyl. You can find them both at Wanderlust Fair.") +end + +function Quest_ContinuingAssistance_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, I will go find them.", "QuestOffer_ContinuingAssistance") + AddConversationOption(conversation, "This task doesn't interest me.") + StartConversation(conversation, NPC, Spawn, "To get to the Wanderlust Fair, follow the path west. When it splits, take the right fork. You will pass over the Searing Tendril River before the path splits again, this time go left. That will lead you right past the fair on Nightshadow Rise.") +end + +function Temp_ContinuingAssistance_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "OK.", "QuestOffer_ContinuingAssistance") + StartConversation(conversation, NPC, Spawn, "This is where the Accept quest will go, but I have not completed the quest Continuing Assistance yet.") +end + + --AddConversationOption(conversation, "All right.", "QuestOffer_Reaping") + +function QuestOffer_ContinuingAssistance(NPC, Spawn) + OfferQuest(NPC, Spawn, ContinuingAssistance) +end + +-------------------------------------------------------------------------------------- +-- Report to Zezas +-------------------------------------------------------------------------------------- + +function Quest_ReporttoZezas_01(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Who does it go to?", "Quest_ReporttoZezas_02") + StartConversation(conversation, NPC, Spawn, "Quite. On that note, in fact, I've something I'd like you to deliver to a friend of mine within Neriak," .. GetName(Spawn) .. ".") +end + +function Quest_ReporttoZezas_02(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, I will deliver it.", "Temp_ReporttoZezas") + AddConversationOption(conversation, "Maybe at a later date.") + StartConversation(conversation, NPC, Spawn, "Zezas X'Zauzin. He should be just inside Neriak.") +end + +function Temp_ReporttoZezas(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "OK.") + StartConversation(conversation, NPC, Spawn, "This is where the Accept quest will go, but I have not completed the quest Report to Zezas because Neirak is not spawned.") +end + +function QuestOffer_ReporttoZezas(NPC, Spawn) + OfferQuest(NPC, Spawn, Condemned) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/Maelixia.lua b/Lua/SpawnScripts/Darklight/Maelixia.lua new file mode 100755 index 000000000..65f7e65de --- /dev/null +++ b/Lua/SpawnScripts/Darklight/Maelixia.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Darklight/Maelixia.lua + Script Author : Cynnar + Script Date : 2016.08.12 02:08:44 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +PlayFlavor(NPC, "voiceover/english/tobias_granville/steppes/quests/quest_tobias_granville/tobias_granville001.mp3", "", "shrug", 2405099568, 1478987434, Spawn) +Say(NPC, "Testing Voiceover") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Darklight/MalkaenWeed.lua b/Lua/SpawnScripts/Darklight/MalkaenWeed.lua new file mode 100755 index 000000000..042a3ecaf --- /dev/null +++ b/Lua/SpawnScripts/Darklight/MalkaenWeed.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/Darklight/MalkaenWeed.lua + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +SetRequiredQuest(NPC, 81, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +spawn(NPC) +end diff --git a/Lua/SpawnScripts/Darklight/MalylNVazin.lua b/Lua/SpawnScripts/Darklight/MalylNVazin.lua new file mode 100755 index 000000000..85c9c26ca --- /dev/null +++ b/Lua/SpawnScripts/Darklight/MalylNVazin.lua @@ -0,0 +1,294 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/MalylNVazin.lua + Script Purpose : Malyl N'Vazin + Script Author : fearfx + Script Date : 2017.01.26 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ContinuingAssistance = 154 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, ContinuingAssistance) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Laexyra Y'Barriath wanted me to report to you and offer my help.", "Quest_ContinuingAssistance") + StartConversation(conversation, NPC, Spawn, "Yes?") + end +end + +function Quest_ContinuingAssistance(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ContinuingAssistance, 1) + + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Ah, that sounds good. We could definitely use help here. Take some time to look around, I have no doubt that you will run into someone who could use your help shortly--even if it's not in the official capacity of the guard, most of what these folks need will help Darklight as a whole.") + +end +--[[ + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I did. Atalika and I took out the Thexian camp.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Have you finished?") + if convo==7 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_7_1") + AddConversationOption(conversation, "I'd rather not. ") + StartConversation(conversation, NPC, Spawn, "Please speak to Miriam Will stationed near the Thexian camp. ") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_9_1") + AddConversationOption(conversation, "I'd rather not. ") + StartConversation(conversation, NPC, Spawn, "Please speak to Miriam Will stationed near the Thexian camp. ") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am ready.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Are you ready to face a greater threat?") + end + + if convo==16 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am ready.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Are you ready to face a greater threat?") + end + + if convo==17 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Laexyra Y'Barriath wanted me to report to you and offer my help.", "dlg_17_1") + StartConversation(conversation, NPC, Spawn, "Yes?") + end + + if convo==21 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Laexyra Y'Barriath wanted me to report to you and offer my help.", "dlg_21_1") + StartConversation(conversation, NPC, Spawn, "Yes?") + end + + if convo==23 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I did. Atalika and I took out the Thexian camp.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "Have you finished?") + end + + if convo==26 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I come bearing news from Larxena D'Ziett.", "dlg_26_1") + StartConversation(conversation, NPC, Spawn, "Welcome back, Hacaci. Why the worried look on your face?") + end + + if convo==27 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I come bearing news from Larxena D'Ziett.", "dlg_27_1") + StartConversation(conversation, NPC, Spawn, "Welcome back, Hacaci. Why the worried look on your face?") + end + + if convo==28 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I come bearing news from Larxena D'Ziett.", "dlg_28_1") + StartConversation(conversation, NPC, Spawn, "Welcome back, Hacaci. Why the worried look on your face?") + end + +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Of course I am. ", "dlg_6_2") + AddConversationOption(conversation, "No, I wouldn't.") + StartConversation(conversation, NPC, Spawn, "Excellent news. I cannot wait to hear what reports our spies return with on the effects of this. In fact, I want you to go get the news immediately. Would you be willing do to that?") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else is there to do?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "The Thexians continue their crusade to oust Cristanos. Never mind that they didn't even know Neriak still existed until recently; they believe they have some right to it. The younger, more foolish of them seem to think their physical presence in Nektulos forest somehow helps them. It doesn't. However, slaughtering them doesn't seem to dissuade more from coming--they are tenacious, I'll give them that.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_15_3") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Break their faith. They believe the gods are on their side in this campaign of theirs. While I cannot arrange for Innoruuk to meet them, I do believe I can work to convince them that the Darklight Wood itself has rejected them. I have been speaking with the druids at the Shadowed Oak and we have come up with a plan, I would like you to go speak with them as well. Go find Atalika, he will put this plan into motion.") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else is there to do?", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "The Thexians continue their crusade to oust Cristanos. Never mind that they didn't even know Neriak still existed until recently; they believe they have some right to it. The younger, more foolish of them seem to think their physical presence in Nektulos forest somehow helps them. It doesn't. However, slaughtering them doesn't seem to dissuade more from coming--they are tenacious, I'll give them that.") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_16_3") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Break their faith. They believe the gods are on their side in this campaign of theirs. While I cannot arrange for Innoruuk to meet them, I do believe I can work to convince them that the Darklight Wood itself has rejected them. I have been speaking with the druids at the Shadowed Oak and we have come up with a plan, I would like you to go speak with them as well. Go find Atalika, he will put this plan into motion.") +end + +function dlg_16_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I agree.", "dlg_16_4") + StartConversation(conversation, NPC, Spawn, "Skulls are much easier to crush than spirits, but a crushed spirit is so much more satisfying.") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_17_2") + StartConversation(conversation, NPC, Spawn, "Ah, that sounds good. We could definitely use help here. Take some time to look around, I have no doubt that you will run into someone who could use your help shortly--even if it's not in the official capacity of the guard, most of what these folks need will help Darklight as a whole.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "Ah, you must be Hacaci, savior of Hate's Envy. I heard were it not for your swift action, the whole town might have gone up in flames. We could definitely use the help of someone like you. Look around. I have no doubt that you'll run into someone who could use your help shortly--even if it's not in the official capacity of the guard.") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You are welcome.", "dlg_23_2") + StartConversation(conversation, NPC, Spawn, "Excellent news. I cannot wait to hear what reports our spies return with on the effects of this. You have done well, Chayne. Neriak thanks you.") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What threat?", "dlg_26_2") + StartConversation(conversation, NPC, Spawn, "Why am I not surprised? Prince Talvus is an honorless coward that would feed his own men to the slaughter should it bring him one step closer to the throne of Neriak. Thank you for bringing this to my attention, Hacaci. We will deal with this new matter at once. Now then, are you ready to face a greater threat?") +end + +function dlg_26_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else is there to do?", "dlg_26_3") + StartConversation(conversation, NPC, Spawn, "The Thexians continue their crusade to oust Cristanos. Never mind that they didn't even know Neriak still existed until recently; they believe they have some right to it. The younger, more foolish of them seem to think their physical presence in Nektulos forest somehow helps them. It doesn't. However, slaughtering them doesn't seem to dissuade more from coming--they are tenacious, I'll give them that.") +end + +function dlg_26_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_26_4") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Break their faith. They believe the gods are on their side in this campaign of theirs. While I cannot arrange for Innoruuk to meet them, I do believe I can work to convince them that the Darklight Wood itself has rejected them. I have been speaking with the druids at the Shadowed Oak and we have come up with a plan. I would like you to go speak with them. Go find Atalika, he will put this plan into motion.") +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What threat?", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "Why am I not surprised? Prince Talvus is an honorless coward that would feed his own men to the slaughter should it bring him one step closer to the throne of Neriak. Thank you for bringing this to my attention, Hacaci. We will deal with this new matter at once. Now then, are you ready to face a greater threat?") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else is there to do?", "dlg_27_3") + StartConversation(conversation, NPC, Spawn, "The Thexians continue their crusade to oust Cristanos. Never mind that they didn't even know Neriak still existed until recently; they believe they have some right to it. The younger, more foolish of them seem to think their physical presence in Nektulos forest somehow helps them. It doesn't. However, slaughtering them doesn't seem to dissuade more from coming--they are tenacious, I'll give them that.") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_27_4") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Break their faith. They believe the gods are on their side in this campaign of theirs. While I cannot arrange for Innoruuk to meet them, I do believe I can work to convince them that the Darklight Wood itself has rejected them. I have been speaking with the druids at the Shadowed Oak and we have come up with a plan. I would like you to go speak with them. Go find Atalika, he will put this plan into motion.") +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What threat?", "dlg_28_2") + StartConversation(conversation, NPC, Spawn, "Why am I not surprised? Prince Talvus is an honorless coward that would feed his own men to the slaughter should it bring him one step closer to the throne of Neriak. Thank you for bringing this to my attention, Hacaci. We will deal with this new matter at once. Now then, are you ready to face a greater threat?") +end + +function dlg_28_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else is there to do?", "dlg_28_3") + StartConversation(conversation, NPC, Spawn, "The Thexians continue their crusade to oust Cristanos. Never mind that they didn't even know Neriak still existed until recently; they believe they have some right to it. The younger, more foolish of them seem to think their physical presence in Nektulos forest somehow helps them. It doesn't. However, slaughtering them doesn't seem to dissuade more from coming--they are tenacious, I'll give them that.") +end + +function dlg_28_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_28_4") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Break their faith. They believe the gods are on their side in this campaign of theirs. While I cannot arrange for Innoruuk to meet them, I do believe I can work to convince them that the Darklight Wood itself has rejected them. I have been speaking with the druids at the Shadowed Oak and we have come up with a plan. I would like you to go speak with them. Go find Atalika, he will put this plan into motion.") +end + +function dlg_28_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I agree.", "dlg_28_5") + StartConversation(conversation, NPC, Spawn, "Skulls are much easier to crush than spirits, but a crushed spirit is so much more satisfying.") +end +--]] +--[[ raw_conversations + PlayFlavor(NPC, "", "Please keep working with Atalika.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Darklight/MarlaKStane.lua b/Lua/SpawnScripts/Darklight/MarlaKStane.lua new file mode 100755 index 000000000..d4e52af22 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/MarlaKStane.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Darklight/MarlaKStane.lua + Script Purpose : Marla K'Stane + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I am waiting for someone, please leave me be!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/Darklight/Nemain.lua b/Lua/SpawnScripts/Darklight/Nemain.lua new file mode 100755 index 000000000..75773a598 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/Nemain.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : SpawnScripts/Darklight/Nemain.lua + Script Purpose : Nemain + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1021.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Balance?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "You dwell within the Shadow Oak, under the direction of Thelia N'Fyre. We watch over the Darklight Wood and seek to keep balance.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kind of problems do you find?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Balance. Small perversions grow to upset the natural order of things, we excise these perversions. We spend our time searching the woods for problems.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I could help investigate.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "Only recently we've found the adolescent snarlers from the wolf dens to the east are moving out much farther than usual. As such, we will be investigating this as soon as we get time.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I can get them.", "dlg_1_4") + AddConversationOption(conversation, "I am not ready to do this.") + StartConversation(conversation, NPC, Spawn, "You look able. If you wish to help we will not stop you. I have three requests of you, in this case. Travel northwest of Wanderlust Fair near the wolf dens, where the adolescent snarlers are now out prowling. While there, release the searcher wisp that I'll give you. It will observe the wolves and their environment in an attempt to discover unnatural phenomena. Second and third, I'd like the body of one of the adolescent wolves as well as the body of one of the deer that are also in that area.") +end + diff --git a/Lua/SpawnScripts/Darklight/OpalDarkbriar.lua b/Lua/SpawnScripts/Darklight/OpalDarkbriar.lua new file mode 100755 index 000000000..d2dcd9613 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/OpalDarkbriar.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/Darklight/OpalDarkbriar.lua + Script Purpose : Opal Darkbriar + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Locations from /loc log +--]] + +function spawn(NPC) + -- she pops out of Nektulos + MovementLoopAddLocation(NPC, 731.51, -66.26, 92.23, 5, 5) + MovementLoopAddLocation(NPC, 730.81, -66.26, 84.87, 5, 0) + + -- and runs for Neriak along this path + MovementLoopAddLocation(NPC, 713.11, -66.27, 85.87, 5, 0) + MovementLoopAddLocation(NPC, 648.75, -55.57, 87.71, 5, 0) + MovementLoopAddLocation(NPC, 565.20, -44.76, 73.07, 5, 0) + MovementLoopAddLocation(NPC, 529.12, -47.11, 55.37, 5, 0) + MovementLoopAddLocation(NPC, 481.85, -45.80, 47.16, 5, 0) + MovementLoopAddLocation(NPC, 431.75, -38.18, -3.26, 5, 0) + MovementLoopAddLocation(NPC, 344.12, -31.62, 2.87, 5, 0) + MovementLoopAddLocation(NPC, 243.35, -21.61, 20.27, 5, 0) + MovementLoopAddLocation(NPC, 219.18, -21.28, 33.43, 5, 0) + MovementLoopAddLocation(NPC, 193.26, -23.35, 33.61, 5, 0) + MovementLoopAddLocation(NPC, 162.40, -32.60, 24.66, 5, 0) + MovementLoopAddLocation(NPC, 142.16, -41.25, 7.35, 5, 0) + MovementLoopAddLocation(NPC, 125.97, -42.22, -23.69, 5, 0) + MovementLoopAddLocation(NPC, 103.92, -47.94, -40.30, 5, 0) + MovementLoopAddLocation(NPC, 85.21, -50.88, -45.10, 5, 0) + MovementLoopAddLocation(NPC, 60.97, -51.79, -62.79, 5, 0) + MovementLoopAddLocation(NPC, 21.74, -48.77, -17.95, 5, 0) + MovementLoopAddLocation(NPC, -5.13, -51.01, 5.02, 5, 0) + MovementLoopAddLocation(NPC, -15.33, -51.53, 25.12, 5, 0) + MovementLoopAddLocation(NPC, -116.78, -55.40, 9.44, 5, 0) + MovementLoopAddLocation(NPC, -196.82, -52.84, 20.44, 5, 0) + MovementLoopAddLocation(NPC, -279.86, -55.93, 23.89, 5, 0) + MovementLoopAddLocation(NPC, -332.51, -52.64, 22.01, 5, 0) + MovementLoopAddLocation(NPC, -366.92, -51.36, 15.03, 5, 0) + MovementLoopAddLocation(NPC, -375.64, -51.93, -6.33, 5, 0) + MovementLoopAddLocation(NPC, -432.46, -49.65, -44.58, 5, 0) + MovementLoopAddLocation(NPC, -498.40, -50.50, -75.37, 5, 0) + MovementLoopAddLocation(NPC, -536.19, -53.27, -84.00, 5, 0) + MovementLoopAddLocation(NPC, -593.50, -56.70, -74.40, 5, 0) + MovementLoopAddLocation(NPC, -657.14, -57.06, -86.47, 5, 0) + MovementLoopAddLocation(NPC, -678.35, -55.46, -83.81, 5, 10, "DespawnOpal") + -- she needs to poof into Neriak at this point +end + +function hailed(NPC, Spawn) + Say(NPC, "No one can stop me!") +end + +function respawn(NPC) + spawn(NPC) +end + +function DespawnOpal(NPC) + -- make her depop, but she needs to use her respawn timer to run again in 20 mins. + Despawn(NPC, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/PellandraDXatyl.lua b/Lua/SpawnScripts/Darklight/PellandraDXatyl.lua new file mode 100755 index 000000000..c252bfe99 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/PellandraDXatyl.lua @@ -0,0 +1,285 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/PellandraDXatyl.lua + Script Purpose : Pellandra D'Xatyl (340038) + Script Author : Cynnar + Script Date : 2015.07.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ASolidifiedFront = 120 +local SealingTheRift = 122 +local SearchingForSigils = 123 +local ReclaimingTheSableveinTear = 124 +local AnAuthorityOnHate = 125 + +function spawn(NPC) + ProvidesQuest(NPC, SealingTheRift) + ProvidesQuest(NPC, SearchingForSigils) + ProvidesQuest(NPC, ReclaimingTheSableveinTear) + ProvidesQuest(NPC, AnAuthorityOnHate) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not QuestStepIsComplete(Spawn, ASolidifiedFront, 2) then + SetStepComplete(Spawn, ASolidifiedFront, 2) + end + if HasQuest(Spawn, SealingTheRift) and GetQuestStep(Spawn, SealingTheRift) == 1 then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra006.mp3", "", "", 1661628815, 3964293147, Spawn) + AddConversationOption(conversation, "I have not yet found a rift.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Ah, you return, and in one piece I might add. Tell me, were you able to seal one of the rifts?") + elseif HasQuest(Spawn, SealingTheRift) and GetQuestStep(Spawn, SealingTheRift) == 2 then --[[ needs an or check here if possible --]] + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra006.mp3", "", "", 1661628815, 3964293147, Spawn) + AddConversationOption(conversation, "I found one and sealed it!", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Ah, you return, and in one piece I might add. Tell me, were you able to seal one of the rifts?") + elseif HasCompletedQuest(Spawn, SealingTheRift) and not HasQuest(Spawn, SearchingForSigils) and not HasCompletedQuest(Spawn, SearchingForSigils) then + dlg_2_1(NPC, Spawn) + elseif not HasCompletedQuest(Spawn, SearchingForSigils) and GetQuestStep(Spawn, SearchingForSigils) == 1 then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra012.mp3", "", "", 4283446564, 112709310, Spawn) + AddConversationOption(conversation, "Not yet...", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Did you bring me the Sablevein sigil stones?") + elseif not HasCompletedQuest(Spawn, SearchingForSigils) and GetQuestStep(Spawn, SearchingForSigils) == 2 then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra012.mp3", "", "", 4283446564, 112709310, Spawn) + AddConversationOption(conversation, "Yes, I have them here.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Did you bring me the Sablevein sigil stones?") + elseif HasCompletedQuest(Spawn, SearchingForSigils) and not HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) and not HasQuest(Spawn, ReclaimingTheSableveinTear) then + dlg_6_2(NPC, Spawn) + elseif not HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) and GetQuestStep(Spawn, ReclaimingTheSableveinTear) == 1 then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra021.mp3", "", "", 894106996, 369904668, Spawn) + AddConversationOption(conversation, "I'm still searching.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Have you discovered the source of the Sablevein elemental attacks?") + elseif not HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) and GetQuestStep(Spawn, ReclaimingTheSableveinTear) == 2 then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra021.mp3", "", "", 894106996, 369904668, Spawn) + AddConversationOption(conversation, "I found a Thexian Occultist inside the cave and slew her.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Have you discovered the source of the Sablevein elemental attacks?") + elseif not HasCompletedQuest(Spawn, SealingTheRift) and not HasQuest(Spawn, SearchingForSigils) and GetQuestStep(Spawn, ASolidifiedFront) > 0 then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra001.mp3", "", "", 2805015969, 2303192664, Spawn) + AddConversationOption(conversation, "I've been sent by Verex N'Za to assist you.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Curse these infernal things, there's no end to them in sight! You there, what do you want?") + elseif not HasCompletedQuest(Spawn, SealingTheRift) and not HasQuest(Spawn, SearchingForSigils) and HasCompletedQuest(Spawn, ASolidifiedFront) then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra001.mp3", "", "", 2805015969, 2303192664, Spawn) + AddConversationOption(conversation, "I've been sent by Verex N'Za to assist you.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Curse these infernal things, there's no end to them in sight! You there, what do you want?") + elseif HasCompletedQuest(Spawn, SealingTheRift) and HasCompletedQuest(Spawn, SearchingForSigils) and HasCompletedQuest(Spawn, ReclaimingTheSableveinTear) then + if not HasQuest(Spawn, AnAuthorityOnHate) then + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra025.mp3", "", "bow", 360494739, 4156662992, Spawn) + AddConversationOption(conversation, "I will speak with her at once.", "QuestOffer_AnAuthorityOnHate") + AddConversationOption(conversation, "I'll decide who I speak to!", "PlayerEmote_brandish") + StartConversation(conversation, NPC, Spawn, "Your efforts have not gone unnoticed by authorities here in Hate's Envy. Your presence has been requested by the mayor's daughter, Jhana Do'Zyth. You can meet with her inside Hate's Envy Town Hall, northwest from here.") + else + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra025.mp3", "", "bow", 360494739, 4156662992, Spawn) + AddConversationOption(conversation, "I will speak with her at once.", "dlg_9_1") + AddConversationOption(conversation, "I'll decide who I speak to!", "PlayerEmote_2") + StartConversation(conversation, NPC, Spawn, "Your efforts have not gone unnoticed by authorities here in Hate's Envy. Your presence has been requested by the mayor's daughter, Jhana Do'Zyth. You can meet with her inside Hate's Envy Town Hall, northwest from here.") + end + elseif not HasCompletedQuest(Spawn, ASolidifiedFront) then + StartConversation(conversation, NPC, Spawn, "The Sablevein elementals must be stopped before they burn down all of Hate's Envy!") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra003.mp3", "", "frustrated", 1298376887, 2297284297, Spawn) + AddConversationOption(conversation, "What is it you would have me do?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "I told Verex I could handle things here by myself! Bah, no matter. If you think you're cut out for the job, it's no skin off my back whether or not you succeed. Verex can always send another recruit to replace the fallen.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra004.mp3", "", "", 4198693006, 595147579, Spawn) + AddConversationOption(conversation, "Yes, I will seal one of the rifts.", "QuestOffer_SealingTheRift") + AddConversationOption(conversation, "Not right now.", "PlayerEmote_no") + StartConversation(conversation, NPC, Spawn, "The elementals first started appearing inside Sablevein Tear forcing our miners to retreat. Now they're spewing forth from rifts in the ground! I need you to find one of these rifts and seal it. Are you up to the task?") +end + +function PlayerEmote_no(NPC, Spawn) + PlayFlavor(Spawn, "", "", "no", 0, 0, Player) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will find it.") + StartConversation(conversation, NPC, Spawn, "Do not return until you have found the rift and sealed it!") +end + +function QuestOffer_SealingTheRift(NPC, Spawn) + OfferQuest(NPC, Spawn, SealingTheRift) +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, SealingTheRift, 2) + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra007.mp3", "", "", 3453657784, 2286828041, Spawn) + AddConversationOption(conversation, "The rift may be sealed, but the battlefield is far from clear. Is there more I can do?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Remarkable work, " .. GetName(Spawn) .. "! Your enemies will soon quake upon hearing your name!") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra009.mp3", "", "", 1573554820, 3218022167, Spawn) + AddConversationOption(conversation, "Tell me more.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "Indeed there is, rift walker. The Sablevein elementals did not appear here naturally. Something or someone summoned them. To learn more about their creator I have a new mission for you to undertake.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra010.mp3", "", "", 918403175, 3688051078, Spawn) + AddConversationOption(conversation, "I will collect sigils from the Sablevein pulverizers.", "QuestOffer_SearchingForSigils") + AddConversationOption(conversation, "I cannot assist at this time.", "PlayerEmote_no") + StartConversation(conversation, NPC, Spawn, "I need you to hunt the Sablevein pulverizers found near the entrance of Sablevein Tear. These more superior forms of elemental magic will likely be imbued with a sigil of some sort. Analyzing these sigils will give us insight as to who is really behind these attacks.") +end + +function QuestOffer_SearchingForSigils(NPC, Spawn) + OfferQuest(NPC, Spawn, SearchingForSigils) +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra016.mp3", "", "", 188105745, 1139692175, Spawn) + AddConversationOption(conversation, "I see. What can we do to stop them?", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "I haven't the time to give you a comprehensive history lesson, but needless to say, the Thexians are nothing more than the former ruling class of Neriak. An emasculated family who proved themselves too weak to rule Neriak. We Teir'Dal must thank Queen Cristanos for recognizing this weakness and removing it, as one would carve a burrowing tick from the back of a dog.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra017.mp3", "", "agree", 1551019218, 1492381224, Spawn) + AddConversationOption(conversation, "Nothing will stand in my way!", "dlg_4_5") + AddConversationOption(conversation, "I will defeat all who oppose me!", "dlg_4_5") + AddConversationOption(conversation, "I'm actually not feeling very courageous at this time. Perhaps later.", "PlayerEmote_cringe") + StartConversation(conversation, NPC, Spawn, "It is time we put an end to this attack once and for all. We must confront this threat at its source. You've proven your strength to me, Oamoothao. Now you must prove your rancor toward those who would dare to keep us from our goals.") +end + +function PlayerEmote_cringe(NPC, Spawn) + PlayFlavor(Spawn, "", "", "cringe", 0, 0, Player) +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(Spawn, "", "", "cheer", 0, 0, Player) + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra018.mp3", "", "", 1441675499, 2064064965, Spawn) + AddConversationOption(conversation, "Go on.", "dlg_4_6") + StartConversation(conversation, NPC, Spawn, "Good, then we shall begin. I believe the source of our problems lies within the depths of Sablevein Tear, the place our miners were recently excavating before the elementals attacked.") +end + +function dlg_4_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra019.mp3", "", "", 1398439421, 3597583644, Spawn) + AddConversationOption(conversation, "I will put an end to the attacks!", "QuestOffer_ReclaimingTheSableveinTear") + AddConversationOption(conversation, "I cannot assist at this time.", "PlayerEmote_no") + StartConversation(conversation, NPC, Spawn, "I want you to journey inside the cave and remove the one responsible for creating this mayhem. Do this for me, young one, and prove your ruthlessness to be unquestionable.") +end + +function QuestOffer_ReclaimingTheSableveinTear(NPC, Spawn) + OfferQuest(NPC, Spawn, ReclaimingTheSableveinTear) +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will find the source of the attacks.") + StartConversation(conversation, NPC, Spawn, "Time is of the essence, " .. GetName(Spawn) .. ". You must continue your search at once!") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, SearchingForSigils, 2) + RemoveItem(Spawn, 11837) + RemoveItem(Spawn, 11837) + RemoveItem(Spawn, 11837) + RemoveItem(Spawn, 11837) + + PlayFlavor(Spawn, "", "", "agree", 0, 0, Player) + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra013.mp3", "", "", 1325789306, 33394254, Spawn) + AddConversationOption(conversation, "What's that?", "dlg_6_2") + StartConversation(conversation, NPC, Spawn, "Good, let me see them. Hmm, this is just as I thought.") +end + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra015.mp3", "", "", 1970700762, 2434868211, Spawn) + AddConversationOption(conversation, "What can we do to stop them?", "dlg_4_2") + AddConversationOption(conversation, "Who are the Thexians?", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "The marks on the sigil stones you recovered confirm my suspicions. The Sablevein elementals are no doubt the creation of the cowardly Thexians.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ReclaimingTheSableveinTear, 2) + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra022.mp3", "", "cheer", 2095462758, 507648174, Spawn) + AddConversationOption(conversation, "Now what?", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Skillfully done, " .. GetName(Spawn) .. "! The meddling Thexians should know better than to try to disrupt our grip on these lands. I hope you made her suffer.") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra024.mp3", "", "", 739852284, 4285882362, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Fortunately the direct threat appears to be abated for now. Udiyitas and the other guards will concentrate on mopping up the rest of the stray Sablevein while others can begin to repair the damage done. Your fate, however, lies elsewhere.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra025.mp3", "", "", 360494739, 4156662992, Spawn) + AddConversationOption(conversation, "I will speak with her at once.", "QuestOffer_AnAuthorityOnHate") + AddConversationOption(conversation, "I'll decide who I speak to!", "PlayerEmote_brandish") + StartConversation(conversation, NPC, Spawn, "Your efforts have not gone unnoticed by authorities here in Hate's Envy. Your presence has been requested by the mayor's daughter, Jhana Do'Zyth. You can meet with her inside Hate's Envy Town Hall, northwest from here.") +end + +function PlayerEmote_brandish(NPC, Spawn) + PlayFlavor(Spawn, "", "", "brandish", 0, 0, Player) +end + +function QuestOffer_AnAuthorityOnHate(NPC, Spawn) + if not HasCompletedQuest(Spawn, AnAuthorityOnHate) and not HasQuest(Spawn, AnAuthorityOnHate) then + OfferQuest(NPC, Spawn, AnAuthorityOnHate) + end +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(Spawn, "", "", "no", 0, 0, Player) + PlayFlavor(NPC, "pellandra_d_xatyl/darklight_wood/hates_envy/pellandra_revamp/pellandra008.mp3", "", "", 4200285970, 1831158049, Spawn) + AddConversationOption(conversation, "I will return with the Sigils!") + StartConversation(conversation, NPC, Spawn, "Do not return until you have collected the sigil stones from the Sablevein pulverizers.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/ReverendValac.lua b/Lua/SpawnScripts/Darklight/ReverendValac.lua new file mode 100755 index 000000000..ede40d151 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/ReverendValac.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Darklight/ReverendValac.lua + Script Purpose : Reverend Valac + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Say(NPC, "Innoruuk is the true leader of Neriak.", Spawn) +end + diff --git a/Lua/SpawnScripts/Darklight/Sableveinrubble.lua b/Lua/SpawnScripts/Darklight/Sableveinrubble.lua new file mode 100755 index 000000000..15c2b7393 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/Sableveinrubble.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/Darklight/Sableveinrubble.lua + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +SetRequiredQuest(NPC, 85, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +spawn(NPC) +end diff --git a/Lua/SpawnScripts/Darklight/Sableveinrubblenode.lua b/Lua/SpawnScripts/Darklight/Sableveinrubblenode.lua new file mode 100755 index 000000000..deaeebe20 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/Sableveinrubblenode.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Darklight/Sableveinrubble.lua + Script Purpose : Sablevein Rubble + Script Author : Cynnar + Script Date : 10/13/2015 + Script Notes : +--]] + +local SableveinRubble = 137 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 20, "SpawnAccess", "SpawnAccess") + SetRequiredQuest(NPC, SableveinRubble, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, SableveinRubble) and tonumber(GetTempVariable(Spawn, "SableOre")) <= 6 then + AddSpawnAccess(NPC, Spawn) + end +end + +function casted_on(Target, Caster, SpellName) + local SableOreCount = tonumber(GetTempVariable(Player, "SableOre")) + if SpellName == "harvest " then + if HasQuest(Spawn, SableveinRubble) and tonumber(GetTempVariable(Spawn, "SableOre")) <= 6 then + Despawn(NPC) + SummonItem(Spawn, 11836) + SetTempVariable(Spawn, "SableOre", SableOreCount + 1) + elseif HasQuest(Spawn, SableveinRubble) and tonumber(GetTempVariable(Spawn, "SableOre")) == 6 then + RemoveSpawnAccess(NPC, Player) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/SirJaronVar.lua b/Lua/SpawnScripts/Darklight/SirJaronVar.lua new file mode 100755 index 000000000..6b93ba08d --- /dev/null +++ b/Lua/SpawnScripts/Darklight/SirJaronVar.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Darklight/SirJaronVar.lua + Script Purpose : Sir Jaron Var + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Say(NPC, "...", Spawn) +end + diff --git a/Lua/SpawnScripts/Darklight/Soltrinscorpse.lua b/Lua/SpawnScripts/Darklight/Soltrinscorpse.lua new file mode 100755 index 000000000..6b7219d63 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/Soltrinscorpse.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Darklight/Soltrinscorpse.lua + Script Purpose : Used in quest "The Missing Recruit" (ID 141) + Script Author : Cynnar + Script Date : 1/7/2016 + Script Notes : Soltrinscorpse (ID 340800) +--]] + +local MissingRecruit = 141 + +function spawn(NPC) + SpawnSet(NPC, "visual_state", 228) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Search for Soltrin's field kit" and not HasItem(Spawn, 13115, 1) then + SummonItem(Spawn, 13115) + SetStepComplete(Spawn, MissingRecruit, 1) + RemoveSpawnAccess(NPC, Spawn) + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, MissingRecruit) and GetQuestStep(Spawn, MissingRecruit) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end diff --git a/Lua/SpawnScripts/Darklight/SselnylDoZyth.lua b/Lua/SpawnScripts/Darklight/SselnylDoZyth.lua new file mode 100755 index 000000000..7b0a4eedc --- /dev/null +++ b/Lua/SpawnScripts/Darklight/SselnylDoZyth.lua @@ -0,0 +1,156 @@ +--[[ + Script Name : SpawnScripts/Darklight/SselnylDoZyth.lua + Script Purpose : Sselnyl Do'Zyth + Script Author : Cynnar + Script Date : 2015.08.17 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ProwlerAnnoyance = 128 +local NoUndeadGoesUnturned = 134 +local ThexianTaint = 135 + +function spawn(NPC) + ProvidesQuest(NPC, NoUndeadGoesUnturned) + ProvidesQuest(NPC, ThexianTaint) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, ProwlerAnnoyance) then + StartConversation(conversation, NPC, Spawn, "Leave me be!") + elseif not HasCompletedQuest(Spawn, ThexianTaint) and GetQuestStep(Spawn, ThexianTaint) == 3 then + PlayFlavor(NPC, "", "", "scold", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "Speak with Ginwyss D'Arkenett at T'Vatar Post at once.") + elseif not HasCompletedQuest(Spawn, ThexianTaint) and GetQuestStep(Spawn, ThexianTaint) == 1 then + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl010.mp3", "", "", 3344473082, 763160610, Spawn) + AddConversationOption(conversation, "I am about to embark.") + StartConversation(conversation, NPC, Spawn, "Why haven't you completed your mission yet?") + elseif HasCompletedQuest(Spawn, NoUndeadGoesUnturned) and not HasCompletedQuest(Spawn, ThexianTaint) then + ChatQuest_1_5(NPC, Spawn) + elseif not HasCompletedQuest(Spawn, NoUndeadGoesUnturned) and GetQuestStep(Spawn, NoUndeadGoesUnturned) == 2 then + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl006.mp3", "", "", 2949301327, 3473298486, Spawn) + AddConversationOption(conversation, "I have the remains here.", "ChatQuest_1_5") + StartConversation(conversation, NPC, Spawn, "Did you find them?") + elseif not HasCompletedQuest(Spawn, NoUndeadGoesUnturned) and GetQuestStep(Spawn, NoUndeadGoesUnturned) == 1 then + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl006.mp3", "", "", 2949301327, 3473298486, Spawn) + AddConversationOption(conversation, "Not yet...", "ChatQuest_1_4") + StartConversation(conversation, NPC, Spawn, "Did you find them?") + elseif not HasQuest(Spawn, NoUndeadGoesUnturned) and not HasCompletedQuest(Spawn, NoUndeadGoesUnturned) then + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl001.mp3", "", "", 2870732726, 2209042878, Spawn) + AddConversationOption(conversation, "I have been working hard.", "ChatQuest_1_1") + StartConversation(conversation, NPC, Spawn, "Ah, " .. GetName(Spawn) .. ". Your name has made the rounds.") + elseif HasCompletedQuest(Spawn, NoUndeadGoesUnturned) and HasCompletedQuest(Spawn, ThexianTaint) then + PlayFlavor(NPC, "", "", "bow", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "Your help has been much appreciated!") + end +end + +function ChatQuest_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl002.mp3", "", "", 1862425876, 99259733, Spawn) + AddConversationOption(conversation, "What work is that?", "ChatQuest_1_2") + StartConversation(conversation, NPC, Spawn, "I am well aware of this. You have done much for Hate's Envy, and we are quite thankful. I have additional work for you, however.") +end + +function ChatQuest_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl003.mp3", "", "smirk", 1447042899, 779642311, Spawn) + AddConversationOption(conversation, "Go on.", "ChatQuest_1_3") + StartConversation(conversation, NPC, Spawn, "Jhana has mentioned your work in clearing the path to the Thexian burial chamber. Inside I have reason to believe a once powerful Thexian Dragoon-General has been laid to rest there.") +end + +function ChatQuest_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl004.mp3", "", "", 3800789963, 3276371466, Spawn) + AddConversationOption(conversation, "I'll return with the remains at once.", "QuestOffer_NoUndeadGoesUnturned") + AddConversationOption(conversation, "I cannont assist at this time.") + StartConversation(conversation, NPC, Spawn, "I want you to enter the cave and bring me the remains of the fallen Dragoon-General. Once I have the remains, we can put the next part of my plan in motion.") +end + +function ChatQuest_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl008.mp3", "", "", 107641320, 435607180, Spawn) + AddConversationOption(conversation, "I'll return soon.") + StartConversation(conversation, NPC, Spawn, "Do not return until you have found the remains of the Thexian Dragoon-General.") +end + +function ChatQuest_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, NoUndeadGoesUnturned, 2) + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl007.mp3", "", "", 1506804081, 4126548148, Spawn) + AddConversationOption(conversation, "What do you intend to do with them?", "QuestChat_1_1") + StartConversation(conversation, NPC, Spawn, "Well... Aren't these just lovely? It's quite remarkable how a once fierce warrior has now been reduced to mere scraps. We shall find use for them, however.") +end + +function QuestOffer_NoUndeadGoesUnturned(NPC, Spawn) + OfferQuest(NPC, Spawn, NoUndeadGoesUnturned) +end + + +function QuestChat_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl009.mp3", "", "", 2231372796, 2001694414, Spawn) + AddConversationOption(conversation, "What can you tell me about the Thexians?", "QuestChat_1_2") + StartConversation(conversation, NPC, Spawn, "All in good time, " .. GetName(Spawn) .. ". In short, we're going to use them against the Thexians found near the Wellspring of Nightmares. They were reported to us by the Dread Guard. I would like to take them out before the Dread Guard have a chance to get to them to earn a bit of favor with Cristanos.") +end + +function QuestChat_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl012.mp3", "", "", 739520586, 1273216737, Spawn) + AddConversationOption(conversation, "Go on.", "QuestChat_1_3") + StartConversation(conversation, NPC, Spawn, "They are but insects that bite in the night, " .. GetName(Spawn) .. ". The Thexians do not recognize Cristanos as the ruler of Neriak and seek to steal the throne. They creep into the Darklight Wood and attempt to make it their own. They will fail. For now, they are attempting to harness the spirits trapped within the Wellspring of Nightmares to do their bidding.") +end + +function QuestChat_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl013.mp3", "", "", 3807512050, 1047350728, Spawn) + AddConversationOption(conversation, "How will I do that?", "QuestChat_1_4") + StartConversation(conversation, NPC, Spawn, "By placing a vexing curse on the remains you gathered for me, I intend for you to disrupt the Thexians' attempt to control the spirits and turn them against our enemy.") +end + +function QuestChat_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl014.mp3", "", "", 1429242287, 2342006533, Spawn) + AddConversationOption(conversation, "I will do this at once!", "QuestChat_1_5") + StartConversation(conversation, NPC, Spawn, "Your mission is comprised of two parts. First, you must exterminate a number of the spirits that the Thexians have already tainted. Second, you must take the vex-runed remains and toss them into the Wellspring of Nightmares. Doing this will befoul their ritual and cause them great harm.") +end + +function QuestChat_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sselnyl_do_zyth/darklight_wood/hates_envy/sselnyl_revamp/sselnyl015.mp3", "", "", 2064460761, 4053677356, Spawn) + AddConversationOption(conversation, "I will not fail you.", "QuestOffer_ThexianTaint") + AddConversationOption(conversation, "I must decline.") + StartConversation(conversation, NPC, Spawn, "Once you've put an end to the ritual, bring news of your success to Ginwyss D'Arkenett at T'Vatar Post. She will be quite happy to receive it. You can get to the Wellspring of Nightmares and the Thexians by taking the road east out of Hate's Envy. Following that road further will lead you to T'Vatar Post.") +end + +function QuestOffer_ThexianTaint(NPC, Spawn) + OfferQuest(NPC, Spawn, ThexianTaint) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/TrainerChalciceZZylZarin.lua b/Lua/SpawnScripts/Darklight/TrainerChalciceZZylZarin.lua new file mode 100755 index 000000000..6523cb985 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerChalciceZZylZarin.lua @@ -0,0 +1,155 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerChalciceZZylZarin.lua + Script Purpose : Trainer Chalcice Z'Zyl'Zarin + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "dlg_3_1") + AddConversationOption(conversation, "Tell me about mending items.") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can explain the finer points of banking and mending to you if you like. Would you care to hear about either?") + if convo==8 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "dlg_8_1") + AddConversationOption(conversation, "Tell me about mending items.") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can explain the finer points of banking and mending to you if you like. Would you care to hear about either?") + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I open my bank?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "You may already have an account set up. Go see Gultrin Y'Oussiryn to access your account. You can access your bank account from cities allied with Neriak as well.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_3_3") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are 'shared' bank slots?", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_3_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coin) placed in your shared slots can be accessed by other characters on your account that are of the same alignment. Lore and No-Trade items cannot be put into the shared slots.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I want to learn about mending items.", "dlg_3_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") +end + +function dlg_3_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "dlg_3_7") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender to get them repaired.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I open my bank?", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "You may already have an account set up. Go see Gultrin Y'Oussiryn to access your account. You can access your bank account from cities allied with Neriak as well.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_8_3") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are 'shared' bank slots?", "dlg_8_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") +end + +function dlg_8_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_8_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coin) placed in your shared slots can be accessed by other characters on your account that are of the same alignment. Lore and No-Trade items cannot be put into the shared slots.") +end + +function dlg_8_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I want to learn about mending items.", "dlg_8_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") +end + +function dlg_8_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "dlg_8_7") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender to get them repaired.") +end + diff --git a/Lua/SpawnScripts/Darklight/TrainerDrisaceDoArkenarn.lua b/Lua/SpawnScripts/Darklight/TrainerDrisaceDoArkenarn.lua new file mode 100755 index 000000000..359b0c5d8 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerDrisaceDoArkenarn.lua @@ -0,0 +1,176 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerDrisaceDoArkenarn.lua + Script Purpose : Trainer Drisace Do'Arkenarn + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are Heroic Opportunities?", "dlg_22_1") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "I look at you and see someone eager to defend Neriak by facing fierce opponents in battle. Well, I can teach you about Heroic Opportunities, a way for you and your allies to accomplish great feats of combat prowess.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities complicated?", "dlg_22_2") + AddConversationOption(conversation, "I need to finish another task.") + StartConversation(conversation, NPC, Spawn, "Beginning at level 5, Heroic Opportunities can be triggered in combat. They allow both lone adventurers and groups of allies to combine their attacks into a series of spells or combat arts performed in a specific order. When successful, Heroic Opportunities give beneficial effects such as extra attacks against your foes or beneficial magic to heal or enhance your abilities.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how does a Heroic Opportunity arise?", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "Rest assured, someone with battle skills will find them easy! Once you start using them, you'll wonder how you ever got along without them.") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay, that does sound easy. How do I begin a Heroic Opportunity?", "dlg_22_4") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Let me tell you the short and simple version first so that you can see how easy Heroic Opportunities are to use. All you need to do is use your ability that triggers the Heroic Opportunity, then use the spells or combat arts that are blinking on your hotbar or in your Knowledge Book. Easy, isn't it?") +end + +function dlg_22_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can I trigger a Starter Chain whenever I want?", "dlg_22_5") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities have two parts called the Starter Chain and the Combat Wheel. At level 5, every adventure class gains an ability that triggers a Starter Chain: Fighting Chance, Divine Providence, Arcane Augur, or Lucky Break. Open your Knowledge book by pressing K and click the Abilities tab to see it. You can drag its icon to your hotbar to use it.") +end + +function dlg_22_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens when I trigger a Starter Chain?", "dlg_22_6") + StartConversation(conversation, NPC, Spawn, "Starter Chains can only be triggered while in battle with an enemy. After all, Heroic Opportunities are all about becoming great in combat! When you or an ally triggers a Starter Chain, you will see it appear in the corner of your screen.") +end + +function dlg_22_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities only usable in groups?", "dlg_22_7") + AddConversationOption(conversation, "I'll need to continue this later.") + StartConversation(conversation, NPC, Spawn, "Once a Starter Chain is initiated, it shows different ability icons flashing on the screen. A Starter Chain will generally display four different icons that indicate which spells or combat arts advance the Heroic Opportunity to the next stage. Icons will be blue, yellow, red, or green, depending on which class has the ability.") +end + +function dlg_22_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I know what I should do to advance the Starter Chain?", "dlg_22_8") + AddConversationOption(conversation, "I need to finish something else now.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities can be used alone or in groups. If you fight alone you will have a limited number of ways to advance the Starter Chain, but if you are in a group made up of different classes then you will be able to advance the Starter Chain in different ways to unleash a variety of Heroic Opportunities.") +end + +function dlg_22_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Use the spell or art that is blinking. That's all there is to it?", "dlg_22_9") + AddConversationOption(conversation, "I'll be back later.") + StartConversation(conversation, NPC, Spawn, "Any spells or combat arts that can advance the Heroic Opportunity will flash on your hotbar and in your Knowledge Book. You have 10 seconds to complete the Starter Chain and advance to the Combat Wheel. See, it's easy: just use the spell or art that blinks!") +end + +function dlg_22_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why does it trigger one of three?", "dlg_22_10") + StartConversation(conversation, NPC, Spawn, "It's quite simple. After you've advanced the Starter Chain, the bright and colorful Combat Wheel appears. The Combat Wheel shows a series of icons and displays the name of the Heroic Opportunity you have triggered. A Starter Chain will initiate one of three different Heroic Opportunities.") +end + +function dlg_22_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the Combat Wheel tell me?", "dlg_22_11") + AddConversationOption(conversation, "I'll be back another time.") + StartConversation(conversation, NPC, Spawn, "There are three potential Heroic Opportunities: common, uncommon and rare. Each provides a different benefit. Though even the common ones are valuable, the rare event can sometimes turn the tide of battle in your favor!") +end + +function dlg_22_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell the difference?", "dlg_22_12") + StartConversation(conversation, NPC, Spawn, "As with the Starter Chain, the Combat Wheel indicates which spells or arts must be performed to advance and eventually complete the heroic event. Sometimes these spells or abilities must be performed in a particular order. Other times there is no order.") +end + +function dlg_22_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How long do I have to complete the Heroic Opportunity?", "dlg_22_13") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "In the very center of the Wheel, you'll see either a clockwise-pointing arrow or arrows pointing in different directions. The clockwise arrow indicates that the abilities must be completed in order. The other types of arrows mean that the abilities can be completed in any order.") +end + +function dlg_22_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That sounds easy!", "dlg_22_14") + StartConversation(conversation, NPC, Spawn, "The Combat Wheel must be completed within 10 seconds or the Opportunity will fail. The blue bar that appears around the outside of the Wheel is a timer. When the blue bar is gone, this indicates that time has run out to complete the Heroic Opportunity.") +end + +function dlg_22_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other tricks I should know?", "dlg_22_15") + AddConversationOption(conversation, "I must go now.") + StartConversation(conversation, NPC, Spawn, "It really is! As you become more familiar with using Heroic Opportunities, you can take note of the members of your group and plan out ahead of time which Opportunities will provide you the greatest benefit.") +end + +function dlg_22_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you for the information. I'll try Heroic Opportunities as soon as I can!", "dlg_22_16") + StartConversation(conversation, NPC, Spawn, "Scout classes have a little something extra. By using their Coin icon, the Scout can shift to another Heroic Opportunity. This shift can only happen once per Combat Wheel. This ability must also be used before any other spell or combat art has been used to advance the Wheel.") +end + diff --git a/Lua/SpawnScripts/Darklight/TrainerDurvenKXyth.lua b/Lua/SpawnScripts/Darklight/TrainerDurvenKXyth.lua new file mode 100755 index 000000000..4a6102c85 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerDurvenKXyth.lua @@ -0,0 +1,216 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerDurvenKXyth.lua + Script Purpose : Trainer Durven K'Xyth + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_23_1") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Hello there. You look like you keep both your body and mind in good shape. Even so, I bet you could use more information on your physical attributes: Strength, Agility, Stamina, Intelligence, and Wisdom. That's what I'm here to teach you!") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_23_2") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Bruisers, and Shadowknights have.") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_23_3") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_23_4") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Bruisers, and Shadowknights have.") +end + +function dlg_23_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Stamina.", "dlg_23_5") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Agility helps you avoid physical attacks. The more Agility you have, the higher your Avoidance ability. Agility also determines the maximum amount of power Brigands, Assassins, Troubadors, and Dirges have.") +end + +function dlg_23_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Intelligence.", "dlg_23_6") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Stamina gives you more Health points. The more Health you have, the longer you can survive in battle. Stamina is a useful attribute for every class.") +end + +function dlg_23_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Wisdom.", "dlg_23_7") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Intelligence is more than just a sign of how smart you are. The more Intelligence you have, the more damage you do with spells in combat. Intelligence also determines the maximum amount of power Wizards, Warlocks, Coercers, Necromancers, Troubadors, and Dirges have.") +end + +function dlg_23_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_23_8") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Wisdom increases your resistances to magical types of attacks: Heat, Cold, Disease, Poison, Magic, Mental and Divine. Wisdom also determines the maximum amount of power Inquisitors, Defilers, Furies, and Wardens have.") +end + +function dlg_23_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_23_9") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + +function dlg_23_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_23_10") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Bruisers, and Shadowknights have.") +end + +function dlg_23_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_23_11") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + +function dlg_23_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_23_12") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Bruisers, and Shadowknights have.") +end + +function dlg_23_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Your physical attributes, as well as other aspects of your character, can be improved in a number of ways. Many items add points to your attributes, resistances, Health, or Power. Hold your mouse pointer over your items to see what benefits they provide.") +end + +function dlg_23_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_23_14") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Many spells and combat arts enhance your attributes. Some of these can be cast on yourself, while others can improve other player characters that you group with. Grouping with other classes provides a wider variety of ways to improve your attributes.") +end + +function dlg_23_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_23_15") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Bruisers, and Shadowknights have.") +end + +function dlg_23_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Your physical attributes, as well as other aspects of your character, can be improved in a number of ways. Many items add points to your attributes, resistances, Health, or Power. Hold your mouse pointer over your items to see what benefits they provide.") +end + +function dlg_23_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_23_17") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Many spells and combat arts enhance your attributes. Some of these can be cast on yourself, while others can improve other player characters that you group with. Grouping with other classes provides a wider variety of ways to improve your attributes.") +end + diff --git a/Lua/SpawnScripts/Darklight/TrainerKelvyllJXarae.lua b/Lua/SpawnScripts/Darklight/TrainerKelvyllJXarae.lua new file mode 100755 index 000000000..abacde010 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerKelvyllJXarae.lua @@ -0,0 +1,197 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerKelvyllJXarae.lua + Script Purpose : Trainer Kelvyll J'Xarae + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about items and equipment.", "dlg_14_1") + AddConversationOption(conversation, "Tell me about my inventory.") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Well met. I'm here to teach our newest recruits about equipment and inventory space. Good equipment is one of the most important tools of any adventurer!") + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about items and equipment.", "dlg_15_1") + AddConversationOption(conversation, "Tell me about my inventory.") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Well met. I'm here to teach our newest recruits about equipment and inventory space. Good equipment is one of the most important tools of any adventurer!") + end + +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can I put bags inside of bags?") + AddConversationOption(conversation, "I will return for instruction later.", "dlg_14_2") + StartConversation(conversation, NPC, Spawn, "Press the I key to open your inventory. Beneath your portrait are six slots that can hold items. You can place bags or other containers in those slots, which will give you even more storage space. Press the B key to open all your bags at once.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So one item takes up one bag slot?", "dlg_14_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back if I need to refresh my memory on this.", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "Certain items, such as ammunition or harvested resources, can be stacked up to 200 at a time, depending on the item. Many goods, such as armor and clothing, cannot be stacked at all.") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do with the treasures I earn while adventuring?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "Norrath is full of treasures for brave heroes like you. Sometimes the opponents you defeat in battle leave behind treasure chests with valuable loot. You can also buy items from other players, craft them as an artisan, or be awarded items for completing quests.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the item information tell me?", "dlg_15_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items you obtain can be equipped on your person. If you find weapons, armor, jewelry, or certain other goodies, you may be able to use them. To look at a piece of equipment and determine if you can use it, move your mouse pointer over the item.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are things like attribute bonuses important?", "dlg_15_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "For items that can be equipped, such as weapons and armor, mousing over it tells you which professions can use the item and at what level it can be equipped. You'll also see any benefits, such as attribute bonuses and resists, that the equipment provides.") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell which of two weapons is better?", "dlg_15_5") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A wise adventurer is always trying to improve his or her equipment. Whenever you see gear that provides an overall greater benefit than what you have, that item is an upgrade for you.") +end + +function dlg_15_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell which of two pieces of armor is better?", "dlg_15_6") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Weapons have a Damage Rating that shows the relative damage you can do with them. A higher Damage Rating is always better. Be sure you are comparing weapons of the same type, such as a two-handed weapon with another two-hander, or one dual-wield weapon with another.") +end + +function dlg_15_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about scouts and priests?", "dlg_15_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function dlg_15_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do I do with equipment I can't use?", "dlg_15_8") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Scouts and priests need varying amounts of protection depending on how they play. If they find themselves at the forefront of battle, protection becomes very important. If they stay out of harms way, attribute bonuses may be more valuable.") +end + +function dlg_15_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are some items marked 'No Value' or 'No Trade'?", "dlg_15_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "An item can be sold to a non-player merchant for cash unless it has the 'No Value' flag on it. Items can be sold or traded to another player unless it has the 'No Trade' flag. If an item says it is 'Lore,' you can only have one of them on your character at a time.") +end + +function dlg_15_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does it mean when an item says it is 'Attuneable'?", "dlg_15_10") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items are marked 'No Value' because they are easy to obtain, such as harvested goods. You have to work to earn wealth, Zuzoo! Items are marked 'No Trade' in order to ensure that you earn them yourself, such as defeating a very tough monster or completing a long quest.") +end + +function dlg_15_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I manage my inventory?", "dlg_15_11") + StartConversation(conversation, NPC, Spawn, "If an item is marked 'Attuneable,' you must attune it to yourself before it provides any benefits. You'll notice a message on screen when you are wearing an item that must be attuned. To attune it, right-click on the item and select 'Attune.' Once attuned, that item can no longer be traded or sold to another player.") +end + +function dlg_15_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can I put bags inside of bags?", "dlg_15_12") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Press the I key to open your inventory. Beneath your portrait are six slots that can hold items. You can place bags or other containers in those slots, which will give you even more storage space. Press the B key to open all your bags at once.") +end + +function dlg_15_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So one item takes up one bag slot?", "dlg_15_13") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function dlg_15_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back if I need to refresh my memory on this.", "dlg_15_14") + StartConversation(conversation, NPC, Spawn, "Certain items, such as ammunition or harvested resources, can be stacked up to 200 at a time, depending on the item. Many goods, such as armor and clothing, cannot be stacked at all.") +end + diff --git a/Lua/SpawnScripts/Darklight/TrainerLaebrynDTekenar.lua b/Lua/SpawnScripts/Darklight/TrainerLaebrynDTekenar.lua new file mode 100755 index 000000000..f9ef8c131 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerLaebrynDTekenar.lua @@ -0,0 +1,331 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerLaebrynDTekenar.lua + Script Purpose : Trainer Laebryn D'Tekenar + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_2_1") + AddConversationOption(conversation, "I'll return later.") + StartConversation(conversation, NPC, Spawn, "Greetings. I sense that you will fight many battles and that you will one day be known as a great hero. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") + if convo==3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_3_1") + AddConversationOption(conversation, "I'll return later.") + StartConversation(conversation, NPC, Spawn, "Greetings. I sense that you will fight many battles and that you will one day be known as a great hero. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") + end + +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I target an opponent?", "dlg_2_3") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_2_4") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_2_5") + StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") +end + +function dlg_2_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the level indicate?", "dlg_2_6") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.") +end + +function dlg_2_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_2_7") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") +end + +function dlg_2_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_2_8") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") +end + +function dlg_2_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are the colors?", "dlg_2_9") + StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger its color indicates, the greater the threat it represents.") +end + +function dlg_2_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_2_10") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") +end + +function dlg_2_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_2_11") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") +end + +function dlg_2_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do up arrows mean?", "dlg_2_12") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") +end + +function dlg_2_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_2_13") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") +end + +function dlg_2_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_2_14") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") +end + +function dlg_2_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_2_15") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") +end + +function dlg_2_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, instructor.", "dlg_2_16") + StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I target an opponent?", "dlg_3_3") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_3_4") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_3_5") + StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the level indicate?", "dlg_3_6") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.") +end + +function dlg_3_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_3_7") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") +end + +function dlg_3_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_3_8") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") +end + +function dlg_3_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are the colors?", "dlg_3_9") + StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger its color indicates, the greater the threat it represents.") +end + +function dlg_3_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_3_10") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") +end + +function dlg_3_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_3_11") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") +end + +function dlg_3_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do up arrows mean?", "dlg_3_12") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") +end + +function dlg_3_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_3_13") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") +end + +function dlg_3_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_3_14") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") +end + +function dlg_3_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_3_15") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") +end + +function dlg_3_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, instructor.", "dlg_3_16") + StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath.") +end + diff --git a/Lua/SpawnScripts/Darklight/TrainerMourndrilKTekenzin.lua b/Lua/SpawnScripts/Darklight/TrainerMourndrilKTekenzin.lua new file mode 100755 index 000000000..54405da42 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerMourndrilKTekenzin.lua @@ -0,0 +1,221 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerMourndrilKTekenzin.lua + Script Purpose : Trainer Mourndril K'Tekenzin + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can cause my death? ", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "In time, all must fall. Allow me to teach you the consequences of death and how you can recover properly.") + if convo==11 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can cause my death? ", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "In time, all must fall. Allow me to teach you the consequences of death and how you can recover properly.") + end + +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How will I know when I'm going to die?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why green?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Just keep an eye on your health bar, the green line located beneath your name in the upper left of your screen. At least...you hope it's green.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens then?", "dlg_5_4") + AddConversationOption(conversation, "I need to finish this conversation later.") + StartConversation(conversation, NPC, Spawn, "Green means you're healthy. As your health diminishes, the bar turns yellow, then orange, and finally red. If the bar is empty, you die. You pay the debt, which cancels all others, if you get my meaning.") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So death is not the end?", "dlg_5_5") + StartConversation(conversation, NPC, Spawn, "Your spirit lays trapped in your fallen body, unable to move. At this point, you have a choice: wait for a nearby ally to revive you, or choose a location from the window in the center of your screen at which to reappear. In some cases you'll have a single choice, in others multiple choices.") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are the consequences?", "dlg_5_6") + StartConversation(conversation, NPC, Spawn, "Fortunately for all of us, death in Norrath is a temporary thing. If another adventurer revives you, you reappear at the spot of your death. If you choose a location to revive, you will appear at that spot. There are consequences to death, however.") +end + +function dlg_5_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is experience debt?", "dlg_5_7") + AddConversationOption(conversation, "I think I've learned enough for now.") + StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more XP (experience points). Second, you suffer a revive sickness that lowers your abilities for a short time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") +end + +function dlg_5_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is revive sickness like?", "dlg_5_8") + StartConversation(conversation, NPC, Spawn, "Experience debt is indicated by a red line on your XP bar. As you earn experience going forward, part of your XP will go toward paying off your debt while the rest will continue to advance you toward your next level. Mousing over your XP bar also tells how much debt you have.") +end + +function dlg_5_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are the results of item damage?", "dlg_5_9") + StartConversation(conversation, NPC, Spawn, "You'll see an icon for revive sickness in your spell effects window. Mousing over the icon will tell you how long it will remain. The type of sickness you have depends on how you were revived, but no matter what there will be a negative effect. Don't worry, it passes soon enough.") +end + +function dlg_5_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do about item damage?", "dlg_5_10") + StartConversation(conversation, NPC, Spawn, "Your equipped items usually take about 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, Zuzoo!") +end + +function dlg_5_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you for your advice.", "dlg_5_11") + StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability.") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How will I know when I'm going to die?", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there.") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why green?", "dlg_11_3") + StartConversation(conversation, NPC, Spawn, "Just keep an eye on your health bar, the green line located beneath your name in the upper left of your screen. At least...you hope it's green.") +end + +function dlg_11_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens then?", "dlg_11_4") + AddConversationOption(conversation, "I need to finish this conversation later.") + StartConversation(conversation, NPC, Spawn, "Green means you're healthy. As your health diminishes, the bar turns yellow, then orange, and finally red. If the bar is empty, you die. You pay the debt, which cancels all others, if you get my meaning.") +end + +function dlg_11_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So death is not the end?", "dlg_11_5") + StartConversation(conversation, NPC, Spawn, "Your spirit lays trapped in your fallen body, unable to move. At this point, you have a choice: wait for a nearby ally to revive you, or choose a location from the window in the center of your screen at which to reappear. In some cases you'll have a single choice, in others multiple choices.") +end + +function dlg_11_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are the consequences?", "dlg_11_6") + StartConversation(conversation, NPC, Spawn, "Fortunately for all of us, death in Norrath is a temporary thing. If another adventurer revives you, you reappear at the spot of your death. If you choose a location to revive, you will appear at that spot. There are consequences to death, however.") +end + +function dlg_11_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is experience debt?", "dlg_11_7") + AddConversationOption(conversation, "I think I've learned enough for now.") + StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more XP (experience points). Second, you suffer a revive sickness that lowers your abilities for a short time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") +end + +function dlg_11_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is revive sickness like?", "dlg_11_8") + StartConversation(conversation, NPC, Spawn, "Experience debt is indicated by a red line on your XP bar. As you earn experience going forward, part of your XP will go toward paying off your debt while the rest will continue to advance you toward your next level. Mousing over your XP bar also tells how much debt you have.") +end + +function dlg_11_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are the results of item damage?", "dlg_11_9") + StartConversation(conversation, NPC, Spawn, "You'll see an icon for revive sickness in your spell effects window. Mousing over the icon will tell you how long it will remain. The type of sickness you have depends on how you were revived, but no matter what there will be a negative effect. Don't worry, it passes soon enough.") +end + +function dlg_11_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do about item damage?", "dlg_11_10") + StartConversation(conversation, NPC, Spawn, "Your equipped items usually take about 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, XXXXXXX!") +end + +function dlg_11_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you for your advice.", "dlg_11_11") + StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability.") +end + diff --git a/Lua/SpawnScripts/Darklight/TrainerNhilzyneBMyar.lua b/Lua/SpawnScripts/Darklight/TrainerNhilzyneBMyar.lua new file mode 100755 index 000000000..eb43a0dbe --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerNhilzyneBMyar.lua @@ -0,0 +1,248 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerNhilzyneBMyar.lua + Script Purpose : Trainer Nhilzyne B'Myar + Script Author : Scatman + Script Date : 2009.09.05 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + GenericHail(NPC, Spawn) + + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_2_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_2_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Hello there. I'm here to teach folks the finer points of combat. I don't like to get into a fight, but if I do, I prefer to win. Know what I mean?") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_2_2") + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_2_5") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_2_7") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "dlg_2_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_2_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I begin the battle?", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So I can fight anyone or anything I want?", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_2_5") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_2_7") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "dlg_2_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_2_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help you or give quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.") +end + +function dlg_2_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What classes specialize in melee combat?", "dlg_2_6") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function dlg_2_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_2_2") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_2_7") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "dlg_2_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.","dlg_2_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Bruisers, and Shadowknights stand at the front lines of battle facing the enemy. Crafty scouts such as Brigands, Assassins, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function dlg_2_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I launch a ranged attack?", "dlg_2_8") + StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.") +end + +function dlg_2_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What classes specialize in ranged combat?", "dlg_2_9") + StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.") +end + +function dlg_2_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "dlg_2_10") + StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Brigands, Troubadors, Dirges, and Assassins specialize in ranged physical attacks. Mages, priests, and Shadowknights have spells that do damage to their foes from a distance.") +end + +function dlg_2_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_2_2") + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_2_5") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "dlg_2_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_2_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.") +end + +function dlg_2_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?", "dlg_2_15") + StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.") +end + +function dlg_2_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are certain types of targets more rewarding than others?", "dlg_2_16") + StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it.") +end + +function dlg_2_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_2_17") + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_2_5") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_2_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_2_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.") +end + +function dlg_2_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_2_18") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_6_21") + AddConversationOption(conversation, "Tell me about using my abilities.", "dlg_6_23") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_2_1") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many advanced combat techniques that you will learn over time. There's no substitute for experience, Zuzoo! I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.") +end + +function dlg_2_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "dlg_2_19") + StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.") +end + +function dlg_2_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What resources should I be keeping an eye on?", "dlg_2_20") + StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names.") +end + +function dlg_2_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_6_21") + AddConversationOption(conversation, "Tell me about using my abilities.", "dlg_6_23") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_2_1") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.") +end + +function dlg_6_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Anything else I should watch out for?", "dlg_6_22") + StartConversation(conversation, NPC, Spawn, "Keeping your surroundings in mind is crucial to victory. Fighting in areas with lots of aggressive creatures is a bad idea, because they won't hesitate to gang up on you.") +end + +function dlg_6_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_2_18") + AddConversationOption(conversation, "Tell me about using my abilities.", "dlg_6_23") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_2_1") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You should be aware of what's going on around you. Using your mouse wheel to scroll out into third person and holding down the left mouse button allows you to move the camera around your character. It's a good idea to do this when fighting in dangerous areas to make sure nothing sneaks up on you.") +end + +function dlg_6_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you mean?", "dlg_6_24") + StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you are well-prepared and are active during combat. You should use every spell or combat art that has a positive effect on your chances to win.") +end + +function dlg_6_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What about during battle?", "dlg_6_25") + StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs,' so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.") +end + +function dlg_6_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What else should I know about spells and arts?", "dlg_6_26") + StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select 'Examine' to see details on their effects.") +end + +function dlg_6_26(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_2_18") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_6_21") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_2_1") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Yasna V'Vath.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/TrainerYasnaVVath.lua b/Lua/SpawnScripts/Darklight/TrainerYasnaVVath.lua new file mode 100755 index 000000000..b83d9af2a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerYasnaVVath.lua @@ -0,0 +1,591 @@ +--[[ + Script Name : SpawnScripts/Darklight/TrainerYasnaVVath.lua + Script Purpose : Trainer Yasna V'Vath + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_4_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + if convo==9 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_9_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + end + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_4_2") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Spells?", "dlg_4_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A Spell is a magical ability, and spells have a variety of uses. Some allow you to damage an enemy, while others might provide benefits to yourself or an ally. You can hold your mouse pointer over a Spell's icon to see a description of what it does, or right-click on it and select 'Examine.'") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_4_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Mages, priests, paladins, shadowknights, troubadors, and dirges all cast Spells. Each class has a list of Spells that's unique. While other classes may have similar Spells, no one has capabilities exactly like that of another class. Also, certain magical items may be imbued with Spell effects that can be cast or that activate on their own.") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_4_5") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.", "dlg_4_6") + StartConversation(conversation, NPC, Spawn, "Combat Arts are a lot like Spells, but they usually take less time to cast and cannot be interrupted. As their name implies, many Combat Arts focus on some aspect of battle.") +end + +function dlg_4_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_4_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All fighters and scouts use Combat Arts. Each of these classes has unique Combat Arts that help distinguish them from other classes. Combat Arts have names and effects that fit the class that uses them.") +end + +function dlg_4_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_4_8") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_4_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How are Abilities different from Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Abilities are general things your character can do, along with certain capabilities specific to your race. Some of your Abilities are extremely useful, such as Sprint, which allows you to run very fast for a short period of time. You can also Call for Help when you're in danger, or launch a Ranged Attack if you have a ranged weapon and, of course, ammo.") +end + +function dlg_4_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_4_10") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Unlike Spells and Combat Arts, Abilities cannot be upgraded. Most of your Abilities are received when you first begin your adventures in Norrath, although certain new ones can be granted as you become more experienced.") +end + +function dlg_4_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_4_11") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_4_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I use my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All your Spells and Combat Arts, as well as other Abilities, are found in your Knowledge Book. Press the K key to open it at any time, and click the name of the tab you wish to view: Abilities, Spells, or Combat Arts.") +end + +function dlg_4_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_4_13") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To use a Spell, Combat Art, or Ability, drag its icon from your Knowledge Book onto your hotbar. Some have already been placed there for you. To use one, simply click its icon on your hotbar or press the key assigned to it. You can open additional hotbars by right-clicking on a hotbar and selecting 'Open New Hotbar.'") +end + +function dlg_4_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_4_14") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_4_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I judge the effectiveness of my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels from 1 to 50 and will be automatically scribed in your Knowledge Book. Certain special Spells or Combat Arts can be obtained by doing quests. Once you are level 51 and higher, you must find new ways to purchase or obtain your new Spells and Combat Arts.") +end + +function dlg_4_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "dlg_4_16") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "There are three main ranks of Spells and Combat Arts: Apprentice, Adept, and Master. Within each rank are up to four tiers of quality. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice I rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function dlg_4_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "dlg_4_17") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You can buy Apprentice II versions of your Spells or Combat Arts. You just purchase them from the appropriate merchant.") +end + +function dlg_4_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "dlg_4_18") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells and arts as you defeat opponents in battle. Many enemies will carry Adept I versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master I versions.") +end + +function dlg_4_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "dlg_4_19") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Apprentice IV quality spells, as well as valuable Adept III scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function dlg_4_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I keep all these Spells and Arts straight in my Knowledge Book?", "dlg_4_20") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many completely new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The names and icons of these upgrades are often quite similar, but the newer versions are more effective. Again, you will want to obtain the highest rank of these new abilities that you can.") +end + +function dlg_4_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_4_21") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your individual, personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities that you wish to use.") +end + +function dlg_4_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_4_22") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_9_2") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Spells?", "dlg_9_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A Spell is a magical ability, and spells have a variety of uses. Some allow you to damage an enemy, while others might provide benefits to yourself or an ally. You can hold your mouse pointer over a Spell's icon to see a description of what it does, or right-click on it and select 'Examine.'") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_9_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Mages, priests, paladins, shadowknights, troubadors, and dirges all cast Spells. Each class has a list of Spells that's unique. While other classes may have similar Spells, no one has capabilities exactly like that of another class. Also, certain magical items may be imbued with Spell effects that can be cast or that activate on their own.") +end + +function dlg_9_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_9_5") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_9_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.", "dlg_9_6") + StartConversation(conversation, NPC, Spawn, "Combat Arts are a lot like Spells, but they usually take less time to cast and cannot be interrupted. As their name implies, many Combat Arts focus on some aspect of battle.") +end + +function dlg_9_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_9_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All fighters and scouts use Combat Arts. Each of these classes has unique Combat Arts that help distinguish them from other classes. Combat Arts have names and effects that fit the class that uses them.") +end + +function dlg_9_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_9_8") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_9_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How are Abilities different from Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Abilities are general things your character can do, along with certain capabilities specific to your race. Some of your Abilities are extremely useful, such as Sprint, which allows you to run very fast for a short period of time. You can also Call for Help when you're in danger, or launch a Ranged Attack if you have a ranged weapon and, of course, ammo.") +end + +function dlg_9_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_9_10") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Unlike Spells and Combat Arts, Abilities cannot be upgraded. Most of your Abilities are received when you first begin your adventures in Norrath, although certain new ones can be granted as you become more experienced.") +end + +function dlg_9_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_9_11") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_9_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I use my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All your Spells and Combat Arts, as well as other Abilities, are found in your Knowledge Book. Press the K key to open it at any time, and click the name of the tab you wish to view: Abilities, Spells, or Combat Arts.") +end + +function dlg_9_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_9_13") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To use a Spell, Combat Art, or Ability, drag its icon from your Knowledge Book onto your hotbar. Some have already been placed there for you. To use one, simply click its icon on your hotbar or press the key assigned to it. You can open additional hotbars by right-clicking on a hotbar and selecting 'Open New Hotbar.'") +end + +function dlg_9_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_9_14") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_9_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I judge the effectiveness of my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels from 1 to 50 and will be automatically scribed in your Knowledge Book. Certain special Spells or Combat Arts can be obtained by doing quests. Once you are level 51 and higher, you must find new ways to purchase or obtain your new Spells and Combat Arts.") +end + +function dlg_9_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "dlg_9_16") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "There are three main ranks of Spells and Combat Arts: Apprentice, Adept, and Master. Within each rank are up to four tiers of quality. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice I rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function dlg_9_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "dlg_9_17") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You can buy Apprentice II versions of your Spells or Combat Arts. You just purchase them from the appropriate merchant.") +end + +function dlg_9_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "dlg_9_18") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells and arts as you defeat opponents in battle. Many enemies will carry Adept I versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master I versions.") +end + +function dlg_9_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "dlg_9_19") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Apprentice IV quality spells, as well as valuable Adept III scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function dlg_9_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I keep all these Spells and Arts straight in my Knowledge Book?", "dlg_9_20") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many completely new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The names and icons of these upgrades are often quite similar, but the newer versions are more effective. Again, you will want to obtain the highest rank of these new abilities that you can.") +end + +function dlg_9_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_9_21") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your individual, personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities that you wish to use.") +end + +function dlg_9_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_9_22") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_9_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I judge the effectiveness of my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels from 1 to 50 and will be automatically scribed in your Knowledge Book. Certain special Spells or Combat Arts can be obtained by doing quests. Once you are level 51 and higher, you must find new ways to purchase or obtain your new Spells and Combat Arts.") +end + +function dlg_9_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "dlg_9_24") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "There are three main ranks of Spells and Combat Arts: Apprentice, Adept, and Master. Within each rank are up to four tiers of quality. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice I rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function dlg_9_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "dlg_9_25") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You can buy Apprentice II versions of your Spells or Combat Arts. You just purchase them from the appropriate merchant.") +end + +function dlg_9_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "dlg_9_26") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells and arts as you defeat opponents in battle. Many enemies will carry Adept I versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master I versions.") +end + +function dlg_9_26(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "dlg_9_27") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Apprentice IV quality spells, as well as valuable Adept III scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function dlg_9_27(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I keep all these Spells and Arts straight in my Knowledge Book?", "dlg_9_28") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many completely new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The names and icons of these upgrades are often quite similar, but the newer versions are more effective. Again, you will want to obtain the highest rank of these new abilities that you can.") +end + +function dlg_9_28(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_9_29") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your individual, personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities that you wish to use.") +end + +function dlg_9_29(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_9_30") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + diff --git a/Lua/SpawnScripts/Darklight/TrainerZaktarDZheVirae.lua b/Lua/SpawnScripts/Darklight/TrainerZaktarDZheVirae.lua new file mode 100755 index 000000000..b8bc914e7 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/TrainerZaktarDZheVirae.lua @@ -0,0 +1,122 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua + Script Purpose : Trainer Hawk Dunlop + Script Author : Foof + Script Date : 2013.5.15 + Script Notes : +--]] + +local HarvestTutorial = 11 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, HarvestTutorial) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetQuestStep(Spawn, HarvestTutorial) == 8 then + SetStepComplete(Spawn, HarvestTutorial, 8) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Excellent work learning about harvesting! As a reward, allow me to offer you this box for storing harvested items. It's quite heavy, so I suggest you put it in your bank rather than carrying it, but it has plenty of storage room for harvests.") + else + BaseChat(NPC, Spawn) + end +end + +function collections_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens next?", "collections_chat_2") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select 'harvest.' The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function collections_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I complete the collection?", "collections_chat_3") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function collections_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "harvests_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +function harvests_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are harvestables used for?", "harvests_chat_2") + StartConversation(conversation, NPC, Spawn, "Harvestables are natural resources that can be found around most parts of the outdoors. You have harvesting skills that allow you collect them. These can be seen by opening your Character window (C), clicking on the Skills tab, and selecting the General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and shrubs increase gathering.") +end + +function harvests_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "OfferHarvesttutorial") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function harvests_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections now.", "collections_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end + +function elemental_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh... Well you were talking about collections?", "BaseChat") + StartConversation(conversation, NPC, Spawn, "It is bothersome, but I have seen worse. That is why I love collections so much. It helps me to forget...") +end + +function BaseChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "collections_chat_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.", "harvests_chat_1") + AddConversationOption(conversation, "Aren't you worried about the elemental attacks?", "elemental_chat_1") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "I am able to answer any questions you have about collections or harvesting.") +end + +function OfferHarvesttutorial(NPC, Spawn) + if HasCompletedQuest(Spawn, HarvestTutorial) == false and HasQuest(Spawn, HarvestTutorial) == false then + OfferQuest(NPC, Spawn, HarvestTutorial) + end + harvests_chat_3(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/UdiyitasXKilrae.lua b/Lua/SpawnScripts/Darklight/UdiyitasXKilrae.lua new file mode 100755 index 000000000..4ad2ba811 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/UdiyitasXKilrae.lua @@ -0,0 +1,92 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/UdiyitasXKilrae.lua + Script Purpose : Udiyitas X'Kilrae + Script Author : Cynnar + Script Date : 2015.07.05 + Script Notes : Beginning dialog has "wince" emote being used but is not correct. + : Closest I found so far. +--]] + +local ASolidifiedFront = 120 +local ElementalEncroachment = 121 + +function spawn(NPC) + ProvidesQuest(NPC, ElementalEncroachment) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, ASolidifiedFront) and not QuestStepIsComplete(Spawn, ASolidifiedFront, 1) then + SetStepComplete(Spawn, ASolidifiedFront, 1) + end + + if not HasQuest(Spawn, ASolidifiedFront) and not HasCompletedQuest(Spawn, ASolidifiedFront) then + StartConversation(conversation, NPC, Spawn, "The Sablevein must be stopped before they burn down all of Hate's Envy!") + elseif HasQuest(Spawn, ElementalEncroachment) and GetQuestStep(Spawn, ElementalEncroachment) == 1 then + PlayFlavor(NPC, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas004.mp3", "", "", 827914916, 961160559, Spawn) + AddConversationOption(conversation, "I'm still hunting them.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Were you successful in striking down the invaders?") + elseif HasQuest(Spawn, ElementalEncroachment) and GetQuestStep(Spawn, ElementalEncroachment) == 2 then + PlayFlavor(NPC, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas004.mp3", "", "", 827914916, 961160559, Spawn) + AddConversationOption(conversation, "I slew a great number of the Sablevein crumblers!", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Were you successful in striking down the invaders?") + elseif HasCompletedQuest(Spawn, ElementalEncroachment) then + PlayFlavor(Spawn, "", "", "wave", 0, 0, Player) + PlayFlavor(NPC, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas005.mp3", "", "", 3475491960, 633382350, Spawn) + AddConversationOption(conversation, "Good-bye, Udiyitas.") + StartConversation(conversation, NPC, Spawn, "Excellent work, " .. GetName(Spawn) .. ". I see now that fear is not an emotion you're much familiar with. Neriak will prosper greatly so long as you defend her banner. Now then, enough idle discourse. The Sablevein continue to strike. You must speak with Pellandra if you have not already.") + else + PlayFlavor(NPC, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas001.mp3", "", "wince", 1460950468, 2447529332, Spawn) + AddConversationOption(conversation, "Yes, point me in the face of danger.", "dlg_0_1") + AddConversationOption(conversation, "How can I help?", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "It's about time Verex sent some help! You are here to assist with the Sablevein, right?") + end + + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas002.mp3", "", "smirk", 3581344743, 4242686519, Spawn) + AddConversationOption(conversation, "Consider them no more!", "QuestOffer") + AddConversationOption(conversation, "I do not feel ready to battle.", "PlayerEmote") + StartConversation(conversation, NPC, Spawn, "This outpost is about to be overrun if we don't act fast! If you really do think you can assist us, charge out into the fray and slay a number of the advancing Sablevein crumblers.") +end + +function PlayerEmote(NPC, Spawn) + PlayFlavor(Spawn, "", "", "no", 0, 0, Player) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas006.mp3", "", "", 2328635398, 829982468, Spawn) + AddConversationOption(conversation, "I wiill return victoriouns!") + StartConversation(conversation, NPC, Spawn, "Do not return until you have slain a great number of the Sablevein elementals!") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, ElementalEncroachment, 2) + + PlayFlavor(Spawn, "", "", "wave", 0, 0, Player) + PlayFlavor(NPC, "udiyitas_x_kilrae/darklight_wood/hates_envy/udiyitas_revamp/udiyitas005.mp3", "", "", 3475491960, 633382350, Spawn) + SetStepComplete(Spawn, ElementalEncroachment, 2) + AddConversationOption(conversation, "Good-bye, Udiyitas.") + StartConversation(conversation, NPC, Spawn, "Excellent work, " .. GetName(Spawn) .. ". I see now that fear is not an emotion you're much familiar with. Neriak will prosper greatly so long as you defend her banner. Now then, enough idle discourse. The Sablevein continue to strike. You must speak with Pellandra if you have not already.") +end + +function QuestOffer(NPC, Spawn) + PlayFlavor(Spawn, "", "", "brandish", 0, 0, Player) + OfferQuest(NPC, Spawn, ElementalEncroachment) +end diff --git a/Lua/SpawnScripts/Darklight/VerexNZa.lua b/Lua/SpawnScripts/Darklight/VerexNZa.lua new file mode 100755 index 000000000..267c0dad7 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/VerexNZa.lua @@ -0,0 +1,109 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/VerexNZa.lua + Script Purpose : Verex N'Za + Script Author : Cynnar + Script Date : 2015.07.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ASolidifiedFront = 120 +local AStrangeFind = 187 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") + ProvidesQuest(NPC, ASolidifiedFront) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if not HasCompletedQuest(Spawn, ASolidifiedFront) then + PlayFlavor(NPC, "", "You there, come here at once! We haven't a second to spare!", "beckon", 0, 0, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, ASolidifiedFront) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1048.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How am I to do that?", "dlg_0_1") + AddConversationOption(conversation, "Wait, where is this place?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Excellent, you've finally arrived. So, you're one of Cristanos' chosen ones, hmm? The Queen must see some great potential in you, " .. GetName(Spawn) .. ". Let's not waste any more time and see what you're made of.") + end + if HasQuest(Spawn, AStrangeFind) then + Say(NPC, "Strange Find") + -- + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is it you would have me do?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Hate's Envy has fallen under attack by an army of Sablevein elementals! We need your help in stopping them before they burn down the entire town! ") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will speak with them at once!", "QuestOffer") + AddConversationOption(conversation, "I'll decide who I speak to!", "PlayerEmote") + StartConversation(conversation, NPC, Spawn, "The Sablevein elementals have collapsed a section of the southern wall and now threaten to swarm inside the town. I need you to meet up with Udiyitas and Pellandra, two of the guards tasked with repelling this attack. Go, speak to them at once!") +end + +function PlayerEmote(NPC, Spawn) + PlayFlavor(Spawn, "", "", "brandish", 0, 0, Player) +end + +function QuestOffer(NPC, Spawn) + if not HasQuest(Spawn, ASolidifiedFront) then + OfferQuest(NPC, Spawn, ASolidifiedFront) + else + dlg_0_4(NPC, Spawn) + end +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + StartConversation(conversation, NPC, Spawn, "May Innoruuk guide your blade, young one!") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you mean?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "This is Hate's Envy Outpost; the pride of Sselnyl Do'Zyth herself. She's managed to work out a nice deal with the elite of Neriak and runs Hate's Envy as an entity apart from the city itself.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So you aren't tied to Neriak?", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "Hate's Envy is a bit more accepting of outsiders than Neriak. We need all the help we can get, as you may have noticed. The attacking elementals are proof enough of that. But, we like it this way.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Hate's Envy was built by the Thexians?", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "When Neriak was unearthed, the Queen immediately ordered the Dread Guard to claim this Hate's Envy. It was originally built by the Thexians during their search for Neriak. Once it was ours, however, Sselnyl was given control of the outpost's politics. We work closely with the Dread Guard and the Indigo Brotherhood, and our mining operation provides much needed ore to Neriak.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Interesting. What was it you were talking about before?", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "That's correct. When Lucan and the Thexians barged into Darklight and dug up K'Rais tunnel, the Thexians had already been searching for Neriak. Although Hate's Envy was theirs, we quickly took over once Neriak and Darklight were connected. Part of our pact with Freeport involves one of their ambassadors present at all times--but they don't seem to take much interest in the day to day affairs of Hate's Envy. Sselnyl runs the show, that's the bottom line.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/VornlinBVytyl.lua b/Lua/SpawnScripts/Darklight/VornlinBVytyl.lua new file mode 100755 index 000000000..c3a3f00fc --- /dev/null +++ b/Lua/SpawnScripts/Darklight/VornlinBVytyl.lua @@ -0,0 +1,839 @@ +--[[ + Script Name : SpawnScripts/DarklightWood/VornlinBVytyl.lua + Script Purpose : Vornlin B'Vytyl + Script Author : fearfx + Script Date : 2017.01.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ContinuingAssistance = 154 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, ContinuingAssistance) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have a letter for you from Laexyra Y'Barriath at the T'Vatar Post.", "Quest_ContinuingAssistance") + StartConversation(conversation, NPC, Spawn, "May I help you?") + end +end + +-------------------------------------------------------------------------------- +-- Continuing Assistance +-------------------------------------------------------------------------------- + +function Quest_ContinuingAssistance(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ContinuingAssistance, 2) + + AddConversationOption(conversation, "And I suppose I should say you are welcome.", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "Ah, about time too. I suppose I should say thank you.") +end + +--[[ + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Have you found him yet?") + if convo==2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No, I haven't.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "You haven't seen an ugly Teir'Dal named Alakzaer around Wanderlust Fair lately, have you?") + end + + if convo==3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No, I haven't.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "You haven't seen an ugly Teir'Dal named Alakzaer around Wanderlust Fair lately, have you?") + end + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes. He says he'll come down after he gets his bone samples. He was hiding from the drakes up there.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Have you found him yet?") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes. He says he'll come down after he gets his bone samples. He was hiding from the drakes up there.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Have you found him yet?") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes. He says he'll come down after he gets his bone samples. He was hiding from the drakes up there.", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Have you found him yet?") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have a letter for you from Laexyra Y'Barriath at the T'Vatar Post.", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "May I help you?") + end + + if convo==12 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No, I haven't.", "dlg_12_1") + StartConversation(conversation, NPC, Spawn, "You haven't seen an ugly Teir'Dal named Alakzaer around Wanderlust Fair lately, have you?") + end + + if convo==13 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No, I haven't.", "dlg_13_1") + StartConversation(conversation, NPC, Spawn, "You haven't seen an ugly Teir'Dal named Alakzaer around Wanderlust Fair lately, have you?") + end + + if convo==14 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, when I kill one creature, five shroomlings jump out of its corpse.", "dlg_14_1") + StartConversation(conversation, NPC, Spawn, "Have you destroyed their species yet?") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I brought you a shroomling.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Look at them!") + end + + if convo==16 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I brought you a shroomling.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Look at them!") + end + + if convo==17 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, when I kill one creature, five shroomlings jump out of its corpse.", "dlg_17_1") + StartConversation(conversation, NPC, Spawn, "Have you destroyed their species yet?") + end + + if convo==18 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, when I kill one creature, five shroomlings jump out of its corpse.", "dlg_18_1") + StartConversation(conversation, NPC, Spawn, "Have you destroyed their species yet?") + end + + if convo==19 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, the boarfiend exploded.", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "Did it work?") + end + + if convo==20 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I brought you a shroomling.", "dlg_20_1") + StartConversation(conversation, NPC, Spawn, "Look at them!") + end + + if convo==21 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I brought you a shroomling.", "dlg_21_1") + StartConversation(conversation, NPC, Spawn, "Look at them!") + end + + if convo==23 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Did what work? Madam Victra told me to speak with you about this boarfiend.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "Did it work?") + end + + if convo==24 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, the boarfiend exploded.", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "Did it work?") + end + + if convo==25 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, the boarfiend exploded.", "dlg_25_1") + StartConversation(conversation, NPC, Spawn, "Did it work?") + end + + if convo==27 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you still need the Nerian knot-tree leaves?", "dlg_27_1") + StartConversation(conversation, NPC, Spawn, "HAHAHAHA HAH HAH HAH!!! I WIN! I found out how to kill them!!!") + end + + if convo==28 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you still need the Nerian knot-tree leaves?", "dlg_28_1") + StartConversation(conversation, NPC, Spawn, "HAHAHAHA HAH HAH HAH!!! I WIN! I found out how to kill them!!!") + end + + if convo==29 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, get your sandwich.", "dlg_29_1") + StartConversation(conversation, NPC, Spawn, "How did it go? Can I have my sandwich?") + end + + if convo==38 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you still need the Nerian knot-tree leaves?", "dlg_38_1") + StartConversation(conversation, NPC, Spawn, "HAHAHAHA HAH HAH HAH!!! I WIN! I found out how to kill them!!!") + end + + if convo==39 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you still need the Nerian knot-tree leaves?", "dlg_39_1") + StartConversation(conversation, NPC, Spawn, "HAHAHAHA HAH HAH HAH!!! I WIN! I found out how to kill them!!!") + end + + if convo==51 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, get your sandwich.", "dlg_51_1") + StartConversation(conversation, NPC, Spawn, "How did it go? Can I have my sandwich?") + end + +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Blast him. When I finally need him he isn't around to be used. Do you think you could help me locate him?") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll see if I can find him.", "dlg_2_3") + AddConversationOption(conversation, "I'm sure he'll be back soon.") + StartConversation(conversation, NPC, Spawn, "Great. The last I heard from him he was going up to the Nerian Highlands to study some dragon bones. He said he would be back shortly, but that was... hm... when was that? Well more than a day, I know that. If you could go and find him and let him know that I need him that would be great, thanks.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Blast him. When I finally need him he isn't around to be used. Do you think you could help me locate him?") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll see if I can find him.", "dlg_3_3") + AddConversationOption(conversation, "I'm sure he'll be back soon.") + StartConversation(conversation, NPC, Spawn, "Great. The last I heard from him he was going up to the Nerian Highlands to study some dragon bones. He said he would be back shortly, but that was... hm... when was that? Well more than a day, I know that. If you could go and find him and let him know that I need him that would be great, thanks.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will.", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "Yes, do that.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Maybe I could help.", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "Blast him! Blast blastity blasted blastful blasting blast him!!! I needed him.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're a scientist?", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "Perhaps. I made a stupid arrangement with that guard over there, Vicaonar, and now I've got to go kill mushroom creatures in the Nightshadow Bog. I wasn't thinking clearly and I thought the deal sounded sweet, but really he just wants me to do his work for him. So, uh, do you want to do his work for me for him?") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I'll help.", "dlg_8_4") + StartConversation(conversation, NPC, Spawn, "... do you want to help or not?") +end + +function dlg_8_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, all of them?", "dlg_8_5") + AddConversationOption(conversation, "Yeah, right... find someone else to do that.") + StartConversation(conversation, NPC, Spawn, "Great! Vicaonar said the job isn't done until all the mushroom creatures in the swamp are dead. So go kill all of them.") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're a scientist?", "dlg_9_2") + StartConversation(conversation, NPC, Spawn, "Perhaps. I made a stupid arrangement with that guard over there, Vicaonar, and now I've got to go kill mushroom creatures in the Nightshadow Bog. I wasn't thinking clearly and I thought the deal sounded sweet, but really he just wants me to do his work for him. So, uh, do you want to do his work for me for him?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I'll help.", "dlg_9_3") + StartConversation(conversation, NPC, Spawn, "... do you want to help or not?") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, all of them?", "dlg_9_4") + AddConversationOption(conversation, "Yeah, right... find someone else to do that.") + StartConversation(conversation, NPC, Spawn, "Great! Vicaonar said the job isn't done until all the mushroom creatures in the swamp are dead. So go kill all of them.") +end + +function dlg_9_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, all of them?", "dlg_9_5") + AddConversationOption(conversation, "Yeah, right... find someone else to do that.") + StartConversation(conversation, NPC, Spawn, "Great! Vicaonar said the job isn't done until all the mushroom creatures in the swamp are dead. So go kill all of them.") +end + +function dlg_9_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll return.", "dlg_9_6") + StartConversation(conversation, NPC, Spawn, "Yes, genocide them up something fierce! And hurry, Vicaonar doesn't have to give me that sandwich until the job is done!") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Maybe I could help.", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Blast him! Blast blastity blasted blastful blasting blast him!!! I needed him.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're a scientist?", "dlg_10_3") + StartConversation(conversation, NPC, Spawn, "Perhaps. I made a stupid arrangement with that guard over there, Vicaonar, and now I've got to go kill mushroom creatures in the Nightshadow Bog. I wasn't thinking clearly and I thought the deal sounded sweet, but really he just wants me to do his work for him. So, uh, do you want to do his work for me for him?") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I'll help.", "dlg_10_4") + StartConversation(conversation, NPC, Spawn, "... do you want to help or not?") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Uh, all of them?", "dlg_10_5") + AddConversationOption(conversation, "Yeah, right... find someone else to do that.") + StartConversation(conversation, NPC, Spawn, "Great! Vicaonar said the job isn't done until all the mushroom creatures in the swamp are dead. So go kill all of them.") +end + +function dlg_10_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll return.", "dlg_10_6") + StartConversation(conversation, NPC, Spawn, "Yes, genocide them up something fierce! And hurry, Vicaonar doesn't have to give me that sandwich until the job is done!") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And I suppose I should say you are welcome.", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "Ah, about time too. I suppose I should say thank you.") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "Hmph! When I finally need him he isn't around to be used. Do you think you could help me locate him?") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll see if I can find him.", "dlg_12_3") + AddConversationOption(conversation, "I'm sure he'll be back soon.") + StartConversation(conversation, NPC, Spawn, "Great. The last I heard from him he was going up to the Nerian Highlands to study some dragon bones. He said he would be back shortly, but that was... hm... when was that? Well more than a day, I know that. If you could go and find him and let him know that I need him, that would be great. Thanks.") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "Hmph! When I finally need him he isn't around to be used. Do you think you could help me locate him?") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll see if I can find him.", "dlg_13_3") + AddConversationOption(conversation, "I'm sure he'll be back soon.") + StartConversation(conversation, NPC, Spawn, "Great. The last I heard from him he was going up to the Nerian Highlands to study some dragon bones. He said he would be back shortly, but that was... hm... when was that? Well more than a day, I know that. If you could go and find him and let him know that I need him, that would be great. Thanks.") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will.", "dlg_13_4") + StartConversation(conversation, NPC, Spawn, "Yes, do that.") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_14_2") + AddConversationOption(conversation, "I don't think I care to help with this anymore.") + StartConversation(conversation, NPC, Spawn, "Really?! That's ... well that's amazing! I need to see this for myself! Bring me one of the shroomlings!") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "We'll see.", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "How potentially interesting!") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where did they come from?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "I already have some.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So I guess you don't need this shroomling then?", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "Don't know! Probably from you. I bet you've got microscopic shroomlings all over you right now. How disgusting! Don't stand too close!") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh?", "dlg_15_4") + StartConversation(conversation, NPC, Spawn, "No, no I don't. I have, however, figured out a way to get my sandwich from Vicaonar.") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_15_5") + AddConversationOption(conversation, "I tire of this.") + StartConversation(conversation, NPC, Spawn, "Go talk to Madam Victra, she's got a little something prepared for me that should help us take care of these pests.") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where did they come from?", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "I already have some.") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So I guess you don't need this shroomling then?", "dlg_16_3") + StartConversation(conversation, NPC, Spawn, "Don't know! Probably from you. I bet you've got microscopic shroomlings all over you right now. How disgusting! Don't stand too close!") +end + +function dlg_16_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh?", "dlg_16_4") + StartConversation(conversation, NPC, Spawn, "No, no I don't. I have, however, figured out a way to get my sandwich from Vicaonar.") +end + +function dlg_16_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_16_5") + AddConversationOption(conversation, "I tire of this.") + StartConversation(conversation, NPC, Spawn, "Go talk to Madam Victra, she's got a little something prepared for me that should help us take care of these pests.") +end + +function dlg_16_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go talk with Madam Victra.", "dlg_16_6") + StartConversation(conversation, NPC, Spawn, "I guess they grow slower when not in the swamp... but they sure do breed faster. We'd better work quickly.") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_17_2") + AddConversationOption(conversation, "I don't think I care to help with this anymore.") + StartConversation(conversation, NPC, Spawn, "Really?! That's ... well that's amazing! I need to see this for myself! Bring me one of the shroomlings!") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_18_2") + AddConversationOption(conversation, "I don't think I care to help with this anymore.") + StartConversation(conversation, NPC, Spawn, "Really?! That's ... well that's amazing! I need to see this for myself! Bring me one of the shroomlings!") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "We'll see.", "dlg_18_3") + StartConversation(conversation, NPC, Spawn, "How potentially interesting!") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I think the boarfiend may have just had too much in his stomach.", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "Wow! Some sort of explosive, don't-eat-me, defense mechanism! These creatures are amazing!") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll go get the leaves.", "dlg_19_3") + AddConversationOption(conversation, "No, I'm out.") + StartConversation(conversation, NPC, Spawn, "Well, that's sort of what I said. Anyway, I'm toying around with some other methods to get rid of these things. Most of my tests are going to require leaves from the Nerian knot-tree, however. I have enough to test with, but if my tests are successful then we're going to need a lot more. I need you to go up to the Shadow Oak northwest of here and collect some for me.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where did they come from?", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "I already have some.") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So I guess you don't need this shroomling then?", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "Don't know! Probably from you. I bet you've got microscopic shroomlings all over you right now. How disgusting! Don't stand too close!") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh?", "dlg_20_4") + StartConversation(conversation, NPC, Spawn, "No, no I don't. I have, however, figured out a way to get my sandwich from Vicaonar.") +end + +function dlg_20_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_20_5") + AddConversationOption(conversation, "I tire of this.") + StartConversation(conversation, NPC, Spawn, "Go talk to Madam Victra, she's got a little something prepared for me that should help us take care of these pests.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where did they come from?", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "I already have some.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So I guess you don't need this shroomling then?", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "Don't know! Probably from you. I bet you've got microscopic shroomlings all over you right now. How disgusting! Don't stand too close!") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh?", "dlg_21_4") + StartConversation(conversation, NPC, Spawn, "No, no I don't. I have, however, figured out a way to get my sandwich from Vicaonar.") +end + +function dlg_21_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_21_5") + AddConversationOption(conversation, "I tire of this.") + StartConversation(conversation, NPC, Spawn, "Go talk to Madam Victra, she's got a little something prepared for me that should help us take care of these pests.") +end + +function dlg_21_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go talk with Madam Victra.", "dlg_21_6") + StartConversation(conversation, NPC, Spawn, "I guess they grow slower when not in the swamp... but they sure do breed faster. We'd better work quickly.") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll be back.", "dlg_23_2") + StartConversation(conversation, NPC, Spawn, "Oh. Take the boarfiend down to Nightshadow Marsh, kill some mushroom things, release the boarfiend and let it eat them all up! Brilliant!") +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I think the boarfiend may have just had too much in his stomach.", "dlg_24_2") + StartConversation(conversation, NPC, Spawn, "Wow! Some sort of explosive, don't-eat-me, defense mechanism! These creatures are amazing!") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll go get the leaves.", "dlg_24_3") + AddConversationOption(conversation, "No, I'm out.") + StartConversation(conversation, NPC, Spawn, "Well, that's sort of what I said. Anyway, I'm toying around with some other methods to get rid of these things. Most of my tests are going to require leaves from the Nerian knot-tree, however. I have enough to test with, but if my tests are successful then we're going to need a lot more. I need you to go up to the Shadow Oak northwest of here and collect some for me.") +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I think the boarfiend may have just had too much in his stomach.", "dlg_25_2") + StartConversation(conversation, NPC, Spawn, "Wow! Some sort of explosive, don't-eat-me, defense mechanism! These creatures are amazing!") +end + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll go get the leaves.", "dlg_25_3") + AddConversationOption(conversation, "No, I'm out.") + StartConversation(conversation, NPC, Spawn, "Well, that's sort of what I said. Anyway, I'm toying around with some other methods to get rid of these things. Most of my tests are going to require leaves from the Nerian knot-tree, however. I have enough to test with, but if my tests are successful then we're going to need a lot more. I need you to go up to the Shadow Oak northwest of here and collect some for me.") +end + +function dlg_25_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Right.", "dlg_25_4") + StartConversation(conversation, NPC, Spawn, "Excellent. We can't get rid of these things quick enough.") +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok.", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "Yes! That's where the power comes from. I'll just mix these up real quick.") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Things or mushroom things?", "dlg_27_3") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "There we go! Take this spray out to Nightshadow Bog and destroy them! It's simple to use, just point and click, and things die.") +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok.", "dlg_28_2") + StartConversation(conversation, NPC, Spawn, "Yes! That's where the power comes from. I'll just mix these up real quick.") +end + +function dlg_28_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Things or mushroom things?", "dlg_28_3") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "There we go! Take this spray out to Nightshadow Bog and destroy them! It's simple to use, just point and click, and things die.") +end + +function dlg_28_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well that's a relief.", "dlg_28_4") + StartConversation(conversation, NPC, Spawn, "Don't worry, it's harmless to us. I'll see you when you return! The best part about it, you infect one and he spreads it to others before dying! You shouldn't need to hit too many with the spray before we're taken care of!") +end + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_29_2") + StartConversation(conversation, NPC, Spawn, "Wonderful! You hear that Vicaonar? Give me that sandwich! Anyway, thanks for your help in sorting this out. I appreciate it. Actually, I'm pretty sure everyone here appreciated it.") +end + +function dlg_38_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_38_2") + StartConversation(conversation, NPC, Spawn, "Yes! That's where the power comes from. I'll just mix these up real quick.") +end + +function dlg_38_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Things or mushroom things?", "dlg_38_3") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "There we go! Take this spray out to Nightshadow Bog and destroy them! It's simple to use, just point and click, and things die.") +end + +function dlg_39_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_39_2") + StartConversation(conversation, NPC, Spawn, "Yes! That's where the power comes from. I'll just mix these up real quick.") +end + +function dlg_39_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Things or mushroom things?", "dlg_39_3") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "There we go! Take this spray out to Nightshadow Bog and destroy them! It's simple to use, just point and click, and things die.") +end + +function dlg_39_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well that's a relief.", "dlg_39_4") + StartConversation(conversation, NPC, Spawn, "Don't worry, it's harmless to us. I'll see you when you return! The best part about it, you infect one and he spreads it to others before dying! You shouldn't need to hit too many with the spray before we're taken care of!") +end + +function dlg_51_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_51_2") + StartConversation(conversation, NPC, Spawn, "Wonderful! You hear that, Vicaonar? Give me that sandwich! Anyway, thanks for your help in sorting this out. I appreciate it. Actually, I'm pretty sure everyone here appreciated it.") +end +]]-- diff --git a/Lua/SpawnScripts/Darklight/aBriarstoneslayer.lua b/Lua/SpawnScripts/Darklight/aBriarstoneslayer.lua new file mode 100755 index 000000000..60421722d --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aBriarstoneslayer.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Darklight/aBriarstoneslayer.lua + Script Purpose : a Briarstone slayer + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/skeleton_thexian/ft/skeleton/skeleton_thexian_1_halfhealth_15c99541.mp3", "Others will take my place.", "", 2052061812, 1312269385, Spawn) +end + diff --git a/Lua/SpawnScripts/Darklight/aCaptiveCub.lua b/Lua/SpawnScripts/Darklight/aCaptiveCub.lua new file mode 100755 index 000000000..e6ab11445 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCaptiveCub.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Darklight/acaptivecub.lua + Script Purpose : Add spawn access to a captive cub + Script Author : Cynnar + Script Date : 3/23/2016 + Script Notes : a captive cub (341075) +--]] +local DrawUponWellsprings = 155 + + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 20, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if not HasCompletedQuest(Spawn, DrawUponWellsprings) then + RemoveSpawnAccess(NPC, Spawn) + else + AddSpawnAccess(NPC, Spawn) + end +end diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(1).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(1).lua new file mode 100755 index 000000000..4fc35fb7e --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(1).lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(1).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/14/2015 + Script Notes : a commoner (spawn_id 340142) (spawn_location_id 584360) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, SealingTheRift) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -390.67, -62.87, 247.71, 4, 1) + MovementLoopAddLocation(NPC, -391.05, -62.87, 254.13, 4, 1) + MovementLoopAddLocation(NPC, -383.36, -62.87, 247.41, 4, 1) + MovementLoopAddLocation(NPC, -388.98, -62.87, 256.71, 4, 1) + MovementLoopAddLocation(NPC, -388.16, -62.87, 255.80, 4, 1) + MovementLoopAddLocation(NPC, -383.64, -62.87, 254.19, 4, 1) + MovementLoopAddLocation(NPC, -382.80, -62.87, 255.60, 4, 1) + MovementLoopAddLocation(NPC, -386.14, -62.87, 248.28, 4, 1) + MovementLoopAddLocation(NPC, -386.51, -62.87, 248.45, 4, 1) + MovementLoopAddLocation(NPC, -385.33, -62.87, 252.82, 4, 1) + else + RemoveSpawnAccess(NPC, Player) + end +end diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(2).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(2).lua new file mode 100755 index 000000000..b76fc8dde --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(2).lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(2).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/14/2015 + Script Notes : a commoner (spawn_id 340142) (spawn_location_id 584366) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, SealingTheRift) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -401.28, -62.87, 258.66, 4, 1) + MovementLoopAddLocation(NPC, -404.47, -62.99, 255.70, 4, 1) + MovementLoopAddLocation(NPC, -408.42, -62.87, 260.58, 4, 1) + MovementLoopAddLocation(NPC, -405.94, -62.77, 260.96, 4, 1) + MovementLoopAddLocation(NPC, -404.88, -62.87, 262.58, 4, 1) + MovementLoopAddLocation(NPC, -406.65, -62.97, 251.19, 4, 1) + MovementLoopAddLocation(NPC, -405.48, -62.97, 256.98, 4, 1) + MovementLoopAddLocation(NPC, -407.14, -62.97, 251.25, 4, 1) + MovementLoopAddLocation(NPC, -405.39, -62.87, 261.57, 4, 1) + MovementLoopAddLocation(NPC, -409.59, -63.07, 256.49, 4, 1) + MovementLoopAddLocation(NPC, -408.74, -62.87, 260.52, 4, 1) + MovementLoopAddLocation(NPC, -408.59, -62.95, 249.67, 4, 1) + MovementLoopAddLocation(NPC, -405.20, -62.90, 257.99, 4, 1) + MovementLoopAddLocation(NPC, -411.59, -63.04, 254.50, 4, 1) + MovementLoopAddLocation(NPC, -406.46, -62.87, 260.43, 4, 1) + MovementLoopAddLocation(NPC, -406.71, -63.02, 256.54, 4, 1) + else + RemoveSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(3).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(3).lua new file mode 100755 index 000000000..e57d6b265 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(3).lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(3).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/15/2015 + Script Notes : a commoner (spawn_id 340142) (spawn_location_id 584437, 584438) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 990, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if HasCompletedQuest(Player, SealingTheRift) then + if not HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + AddTimer(NPC, 2000, "kickrubble") + else + RemoveSpawnAccess(NPC, Player) + end + end +end + +function kickrubble(NPC) + PlayFlavor(NPC, "", "", "kick", 0, 0) + AddTimer(NPC, 2000, "kickrubble") +end diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(4).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(4).lua new file mode 100755 index 000000000..f1b9bee2f --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(4).lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(4).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/16/2015 + Script Notes : a commoner (spawn_id 340017) (spawn_location_id 579574) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -404.44, -62.87, 229.99, 4, 1) + MovementLoopAddLocation(NPC, -410.34, -62.87, 239.73, 4, 1) + MovementLoopAddLocation(NPC, -399.75, -62.87, 233.78, 4, 1) + MovementLoopAddLocation(NPC, -403.67, -62.87, 240.28, 4, 1) + MovementLoopAddLocation(NPC, -407.42, -62.87, 232.79, 4, 1) + MovementLoopAddLocation(NPC, -401.65, -62.87, 241.27, 4, 1) + MovementLoopAddLocation(NPC, -405.10, -62.87, 237.00, 4, 1) + MovementLoopAddLocation(NPC, -403.93, -62.87, 225.40, 4, 1) + MovementLoopAddLocation(NPC, -411.33, -62.87, 229.45, 4, 1) + MovementLoopAddLocation(NPC, -412.62, -62.87, 235.85, 4, 1) + MovementLoopAddLocation(NPC, -401.91, -62.87, 232.67, 4, 1) + else + RemoveSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(5).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(5).lua new file mode 100755 index 000000000..42fc9b104 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(5).lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(5).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/16/2015 + Script Notes : a commoner (spawn_id 340142) (spawn_location_id 323807) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -400.98, -62.87, 217.42, 4, 1) + MovementLoopAddLocation(NPC, -404.17, -62.87, 226.41, 4, 1) + MovementLoopAddLocation(NPC, -413.75, -62.87, 216.07, 4, 1) + MovementLoopAddLocation(NPC, -410.39, -62.87, 227.05, 4, 1) + MovementLoopAddLocation(NPC, -406.84, -62.87, 216.14, 4, 1) + MovementLoopAddLocation(NPC, -406.39, -62.87, 225.80, 4, 1) + MovementLoopAddLocation(NPC, -413.02, -62.87, 222.00, 4, 1) + MovementLoopAddLocation(NPC, -400.55, -62.87, 217.44, 4, 1) + MovementLoopAddLocation(NPC, -409.36, -62.87, 225.38, 4, 1) + else + RemoveSpawnAccess(NPC, Player) + end +end + +function animation(NPC, Player) + AddSpawnAccess(NPC, Player) + PlayFlavor(NPC, "", "", "frustrated", 0, 0) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(6).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(6).lua new file mode 100755 index 000000000..85980c5c0 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(6).lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(6).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/16/2015 + Script Notes : a commoner (spawn_id 340017) (spawn_location_id 317253) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -388.34, -62.87, 208.30, 4, 1) + MovementLoopAddLocation(NPC, -393.45, -62.87, 201.45, 4, 1) + MovementLoopAddLocation(NPC, -396.49, -62.87, 208.28, 4, 1) + MovementLoopAddLocation(NPC, -387.72, -62.87, 200.97, 4, 1) + MovementLoopAddLocation(NPC, -396.54, -62.87, 204.25, 4, 1) + MovementLoopAddLocation(NPC, -388.66, -62.87, 205.30, 4, 1) + MovementLoopAddLocation(NPC, -400.58, -62.87, 210.81, 4, 1) + MovementLoopAddLocation(NPC, -395.15, -62.87, 205.69, 4, 1) + else + RemoveSpawnAccess(NPC, Player) + end +end + +function animation(NPC, Player) + AddSpawnAccess(NPC, Player) + PlayFlavor(NPC, "", "", "frustrated", 0, 0) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(7).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(7).lua new file mode 100755 index 000000000..8f8a5f9a0 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(7).lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(7).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/16/2015 + Script Notes : a commoner (spawn_id 340142) (spawn_location_id 579576) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -373.39, -62.87, 220.84, 4, 1) + MovementLoopAddLocation(NPC, -376.93, -62.87, 208.55, 4, 1) + MovementLoopAddLocation(NPC, -380.85, -62.87, 218.72, 4, 1) + MovementLoopAddLocation(NPC, -372.85, -62.87, 213.51, 4, 1) + MovementLoopAddLocation(NPC, -384.53, -62.87, 209.33, 4, 1) + MovementLoopAddLocation(NPC, -377.88, -62.87, 219.22, 4, 1) + MovementLoopAddLocation(NPC, -370.68, -62.87, 214.95, 4, 1) + MovementLoopAddLocation(NPC, -384.15, -62.87, 206.85, 4, 1) + MovementLoopAddLocation(NPC, -377.62, -62.87, 215.29, 4, 1) + else + RemoveSpawnAccess(NPC, Player) + end +end + +function animation(NPC, Player) + AddSpawnAccess(NPC, Player) + PlayFlavor(NPC, "", "", "frustrated", 0, 0) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aCommonerPanicked_(8).lua b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(8).lua new file mode 100755 index 000000000..daa26b4ad --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aCommonerPanicked_(8).lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Darklight/aCommonerPanicked_(8).lua + Script Purpose : Panicked commoners before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/16/2015 + Script Notes : a commoner (spawn_id 340017) (spawn_location_id 579575) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -381.35, -62.87, 230.78, 4, 1) + MovementLoopAddLocation(NPC, -372.50, -62.87, 238.39, 4, 1) + MovementLoopAddLocation(NPC, -373.73, -62.87, 229.14, 4, 1) + MovementLoopAddLocation(NPC, -382.43, -62.87, 239.71, 4, 1) + MovementLoopAddLocation(NPC, -372.71, -62.87, 234.79, 4, 1) + MovementLoopAddLocation(NPC, -378.37, -62.87, 227.58, 4, 1) + MovementLoopAddLocation(NPC, -374.99, -62.87, 241.18, 4, 1) + MovementLoopAddLocation(NPC, -374.23, -62.87, 233.35, 4, 1) + else + RemoveSpawnAccess(NPC, Player) + end +end + +function animation(NPC, Player) + AddSpawnAccess(NPC, Player) + PlayFlavor(NPC, "", "", "frustrated", 0, 0) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aConcordiumPupilAdept.lua b/Lua/SpawnScripts/Darklight/aConcordiumPupilAdept.lua new file mode 100755 index 000000000..bb1c05068 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aConcordiumPupilAdept.lua @@ -0,0 +1,119 @@ +--[[ + Script Name : SpawnScripts/Darklight/aConcordiumPupilAdept.lua + Script Purpose : a Concordium Pupil Adept + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Such storms! The elders were right! We must rise up and fight these invaders together!", "", 1689589577, 4560189, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Concordium?", "dlg_0_1") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "First these Void storms were tainting Norrath. Now they are spitting out forces of attacking beasts!") + if convo==1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Concordium?", "dlg_1_1") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "First these Void storms were tainting Norrath. Now they are spitting out forces of attacking beasts!") + end + + if convo==2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Concordium?", "dlg_2_1") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "First these Void storms were tainting Norrath. Now they are spitting out forces of attacking beasts!") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can help.", "dlg_0_2") + AddConversationOption(conversation, "Pardon me as I find someplace to hide.") + StartConversation(conversation, NPC, Spawn, "Oh, yes! The elders are sending out adventurers to help battle them. But they just keep coming!") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You got it.", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Good, good! If you find anything of interest while you battle the Void storm creatures, anything that can help us in our research, I would appreciate it!") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I am!") + AddConversationOption(conversation, "If I find any.", "dlg_1_2") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "Right you are! And if I had any fighting skills I would be in the thick of it, myself. Are you going to fight the Void creatures!?") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You got it.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "Good, good! If you find anything of interest while you battle the Void storm creatures, anything that can help us in our research, I would appreciate it!") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can help.", "dlg_2_2") + AddConversationOption(conversation, "Pardon me as I find someplace to hide.") + StartConversation(conversation, NPC, Spawn, "Oh, yes! The elders are sending out adventurers to help battle them. But they just keep coming!") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Concordium?") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "First these Void storms were tainting Norrath. Now they are spitting out forces of attacking beasts!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "Such storms! The elders were right! We must rise up and fight these invaders together!", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Darklight/aMiner_(1).lua b/Lua/SpawnScripts/Darklight/aMiner_(1).lua new file mode 100755 index 000000000..3bc87f93d --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aMiner_(1).lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Darklight/aMiner_(1).lua + Script Purpose : A Miner before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/14/2015 + Script Notes : a miner (spawn_id 340016) (spawn_location_id 584439) + Script Notes : Location is in Hate's Envy +--]] + +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if not HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + else + RemoveSpawnAccess(NPC, Player) + end +end + diff --git a/Lua/SpawnScripts/Darklight/aMiner_(2).lua b/Lua/SpawnScripts/Darklight/aMiner_(2).lua new file mode 100755 index 000000000..c6ec598ac --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aMiner_(2).lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Darklight/aMiner_(2).lua + Script Purpose : A Miner before completing quest, "Reclaiming the Sablevein Tear" + Script Author : Cynnar + Script Date : 10/14/2015 + Script Notes : a miner (spawn_id 340016) (spawn_location_id 584440) + Script Notes : Location is in Hate's Envy +--]] + +local SealingTheRift = 122 +local ReclaimingTheSableveinTear = 124 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if HasCompletedQuest(Player, ReclaimingTheSableveinTear) then + AddSpawnAccess(NPC, Player) + MovementLoopAddLocation(NPC, -403.55, -62.87, 240.82, 2) + MovementLoopAddLocation(NPC, -405.77, -62.87, 230.47, 2) + MovementLoopAddLocation(NPC, -405.67, -62.87, 219.67, 2) + MovementLoopAddLocation(NPC, -396.86, -62.87, 206.27, 2) + MovementLoopAddLocation(NPC, -385.66, -62.87, 206.95, 2) + MovementLoopAddLocation(NPC, -377.26, -62.87, 215.62, 2) + MovementLoopAddLocation(NPC, -376.80, -62.87, 235.30, 2) + MovementLoopAddLocation(NPC, -393.61, -62.87, 246.72, 2) + else + RemoveSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aNeriandrake.lua b/Lua/SpawnScripts/Darklight/aNeriandrake.lua new file mode 100755 index 000000000..b99f7134a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aNeriandrake.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Darklight/aNeriandrake.lua + Script Author : theFoof + Script Date : 2013.11.28 + Script Purpose : this is only for the drakes that fly + : +--]] + +function spawn(NPC) + SpawnSet(NPC, "action_state", "11559") + --Add movement script to this +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aSableveinDestroyer.lua b/Lua/SpawnScripts/Darklight/aSableveinDestroyer.lua new file mode 100755 index 000000000..3134ca1d5 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aSableveinDestroyer.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Darklight/aSableveinDestroyer.lua + Script Purpose : Add looping attack and despawn for battle simulation. + Script Author : Cynnar + Script Date : 10/14/2015 + Script Notes : A Sablevein Destroyer (spawn_id 340053) + Script Notes : Where the north wall use to be. +--]] + +function spawn(NPC) + MakeAttack(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function MakeAttack(NPC) + PlayFlavor(NPC, "", "", "attack", 0, 0) + AddTimer(NPC, math.random(3000, 3500), "MakeAttack") +end + +function hailed(NPC, Spawn) + PlayAnimation(NPC, 19228) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aSableveincrumbler_attack.lua b/Lua/SpawnScripts/Darklight/aSableveincrumbler_attack.lua new file mode 100755 index 000000000..1c18bc679 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aSableveincrumbler_attack.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Darklight/aSableveincrumbler.lua + Script Purpose : a Sablevein crumbler + Script Author : Scatman + Script Date : 2009.12.15 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/MovementCircleSmall.lua") + +local MIN_TIME = 3000 +local MAX_TIME = 10000 + +function spawn(NPC) + local sli = GetSpawnLocationID(NPC) + if sli == 85722 or sli == 85817 or sli == 85794 or sli == 85775 or sli == 85714 or sli == 85701 or sli == 98562 or sli == 85711 or sli == 85759 or sli == 85731 or sli == 85723 or sli == 85712 or sli == 85865 or sli == 85730 or sli == 85862 then + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") + else + SpawnChooseRandomMovement(NPC) + end +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function MakeAttack(NPC) + PlayFlavor(NPC, "", "", "attack", 0, 0) + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aSableveindigger_attack.lua b/Lua/SpawnScripts/Darklight/aSableveindigger_attack.lua new file mode 100755 index 000000000..f6ab7b0a3 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aSableveindigger_attack.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Darklight/aSableveindigger.lua + Script Purpose : a Sablevein digger + Script Author : Scatman + Script Date : 2009.11.19 + Script Notes : +--]] + +local MIN_TIME = 3000 +local MAX_TIME = 10000 + +function spawn(NPC) + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function MakeAttack(NPC) + PlayFlavor(NPC, "", "", "attack", 0, 0) + AddTimer(NPC, math.random(MIN_TIME, MAX_TIME), "MakeAttack") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aSableveinpulverizer.lua b/Lua/SpawnScripts/Darklight/aSableveinpulverizer.lua new file mode 100755 index 000000000..fc290f786 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aSableveinpulverizer.lua @@ -0,0 +1,64 @@ +local SearchingForSigils = 123 + +function spawn(NPC) + choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 1, math.random(5, 15)) +end + +function clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 1, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 1, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 1, math.random(5, 15)) +end + +function death(NPC, Spawn) + if GetQuestStep(Spawn, SearchingForSigils) == 1 then + AddLootItem(NPC, 11837) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aTRethirthinblood.lua b/Lua/SpawnScripts/Darklight/aTRethirthinblood.lua new file mode 100755 index 000000000..fe721e7e9 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aTRethirthinblood.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Darklight/aTRethirthinblood.lua + Script Author : theFoof + Script Date : 2013.11.27 + Script Purpose : + : +--]] + +function spawn(NPC) + local choice = math.random(1,2) + if choice == 1 then + SpawnSet(NPC, "model_type", "8657") + SpawnSet(NPC, "gender", "0") + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/ababysnake.lua b/Lua/SpawnScripts/Darklight/ababysnake.lua new file mode 100755 index 000000000..206a4eb0a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/ababysnake.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Darklight/ababysnake.lua + Script Author : fearfx + Script Date : 2017.01.21 11:01:06 + Script Purpose : + : +--]] + +local InfantileIngredients = 157 + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "gather " then + Despawn(NPC) + SummonItem(Spawn, 4080) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/acommoner_female.lua b/Lua/SpawnScripts/Darklight/acommoner_female.lua new file mode 100755 index 000000000..fabc34b68 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/acommoner_female.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/Darklight/acommoner_female.lua + Script Purpose : a commoner + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,6) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_female_1_hail_b1b63b87.mp3", "Have you heard of Thelia N'Fyre, the head druid of the Shadow Oak? I hear the queen hates her. Yet nothing is done to rid Darklight of her presence.", "", 1904965620, 1308949760, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_female_2_hail_9377d0e.mp3", "Hate's Envy provides Neriak with a lot of raw ore and hard-working citizens. I think that may be why Cristanos lets them get away with such a lenient immigration policy.", "", 1200644794, 2494823979, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_female_1_hail_19fa8ff4.mp3", "How powerful would the queen be without her little Arasai?", "", 4101507312, 2547888971, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_female_2_hail_152f9f1a.mp3", "Carthen Olaren? No, I haven't heard of him.", "", 2967499882, 516031018, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_female_2_hail_4328c090.mp3", "Have you heard anything about that cult of flame worshippers?", "", 2837642152, 2610770669, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_female_1_hail_8bd689db.mp3", "I traveled through Nektulos Forest once. I do not wish to return until the Dread Guard has moved deeper in.", "", 2428812410, 2772763963, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Darklight/acommoner_male.lua b/Lua/SpawnScripts/Darklight/acommoner_male.lua new file mode 100755 index 000000000..64570570a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/acommoner_male.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Darklight/acommoner_male.lua + Script Purpose : a commoner + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_male_2_hail_58c66ab7.mp3", "I wonder if the fish from the Smoldering Lake cook faster or slower than regular fish.", "", 2182244469, 5251268, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_male_1_hail_b1bbdb6e.mp3", "I hear the Commonlands is a dreadful place to visit, yet bursting with opportunity.", "", 4265645297, 2801909364, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_male_1_hail_b0812908.mp3", "The Nektulos Forest is overrun by Thexians. They're scum.", "", 1643402937, 3453636706, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/neriak/a_commoner/darklight_wood/service/commoner_male_2_hail_2c86194f.mp3", "The Wanderlust fair is a wonderful place to spend time.", "", 1622760460, 2576330323, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Darklight/acuriouscitizen.lua b/Lua/SpawnScripts/Darklight/acuriouscitizen.lua new file mode 100755 index 000000000..7b422c604 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/acuriouscitizen.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Darklight/acuriouscitizen.lua + Script Purpose : a curious citizen + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +QUEST_WANTED = 84 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasCompletedQuest(Spawn, QUEST_WANTED) then + Say(NPC, "I heard you beat me to it. Ah well.", Spawn) + else + PlayFlavor(NPC, "voiceover/english/neriak/a_curious_citizen/darklight_wood/quest/hates_envy/curious_citizen_hail_db9fb451.mp3", "I wonder how well this bounty pays.", "", 3920277342, 17103451, Spawn) + end +end + diff --git a/Lua/SpawnScripts/Darklight/adiscardedweapon.lua b/Lua/SpawnScripts/Darklight/adiscardedweapon.lua new file mode 100755 index 000000000..7ea33061e --- /dev/null +++ b/Lua/SpawnScripts/Darklight/adiscardedweapon.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Darklight/adiscardedweapon.lua + Script Author : fearfx + Script Date : 2017.01.23 01:01:43 + Script Purpose : + : +--]] + +local OneMansWaste = 143 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SetRequiredQuest(NPC, OneMansWaste, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, OneMansWaste) then + AddSpawnAccess(NPC, Spawn) + end +end + + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "gather " then + Despawn(NPC) + SummonItem(Spawn, 6485) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/adocileslitherer.lua b/Lua/SpawnScripts/Darklight/adocileslitherer.lua new file mode 100755 index 000000000..4e86936c5 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/adocileslitherer.lua @@ -0,0 +1,89 @@ +--[[ + Script Name : SpawnScripts/Darklight/adocileslitherer.lua + Script Author : fearfx + Script Date : 2017.01.21 10:01:20 + Script Purpose : + : +--]] + +local InfantileIngredients = 157 +local DarkLightZone = 034 + +function spawn(NPC) + choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 1, math.random(5, 15)) +end + +function clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 1, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 1, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 1, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end + +function death(NPC, Spawn) + if HasQuest(Spawn, InfantileIngredients) and GetQuestStep(Spawn, InfantileIngredients) == 1 then + zone = GetZone(NPC) + local spawnAmount = math.random(1, 3) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + heading = GetHeading(NPC) + while spawnAmount ~= 0 do + newSpawn = SpawnMob(zone, 341286, 1, x + math.random(-1, 1), y+ math.random(-1, 1), z+ math.random(-1, 1), heading+ math.random(-1, 1)) + if newSpawn ~= nil then + AddSpawnAccess(newSpawn, Spawn) + end + spawnAmount = spawnAmount - 1 + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/afracturedlyricist.lua b/Lua/SpawnScripts/Darklight/afracturedlyricist.lua new file mode 100755 index 000000000..92d42b0bd --- /dev/null +++ b/Lua/SpawnScripts/Darklight/afracturedlyricist.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Darklight/afracturedlyricist.lua + Script Author : fearfx + Script Date : 2017.01.21 05:01:19 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/Darklight/aghoulishNerian.lua b/Lua/SpawnScripts/Darklight/aghoulishNerian.lua new file mode 100755 index 000000000..bc9fef48e --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aghoulishNerian.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Darklight/aghoulishNerian.lua + Script Author : theFoof + Script Date : 2013.11.27 10:11:09 + Script Purpose : + : +--]] + +function spawn(NPC) + local choice = math.random(1,2) + if choice == 1 then + SpawnSet(NPC, "model_type", "14043") + SpawnSet(NPC, "gender", "0") + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/aminer.lua b/Lua/SpawnScripts/Darklight/aminer.lua new file mode 100755 index 000000000..77233124b --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aminer.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : SpawnScripts/Darklight/aminer.lua + Script Purpose : a miner + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Male Miner that does walk around newbie area +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -413.11, -62.87, 239.47, 3, 0) + MovementLoopAddLocation(NPC, -412.00, -62.87, 222.83, 3, 0) + MovementLoopAddLocation(NPC, -413.56, -62.87, 218.93, 3, 0) + MovementLoopAddLocation(NPC, -406.88, -62.87, 216.64, 3, 0) + MovementLoopAddLocation(NPC, -404.18, -62.87, 214.02, 3, 0) + MovementLoopAddLocation(NPC, -400.42, -62.87, 207.76, 3, 0) + MovementLoopAddLocation(NPC, -399.92, -62.54, 202.64, 3, 0) + MovementLoopAddLocation(NPC, -390.70, -62.87, 203.21, 3, 0) + MovementLoopAddLocation(NPC, -386.70, -62.87, 201.74, 3, 0) + MovementLoopAddLocation(NPC, -384.22, -62.87, 205.75, 3, 0) + MovementLoopAddLocation(NPC, -373.58, -62.87, 208.92, 3, 0) + MovementLoopAddLocation(NPC, -368.41, -62.87, 208.30, 3, 0) + MovementLoopAddLocation(NPC, -367.58, -62.87, 217.60, 3, 0) + MovementLoopAddLocation(NPC, -371.30, -62.87, 218.00, 3, 0) + MovementLoopAddLocation(NPC, -373.85, -62.87, 223.07, 3, 0) + MovementLoopAddLocation(NPC, -373.80, -62.87, 229.02, 3, 0) + MovementLoopAddLocation(NPC, -371.61, -62.87, 231.72, 3, 0) + MovementLoopAddLocation(NPC, -371.10, -62.87, 235.38, 3, 0) + MovementLoopAddLocation(NPC, -369.62, -62.87, 236.66, 3, 0) + MovementLoopAddLocation(NPC, -368.97, -62.87, 241.71, 3, 0) + MovementLoopAddLocation(NPC, -382.00, -62.87, 243.54, 3, 0) + MovementLoopAddLocation(NPC, -382.28, -62.87, 258.29, 3, 0) + MovementLoopAddLocation(NPC, -421.53, -63.49, 258.05, 3, 0) + MovementLoopAddLocation(NPC, -424.89, -63.26, 251.68, 3, 0) + MovementLoopAddLocation(NPC, -411.24, -62.87, 239.38, 3, 0) + MovementLoopAddLocation(NPC, -397.93, -62.87, 238.66, 3, 0) + MovementLoopAddLocation(NPC, -390.59, -62.87, 247.07, 3, 0) + MovementLoopAddLocation(NPC, -381.05, -62.87, 236.56, 3, 0) + MovementLoopAddLocation(NPC, -380.94, -62.87, 219.24, 3, 0) + MovementLoopAddLocation(NPC, -384.56, -62.87, 213.48, 3, 0) + MovementLoopAddLocation(NPC, -385.33, -62.87, 209.06, 3, 0) + MovementLoopAddLocation(NPC, -397.21, -62.87, 208.74, 3, 0) + MovementLoopAddLocation(NPC, -401.90, -62.87, 220.72, 3, 0) + MovementLoopAddLocation(NPC, -401.44, -62.87, 232.93, 3, 0) + MovementLoopAddLocation(NPC, -398.28, -62.87, 238.80, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_1_hail_348fc1b3.mp3", "There hasn't been much work lately.", "", 4195669824, 624527790, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_1_hail_e6dc69ea.mp3", "I can't believe how quickly those elementals poured from the earth!", "", 3126552969, 2583209112, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_2_hail_a498a89c.mp3", "For Neriak and Cristanos!", "", 361255983, 2933844136, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_1_hail_c0c3ad78.mp3", "Things are a bit rougher now, but the time off is welcome.", "", 3143475956, 184613742, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/Darklight/aminer_female.lua b/Lua/SpawnScripts/Darklight/aminer_female.lua new file mode 100755 index 000000000..219881d63 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aminer_female.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Darklight/aminer_female.lua + Script Purpose : a miner + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasCompletedQuest(Spawn, 78) then + Say(NPC, "Heard you got rid of the elemtentals, thanks!", Spawn) + else + choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_female_2_hail_f8ea28f0.mp3", "I've had time to visit Neriak more often lately.", "", 2433324308, 3739464743, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_female_1_hail_d3092dcb.mp3", "There's not a lot of work around here for a miner... not with the Sablevein Tear in the state it's in.", "", 3088156596, 943162980, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_female_2_hail_d1d3e02e.mp3", "I've been selling pelts to Fileyl, he pays pretty well for them.", "", 2689657283, 428093927, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_female_1_hail_f0d56889.mp3", "We aren't exactly part of Neriak--and we more freely accept those who are not citizens--but we are definitely close.", "", 1234196112, 3581833599, Spawn) + end + end +end + diff --git a/Lua/SpawnScripts/Darklight/aminer_male.lua b/Lua/SpawnScripts/Darklight/aminer_male.lua new file mode 100755 index 000000000..ce1cf614c --- /dev/null +++ b/Lua/SpawnScripts/Darklight/aminer_male.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : SpawnScripts/Darklight/aminer_male.lua + Script Purpose : a miner + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : +--]] + +function spawn(NPC) + if GetSpawnLocationID(NPC) == 105088 then + SetMovement(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasCompletedQuest(Spawn, 78) then + Say(NPC, "Heard you got rid of the elemtentals, thanks!", Spawn) + else + choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_1_hail_348fc1b3.mp3", "There hasn't been much work lately.", "", 4195669824, 624527790, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_1_hail_e6dc69ea.mp3", "I can't believe how quickly those elementals poured from the earth!", "", 3126552969, 2583209112, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_2_hail_a498a89c.mp3", "For Neriak and Cristanos!", "", 361255983, 2933844136, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/neriak/a_miner/darklight_wood/service/hates_envy/miner_male_1_hail_c0c3ad78.mp3", "Things are a bit rougher now, but the time off is welcome.", "", 3143475956, 184613742, Spawn) + end + end +end + +function SetMovement(NPC) + MovementLoopAddLocation(NPC, -413.11, -62.87, 239.47, 2, 0) + MovementLoopAddLocation(NPC, -412.00, -62.87, 222.83, 2, 0) + MovementLoopAddLocation(NPC, -413.56, -62.87, 218.93, 2, 0) + MovementLoopAddLocation(NPC, -406.88, -62.87, 216.64, 2, 0) + MovementLoopAddLocation(NPC, -404.18, -62.87, 214.02, 2, 0) + MovementLoopAddLocation(NPC, -400.42, -62.87, 207.76, 2, 0) + MovementLoopAddLocation(NPC, -399.92, -62.54, 202.64, 2, 0) + MovementLoopAddLocation(NPC, -390.70, -62.87, 203.21, 2, 0) + MovementLoopAddLocation(NPC, -386.70, -62.87, 201.74, 2, 0) + MovementLoopAddLocation(NPC, -384.22, -62.87, 205.75, 2, 0) + MovementLoopAddLocation(NPC, -373.58, -62.87, 208.92, 2, 0) + MovementLoopAddLocation(NPC, -368.41, -62.87, 208.30, 2, 0) + MovementLoopAddLocation(NPC, -367.58, -62.87, 217.60, 2, 0) + MovementLoopAddLocation(NPC, -371.30, -62.87, 218.00, 2, 0) + MovementLoopAddLocation(NPC, -373.85, -62.87, 223.07, 2, 0) + MovementLoopAddLocation(NPC, -373.80, -62.87, 229.02, 2, 0) + MovementLoopAddLocation(NPC, -371.61, -62.87, 231.72, 2, 0) + MovementLoopAddLocation(NPC, -371.10, -62.87, 235.38, 2, 0) + MovementLoopAddLocation(NPC, -369.62, -62.87, 236.66, 2, 0) + MovementLoopAddLocation(NPC, -368.97, -62.87, 241.71, 2, 0) + MovementLoopAddLocation(NPC, -382.00, -62.87, 243.54, 2, 0) + MovementLoopAddLocation(NPC, -382.28, -62.87, 258.29, 2, 0) + MovementLoopAddLocation(NPC, -421.53, -63.49, 258.05, 2, 0) + MovementLoopAddLocation(NPC, -424.89, -63.26, 251.68, 2, 0) + MovementLoopAddLocation(NPC, -411.24, -62.87, 239.38, 2, 0) + MovementLoopAddLocation(NPC, -397.93, -62.87, 238.66, 2, 0) + MovementLoopAddLocation(NPC, -390.59, -62.87, 247.07, 2, 0) + MovementLoopAddLocation(NPC, -381.05, -62.87, 236.56, 2, 0) + MovementLoopAddLocation(NPC, -380.94, -62.87, 219.24, 2, 0) + MovementLoopAddLocation(NPC, -384.56, -62.87, 213.48, 2, 0) + MovementLoopAddLocation(NPC, -385.33, -62.87, 209.06, 2, 0) + MovementLoopAddLocation(NPC, -397.21, -62.87, 208.74, 2, 0) + MovementLoopAddLocation(NPC, -401.90, -62.87, 220.72, 2, 0) + MovementLoopAddLocation(NPC, -401.44, -62.87, 232.93, 2, 0) + MovementLoopAddLocation(NPC, -398.28, -62.87, 238.80, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/amolderingsoldier.lua b/Lua/SpawnScripts/Darklight/amolderingsoldier.lua new file mode 100755 index 000000000..9b8bec77f --- /dev/null +++ b/Lua/SpawnScripts/Darklight/amolderingsoldier.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/Darklight/amolderingsoldier.lua + Script Purpose : A Moldering Soldier ID 340084 + Script Author : Cynnar + Script Date : 12/30/2015 + Script Notes : Adds a scrap of armor drop for quest Picking Up Slack (Quest ID 139) + Script Notes : Currently using scrap metal (item ID 11996) in place of a scrap of armor. +--]] +local PickingUpSlack = 139 +local AGuardInsignia = 140 + +function spawn(NPC) + choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 1, math.random(5, 15)) +end + +function clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 1, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 1, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 1, math.random(5, 15)) +end + +function death(NPC, Spawn) + if HasQuest(Spawn, PickingUpSlack) then + if GetQuestStep(Spawn, PickingUpSlack) == 1 then + AddLootItem(NPC, 11996) + end + elseif HasCompletedQuest(Spawn, PickingUpSlack) and not HasCompletedQuest(Spawn, AGuardInsignia) and not HasQuest(Spawn, AGuardInsignia) then + local chance = math.random(100) + if not HasItem(Spawn, 2333) and chance <= 45 then + AddLootItem(NPC, 2333) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/anArcaneScienceapprentice.lua b/Lua/SpawnScripts/Darklight/anArcaneScienceapprentice.lua new file mode 100755 index 000000000..c01936120 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/anArcaneScienceapprentice.lua @@ -0,0 +1,99 @@ +--[[ + Script Name : SpawnScripts/Darklight/anArcaneScienceapprentice.lua + Script Purpose : an Arcane Science apprentice + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Academy?", "dlg_9_1") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "This is not good. These Void tempests have been tainting Norrath, but now attacking beasts are being expelled from them!") + if convo==10 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Academy?", "dlg_10_1") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "This is not good. These Void tempests have been tainting Norrath, but now attacking beasts are being expelled from them!") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Academy?", "dlg_11_1") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "This is not good. These Void tempests have been tainting Norrath, but now attacking beasts are being expelled from them!") + end + +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I will!") + AddConversationOption(conversation, "If I find any.", "dlg_9_2") + AddConversationOption(conversation, "I don't think so.") + StartConversation(conversation, NPC, Spawn, "That is for certain! If I had any fighting skills I would proudly be in the thick of it, myself. Will you join in the battle against the Void creatures?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I sure will.") + StartConversation(conversation, NPC, Spawn, "Excellent! If you find anything of interest to our research while you battle the onslaught, alert me.") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can help.", "dlg_10_2") + AddConversationOption(conversation, "Pardon me as I find someplace to hide.") + StartConversation(conversation, NPC, Spawn, "Of course! The masters are recruiting adventurers to battle them. But they are tenacious!") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I sure will.", "dlg_10_3") + StartConversation(conversation, NPC, Spawn, "Excellent! If you find anything of interest to our research while you battle the onslaught, alert me.") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've reported this to the Academy?") + AddConversationOption(conversation, "This is no time to stand back and gawk!") + StartConversation(conversation, NPC, Spawn, "This is not good. These Void tempests have been tainting Norrath, but now attacking beasts are being expelled from them!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "I will honor the masters back at the academy with every detail that I can record for them.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_01.lua b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_01.lua new file mode 100755 index 000000000..7dbec1a27 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_01.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 2, math.random(5, 15)) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + rand = math.random(0, 100) + if rand <= 20 then + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475, Spawn) + else + Say(NPC, "The others will be back for you.", Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_02.lua b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_02.lua new file mode 100755 index 000000000..7a66044a6 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_clockwise_small_02.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 2, math.random(5, 15)) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + rand = math.random(0, 100) + if rand <= 20 then + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475, Spawn) + else + Say(NPC, "The others will be back for you.", Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_01.lua b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_01.lua new file mode 100755 index 000000000..e9586e40c --- /dev/null +++ b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_01.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 2, math.random(5, 15)) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + rand = math.random(0, 100) + if rand <= 20 then + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475, Spawn) + else + Say(NPC, "The others will be back for you.", Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_02.lua b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_02.lua new file mode 100755 index 000000000..6ab4f28f9 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/an_untamed_spirit_circle_counterclockwise_small_02.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 2, math.random(5, 15)) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + rand = math.random(0, 100) + if rand <= 20 then + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475, Spawn) + else + Say(NPC, "The others will be back for you.", Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Darklight/anagitatedslitherer.lua b/Lua/SpawnScripts/Darklight/anagitatedslitherer.lua new file mode 100755 index 000000000..5393b3c5e --- /dev/null +++ b/Lua/SpawnScripts/Darklight/anagitatedslitherer.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Darklight/anagitatedslitherer.lua + Script Author : fearfx + Script Date : 2017.01.21 10:01:16 + Script Purpose : + : +--]] + +function spawn(NPC) + choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 1, math.random(5, 15)) +end + +function clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 1, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 1, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 1, math.random(5, 15)) +end + +function death(NPC, Spawn) + AddLootItem(NPC, 11996) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/anuntamedspirit.lua b/Lua/SpawnScripts/Darklight/anuntamedspirit.lua new file mode 100755 index 000000000..b6cd5e007 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/anuntamedspirit.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Darklight/anuntamedspirit.lua + Script Purpose : an untamed spirit + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475, Spawn) +end + diff --git a/Lua/SpawnScripts/Darklight/anuntamedspirit_female.lua b/Lua/SpawnScripts/Darklight/anuntamedspirit_female.lua new file mode 100755 index 000000000..19f277988 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/anuntamedspirit_female.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Darklight/anuntamedspirit_female.lua + Script Purpose : an untamed spirit + Script Author : John Adams + Script Date : 2009.02.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function death(NPC, Spawn) + rand = math.random(0, 100) + if rand <= 20 then + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475, Spawn) + else + Say(NPC, "The others will be back for you.", Spawn) + end + end +end + diff --git a/Lua/SpawnScripts/Darklight/anuntamedspirit_male.lua b/Lua/SpawnScripts/Darklight/anuntamedspirit_male.lua new file mode 100755 index 000000000..fe73d7cfb --- /dev/null +++ b/Lua/SpawnScripts/Darklight/anuntamedspirit_male.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + rand = math.random(0, 100) + if rand <= 20 then + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475, Spawn) + else + Say(NPC, "The others will be back for you.", Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Darklight/apurespirit.lua b/Lua/SpawnScripts/Darklight/apurespirit.lua new file mode 100755 index 000000000..589afde1a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/apurespirit.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Darklight/apurespirit.lua + Script Purpose : Add spawn access and update for queset Reaping (152) + Script Author : Cynnar + Script Date : 1/3/2016 + Script Notes : a pure spirit (341050) +--]] +local Reaping = 152 + + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Reap" then + if HasQuest(Spawn, Reaping) and HasItem(Spawn, 48173) then + AddStepProgress(Spawn, Reaping, 1, 1) + Despawn(NPC) + else + SetStepComplete(Spawn, Reaping, 2) + end + + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, Reaping) then + AddSpawnAccess(NPC, Spawn) + elseif HasQuest(Spawn, Reaping) and GetQuestStep(Spawn, Reaping ) < 2 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/ascarwurm.lua b/Lua/SpawnScripts/Darklight/ascarwurm.lua new file mode 100755 index 000000000..f494e81fe --- /dev/null +++ b/Lua/SpawnScripts/Darklight/ascarwurm.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Darklight/ascarwurm.lua + Script Author : Foof + Script Date : 2013.11.17 + Script Purpose : +--]] + +require"SpawnScripts/Generic/generic_fish_movement" + +function spawn(NPC) + local choice = math.random(1,2) + if choice == 1 then + SpawnSet(NPC, "model_type", "197") + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/astrangeplant.lua b/Lua/SpawnScripts/Darklight/astrangeplant.lua new file mode 100755 index 000000000..7835ae5ef --- /dev/null +++ b/Lua/SpawnScripts/Darklight/astrangeplant.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Darklight/astrangeplant.lua + Script Purpose : Quest Giver + Script Author : fearfx + Script Date : 19/01/2017 + Script Notes : +--]] + +local AStrangeFind = 187 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 10, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if not HasQuest(Spawn, AStrangeFind) and not HasItem(Spawn, 13423) then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Gathering" and not HasItem(Player, 13423) then + SummonItem(Spawn, 13423) + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/astunsporemushroom.lua b/Lua/SpawnScripts/Darklight/astunsporemushroom.lua new file mode 100755 index 000000000..ea1f2d12a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/astunsporemushroom.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Darklight/astunsporemushroom.lua + Script Author : fearfx + Script Date : 2017.01.23 01:01:06 + Script Purpose : + : +--]] + + +local StunningRevelation = 156 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SetRequiredQuest(NPC, StunningRevelation, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, StunningRevelation) then + AddSpawnAccess(NPC, Spawn) + end +end + + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "gather " then + Despawn(NPC) + SummonItem(Spawn, 13532) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/awellspringcub.lua b/Lua/SpawnScripts/Darklight/awellspringcub.lua new file mode 100755 index 000000000..3a061be66 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/awellspringcub.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : Quests/Darklight/awellspringcub.lua + Script Purpose : for the spawn "a wellspring cub" (340061) + Script Author : Cynnar + Script Date : 2/5/2016 + Script Notes : +--]] + +local DrawUponWellsprings = 155 + +function spawn(NPC) + choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == "Leash" then + if GetQuestStep(Caster, DrawUponWellsprings) == 1 then + if GetTempVariable(Caster, "cub") == nil then + SetTempVariable(Caster, "cub", NPC) + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + end + end + end +end + +function clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 1, math.random(5, 15)) +end + +function clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 1, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 1, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 1, math.random(5, 15)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/discardedwood.lua b/Lua/SpawnScripts/Darklight/discardedwood.lua new file mode 100755 index 000000000..8fb8d626a --- /dev/null +++ b/Lua/SpawnScripts/Darklight/discardedwood.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Darklight/discardedwood.lua + Script Author : fearfx + Script Date : 2017.01.24 11:01:02 + Script Purpose : + : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "gather " then + Despawn(NPC) + SummonItem(Spawn, 6486) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/invisiblecuberiftparticle.lua b/Lua/SpawnScripts/Darklight/invisiblecuberiftparticle.lua new file mode 100755 index 000000000..2ab88b819 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/invisiblecuberiftparticle.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Darklight/invisiblecuberiftparticle.lua + Script Purpose : Sealing the Rift + Script Author : Cynnar + Script Date : 2015.07.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local SealingTheRift = 122 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if HasCompletedQuest(Player, SealingTheRift ) or GetQuestStep(Player, SealingTheRift) > 1 then + AddSpawnAccess(NPC, Player) + end +end diff --git a/Lua/SpawnScripts/Darklight/qst_wanted_poster.lua b/Lua/SpawnScripts/Darklight/qst_wanted_poster.lua new file mode 100755 index 000000000..8bd27b468 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/qst_wanted_poster.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if not HasCompletedQuest(Caster, 84) and not HasQuest(Caster, 84) then + OfferQuest(Target, Caster, 84) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/remainsthexiandragoongeneral.lua b/Lua/SpawnScripts/Darklight/remainsthexiandragoongeneral.lua new file mode 100755 index 000000000..e62cb16a6 --- /dev/null +++ b/Lua/SpawnScripts/Darklight/remainsthexiandragoongeneral.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Darklight/remainsthexiandragoongeneral.lua + Script Purpose : For the quest, "No Undead Goes Unturned" + Script Author : Cynnar + Script Date : 2015.08.18 + Script Notes : +--]] + +local NoUndeadGoesUnturned = 134 + +function spawn(NPC) + SetRequiredQuest(NPC, NoUndeadGoesUnturned, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Plunder the Tomb" then + if HasQuest(Spawn, NoUndeadGoesUnturned) and not HasItem(Spawn, 14386) then + SummonItem(Spawn, 14386) + if GetQuestStep(Spawn, NoUndeadGoesUnturned) == 1 then + SetStepComplete(Caster, NoUndeadGoesUnturned, 1) + end + end + + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/searingtrout.lua b/Lua/SpawnScripts/Darklight/searingtrout.lua new file mode 100755 index 000000000..b647e8d5b --- /dev/null +++ b/Lua/SpawnScripts/Darklight/searingtrout.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/Darklight/searingtrout.lua + Script Author : fearfx + Script Date : 2017.01.24 06:01:57 + Script Purpose : + : +--]] + +local ReapingTheBenefits = 188 + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Fishing" then + Say(Caster, "Fish!") + if HasQuest(Caster, ReapingTheBenefits) then + --Say(Caster, "") + Despawn(Target) + SummonItem(Caster, 37182) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/soldierstrinket.lua b/Lua/SpawnScripts/Darklight/soldierstrinket.lua new file mode 100755 index 000000000..c6cc9174c --- /dev/null +++ b/Lua/SpawnScripts/Darklight/soldierstrinket.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Darklight/soldierstrinket.lua + Script Purpose : Add spawn access and update for queset Purposeful Trinkets (149) + Script Author : Cynnar + Script Date : 1/3/2016 + Script Notes : Soldiers Trinket (341284) +--]] + +local PurposefulTrinkets = 149 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, PurposefulTrinkets) then + AddSpawnAccess(NPC, Spawn) + elseif HasQuest(Spawn, PurposefulTrinkets) and GetQuestStep(Spawn, PurposefulTrinkets ) < 2 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/wellspringremainstoss.lua b/Lua/SpawnScripts/Darklight/wellspringremainstoss.lua new file mode 100755 index 000000000..695c5de7c --- /dev/null +++ b/Lua/SpawnScripts/Darklight/wellspringremainstoss.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Darklight/wellspringremainstoss.lua + Script Purpose : For the quest, "Thexian Taint" + Script Author : Cynnar + Script Date : 8/18/2015 + Script Notes : PlayAnimation is not set properly yet. + Script Notes : Object wellspring_remains_toss (340748) +--]] + +local ThexianTaint = 135 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 20, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + + if HasQuest(Spawn, ThexianTaint) and GetQuestStep(Spawn, ThexianTaint) == 2 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Toss Remains in the Well" then + if HasQuest(Spawn, ThexianTaint) and HasItem(Spawn, 14387) then + --if GetQuestStep(Spawn, ThexianTaint) == 2 then + RemoveItem(Spawn, 14387) + PlayAnimation(NPC, 22403) + SendMessage(Spawn, "You toss the vex-runed remains in the well!", "white") + SetStepComplete(Spawn, ThexianTaint, 2) + --end + end + + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/widgetriftboulder.lua b/Lua/SpawnScripts/Darklight/widgetriftboulder.lua new file mode 100755 index 000000000..44d90f79b --- /dev/null +++ b/Lua/SpawnScripts/Darklight/widgetriftboulder.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Darklight/widgetriftboulder.lua + Script Purpose : Sealing the Rift + Script Author : Cynnar + Script Date : 2015.07.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local SealingTheRift = 122 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "CheckQuest", "CheckQuest") +end + +function respawn(NPC) + spawn(NPC) +end + +function CheckQuest(NPC, Player) + if HasCompletedQuest(Player, SealingTheRift ) or GetQuestStep(Player, SealingTheRift ) > 1 then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Darklight/widgetriftpebble.lua b/Lua/SpawnScripts/Darklight/widgetriftpebble.lua new file mode 100755 index 000000000..b27c3d5aa --- /dev/null +++ b/Lua/SpawnScripts/Darklight/widgetriftpebble.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Darklight/widgetriftpebble.lua + Script Purpose : Sealing the Rift + Script Author : Cynnar + Script Date : 2015.07.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local SealingTheRift = 122 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, SealingTheRift) then + if SpellName == 'Kick Rubble' then + SetStepComplete(Spawn, SealingTheRift, 1) + RemoveSpawnAccess(NPC, Spawn) + + private_spawn_boulder = GetSpawn(Spawn, 340761) + private_spawn_particle1 = GetSpawn(Spawn, 340747) + private_spawn_particle2 = GetSpawn(Spawn, 341218) + AddSpawnAccess(private_spawn_boulder, Spawn) + AddSpawnAccess(private_spawn_particle1, Spawn) + AddSpawnAccess(private_spawn_particle2, Spawn) + end + end +end + +function SpawnAccess(NPC, Spawn) + + if not HasQuest(Spawn, SealingTheRift) and not HasCompletedQuest(Spawn, SealingTheRift) then + AddSpawnAccess(NPC, Spawn) + elseif HasQuest(Spawn, SealingTheRift) and GetQuestStep(Spawn, SealingTheRift ) < 2 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end + diff --git a/Lua/SpawnScripts/EastFreeport/EFGuards.lua b/Lua/SpawnScripts/EastFreeport/EFGuards.lua new file mode 100755 index 000000000..460135b45 --- /dev/null +++ b/Lua/SpawnScripts/EastFreeport/EFGuards.lua @@ -0,0 +1,118 @@ +--[[ + Script Name : SpawnScripts/EastFreeport/EFGuards.lua + Script Purpose : Waypoint Path for ef_guard_lower.lua + Script Author : Cynnar + Script Date : 09/08/2018 02:20:27 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -189.86, -55.92, -16.44, 2, 0) + MovementLoopAddLocation(NPC, -190.46, -55.87, -3.26, 2, 0) + MovementLoopAddLocation(NPC, -185.01, -55.83, 9.76, 2, 0) + MovementLoopAddLocation(NPC, -181.3, -56.75, 66.36, 2, 0) + MovementLoopAddLocation(NPC, -181.84, -57.3, 104.81, 2, 0) + MovementLoopAddLocation(NPC, -185.17, -57.29, 112.73, 2, 0) + MovementLoopAddLocation(NPC, -190.12, -57.29, 113.46, 2, 0) + MovementLoopAddLocation(NPC, -194.08, -57.3, 107.44, 2, 0) + MovementLoopAddLocation(NPC, -194.6, -57.02, 80.65, 2, 0) + MovementLoopAddLocation(NPC, -218.36, -56.07, 58.92, 2, 0) + MovementLoopAddLocation(NPC, -239.17, -56.07, 58.9, 2, 0) + MovementLoopAddLocation(NPC, -242.89, -56.07, 60.42, 2, 0) + MovementLoopAddLocation(NPC, -244.14, -56.07, 61.03, 2, 0) + MovementLoopAddLocation(NPC, -246.02, -56.07, 59.53, 2, 0) + MovementLoopAddLocation(NPC, -247.36, -56.07, 58.52, 2, 0) + MovementLoopAddLocation(NPC, -252.65, -56.07, 58.95, 2, 0) + MovementLoopAddLocation(NPC, -277.33, -56.07, 58.95, 2, 0) + MovementLoopAddLocation(NPC, -304.72, -56.07, 58.97, 2, 0) + MovementLoopAddLocation(NPC, -304.11, -56.07, 68.74, 2, 3) + MovementLoopAddLocation(NPC, -306.25, -56.07, 71.26, 2, 0) + MovementLoopAddLocation(NPC, -301.18, -56.07, 85.95, 2, 0) + MovementLoopAddLocation(NPC, -303.9, -56.07, 107.34, 2, 0) + MovementLoopAddLocation(NPC, -299.51, -56.07, 109.45, 2, 0) + MovementLoopAddLocation(NPC, -290.26, -56.07, 109.42, 2, 0) + MovementLoopAddLocation(NPC, -286.51, -56.07, 107.43, 2, 0) + MovementLoopAddLocation(NPC, -284.54, -56.07, 101.79, 2, 0) + MovementLoopAddLocation(NPC, -282.24, -56.07, 85.72, 2, 0) + MovementLoopAddLocation(NPC, -280.94, -56.07, 64.28, 2, 0) + MovementLoopAddLocation(NPC, -213.49, -56.07, 65.38, 2, 0) + MovementLoopAddLocation(NPC, -209.06, -56.07, 56.68, 2, 0) + MovementLoopAddLocation(NPC, -209.19, -56.07, -67.07, 2, 0) + MovementLoopAddLocation(NPC, -211.21, -56.07, -72.08, 2, 0) + MovementLoopAddLocation(NPC, -213.28, -56.07, -73.4, 2, 0) + MovementLoopAddLocation(NPC, -228.28, -56.07, -73.3, 2, 0) + MovementLoopAddLocation(NPC, -238.66, -56.07, -75.05, 2, 0) + MovementLoopAddLocation(NPC, -248.38, -56.07, -75.17, 2, 0) + MovementLoopAddLocation(NPC, -256.86, -56.07, -72.89, 2, 0) + MovementLoopAddLocation(NPC, -300.28, -56.07, -72.61, 2, 0) + MovementLoopAddLocation(NPC, -306.28, -55.71, -77.39, 2, 0) + MovementLoopAddLocation(NPC, -300.18, -56.07, -81.26, 2, 3) + MovementLoopAddLocation(NPC, -255.99, -56.07, -80.53, 2, 0) + MovementLoopAddLocation(NPC, -235.89, -56.07, -82.36, 2, 0) + MovementLoopAddLocation(NPC, -203.13, -56.07, -82.93, 2, 0) + MovementLoopAddLocation(NPC, -197.85, -55.78, -85.24, 2, 0) + MovementLoopAddLocation(NPC, -181.72, -56.31, -110.02, 2, 0) + MovementLoopAddLocation(NPC, -172.06, -56.65, -98.75, 2, 0) + MovementLoopAddLocation(NPC, -177.01, -56.78, -86.72, 2, 0) + MovementLoopAddLocation(NPC, -189.09, -56.75, -45.23, 2, 0) + MovementLoopAddLocation(NPC, -189.75, -56.06, -21.61, 2, 0) + MovementLoopAddLocation(NPC, -189.09, -56.75, -45.23, 2, 0) + MovementLoopAddLocation(NPC, -177.01, -56.78, -86.72, 2, 0) + MovementLoopAddLocation(NPC, -172.06, -56.65, -98.75, 2, 0) + MovementLoopAddLocation(NPC, -181.72, -56.31, -110.02, 2, 0) + MovementLoopAddLocation(NPC, -197.85, -55.78, -85.24, 2, 0) + MovementLoopAddLocation(NPC, -203.13, -56.07, -82.93, 2, 0) + MovementLoopAddLocation(NPC, -235.89, -56.07, -82.36, 2, 0) + MovementLoopAddLocation(NPC, -255.99, -56.07, -80.53, 2, 0) + MovementLoopAddLocation(NPC, -300.18, -56.07, -81.26, 2, 3) + MovementLoopAddLocation(NPC, -306.28, -55.71, -77.39, 2, 0) + MovementLoopAddLocation(NPC, -300.28, -56.07, -72.61, 2, 0) + MovementLoopAddLocation(NPC, -256.86, -56.07, -72.89, 2, 0) + MovementLoopAddLocation(NPC, -248.38, -56.07, -75.17, 2, 0) + MovementLoopAddLocation(NPC, -238.66, -56.07, -75.05, 2, 0) + MovementLoopAddLocation(NPC, -228.28, -56.07, -73.3, 2, 0) + MovementLoopAddLocation(NPC, -213.28, -56.07, -73.4, 2, 0) + MovementLoopAddLocation(NPC, -211.21, -56.07, -72.08, 2, 0) + MovementLoopAddLocation(NPC, -209.19, -56.07, -67.07, 2, 0) + MovementLoopAddLocation(NPC, -209.06, -56.07, 56.68, 2, 0) + MovementLoopAddLocation(NPC, -213.49, -56.07, 65.38, 2, 0) + MovementLoopAddLocation(NPC, -280.94, -56.07, 64.28, 2, 0) + MovementLoopAddLocation(NPC, -282.24, -56.07, 85.72, 2, 0) + MovementLoopAddLocation(NPC, -284.54, -56.07, 101.79, 2, 0) + MovementLoopAddLocation(NPC, -286.51, -56.07, 107.43, 2, 0) + MovementLoopAddLocation(NPC, -290.26, -56.07, 109.42, 2, 0) + MovementLoopAddLocation(NPC, -299.51, -56.07, 109.45, 2, 0) + MovementLoopAddLocation(NPC, -303.9, -56.07, 107.34, 2, 0) + MovementLoopAddLocation(NPC, -301.18, -56.07, 85.95, 2, 3) + MovementLoopAddLocation(NPC, -306.25, -56.07, 71.26, 2, 0) + MovementLoopAddLocation(NPC, -304.11, -56.07, 68.74, 2, 0) + MovementLoopAddLocation(NPC, -304.72, -56.07, 58.97, 2, 0) + MovementLoopAddLocation(NPC, -277.33, -56.07, 58.95, 2, 0) + MovementLoopAddLocation(NPC, -252.65, -56.07, 58.95, 2, 0) + MovementLoopAddLocation(NPC, -247.36, -56.07, 58.52, 2, 0) + MovementLoopAddLocation(NPC, -246.02, -56.07, 59.53, 2, 0) + MovementLoopAddLocation(NPC, -244.14, -56.07, 61.03, 2, 0) + MovementLoopAddLocation(NPC, -242.89, -56.07, 60.42, 2, 0) + MovementLoopAddLocation(NPC, -239.17, -56.07, 58.9, 2, 0) + MovementLoopAddLocation(NPC, -218.36, -56.07, 58.92, 2, 0) + MovementLoopAddLocation(NPC, -194.6, -57.02, 80.65, 2, 0) + MovementLoopAddLocation(NPC, -194.08, -57.3, 107.44, 2, 0) + MovementLoopAddLocation(NPC, -190.12, -57.29, 113.46, 2, 0) + MovementLoopAddLocation(NPC, -185.17, -57.29, 112.73, 2, 0) + MovementLoopAddLocation(NPC, -181.84, -57.3, 104.81, 2, 0) + MovementLoopAddLocation(NPC, -181.3, -56.75, 66.36, 2, 0) + MovementLoopAddLocation(NPC, -185.01, -55.83, 9.76, 2, 0) + MovementLoopAddLocation(NPC, -190.46, -55.87, -3.26, 2, 0) + MovementLoopAddLocation(NPC, -189.86, -55.92, -16.44, 2, 0) +end diff --git a/Lua/SpawnScripts/EastFreeport/Odyssneu.lua b/Lua/SpawnScripts/EastFreeport/Odyssneu.lua new file mode 100755 index 000000000..ba173abca --- /dev/null +++ b/Lua/SpawnScripts/EastFreeport/Odyssneu.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/EastFreeport/Odyssneu.lua + Script Purpose : Odyssneu + Script Author : neatz09 + Script Date : 2018.12.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/broker_aliindar/qey_harbor/031_con_merchant_aliindar_erudite_2_aoi_1fefa590.mp3", "Hello there! Let's not waste any time shall we? What is it I can get for you?", "beckon", 1746996390, 2674526000, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Adrianna.lua b/Lua/SpawnScripts/ElddarGrove/Adrianna.lua new file mode 100755 index 000000000..e683f9af8 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Adrianna.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Adrianna.lua + Script Purpose : Adrianna + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/merchant_adrianna/qey_elddar/merchantadrianna000.mp3", "", "", 2772064820, 4249063361, Spawn) + AddConversationOption(conversation, "No, I am good to go thanks. ", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Hello there! Can I interest you in any wares for your travels?") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/merchant_adrianna/qey_elddar/merchantadrianna000.mp3", "", "", 2772064820, 4249063361, Spawn) + AddConversationOption(conversation, "No, I am good to go thanks. ", "dlg_9_2") + StartConversation(conversation, NPC, Spawn, "Hello there! Can I interest you in any wares for your travels?") +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Aerinleaf.lua b/Lua/SpawnScripts/ElddarGrove/Aerinleaf.lua new file mode 100755 index 000000000..edf7e2a6a --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Aerinleaf.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Aerinleaf.lua + Script Purpose : Aerinleaf + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/broker_mallium/fprt_west/031_con_merchant_mallium_halfelf_1_aoi_55068310.mp3", "Well met, fair traveler. Here, while you rest from your troubling day of adventuring, why not take a look at the finest luxuries that a city could hope to offer!", "bye", 1506550649, 1241339557, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/broker_mallium/fprt_west/031_con_merchant_mallium_halfelf_1_hail_1ed07c5.mp3", "I can only offer you what my contacts have been able to locate. These are the best goods that the citizens have to offer.", "sigh", 3045938288, 2279107443, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/ArthurWaterway.lua b/Lua/SpawnScripts/ElddarGrove/ArthurWaterway.lua new file mode 100755 index 000000000..72f683fcb --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/ArthurWaterway.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/ArthurWaterway.lua + Script Purpose : Arthur Waterway + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/halfelf_eco_good_2/ft/halfelf/halfelf_eco_good_2_hail_gm_768a0c8b.mp3", "Everywhere is walking distance if you have the time.", "wink", 2228417017, 3880753774, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/halfelf_eco_good_2/ft/halfelf/halfelf_eco_good_2_hail_gm_ea435b69.mp3", "I'm going to get some piercings so I can be unique like everyone else.", "yeah", 2468101640, 903029053, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/halfelf_eco_good_2/ft/halfelf/halfelf_eco_good_2_hail_gm_666e9477.mp3", "I think the word dual-breed has a little more dignity than half-elf, don't you?", "ponder", 3563191265, 3563670932, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/BreenoMesspie.lua b/Lua/SpawnScripts/ElddarGrove/BreenoMesspie.lua new file mode 100755 index 000000000..aec793c1f --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/BreenoMesspie.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/BreenoMesspie.lua + Script Purpose : Breeno Messpie + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_50622dfa.mp3", "Whoa, hello there! Eager and in a hurry I see. My advice, take your time. The city isn't going anywhere.", "wave", 2627404831, 2664895493, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Bryson.lua b/Lua/SpawnScripts/ElddarGrove/Bryson.lua new file mode 100755 index 000000000..74391d07c --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Bryson.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Bryson.lua + Script Purpose : Bryson + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/bryson/qey_elddar/100_archer_human_bryson_multhail1_591026b2.mp3", "Now, if you hope to be as fine an archer as me, you should be off practicing instead of talking to me!", "", 2519962645, 3532721498, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/bryson/qey_elddar/100_archer_human_bryson_callout1_c9e17e55.mp3", "Ha! A bullseye! I knew I would hit it soon. Take a look at this, friend!", "", 4180624223, 2622592, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/DelmaMesspie.lua b/Lua/SpawnScripts/ElddarGrove/DelmaMesspie.lua new file mode 100755 index 000000000..b85ce4dd6 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/DelmaMesspie.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/DelmaMesspie.lua + Script Purpose : Delma Messpie + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_6594953c.mp3", "If a thing isn't worth saying, you sing it.", "wink", 1056697572, 3706271932, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_5b6e8d2f.mp3", "Do you like muffins? Muffins are my favorite, I eat them every chance I get.", "sigh", 4155434475, 829232573, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gf_3dc6b124.mp3", "Get the wash, get the wash. This whole city would fall apart if I didn't deliver the clothes on time. ", "frustrated", 4277096439, 928366048, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Duvo.lua b/Lua/SpawnScripts/ElddarGrove/Duvo.lua new file mode 100755 index 000000000..bc3c7b533 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Duvo.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Duvo.lua + Script Purpose : Duvo + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/scribe_duvo/qey_elddar/100_scribe_halfling_duvo_callout1_c6eaefe5.mp3", "My apologies, friend. I did not see you there ... What is it you need?", "", 3948051330, 1166584264, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/scribe_duvo/qey_elddar/100_scribe_halfling_duvo_multhail1_a72f47c8.mp3", "I'm sorry. I cannot help you.", "", 1448300901, 17119076, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/ElendiaStarleaf.lua b/Lua/SpawnScripts/ElddarGrove/ElendiaStarleaf.lua new file mode 100755 index 000000000..f67516560 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/ElendiaStarleaf.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/ElendiaStarleaf.lua + Script Purpose : Elendia Starleaf + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Hello there, you seek woodlore do you?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1011.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/ElgornBirchgrove.lua b/Lua/SpawnScripts/ElddarGrove/ElgornBirchgrove.lua new file mode 100755 index 000000000..fb5f1f8b1 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/ElgornBirchgrove.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/ElgornBirchgrove.lua + Script Purpose : Elgorn Birchgrove + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Please watch where you wander. My little wards are skittish, unlike their more mature relatives.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/FayeDawnsinger.lua b/Lua/SpawnScripts/ElddarGrove/FayeDawnsinger.lua new file mode 100755 index 000000000..8e2d480f0 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/FayeDawnsinger.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/FayeDawnsinger.lua + Script Purpose : Faye Dawnsinger + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/highelf/highelf_eco_good_1_hail_gf_aeb1a20f.mp3", "It is with honor that I welcome you to our community.", "thanks", 157565536, 4238836509, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/highelf/highelf_eco_good_1_hail_gf_a6a7e923.mp3", "Hail to you, it is indeed a pleasure.", "royalwave", 224557122, 3782103568, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/highelf/highelf_eco_good_1_hail_gf_869cb34a.mp3", "Hello, young adventurer. It is with the utmost delight that I greet you.", "fullcurtsey", 1236739692, 2465236460, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/FlizzleCogplume.lua b/Lua/SpawnScripts/ElddarGrove/FlizzleCogplume.lua new file mode 100755 index 000000000..a8d25bd35 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/FlizzleCogplume.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/FlizzleCogplume.lua + Script Purpose : Flizzle Cogplume + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Well, well, what have we here?", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/GildasCedartree.lua b/Lua/SpawnScripts/ElddarGrove/GildasCedartree.lua new file mode 100755 index 000000000..d86e60767 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GildasCedartree.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GildasCedartree.lua + Script Purpose : Gildas Cedartree + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1012.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1012.mp3", "", "", 0, 0, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/gildas_cedartree/qey_elddar/quests/gildas_cedartree/gildascedartree017.mp3", "", "", 3941972709, 1584350411, Spawn) + StartConversation(conversation, NPC, Spawn, "Sorry, friend. I can't offer you help at this time. Good day!") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gildas_cedartree/qey_elddar/quests/gildas_cedartree/gildascedartree017.mp3", "", "", 3941972709, 1584350411, Spawn) + StartConversation(conversation, NPC, Spawn, "Sorry, friend. I can't offer you help at this time. Good day!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1012.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1012.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ElddarGrove/GilpJadefist.lua b/Lua/SpawnScripts/ElddarGrove/GilpJadefist.lua new file mode 100755 index 000000000..f0dabfa5c --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GilpJadefist.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GilpJadefist.lua + Script Purpose : Gilp Jadefist + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gilp_jadefist/qey_elddar/quests/gilp_jadefist001.mp3", "", "", 561219982, 2924439692, Spawn) + AddConversationOption(conversation, "Thanks.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "May your path always be clear.") + if convo==6 then + PlayFlavor(NPC, "gilp_jadefist/qey_elddar/quests/gilp_jadefist001.mp3", "", "", 561219982, 2924439692, Spawn) + AddConversationOption(conversation, "Thanks.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "May your path always be clear.") + end + +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1015.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ElddarGrove/GregorEarthstride.lua b/Lua/SpawnScripts/ElddarGrove/GregorEarthstride.lua new file mode 100755 index 000000000..acc22d6bc --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GregorEarthstride.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GregorEarthstride.lua + Script Purpose : Gregor Earthstride + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "I can't ever seem to find the arrows I need! Nightbow's shop here is good, but it's a bit pricey.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/GuardKaladenth.lua b/Lua/SpawnScripts/ElddarGrove/GuardKaladenth.lua new file mode 100755 index 000000000..c87001bcc --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GuardKaladenth.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GuardKaladenth.lua + Script Purpose : Guard Kaladenth + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 3027655540, 4120709915, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 739074204, 2925833259, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/GuardMorlo.lua b/Lua/SpawnScripts/ElddarGrove/GuardMorlo.lua new file mode 100755 index 000000000..d26cc63ad --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GuardMorlo.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GuardMorlo.lua + Script Purpose : Guard Morlo + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 4099618783, 4191002419, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 4141262779, 4227030045, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/GuardStonefist.lua b/Lua/SpawnScripts/ElddarGrove/GuardStonefist.lua new file mode 100755 index 000000000..56e4c9eaa --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GuardStonefist.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GuardStonefist.lua + Script Purpose : Guard Stonefist + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now I may die of boredom.", "grumble", 31199107, 4082603014, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you citizen, all preserve Queen Antonia.", "salute", 2539353309, 3288832983, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1717559969, 1730005307, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/GuardTolar.lua b/Lua/SpawnScripts/ElddarGrove/GuardTolar.lua new file mode 100755 index 000000000..6dbd979d6 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GuardTolar.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GuardTolar.lua + Script Purpose : Guard Tolar + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2268064933, 2349331472, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 174236481, 4250389478, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 2588751132, 3401521310, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/GuardValmont.lua b/Lua/SpawnScripts/ElddarGrove/GuardValmont.lua new file mode 100755 index 000000000..fe0b7537d --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/GuardValmont.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/GuardValmont.lua + Script Purpose : Guard Valmont + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 3448203562, 506341016, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 373851625, 467562033, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 1886617373, 1115286759, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/InitiateLunaru.lua b/Lua/SpawnScripts/ElddarGrove/InitiateLunaru.lua new file mode 100755 index 000000000..c5bdb0911 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/InitiateLunaru.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/InitiateLunaru.lua + Script Purpose : Initiate Lunaru + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Sorry, I can't speak now. I must prepare for my sparring exercises.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/InitiateTara.lua b/Lua/SpawnScripts/ElddarGrove/InitiateTara.lua new file mode 100755 index 000000000..6ff1051da --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/InitiateTara.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/InitiateTara.lua + Script Purpose : Initiate Tara + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional1/initiate_tara/qey_elddar/100_monk_initiate_tara_token1_9ac42d88.mp3", "Tread softly and speak your purpose.", "", 3516598133, 1750026138, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Junala.lua b/Lua/SpawnScripts/ElddarGrove/Junala.lua new file mode 100755 index 000000000..0982e75f2 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Junala.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Junala.lua + Script Purpose : Junala + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/kerran/kerran_eco_good_1_hail_gf_28445ab7.mp3", "I don't spend as much time grooming as the others say I do.", "sulk", 2675025847, 2696760246, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/kerran/kerran_eco_good_1_hail_gf_6c9e41c6.mp3", "Don't think that I'm silly, I just happen to like the simple little things.", "flustered", 1426227770, 2304966225, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/kerran/kerran_eco_good_1_hail_gf_63881722.mp3", "I'm trying to find a new seasoning for my dried fish.", "ponder", 3802648946, 1171453079, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/KaelarriIvyshae.lua b/Lua/SpawnScripts/ElddarGrove/KaelarriIvyshae.lua new file mode 100755 index 000000000..507f5fd4e --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/KaelarriIvyshae.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/KaelarriIvyshae.lua + Script Purpose : Kaelarri Ivyshae + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gf_31587971.mp3", "Greetings, friend. I hope your visit to the city brings both inner peace and prosperity.", "curtsey", 999961843, 2491010297, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gf_10181485.mp3", "The forces of good are all wrought from the strength of the innocent.", "bow", 1746715399, 2834476927, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gf_45ac4aea.mp3", "I never thought it would be so difficult to carry on. I have no songs left in my heart.", "sigh", 2446660394, 3437698252, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gf_46ea1119.mp3", "So much blood and so many lost. I never believed it would end this way.", "sad", 1351206018, 3386717578, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gf_67432087.mp3", "We must remain steady against the influence of evil. Only with perseverance will Qeynos survive!", "shakefist", 927768431, 1576503790, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Kaemon.lua b/Lua/SpawnScripts/ElddarGrove/Kaemon.lua new file mode 100755 index 000000000..9dc68644b --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Kaemon.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Kaemon.lua + Script Purpose : Kaemon + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_3fc546db.mp3", "As a citizen of the mighty city, Qeynos, I greet you openly.", "salute", 2645256785, 1334313741, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_13b79d2d.mp3", "Welcome...welcome traveler, to the fair city of Qeynos! My, isn't it a magnificent day?", "hello", 3746934207, 794965138, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_d38d1fff.mp3", "Ah, what have we here? Glad to see you endured the journey here, adventurer.", "wave", 2806352129, 3453714070, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/KaylelleStarchaser.lua b/Lua/SpawnScripts/ElddarGrove/KaylelleStarchaser.lua new file mode 100755 index 000000000..62d012ea4 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/KaylelleStarchaser.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/KaylelleStarchaser.lua + Script Purpose : Kaylelle Starchaser + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_woodelf_gf_1f97d15c.mp3", "May your life be filled with the green of trees and your heart be filled with ...hope.", "", 1410070569, 2067586254, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_hail_gf_c91da8a3.mp3", "I have nothing to say to you right now.", "shrug", 2086714174, 1576219530, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_hail_gf_15163426.mp3", "You talk to strangers? What's the purpose of that?", "", 3457658686, 921014902, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Kethelrune.lua b/Lua/SpawnScripts/ElddarGrove/Kethelrune.lua new file mode 100755 index 000000000..d6e1c3332 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Kethelrune.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Kethelrune.lua + Script Purpose : Kethelrune + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/highelf/highelf_eco_good_1_hail_gm_eb4f8f5d.mp3", "I hope you have been sent by someone of importance. I'm quite busy.", "yawn", 111891212, 1507953677, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/highelf/highelf_eco_good_1_hail_gm_4fa9c654.mp3", "How do you do! I am always pleased to meet a capable being, such as yourself.", "nod", 4124935177, 986848244, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/highelf/highelf_eco_good_1_hail_gm_6d02d4f.mp3", "Hail, friend and well met. I do hope your visits to our village are frequent. Too often do adventurers fail to return.", "stare", 1030195744, 970105613, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/KhaiLightfall.lua b/Lua/SpawnScripts/ElddarGrove/KhaiLightfall.lua new file mode 100755 index 000000000..b7a1d47b2 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/KhaiLightfall.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/KhaiLightfall.lua + Script Purpose : Khai Lightfall + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "May yourr life be uneventful frriend.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1036.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Knight-CaptainPercius.lua b/Lua/SpawnScripts/ElddarGrove/Knight-CaptainPercius.lua new file mode 100755 index 000000000..9e8b5a7cf --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Knight-CaptainPercius.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Knight-CaptainPercius.lua + Script Purpose : Knight-Captain Percius + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 3586563752, 1865874525, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Lambent.lua b/Lua/SpawnScripts/ElddarGrove/Lambent.lua new file mode 100755 index 000000000..306c9e2ba --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Lambent.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Lambent.lua + Script Purpose : Lambent + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3839095688, 1767190740, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/LieoonliooCroosinian.lua b/Lua/SpawnScripts/ElddarGrove/LieoonliooCroosinian.lua new file mode 100755 index 000000000..2961463a7 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/LieoonliooCroosinian.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/LieoonliooCroosinian.lua + Script Purpose : Lieoonlioo Croosinian + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + else + end + + PlayFlavor(NPC, "lieoonlioo_croosinian/qey_elddar/trainer_troubador001.mp3", "", "", 484417616, 3729027420, Spawn) + AddConversationOption(conversation, "Just looking around.", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "Well met, .. GetName(Spawn) .. . What brings you to the Elddar Grove this fine day?") + if convo==12 then + PlayFlavor(NPC, "lieoonlioo_croosinian/qey_elddar/trainer_troubador001.mp3", "", "", 484417616, 3729027420, Spawn) + AddConversationOption(conversation, "Just looking around.", "dlg_12_1") + StartConversation(conversation, NPC, Spawn, "Well met, .. GetName(Spawn) .. . What brings you to the Elddar Grove this fine day?") + end + +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1007.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ElddarGrove/LookoutVenylle.lua b/Lua/SpawnScripts/ElddarGrove/LookoutVenylle.lua new file mode 100755 index 000000000..dafb079ce --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/LookoutVenylle.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/LookoutVenylle.lua + Script Purpose : Lookout Venylle + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What unnatural dangers lurk in the dark?", "dlg_10_1") + AddConversationOption(conversation, "Don't let me keep you from your vigilance. ") + StartConversation(conversation, NPC, Spawn, "Well, greetings, friend. I'm sorry I've no time for chatting. We rangers must be ever watchful. Many dangers lurk in the dark. Some natural, some ... unnatural.") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I've heard of the name Holly Windstalker. I think I'd like to see the grave.", "dlg_10_2") + AddConversationOption(conversation, "I tend to stay away from graves that may not be able to hold their dead. ") + StartConversation(conversation, NPC, Spawn, "It is ill to speak of the dead, but knowing the dangers that prowl in the dark is for your own safety. Rumor has it, that Holly Windstalker once again walks the hills. I won't guarantee this is true, but neither will I discount it. What I do know is a grave bearing her name sits on a hill overlooking the village. You'll see for yourself; she was laid to rest years ago.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you. I'll follow those directions.", "dlg_10_3") + StartConversation(conversation, NPC, Spawn, "Ahh ... very well, you are a daring soul! To get to the grave, follow the aqueduct from Qeynos to Windstalker Village. The village is built around the waterwheel that keeps the aqueduct flowing. The duct passes through rock so you may lose sight of it for a time. Just continue around the mountain, and you'll see it on the other side.") +end + diff --git a/Lua/SpawnScripts/ElddarGrove/MadrethalSummerspeak.lua b/Lua/SpawnScripts/ElddarGrove/MadrethalSummerspeak.lua new file mode 100755 index 000000000..002689c7a --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/MadrethalSummerspeak.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/MadrethalSummerspeak.lua + Script Purpose : Madrethal Summerspeak + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,6) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_13f00546.mp3", "Patience they say, is a virtue. It has taken a lot of patience to rebuild our lives so far from home.", "nod", 1108677104, 3869422611, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_fcb14e3e.mp3", "We must remain steadfast and vigilant against tyranny. This will allow nature to shape Norrath around us. ", "shakefist", 3130983522, 101511459, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_62f30b60.mp3", "The Elddar Grove is truly a marvel in these troubled times. ", "sigh", 303722838, 1259846495, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_1568024c.mp3", "I see that you have many adventures ahead of you. This era of darkness is coming to a close.", "ponder", 3567183056, 3400757896, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_75b61001.mp3", "Don't let the nice day fool you. My knee is acting up, a storm is brewing. I can smell it.", "stretch", 3641086231, 3980350899, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_a2427d62.mp3", "They say time and nature heal all wounds. Still, some wrongs can never be forgotten.", "sad", 2603397723, 1316741802, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/MasterArcherNightbow.lua b/Lua/SpawnScripts/ElddarGrove/MasterArcherNightbow.lua new file mode 100755 index 000000000..534ecddce --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/MasterArcherNightbow.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/MasterArcherNightbow.lua + Script Purpose : Master Archer Nightbow + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,6) + + if choice == 1 then + PlayFlavor(NPC, "", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/master_archer_nightbow/qey_elddar/100_merchant_halfelf_nightbow_callout1_f29bf504.mp3", "Welcome to In-Range. How can I oblige you, traveler?", "", 514837561, 1511494370, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/master_archer_nightbow/qey_elddar/100_merchant_halfelf_nightbow_multhail2_8e9f4cb0.mp3", "What is it you need, traveler?", "", 4065639405, 4258763812, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1021.mp3", "", "", 0, 0, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1021.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/MasterRysianGladewalker.lua b/Lua/SpawnScripts/ElddarGrove/MasterRysianGladewalker.lua new file mode 100755 index 000000000..d7d6ad8e7 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/MasterRysianGladewalker.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/MasterRysianGladewalker.lua + Script Purpose : Master Rysian Gladewalker + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/master_rysian_gladewalker/qey_elddar/masterrysiangladewalker.mp3", "", "", 1008244051, 2607567948, Spawn) + AddConversationOption(conversation, "No, I'm sorry you must have me confused with someone else.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Well met, friend! Do you have business with our guild?") +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Mina.lua b/Lua/SpawnScripts/ElddarGrove/Mina.lua new file mode 100755 index 000000000..9b1a566d5 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Mina.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Mina.lua + Script Purpose : Mina + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gf_43b0278c.mp3", "Good day to you. I trust your journey to our village was not overly hazardous.", "fullcurtsey", 374004507, 2165503793, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gf_bf6c3bd5.mp3", "Hello there, friend, I hope the day finds you well.", "nod", 2878226663, 595387800, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gf_c5cb5ec8.mp3", "Hail to you as well, traveler. There is much work to be done in Qeynos, might as well get started on it now.", "smile", 3197561806, 3190128247, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Mirthmire.lua b/Lua/SpawnScripts/ElddarGrove/Mirthmire.lua new file mode 100755 index 000000000..fa9c8fb73 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Mirthmire.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Mirthmire.lua + Script Purpose : Mirthmire + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 983188064, 3043413352, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/MusicianZwena.lua b/Lua/SpawnScripts/ElddarGrove/MusicianZwena.lua new file mode 100755 index 000000000..ddd92ac7d --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/MusicianZwena.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/MusicianZwena.lua + Script Purpose : Musician Zwena + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1035.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not today, thanks.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Perhaps I could entertain you with a song?") + if convo==3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1035.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not today, thanks.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Perhaps I could entertain you with a song?") + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/NalonMesspie.lua b/Lua/SpawnScripts/ElddarGrove/NalonMesspie.lua new file mode 100755 index 000000000..71a8a0758 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/NalonMesspie.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/NalonMesspie.lua + Script Purpose : Nalon Messpie + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/halfling_eco_race_good/ft/eco/good/halfling_eco_race_good_woodelf_gm_b160d4db.mp3", "You must miss home, too, huh? I've never seen it myself, but I wish I could return to Rivervale.", "", 3826858900, 561795809, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/NaturalistTummyfill.lua b/Lua/SpawnScripts/ElddarGrove/NaturalistTummyfill.lua new file mode 100755 index 000000000..dc06db478 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/NaturalistTummyfill.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/NaturalistTummyfill.lua + Script Purpose : Naturalist Tummyfill + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/naturalist_tummyfill/qey_elddar/100_soc_halfling_tunarian_tummyfill_no_8092d272.mp3", "Nothing on Norrath can replicate the natural creations that are right in front of us.", "", 2667097175, 4211150032, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/PallaJhal.lua b/Lua/SpawnScripts/ElddarGrove/PallaJhal.lua new file mode 100755 index 000000000..52607431a --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/PallaJhal.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/PallaJhal.lua + Script Purpose : Palla Jhal + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "True beauty has no age.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/PathfinderOakheart.lua b/Lua/SpawnScripts/ElddarGrove/PathfinderOakheart.lua new file mode 100755 index 000000000..01b903d13 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/PathfinderOakheart.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/PathfinderOakheart.lua + Script Purpose : Pathfinder Oakheart + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_1568024c.mp3", "I see that you have many adventures ahead of you. This era of darkness is coming to a close.", "ponder", 3567183056, 3400757896, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_fcb14e3e.mp3", "We must remain steadfast and vigilant against tyranny. This will allow nature to shape Norrath around us. ", "shakefist", 3130983522, 101511459, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Can you see the Elddar? Its spirit can be felt in the beauty of the grove before you.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/PatrolmanEdward.lua b/Lua/SpawnScripts/ElddarGrove/PatrolmanEdward.lua new file mode 100755 index 000000000..b5a2e9bd3 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/PatrolmanEdward.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/PatrolmanEdward.lua + Script Purpose : Patrolman Edward + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_d38d1fff.mp3", "Ah, what have we here? Glad to see you endured the journey here, adventurer.", "wave", 2806352129, 3453714070, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/human/human_eco_good_1_hail_gm_7e3b456a.mp3", "Hail, pleasure to meet you.", "agree", 471367832, 2417424572, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/PatrolmanLy`stan.lua b/Lua/SpawnScripts/ElddarGrove/PatrolmanLy`stan.lua new file mode 100755 index 000000000..a6055bda9 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/PatrolmanLy`stan.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/PatrolmanLy`stan.lua + Script Purpose : Patrolman Ly`stan + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_1568024c.mp3", "I see that you have many adventures ahead of you. This era of darkness is coming to a close.", "ponder", 3567183056, 3400757896, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/woodelf/woodelf_eco_good_1_hail_gm_27a6d736.mp3", "I find that a change in attitude often helps me steer through a difficult situation.", "agree", 1273495476, 2557846709, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/PatrolwomanVarna.lua b/Lua/SpawnScripts/ElddarGrove/PatrolwomanVarna.lua new file mode 100755 index 000000000..571573037 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/PatrolwomanVarna.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/PatrolwomanVarna.lua + Script Purpose : Patrolwoman Varna + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/barbarian/barbarian_eco_good_1_hail_gf_ec4612.mp3", "Always be vigil, you never know when evil will strike.", "lookaway", 1096415868, 4151719434, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/PelleShinkicker.lua b/Lua/SpawnScripts/ElddarGrove/PelleShinkicker.lua new file mode 100755 index 000000000..2fa1384a3 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/PelleShinkicker.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/PelleShinkicker.lua + Script Purpose : Pelle Shinkicker + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Oh, what is it now? Bristlebane's no doubt playing tricks on me again, causing all this interruption! Is there something meaningful I can help you with, or are you just going to gawk?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/PreservationistReynolds.lua b/Lua/SpawnScripts/ElddarGrove/PreservationistReynolds.lua new file mode 100755 index 000000000..44067300c --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/PreservationistReynolds.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/PreservationistReynolds.lua + Script Purpose : Preservationist Reynolds + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/preservationist_reynolds/qey_elddar/100_soc_human_tunarian_officer_reynolds_no_2a5aeb44.mp3", "I haven't heard anything from the last scout party. They're a tough bunch. I hope they're all right.", "", 1752705355, 1563128162, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/RaskHelstot.lua b/Lua/SpawnScripts/ElddarGrove/RaskHelstot.lua new file mode 100755 index 000000000..97f3216be --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/RaskHelstot.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/RaskHelstot.lua + Script Purpose : Rask Helstot + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/rask_helstot/qey_elddar/raskhelstot000.mp3", "", "", 2809197179, 4166706387, Spawn) + AddConversationOption(conversation, "Trees... bah. ", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "Though it's the only remaining tree of its kind, the Elddar grows ever larger. Perhaps a symbol of Qeynos and her people even more fitting than the Claymore itself.") + if convo==20 then + PlayFlavor(NPC, "voiceover/english/optional1/rask_helstot/qey_elddar/raskhelstot000.mp3", "", "", 2809197179, 4166706387, Spawn) + AddConversationOption(conversation, "Trees... bah. ", "dlg_20_1") + StartConversation(conversation, NPC, Spawn, "Though it's the only remaining tree of its kind, the Elddar grows ever larger. Perhaps a symbol of Qeynos and her people even more fitting than the Claymore itself.") + end + +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Welcome to the Elddar grove, young one. Enjoy the shelter which the trees provide.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ElddarGrove/SeniorInitiateDelvin.lua b/Lua/SpawnScripts/ElddarGrove/SeniorInitiateDelvin.lua new file mode 100755 index 000000000..9f46f30be --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/SeniorInitiateDelvin.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/SeniorInitiateDelvin.lua + Script Purpose : Senior Initiate Delvin + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "I wish I had the ability to keep the plants in my home happy.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Almost time to stop and have an ale, isn't it?", "wink", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Oh, my aching back! As good a time to stop and chat as any, I say.", "yawn", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/ShakanNotebend.lua b/Lua/SpawnScripts/ElddarGrove/ShakanNotebend.lua new file mode 100755 index 000000000..bc83b24e1 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/ShakanNotebend.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/ShakanNotebend.lua + Script Purpose : Shakan Notebend + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "lieoonlioo_croosinian/qey_elddar/trainer_dirge001.mp3", "", "", 3023305177, 4288429789, Spawn) + AddConversationOption(conversation, "Just looking around.", "dlg_17_1") + StartConversation(conversation, NPC, Spawn, "Well met, .. GetName(Spawn) .. . What brings you to the Elddar Grove this fine day?") + if convo==18 then + PlayFlavor(NPC, "lieoonlioo_croosinian/qey_elddar/trainer_dirge001.mp3", "", "", 3023305177, 4288429789, Spawn) + AddConversationOption(conversation, "Just looking around.", "dlg_18_1") + StartConversation(conversation, NPC, Spawn, "Well met, .. GetName(Spawn) .. . What brings you to the Elddar Grove this fine day?") + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/ShepherdSell`ar.lua b/Lua/SpawnScripts/ElddarGrove/ShepherdSell`ar.lua new file mode 100755 index 000000000..39ae4180d --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/ShepherdSell`ar.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/ShepherdSell`ar.lua + Script Purpose : Shepherd Sell`ar + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Keep your eyes on the horizon, my friend. Only through vigilance and defense can we keep Qeynos safe.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/SolomenStormwatch.lua b/Lua/SpawnScripts/ElddarGrove/SolomenStormwatch.lua new file mode 100755 index 000000000..77c990c88 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/SolomenStormwatch.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/SolomenStormwatch.lua + Script Purpose : Solomen Stormwatch + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "To be among the highest leaves and branches of a tree is to feel free.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I too long for my home in Faydark. Someday I am sure Tunare will answer us.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "The city is not the most beautiful place in Norrath, but it is at least familiar.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/TairielOakshade.lua b/Lua/SpawnScripts/ElddarGrove/TairielOakshade.lua new file mode 100755 index 000000000..b31024bfb --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/TairielOakshade.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/TairielOakshade.lua + Script Purpose : Tairiel Oakshade + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_2c2d0ef6.mp3", "The Tunarian Alliance preserves our memories of the breathing trees and singing streams of Jaggedpine.", "", 1912930054, 3530428976, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_1bda6347.mp3", "The destructive methods of the Qeynos Guard will ravage that which it seeks to defend.", "", 421213855, 4168573173, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_tunarianalliance/ft/eco/good/human_eco_good_tunarianalliance_hail_gm_24723d84.mp3", "While the land suffers and cries out for immediate protection the Celestial Watch is content to look to myths and superstitions for our salvation.", "", 1704735533, 1025969438, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/TakaraMaiya.lua b/Lua/SpawnScripts/ElddarGrove/TakaraMaiya.lua new file mode 100755 index 000000000..2d2dab8dc --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/TakaraMaiya.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/TakaraMaiya.lua + Script Purpose : Takara Maiya + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Telandra.lua b/Lua/SpawnScripts/ElddarGrove/Telandra.lua new file mode 100755 index 000000000..38be8af77 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Telandra.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Telandra.lua + Script Purpose : Telandra + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_race_good/ft/eco/good/woodelf_eco_race_good_hail_gf_3e59423a.mp3", "The blessing of Tunare is the highest blessing of all.", "", 853299003, 3297095439, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_race_good/ft/eco/good/woodelf_eco_race_good_hail_gf_50387146.mp3", "To be among the highest leaves and branches of a tree is to feel free.", "", 1191446540, 711911709, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_race_good/ft/eco/good/woodelf_eco_race_good_woodelf_gf_5621269a.mp3", "I too long for my home in Faydark. Someday Tunare will answer us, I'm sure.", "", 3953058409, 3176959607, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/ThomasBoatmend.lua b/Lua/SpawnScripts/ElddarGrove/ThomasBoatmend.lua new file mode 100755 index 000000000..7c556e7e5 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/ThomasBoatmend.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/ThomasBoatmend.lua + Script Purpose : Thomas Boatmend + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_hail_gm_15163426.mp3", "You talk to strangers? What's the purpose of that?", "", 1620470786, 1752689340, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_woodelf_gm_2fa5fd3b.mp3", "We'll have to get together for a goblet of wine sometime soon. Your treat.", "", 2999782150, 334868042, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_race_good/ft/eco/good/halfelf_eco_race_good_woodelf_gm_876eb977.mp3", "I wish I had \"good old days\" to remember, like you do. Ah, well. Best to worry about today and not yesterday.", "", 918037021, 185336532, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/TowserFlizgibbert.lua b/Lua/SpawnScripts/ElddarGrove/TowserFlizgibbert.lua new file mode 100755 index 000000000..6c88ffc6f --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/TowserFlizgibbert.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/TowserFlizgibbert.lua + Script Purpose : Towser Flizgibbert + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Well? What do you want?") + if convo==1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Well? What do you want?") + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/TransportTreeLift.lua b/Lua/SpawnScripts/ElddarGrove/TransportTreeLift.lua new file mode 100755 index 000000000..78b4eefd7 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/TransportTreeLift.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +-- AddTransportSpawn(NPC) +-- AddTimer(NPC, 15, "UseLift") + AddMultiFloorLift(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function UseLift(NPC) + UseWidget(NPC) + AddTimer(NPC, 15, "UseLift") +end diff --git a/Lua/SpawnScripts/ElddarGrove/TrayloLeafsway.lua b/Lua/SpawnScripts/ElddarGrove/TrayloLeafsway.lua new file mode 100755 index 000000000..9e9569cb9 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/TrayloLeafsway.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/TrayloLeafsway.lua + Script Purpose : Traylo Leafsway + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Greetings citizen. Please see me if you have any armor from Gildas that you wish to be rid of, I have some newer armor that may interest you. ", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1012.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/Trillium.lua b/Lua/SpawnScripts/ElddarGrove/Trillium.lua new file mode 100755 index 000000000..3abc0d33d --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/Trillium.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/Trillium.lua + Script Purpose : Trillium + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1332319343, 1214035917, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2211929083, 2050297502, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/VelisarrMorningdew.lua b/Lua/SpawnScripts/ElddarGrove/VelisarrMorningdew.lua new file mode 100755 index 000000000..bb778761a --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/VelisarrMorningdew.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/VelisarrMorningdew.lua + Script Purpose : Velisarr Morningdew + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_1f61925a.mp3", "Are my roots showing? I think I'll go for a light blueberry mixed with jum-jum highlights.", "ponder", 4153154191, 497875539, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_62804932.mp3", "I'm only happy when it rains. Well.. I like sunny days too. Okay... I'm actually happy all the time.", "confused", 1094375942, 2257836955, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/halfelf/halfelf_eco_good_1_hail_gf_4a0665a0.mp3", "I'm so depressed! I had to work all day!", "sad", 3176397311, 2616932103, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/WandererGreencoast.lua b/Lua/SpawnScripts/ElddarGrove/WandererGreencoast.lua new file mode 100755 index 000000000..32e65fc47 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/WandererGreencoast.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/WandererGreencoast.lua + Script Purpose : Wanderer Greencoast + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/wanderer_greencoast/qey_elddar/100_soc_halfelf_tunarian_greencoast_no_bb7dd68a.mp3", "The beauty of this grove never ceases to amaze me. Even in these troubled times, it's nice to have a place like this to call home.", "ponder", 3937595692, 13857061, Spawn) +end + diff --git a/Lua/SpawnScripts/ElddarGrove/WandererRaegenTruthshadow.lua b/Lua/SpawnScripts/ElddarGrove/WandererRaegenTruthshadow.lua new file mode 100755 index 000000000..fd2dfd9f5 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/WandererRaegenTruthshadow.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/WandererRaegenTruthshadow.lua + Script Purpose : Wanderer Raegen Truthshadow + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Keep your eyes on the horizon, my friend. Only through vigilance and defense can we keep Qeynos safe.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1021.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/WarbleWildmane.lua b/Lua/SpawnScripts/ElddarGrove/WarbleWildmane.lua new file mode 100755 index 000000000..4b061ce5c --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/WarbleWildmane.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/WarbleWildmane.lua + Script Purpose : Warble Wildmane + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sorry to interrupt. Goodbye.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Shh! Old Treebark's talking!") + if convo==8 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sorry to interrupt. Goodbye.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Shh! Old Treebark's talking!") + end + +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Goodbye.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Goodbye!") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Goodbye.", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "Goodbye!") +end + diff --git a/Lua/SpawnScripts/ElddarGrove/WesaelanBrookshadow.lua b/Lua/SpawnScripts/ElddarGrove/WesaelanBrookshadow.lua new file mode 100755 index 000000000..ec158e312 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/WesaelanBrookshadow.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/WesaelanBrookshadow.lua + Script Purpose : Wesaelan Brookshadow + Script Author : John Adams + Script Date : 2008.09.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional4/wesaelan_brookshadow/brookshadow_01.mp3", "", "", 2834600234, 1504715618, Spawn) + AddConversationOption(conversation, "Thank you, and good day to you.", "dlg_13_1") + StartConversation(conversation, NPC, Spawn, "Hail traveler! All friends of the Elddar are welcome.") + if convo==14 then + PlayFlavor(NPC, "voiceover/english/optional4/wesaelan_brookshadow/brookshadow_01.mp3", "", "", 2834600234, 1504715618, Spawn) + AddConversationOption(conversation, "Thank you, and good day to you.", "dlg_14_1") + StartConversation(conversation, NPC, Spawn, "Hail traveler! All friends of the Elddar are welcome.") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/optional4/wesaelan_brookshadow/brookshadow_01.mp3", "", "", 2834600234, 1504715618, Spawn) + AddConversationOption(conversation, "Thank you, and good day to you.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Hail traveler! All friends of the Elddar are welcome.") + end + +end + diff --git a/Lua/SpawnScripts/ElddarGrove/slidingdoor.lua b/Lua/SpawnScripts/ElddarGrove/slidingdoor.lua new file mode 100755 index 000000000..a1a2f2316 --- /dev/null +++ b/Lua/SpawnScripts/ElddarGrove/slidingdoor.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/ElddarGrove/slidingdoor.lua + Script Author : Jabantiz + Script Date : 2018.06.04 09:06:08 + Script Purpose : + : +--]] + +function spawn(NPC) + --AddMultiFloorLift(NPC) +end + +function respawn(NPC) +Spawn(NPC) +end + diff --git a/Lua/SpawnScripts/EnchantedLands/AuginDrodo.lua b/Lua/SpawnScripts/EnchantedLands/AuginDrodo.lua new file mode 100755 index 000000000..69d72e273 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/AuginDrodo.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/AuginDrodo.lua + Script Purpose : Augin Drodo + Script Author : Cynnar + Script Date : 2015.02.17 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local DrodosGoodies = 119 + +function spawn(NPC) + ProvidesQuest(NPC, DrodosGoodies) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, DrodosGoodies) == 5 then + SetStepComplete(Spawn, DrodosGoodies, 5) + PlayFlavor(NPC, "augin_drodo/enchanted/augin_drodo005.mp3", "", "", 3737453066, 827504034, Spawn) + AddConversationOption(conversation, "My pleasure Augin. ") + StartConversation(conversation, NPC, Spawn, "Brell's toes! You did it! I thought I'd never see my goodies again. Thank you very much, adventurer.") + elseif HasQuest(Spawn, DrodosGoodies) then + PlayFlavor(NPC, "augin_drodo/enchanted/augin_drodo004.mp3", "", "", 3781017237, 1546523399, Spawn) + AddConversationOption(conversation, "You're right. I will complete the task.") + StartConversation(conversation, NPC, Spawn, "Change your mind, friend? I wasn't expecting a trotter like you to leave a task undone.") + elseif HasCompletedQuest(Spawn, DrodosGoodies) then + PlayFlavor(NPC, "augin_drodo/enchanted/augin_drodo015.mp3", "", "", 2767747634, 2031605868, Spawn) + AddConversationOption(conversation, "They got no souvenirs from me Augin. See you around.") + StartConversation(conversation, NPC, Spawn, "Good to see you in one piece, friend. It's not often adventurers return ... at least not with all their limbs intact. The critters tend to keep a few souvenirs, ya know?") + elseif not HasQuest(Spawn, DrodosGoodies) then + PlayFlavor(NPC, "augin_drodo/enchanted/augin_drodo001.mp3", "", "", 3076457390, 3089637285, Spawn) + AddConversationOption(conversation, "You say that like they ruined your picnic. ", "dlg_0_1") + AddConversationOption(conversation, "I'll watch my step. Thank you.") + StartConversation(conversation, NPC, Spawn, "These misty lands are very dangerous. One can't even picnic and slumber without being pestered by the critters!") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "augin_drodo/enchanted/augin_drodo002.mp3", "", "", 3561207017, 3513321017, Spawn) + AddConversationOption(conversation, "I can look for your goodies. ", "dlg_0_2") + AddConversationOption(conversation, "Maybe next time you'll know better. Farewell. ") + StartConversation(conversation, NPC, Spawn, "Ruined my picnic, ruined my slumber, ruined my reading time! I was just minding my own when those blasted briarpaws came a rumbling towards me! I ran for my life! Left all my goodies to the critters!") +end + +function dlg_0_2(NPC, Spawn) + OfferQuest(NPC, Spawn, DrodosGoodies) +end + diff --git a/Lua/SpawnScripts/EnchantedLands/BiddyBobick.lua b/Lua/SpawnScripts/EnchantedLands/BiddyBobick.lua new file mode 100755 index 000000000..9b2035715 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/BiddyBobick.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/BiddyBobick.lua + Script Purpose : Biddy Bobick + Script Author : Cynnar + Script Date : 2015.02.17 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/biddy_bobick/enchanted/biddy_bobick000.mp3", "", "cry", 1953488725, 856940273, Spawn) + AddConversationOption(conversation, "At ease halfling! I am no pirate! ", "dlg_0_1") + AddConversationOption(conversation, "You're in no condition to talk. Farewell.") + StartConversation(conversation, NPC, Spawn, "Please spare me, good pirate! Spare me! Take everything! Take everything! Just leave me my life ... my life and ... and ... maybe a fishing pole. My life and a fishing pole. And ... and ... maybe some bait... Ya can't fish without bait!! Spare me! Spare me!") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/biddy_bobick/enchanted/biddy_bobick001.mp3", "", "", 2271087281, 754687626, Spawn) + AddConversationOption(conversation, "Save you from what? ", "dlg_0_2") + AddConversationOption(conversation, "I will do what I can. Now I must go.") + StartConversation(conversation, NPC, Spawn, "Do my halfling eyes deceive me? Brell's toes! A ship without skulls and crossed swords! Welcome! Welcome to Bobick's Boats and the Enchanted Lands. We've been praying to Brell for a ship to save us!") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/biddy_bobick/enchanted/biddy_bobick002.mp3", "", "", 2563393725, 4253211022, Spawn) + AddConversationOption(conversation, "I shall heed your warning and explore this land. Be safe. ", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Danger surrounds us here ... deep in what was once the Misty Thicket. Horrid goblins and beasts infest the land. Should you walk the trails and beyond you'll find them. Be wise, my friend. Travel in a group. That's what we survivors do. And sometimes not even that will save you.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/biddy_bobick/enchanted/biddy_bobick003.mp3", "", "", 1607211097, 1962573681, Spawn) + AddConversationOption(conversation, "Glad to see you doing well Biddy. ", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "Welcome back to Bobick's Boats, my friend! Neither shattered moons nor beasts from beyond can keep a Bobick out of business.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/EnchantedLands/CaptainScreewoggins.lua b/Lua/SpawnScripts/EnchantedLands/CaptainScreewoggins.lua new file mode 100755 index 000000000..315b95846 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/CaptainScreewoggins.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/CaptainScreewoggins.lua + Script Purpose : Captain Screewoggins + Script Author : Cynnar + Script Date : 2015.03.30 + Script Notes : Manually Created Conversation +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + StartConversation(conversation, NPC, Spawn, "Hail yerself, landlubber. If'n ye don't mind, I have things dat be needin' me attention.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/EnchantedLands/GimbleFeatherfinger.lua b/Lua/SpawnScripts/EnchantedLands/GimbleFeatherfinger.lua new file mode 100755 index 000000000..a7f73a153 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/GimbleFeatherfinger.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/GimbleFeatherfinger.lua + Script Author : Cynnar + Script Date : 2015.05.09 12:05:50 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/EnchantedLands/Grix.lua b/Lua/SpawnScripts/EnchantedLands/Grix.lua new file mode 100755 index 000000000..55e2d6798 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/Grix.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/Grix.lua + Script Purpose : Grix + Script Author : TyroneSWG + Script Date : 2019.01.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Aieeeee!!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/EnchantedLands/GubboChaley.lua b/Lua/SpawnScripts/EnchantedLands/GubboChaley.lua new file mode 100755 index 000000000..f3684b76b --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/GubboChaley.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/GubboChaley.lua + Script Purpose : Gubbo Chaley + Script Author : Cynnar + Script Date : 2015.04.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] +local LousyFairies = 117 + +function spawn(NPC) + ProvidesQuest(NPC, LousyFairies) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/gubbo_chaley/enchanted/halflings/halfling_gubbo_chaley_callout_f7b85d2f.mp3", "Fritz! They killed Fritz! Those lousy fairies killed Fritz!", "", 2757692791, 3745928300, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, LousyFairies) and GetQuestStep(Spawn, LousyFairies) == 1 then + PlayFlavor(NPC, "voiceover/english/gubbo_chaley/enchanted/gubbo_chaley/gubbo_chaley003.mp3", "", "", 2620521649, 511313166, Spawn) + AddConversationOption(conversation, "Settle down.") + StartConversation(conversation, NPC, Spawn, "What are you doing!? You're sure not killing those miserable, low-down, good-for-nothing fairies! They killed Fritz!") + elseif HasQuest(Spawn, LousyFairies) and GetQuestStep(Spawn, LousyFairies) == 2 then + SetStepComplete(Spawn, LousyFairies, 2) + AddConversationOption(conversation, "Yes.", "dlg_0_1") + StartConversation(conversation, QuestGiver, Player, "Uh ... so you killed them fairies, yeah?") + elseif not HasCompletedQuest(Spawn, LousyFairies) and not HasQuest(Spawn, LousyFairies) then + PlayFlavor(NPC, "voiceover/english/gubbo_chaley/enchanted/gubbo_chaley/gubbo_chaley001.mp3", "", "", 1577103216, 3792943385, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_0_2") + AddConversationOption(conversation, "I don't know Fritz.") + StartConversation(conversation, NPC, Spawn, "Kill them! I want you to kill those lousy, stinking, yellow fairies! You'll do this for me, right? You'll do this for Fritz! ") + elseif HasCompletedQuest(Spawn, LousyFairies) then + PlayFlavor(NPC, "voiceover/english/gubbo_chaley/enchanted/gubbo_chaley/gubbo_chaley003.mp3", "", "", 2620521649, 511313166, Spawn) + AddConversationOption(conversation, "Sure.") + StartConversation(conversation, NPC, Spawn, "If you see Fritz, would you tell him I'm looking for him?") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, LousyFairies, 2) + PlayFlavor(NPC, "voiceover/english/gubbo_chaley/enchanted/gubbo_chaley/gubbo_chaley005.mp3", "", "", 2881662034, 1373874040, Spawn) + AddConversationOption(conversation, "Right.") + StartConversation(conversation, NPC, Spawn, "I'm really sorry about that. Turns out, Fritz was just passed out under the docks. Umm ... why don't you take this, and we'll just pretend we never had this little discussion. ") +end + +function dlg_0_2(NPC, Spawn) + OfferQuest(NPC, Spawn, LousyFairies) +end + + diff --git a/Lua/SpawnScripts/EnchantedLands/HoppertBarbinsteel.lua b/Lua/SpawnScripts/EnchantedLands/HoppertBarbinsteel.lua new file mode 100755 index 000000000..0771a8773 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/HoppertBarbinsteel.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/HoppertBarbinsteel.lua + Script Purpose : Hoppert Barbinsteel + Script Author : Cynnar + Script Date : 2015.03.30 + Script Notes : Manually Created Conversation +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + StartConversation(conversation, NPC, Spawn, "Do not confuse me as some simple mountebank, selling whatever sort of quack medicine the local alchemist claims to cure your sniffles. I assure you, our paths are never meant to cross. Good day.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/EnchantedLands/RoseliaGoldencrust.lua b/Lua/SpawnScripts/EnchantedLands/RoseliaGoldencrust.lua new file mode 100755 index 000000000..9f9ba9d97 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/RoseliaGoldencrust.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/RoseliaGoldencrust.lua + Script Purpose : Roselia Goldencrust + Script Author : Cynnar + Script Date : 2015.02.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "roselia_goldencrust/_exp03/deity/bristlebane/roselia/roselia_goldencrust004.mp3", "", "", 925124071, 4075374228, Spawn) + AddConversationOption(conversation, "How's business?", "dlg_0_1") + AddConversationOption(conversation, "Nevermind.") + StartConversation(conversation, NPC, Spawn, "Yes dear? How may I help you?") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "roselia_goldencrust/_exp03/deity/bristlebane/roselia/roselia_goldencrust005.mp3", "", "", 1048944955, 1278695573, Spawn) + AddConversationOption(conversation, "How do you know?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Oh... I suppose it could be better. This location is not exactly ideal. Most of the people passing through here are adventurers like yourself who don't seem too interested in buying pies. I get along well enough I suppose. What's important is that I'm back here in the Misty Thicket and I'm sure we'll be able to wrestle our homeland away from the grips of the foul evil that has come to plague these lands.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "roselia_goldencrust/_exp03/deity/bristlebane/roselia/roselia_goldencrust006.mp3", "", "", 3761071007, 78243092, Spawn) + AddConversationOption(conversation, "Indeed. We shall see!") + StartConversation(conversation, NPC, Spawn, "Well, with the return of Bristlebane, it's a sure sign that now is the time for us to finally take back our homeland.") +end + diff --git a/Lua/SpawnScripts/EnchantedLands/SarmaSingebellows.lua b/Lua/SpawnScripts/EnchantedLands/SarmaSingebellows.lua new file mode 100755 index 000000000..e6d57695c --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/SarmaSingebellows.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/SarmaSingebellows.lua + Script Purpose : Sarma Singebellows + Script Author : Cynnar + Script Date : 2015.02.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ThreeMeaningsOfLife = 115 +local HelpingSarmaSingebellows = 116 + +function spawn(NPC) + ProvidesQuest(NPC, HelpingSarmaSingebellows) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/halflings/halfling_sarma_singebellows_aoi_callout_unfamiliar_c1948f9b.mp3", "Hey you, c'mere for a sec.", "", 1781622145, 522858713, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, ThreeMeaningsOfLife) and GetQuestStep(Spawn, ThreeMeaningsOfLife) == 5 then + SetStepComplete(Spawn, ThreeMeaningsOfLife, 5) + end + + if HasQuest(Spawn, HelpingSarmaSingebellows) and GetQuestStep(Spawn, HelpingSarmaSingebellows) == 1 then + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/sarma_singebellows003.mp3", "", "", 2781954391, 3596902388, Spawn) + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Spawn, "I'm happy to see you're doing well, but I need you to destroy more goblins!") + elseif GetQuestStep(Spawn, HelpingSarmaSingebellows) == 2 then + SetStepComplete(Spawn, HelpingSarmaSingebellows, 2) + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/halflings/halfling_sarma_singebellows_aoi_callout_familiar_2888fa3f.mp3", "Hi, friend! Are you interested in helping me again?", "", 4027326251, 2342769721, Spawn) + AddConversationOption(conversation, "Sure, I'll help you again.", "dlg_2_1") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Thank you for your help! Please take this in return for you hard work. Do you think you can help me some more?") + elseif not HasQuest(Spawn, HelpingSarmaSingebellows) then + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/sarma_singebellows001.mp3", "", "", 2567471842, 71486470, Spawn) + AddConversationOption(conversation, "Sure, I'll hekp you.", "dlg_1_1") + AddConversationOption(conversation, "I'm not interested in helping.") + StartConversation(conversation, NPC, Spawn, "See the water here? The surrounding land tries to filter as much of the evil as it can out of its lifesblood, yet we hang by a thread day by day. The goblins around here aren't helping, with the grime and muck they pour into the lakes and rivers. Do you think you could put a stop to them?") + end +end + +function dlg_1_1(NPC, Spawn) + OfferQuest(NPC, Spawn, HelpingSarmaSingebellows) +end + +function dlg_2_1(NPC, Spawn) + SetTempVariable(Spawn, "HelpingSarmaSingebellows", "true") + OfferQuest(NPC, Spawn, HelpingSarmaSingebellows) +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/halflings/halfling_sarma_singebellows_aoi_callout_unfamiliar_c1948f9b.mp3", "Hey you, c'mere for a sec.", "", 1781622145, 522858713, Spawn) + PlayFlavor(NPC, "voiceover/english/sarma_singebellows/enchanted/halflings/halfling_sarma_singebellows_aoi_callout_familiar_2888fa3f.mp3", "Hi, friend! Are you interested in helping me again?", "", 4027326251, 2342769721, Spawn) +--]] + diff --git a/Lua/SpawnScripts/EnchantedLands/TheCuriousAugur.lua b/Lua/SpawnScripts/EnchantedLands/TheCuriousAugur.lua new file mode 100755 index 000000000..2f296c1f3 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/TheCuriousAugur.lua @@ -0,0 +1,213 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/TheCuriousAugur.lua + Script Purpose : The Curious Augur + Script Author : Cynnar + Script Date : 2015.02.17 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local ThreeMeaningsOfLife = 115 + +function spawn(NPC) + ProvidesQuest(NPC, ThreeMeaningsOfLife) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + + if not HasQuest(Spawn, ThreeMeaningsOfLife) and not HasCompletedQuest(Spawn, ThreeMeaningsOfLife) or HasQuest(Spawn, ThreeMeaningsOfLife) and GetQuestStep(Spawn, ThreeMeaningsOfLife) == 1 then + -- start the quest + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur001.mp3", "", "", 2804170240, 1658399698, Spawn) + AddConversationOption(conversation, "You were expecting me?", "dlg_0_1") + AddConversationOption(conversation, "I have no idea what you're talking about.") + StartConversation(conversation, NPC, Spawn, "Ah, so you've arrived at last! I wondered when you would seek my knowledge of the meaning of life. Come closer and we shall begin your quest for enlightenment, my child.") + elseif HasQuest(Spawn, ThreeMeaningsOfLife) and GetQuestStep(Spawn, ThreeMeaningsOfLife) == 2 then + -- on step 2 + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur004.mp3", "", "", 2520256937, 2710009453, Spawn) + AddConversationOption(conversation, "I suppose so.", "QuestChat_1_2") + AddConversationOption(conversation, "Probably not.") + StartConversation(conversation, NPC, Spawn, "You are on your way towards mastering the intellectual meaning of life, are you not? Are you ready to learn the next meaning of life?") + elseif HasQuest(Spawn, ThreeMeaningsOfLife) and GetQuestStep(Spawn, ThreeMeaningsOfLife) == 3 then + -- on step 3 + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur006.mp3", "", "", 897853069, 726940756, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You've been eliminating the salt snappers?") + elseif HasQuest(Spawn, ThreeMeaningsOfLife) and GetQuestStep(Spawn, ThreeMeaningsOfLife) == 4 then + -- on step 4 + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur006.mp3", "", "", 897853069, 726940756, Spawn) + AddConversationOption(conversation, "Yes, didn't you see me?", "QuestChat_2_2") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You've been eliminating the salt snappers?") + elseif HasQuest(Spawn, ThreeMeaningsOfLife) and GetQuestStep(Spawn, ThreeMeaningsOfLife) == 5 then + -- on step 5 + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur009.mp3", "", "", 2774283468, 3531323088, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you speak with Sarma Singebellows?") + elseif HasQuest(Spawn, ThreeMeaningsOfLife) and GetQuestStep(Spawn, ThreeMeaningsOfLife) == 6 then + -- on step 6 + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur009.mp3", "", "", 2774283468, 3531323088, Spawn) + AddConversationOption(conversation, "Yes, I did.", "QuestChat_3_2") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you speak with Sarma Singebellows?") + elseif HasCompletedQuest(Spawn, ThreeMeaningsOfLife) then + -- finished Quest + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur009.mp3", "", "", 2774283468, 3531323088, Spawn) + AddConversationOption(conversation, "I'll be on my way.") + StartConversation(conversation, NPC, Spawn, "I have given you the keys, my child. How or if you ever use them is in your hands. Other Augurs you meet in your travels may provide you with more wisdom.") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur002.mp3", "", "", 722859471, 401514036, Spawn) + AddConversationOption(conversation, "You offer such guidance?", "OfferThreeMeaningsOfLife") + AddConversationOption(conversation, "I'm really not interested.") + StartConversation(conversation, NPC, Spawn, "Yes, for I am an Augur, and that means I foresee the future. I knew you would come forward to learn the meanings of life from me. You are intensely curious, as am I. Curiosity drives us towards our potential, but we need guidance to reach it.") +end + +function OfferThreeMeaningsOfLife(NPC, Spawn) --The Curious Augur's Three Meanings of Life + if not HasQuest(Spawn, ThreeMeaningsOfLife) then + OfferQuest(NPC, Spawn, ThreeMeaningsOfLife) + elseif HasQuest(Spawn, ThreeMeaningsOfLife) then + QuestChat_0_1(NPC, Spawn) + end + +end + +function QuestChat_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur003.mp3", "", "", 4037106442, 3061634368, Spawn) + AddConversationOption(conversation, "I have seven fear feeders and eighteen shoal serpents.", "QuestChat_0_4") + AddConversationOption(conversation, "I have fifteen fear feeders and ten shoal serpents.", "QuestChat_0_2") + AddConversationOption(conversation, "I have five fear feeders and twenty shoal serpents.", "QuestChat_0_2") + AddConversationOption(conversation, "I have no idea.", "QuestChat_0_2") + StartConversation(conversation, NPC, Spawn, "There are many meanings to life and I can teach you only three. The first meaning is that of the nimble mind. Curiosity is a start, but you must be able to unravel this mystery to proceed. You have slain many fear feeders and shoal serpents. You have collected twenty five heads and fifty six legs. How many of each have you slain?") +end + +function QuestChat_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur014.mp3", "", "", 3661262572, 1665365128, Spawn) + AddConversationOption(conversation, "If they're all male, half will be male and so will the other half.", "QuestChat_0_4") + AddConversationOption(conversation, "It is not possible unless the parents are trolls.", "QuestChat_0_3") + AddConversationOption(conversation, "There were six children initially, but one ran away.", "QuestChat_0_3") + StartConversation(conversation, NPC, Spawn, "Hmm. Let us try something simpler. If a parent has five children, how is it possible that half of them are male?") +end + +function QuestChat_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur014.mp3", "", "", 3661262572, 1665365128, Spawn) + AddConversationOption(conversation, "Once. After the first time, you'll be subtracting four from the number eight.", "QuestChat_0_4") + StartConversation(conversation, NPC, Spawn, "Hmm. Most interedting analysis. Let us try one more question. How many times can you subtract four trom the number twelve?") +end + +function QuestChat_0_4(NPC, Spawn) + SetStepComplete(Spawn, ThreeMeaningsOfLife, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur015.mp3", "", "", 2363467901, 2977768208, Spawn) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "You are well on your way to learning the intellectual meaning of life. Of course, the questions are simple, but we all must start somewhere. Take a moment to consider what you have learned, then we can continue.") +end + +function QuestChat_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur004.mp3", "", "", 2520256937, 2710009453, Spawn) + AddConversationOption(conversation, "I suppose so.", "QuestChat_1_2") + AddConversationOption(conversation, "Probably not.") + StartConversation(conversation, NPC, Spawn, "You are on your way towards mastering the intellectual meaning of life, are you not? Are you ready to learn the next meaning of life?") +end + +function QuestChat_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur005.mp3", "", "", 1765847486, 926846301, Spawn) + AddConversationOption(conversation, "You want me to remove the salt snappers?", "QuestChat_1_3") + StartConversation(conversation, NPC, Spawn, "Look beyond the docks to the shore. The salt snappers wander back and forth, sometimes preventing swimmers from reaching land. Do you think this should continue?") +end + +function QuestChat_1_3(NPC, Spawn) + SetStepComplete(Spawn, ThreeMeaningsOfLife, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur006.mp3", "", "", 897853069, 726940756, Spawn) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, NPC, Spawn, "There, you see how much easier such conclusions are to reach once you've exercised the intellectual meaning of life? Yes, you must clear the path to the shore. I will wait for you here.") +end + +function QuestChat_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur006.mp3", "", "", 897853069, 726940756, Spawn) + AddConversationOption(conversation, "Yes, didn't you see me?", "QuestChat_2_2") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You've been eliminating the salt snappers?") +end + +function QuestChat_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur008.mp3", "", "", 3930223149, 1615857141, Spawn) + AddConversationOption(conversation, "So I did all that for nothing?", "QuestChat_2_3") + StartConversation(conversation, NPC, Spawn, "I didn't look, for the second meaning of life is that you must do what you say you will do. No matter how worthy the task, there may be no one to notice your efforts and yet you must complete the tasks you undertake. Even if someone is near, they are often far away.") +end + +function QuestChat_2_3(NPC, Spawn) + SetStepComplete(Spawn, ThreeMeaningsOfLife, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur009.mp3", "", "", 2774283468, 3531323088, Spawn) + AddConversationOption(conversation, "Sarma Singebellows. All right, I'll be back.") + StartConversation(conversation, NPC, Spawn, "You learned the second meaning of life, so it was hardly 'for nothing.' Curiosity enriches the mind and we must always look out for our own interests. However, there are others around us who can benefit from our strengths. I would like you to meet someone who might need your help: Sarma Singebellows. Speak with her.") +end + +function QuestChat_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur009.mp3", "", "", 2774283468, 3531323088, Spawn) + AddConversationOption(conversation, "Yes, I did.", "QuestChat_3_2") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you speak with Sarma Singebellows?") +end + +function QuestChat_3_2(NPC, Spawn) + SetStepComplete(Spawn, ThreeMeaningsOfLife, 6) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur009.mp3", "", "", 2774283468, 3531323088, Spawn) + AddConversationOption(conversation, "Not really.", "QuestChat_3_3") + StartConversation(conversation, NPC, Spawn, "The final meaning the is selflessness. For though we are each the most important person to care for in our lives, we must also take care that we do not lose our ability to extend a helping hand to others around us. Do you understand these things?") +end + +function QuestChat_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_curious_augur/enchanted/quests/quest_curious_augur/curious_augur009.mp3", "", "", 2774283468, 3531323088, Spawn) + AddConversationOption(conversation, "I can only hope.") + StartConversation(conversation, NPC, Spawn, "You are not ready, my child. A pity. Perhaps when you have studied for as many years as I have, you will reaize that these three meanings of life are the basis for all that you experience. Intellectual curiosity, doing things to benefit oneself as well as selflessness. Perhaps someday, you will understand.") +end diff --git a/Lua/SpawnScripts/EnchantedLands/TobelPatadash.lua b/Lua/SpawnScripts/EnchantedLands/TobelPatadash.lua new file mode 100755 index 000000000..9ea52e4bd --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/TobelPatadash.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/TobelPatadash.lua + Script Purpose : Tobel Patadash + Script Author : Cynnar + Script Date : 2015.02.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tobel_patadash/_exp03/deity/bristlebane/tobel/tobel_patadash001.mp3", "", "", 1450539429, 1133241398, Spawn) + AddConversationOption(conversation, "You know I couldn't agree more. I love the thrill of pulling off a good prank.", "dlg_0_1") + AddConversationOption(conversation, "Sorry, you've mistaken me for someone else. Good day.") + StartConversation(conversation, NPC, Spawn, "Why hello there. The name's Patadash, Tobel Patadash. I'm the true prophet of Bristlebane, I am. Say, judging by that gleam in your eye, I'd venture to guess that you enjoy having fun, maybe even at the expense of others. A joke here, a ribbing there; all in good fun, of course. Nothing beats a carefully executed practical joke!") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I have indeed!", "dlg_0_2") + AddConversationOption(conversation, "No thank you!") + StartConversation(conversation, NPC, Spawn, "Well then, it seems we're both on the same proverbial page now, aren't we? If that's the case, have you come to devote yourself to the King of Thieves, the Master of Mischief, the Prince of Prank himself, Fizzlethorpe Bristlebane?") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + -- there is a pop up box saying "Would you like to accept Bristlebane as your deity?" with yes and no + AddConversationOption(conversation, "OK then. Bye.") + -- This is the start conversation that comes next in the dialog "Excellent then, let us begin the initiation!" + StartConversation(conversation, NPC, Spawn, "Great! Come back another time to accept Bristlebane as you deity.") +end + +function dlg_0_3(NPC, Spawn) -- the dialog for no in dlg_0_2 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Nevermind. I'm not really interested.") + StartConversation(conversation, NPC, Spawn, "Well, yes, of course there's an initiation process. I hope you didn't think I just wave a magic wand over your head, hand you a squirting flower and suddenly you're a true believer in Bristlebane. There's work to be done first.") +end diff --git a/Lua/SpawnScripts/EnchantedLands/astablemaster.lua b/Lua/SpawnScripts/EnchantedLands/astablemaster.lua new file mode 100755 index 000000000..6dcf2c038 --- /dev/null +++ b/Lua/SpawnScripts/EnchantedLands/astablemaster.lua @@ -0,0 +1,289 @@ +--[[ + Script Name : SpawnScripts/EnchantedLands/astablemaster.lua + Script Purpose : a stable master (390024) + Script Author : Neatz09 + Script Date : 4/14/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 1106628 then + AddConversationOption(con, "To Bramblefoot Hills", "GoblinToFoothills") + AddConversationOption(con, "To Chomper's Pond.", "GoblinToChomper") + AddConversationOption(con, "To The Docks.", "GoblinToDocks") + AddConversationOption(con, "To The Great Guard.", "GoblinToGuard") + AddConversationOption(con, "To Misty Grove.", "GoblinToGrove") + AddConversationOption(con, "To Rivervale.", "GoblinToRivervale") + elseif GetSpawnLocationID(NPC) == 1106624 then + AddConversationOption(con, "To Chomper's Pond.", "FoothillsToChomper") + AddConversationOption(con, "To The Docks.", "FoothillsToDocks") + AddConversationOption(con, "To Goblin Pass.", "FoothillsToGoblin") + AddConversationOption(con, "To The Great Guard.", "FoothillsToGuard") + AddConversationOption(con, "To Misty Grove.", "FoothillsToGrove") + AddConversationOption(con, "To Rivervale.", "FoothillsToRivervale") + elseif GetSpawnLocationID(NPC) == 1106623 then + AddConversationOption(con, "To Bramblefoot Hills.", "GroveToFoothills") + AddConversationOption(con, "To Chomper's Pond.", "GroveToChomper") + AddConversationOption(con, "To The Docks.", "GroveToDocks") + AddConversationOption(con, "To Goblin Pass.", "GroveToGoblin") + AddConversationOption(con, "To The Great Guard.", "GroveToGuard") + AddConversationOption(con, "To Rivervale.", "GroveToRivervale") + elseif GetSpawnLocationID(NPC) == 1106625 then + AddConversationOption(con, "To Bramblefoot Hills.", "RivervaleToFoothills") + AddConversationOption(con, "To Chomper's Pond.", "RivervaleToChomper") + AddConversationOption(con, "To The Docks.", "RivervaleToDocks") + AddConversationOption(con, "To Goblin Pass.", "RivervaleToGoblin") + AddConversationOption(con, "To The Great Guard.", "RivervaleToGuard") + AddConversationOption(con, "To Misty Grove.", "RivervaleToGrove") + elseif GetSpawnLocationID(NPC) == 1106627 then + AddConversationOption(con, "To Bramblefoot Hills.", "DocksToFoothills") + AddConversationOption(con, "To Chomper's Pond.", "DocksToChomper") + AddConversationOption(con, "To Goblin Pass.", "DocksToGoblin") + AddConversationOption(con, "To The Great Guard.", "DocksToGuard") + AddConversationOption(con, "To Misty Grove.", "DocksToGrove") + AddConversationOption(con, "To Rivervale.", "DocksToRivervale") + elseif GetSpawnLocationID(NPC) == 1106629 then + AddConversationOption(con, "To Bramblefoot Hills.", "GuardToFoothills") + AddConversationOption(con, "To Chomper's Pond.", "GuardToChomper") + AddConversationOption(con, "To The Docks.", "GuardToDocks") + AddConversationOption(con, "To Goblin Pass.", "GuardToGoblin") + AddConversationOption(con, "To Misty Grove.", "GuardToGrove") + AddConversationOption(con, "To Rivervale.", "GuardToRivervale") + elseif GetSpawnLocationID(NPC) == 1106626 then + AddConversationOption(con, "To Bramblefoot Hills.", "ChomperToFoothills") + AddConversationOption(con, "To The Docks.", "ChomperToDocks") + AddConversationOption(con, "To Goblin Pass.", "ChomperToGoblin") + AddConversationOption(con, "To The Great Guard.", "ChomperToGuard") + AddConversationOption(con, "To Misty Grove.", "ChomperToGrove") + AddConversationOption(con, "To Rivervale.", "ChomperToRivervale") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function GoblinToFoothills(NPC, Spawn) + StartAutoMount(Spawn, 29) + SetMount(Spawn, 6846) +end + +function GoblinToChomper(NPC, Spawn) + StartAutoMount(Spawn, 59) + SetMount(Spawn, 6846) +end + +function GoblinToDocks(NPC, Spawn) + StartAutoMount(Spawn, 60) + SetMount(Spawn, 6846) +end + +function GoblinToGuard(NPC, Spawn) + StartAutoMount(Spawn, 28) + SetMount(Spawn, 6846) +end + +function GoblinToGrove(NPC, Spawn) + StartAutoMount(Spawn, 61) + SetMount(Spawn, 6846) +end + +function GoblinToRivervale(NPC, Spawn) + StartAutoMount(Spawn, 58) + SetMount(Spawn, 6846) +end + +function FoothillsToChomper(NPC, Spawn) + StartAutoMount(Spawn, 30) + SetMount(Spawn, 6846) +end + +function FoothillsToDocks(NPC, Spawn) + StartAutoMount(Spawn, 48) + SetMount(Spawn, 6846) +end + +function FoothillsToGoblin(NPC, Spawn) + StartAutoMount(Spawn, 32) + SetMount(Spawn, 6846) +end + +function FoothillsToGuard(NPC, Spawn) + StartAutoMount(Spawn, 47) + SetMount(Spawn, 6846) +end + +function FoothillsToGrove(NPC, Spawn) + StartAutoMount(Spawn, 31) + SetMount(Spawn, 6846) +end + +function FoothillsToRivervale(NPC, Spawn) + StartAutoMount(Spawn, 46) + SetMount(Spawn, 6846) +end + +function GroveToFoothills(NPC, Spawn) + StartAutoMount(Spawn, 34) + SetMount(Spawn, 6846) +end + +function GroveToChomper(NPC, Spawn) + StartAutoMount(Spawn, 33) + SetMount(Spawn, 6846) +end + +function GroveToDocks(NPC, Spawn) + StartAutoMount(Spawn, 54) + SetMount(Spawn, 6846) +end + +function GroveToGoblin(NPC, Spawn) + StartAutoMount(Spawn, 53) + SetMount(Spawn, 6846) +end + +function GroveToGuard(NPC, Spawn) + StartAutoMount(Spawn, 52) + SetMount(Spawn, 6846) +end + +function GroveToRivervale(NPC, Spawn) + StartAutoMount(Spawn, 51) + SetMount(Spawn, 6846) +end + +function RivervaleToFoothills(NPC, Spawn) + StartAutoMount(Spawn, 39) + SetMount(Spawn, 6846) +end + +function RivervaleToChomper(NPC, Spawn) + StartAutoMount(Spawn, 24) + SetMount(Spawn, 6846) +end + +function RivervaleToDocks(NPC, Spawn) + StartAutoMount(Spawn, 22) + SetMount(Spawn,6846) +end + +function RivervaleToGoblin(NPC, Spawn) + StartAutoMount(Spawn, 41) + SetMount(Spawn, 6846) +end + +function RivervaleToGuard(NPC, Spawn) + StartAutoMount(Spawn, 23) + SetMount(Spawn, 6846) +end + +function RivervaleToGrove(NPC, Spawn) + StartAutoMount(Spawn, 40) + SetMount(Spawn, 6846) +end + +function DocksToFoothills(NPC, Spawn) + StartAutoMount(Spawn, 43) + SetMount(Spawn, 6846) +end + +function DocksToChomper(NPC, Spawn) + StartAutoMount(Spawn, 42) + SetMount(Spawn, 6846) +end + +function DocksToGoblin(NPC, Spawn) + StartAutoMount(Spawn, 45) + SetMount(Spawn, 6846) +end + +function DocksToGuard(NPC, Spawn) + StartAutoMount(Spawn, 21) + SetMount(Spawn, 6846) +end + +function DocksToGrove(NPC, Spawn) + StartAutoMount(Spawn, 44) + SetMount(Spawn, 6846) +end + +function DocksToRivervale(NPC, Spawn) + StartAutoMount(Spawn, 20) + SetMount(Spawn, 6846) +end + +function GuardToFoothills(NPC, Spawn) + StartAutoMount(Spawn, 56) + SetMount(Spawn, 6846) +end + +function GuardToChomper(NPC, Spawn) + StartAutoMount(Spawn, 55) + SetMount(Spawn, 6846) +end + +function GuardToDocks(NPC, Spawn) + StartAutoMount(Spawn, 25) + SetMount(Spawn, 6846) +end + +function GuardToGoblin(NPC, Spawn) + StartAutoMount(Spawn, 26) + SetMount(Spawn, 6846) +end + +function GuardToGrove(NPC, Spawn) + StartAutoMount(Spawn, 57) + SetMount(Spawn, 6846) +end + +function GuardToRivervale(NPC, Spawn) + StartAutoMount(Spawn, 27) + SetMount(Spawn, 6846) +end + +function ChomperToFoothills(NPC, Spawn) + StartAutoMount(Spawn, 35) + SetMount(Spawn, 6846) +end + +function ChomperToDocks(NPC, Spawn) + StartAutoMount(Spawn, 50) + SetMount(Spawn, 6846) +end + +function ChomperToGoblin(NPC, Spawn) + StartAutoMount(Spawn, 49) + SetMount(Spawn, 6846) +end + +function ChomperToGuard(NPC, Spawn) + StartAutoMount(Spawn, 37) + SetMount(Spawn, 6846) +end + +function ChomperToGrove(NPC, Spawn) + StartAutoMount(Spawn, 36) + SetMount(Spawn, 6846) +end + +function ChomperToRivervale(NPC, Spawn) + StartAutoMount(Spawn, 38) + SetMount(Spawn, 6846) +end diff --git a/Lua/SpawnScripts/Everfrost/BrahnaganMacLahnan.lua b/Lua/SpawnScripts/Everfrost/BrahnaganMacLahnan.lua new file mode 100755 index 000000000..794e0ea08 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/BrahnaganMacLahnan.lua @@ -0,0 +1,232 @@ +--[[ + Script Name : SpawnScripts/Everfrost/BrahnaganMacLahnan.lua + Script Author : Flunklesnarkin + Script Date : 2015.10.14 11:10:51 + Script Purpose : + : +--]] + +local TheStoriesofEverfrost = 167 +local CullTheThreatToThePioneers = 169 +local FurtherCulling = 170 +local SuppliesForThePioneers = 171 + + + +function spawn(NPC) + ProvidesQuest(NPC, TheStoriesofEverfrost) + ProvidesQuest(NPC, CullTheThreatToThePioneers) + ProvidesQuest(NPC, FurtherCulling) + ProvidesQuest(NPC, SuppliesForThePioneers) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetLevel(Spawn) < 41 then + UnderLevel_Chat(NPC, Spawn) + else + if HasCompletedQuest(Spawn, TheStoriesofEverfrost) == false and HasQuest(Spawn, TheStoriesofEverfrost) == false then + Quest1Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, TheStoriesofEverfrost) == true and GetQuestStep(Spawn, 167) == 1 then + Quest1Chat_5(NPC, Spawn) + elseif HasQuest(Spawn, TheStoriesofEverfrost) == true and GetQuestStep(Spawn, 167) == 2 then + Quest1Chat_5(NPC, Spawn) + elseif HasQuest(Spawn, TheStoriesofEverfrost) == true and GetQuestStep(Spawn, 167) == 3 then + Quest1Chat_6(NPC, Spawn) + elseif HasCompletedQuest(Spawn, TheStoriesofEverfrost) == true and HasCompletedQuest(Spawn, CullTheThreatToThePioneers) == false and HasQuest(Spawn, CullTheThreatToThePioneers) == false then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, CullTheThreatToThePioneers) == true and GetQuestStep(Spawn, 169) == 1 then + Quest2Chat_3(NPC, Spawn) + elseif HasQuest(Spawn, CullTheThreatToThePioneers) == true and GetQuestStep(Spawn, 169) == 2 then + Quest2Chat_4(NPC, Spawn) + elseif HasCompletedQuest(Spawn, CullTheThreatToThePioneers) == true and HasCompletedQuest(Spawn, FurtherCulling) == false and HasQuest(Spawn, FurtherCulling) == false then + Quest3Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, FurtherCulling) == true and GetQuestStep(Spawn, 170) == 1 then + Quest3Chat_2(NPC, Spawn) + elseif HasQuest(Spawn, FurtherCulling) == true and GetQuestStep(Spawn, 170) == 2 then + Quest3Chat_3(NPC, Spawn) + elseif HasCompletedQuest(Spawn, FurtherCulling) == true and HasCompletedQuest(Spawn, SuppliesForThePioneers) == false and HasQuest(Spawn, SuppliesForThePioneers) == false then + Quest4Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, SuppliesForThePioneers) then + Quest4Chat_2(NPC, Spawn) + end + end +end + +function respawn(NPC) + spawn(NPC) +end + +function UnderLevel_Chat(NPC, Spawn) + + Say(NPC, "Welcome to Everfrost. You'll find her a beautiful, if cold, region.") + +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Oh? This is your homeland?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Why, hello there! You look as though you've come an awful long way to visit our frosty homeland.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see. And so you are here trying to do ... what?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Oh, yes! Long ago, before the Rending, the Everfrost Peaks were home to the great Northern tribes. Like many other things, they were changed completely when it happened.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Depends. Some hope to one day found settlements here, while others are simply after the thick furs of its snow-born beasts.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd be happy to.", "Offer_The_Stories_of_Everfrost") + AddConversationOption(conversation, "No time for talk.") + StartConversation(conversation, NPC, Spawn, "Why don't you speak with some of the others? They can offer you different perspectives than I can. Go speak with them, come back to me, and we will talk more.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, still searching for perspective.") + StartConversation(conversation, NPC, Spawn, "Well? Have you spoken with a few others?") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, I think I have some perspective now. Li Ning Ventur seems to have had a tough time. The sharks of the Bay, well, ate her husband.", "SetCompleteQuest_1") + StartConversation(conversation, NPC, Spawn, "Well? Have you spoken with a few others?") +end + +function SetCompleteQuest_1(NPC, Spawn) + SetStepComplete(Spawn, TheStoriesofEverfrost, 3) + Quest2Chat_1(NPC, Spawn) +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yeah, it seems a bit risky for pioneers to cross.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Now that is not a good thing to hear. I will confess that the moment the Venturs arrived, I assumed they would be leaving soon enough -- not quite the heartiest individuals I've ever seen, but good people and I hate to hear what happened") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "Offer_Cull_the_Threat_to_the_Pioneers") + AddConversationOption(conversation, "Sharks? No thanks.") + StartConversation(conversation, NPC, Spawn, "So it does... You, though, you look as though you might be a little more difficult to kill. Maybe you would like to prove your mettle by removing a few of the primal frostfins from the waters?") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, not nearly few enough.") + StartConversation(conversation, NPC, Spawn, "Well? Are there fewer frostfins than there were before?") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, I killed quite a few of them.", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "Well? Are there fewer frostfins than there were before?") +end + +function Quest2Chat_5(NPC, Spawn) + SetStepComplete(Spawn, CullTheThreatToThePioneers, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "...") + StartConversation(conversation, NPC, Spawn, "I see far fewer fins in the ocean, very good!") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yeah, I think I can handle them.", "Offer_Further_Culling") + AddConversationOption(conversation, "Ah, no, that sounds a bit too rough for me.") + StartConversation(conversation, NPC, Spawn, "Well, you seemed to handle them easily enough. Perhaps you'd like to take on the more formidable ancient frostfins, hmm?") +end + + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, I haven't quite finished the job yet.") + StartConversation(conversation, NPC, Spawn, "Well, your fingers seem intact. Are the sharks so fortunate?") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, their blood mixes with the salt water now.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Well, your fingers seem intact. Are the sharks so fortunate?") +end + +function Quest3Chat_4(NPC, Spawn) + SetStepComplete(Spawn, FurtherCulling, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're Welcome.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Ahh, that's good to hear! The trip to land won't be quite so perilous now. Thank you, Player Name") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that. It's on my way.", "Offer_Supplies_for_the_Pioneers") + AddConversationOption(conversation, "No, I don't want to be burdened.") + StartConversation(conversation, NPC, Spawn, "If you're going to be traveling on into Everfrost, would you be willing to deliver some supplies to one of our pioneer camps? There are some very important items that need to be delivered, and you'd have their gratitude -- and mine.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Those pioneers need what I've given you. Hurry on.") +end + + +function Offer_The_Stories_of_Everfrost(NPC, Spawn) + OfferQuest(NPC, Spawn, TheStoriesofEverfrost) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will.") + StartConversation(conversation, NPC, Spawn, "Very good. Come back to me when you've gotten a good earful.") + +end + +function Offer_Cull_the_Threat_to_the_Pioneers(NPC, Spawn) + OfferQuest(NPC, Spawn, CullTheThreatToThePioneers) +end + +function Offer_Further_Culling(NPC, Spawn) + OfferQuest(NPC, Spawn, FurtherCulling) +end + +function Offer_Supplies_for_the_Pioneers(NPC, Spawn) + OfferQuest(NPC, Spawn, SuppliesForThePioneers) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Everfrost/BurmGrunthor.lua b/Lua/SpawnScripts/Everfrost/BurmGrunthor.lua new file mode 100755 index 000000000..5c50e47f1 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/BurmGrunthor.lua @@ -0,0 +1,151 @@ +--[[ + Script Name : SpawnScripts/Everfrost/BurmGrunthor.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.03 10:09:57 + Script Purpose : + : +--]] + +local Fish_For_Grunther = 136 + +function spawn(NPC) + ProvidesQuest(NPC, Fish_For_Grunther) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetLevel(Spawn) < 41 then + UnderLevel_Chat(NPC, Spawn) + else + if HasQuest(Spawn, Fish_For_Grunther) == false and HasCompletedQuest(Spawn, Fish_For_Grunther) == false then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, Fish_For_Grunther) == 1 then + if HasCompletedQuest(Spawn, Fish_For_Grunther) == true then + Quest1Chat_3(NPC, Spawn) + else + Quest1Chat_7(NPC, Spawn) + end + elseif GetQuestStep(Spawn, Fish_For_Grunther) == 2 then + if HasCompletedQuest(Spawn, Fish_For_Grunther) == true then + Quest1Chat_8(NPC, Spawn) + else + Quest1Chat_5(NPC, Spawn) + end + elseif HasQuest(Spawn, Fish_For_Grunther) == false and HasCompletedQuest(Spawn, Fish_For_Grunther) == true then + Quest1Chat_4(NPC, Spawn) + end + end +end + +function UnderLevel_Chat(NPC, Spawn) + + Say(NPC, "Just me and fishes out here sometimes. Just me and the fishes.") + +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Oh?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Arh! The fish just aren't biting!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Perhaps I could fish some for you?", "Offer_Fish_For_Grunther") + AddConversationOption(conversation, "Sounds like you should work on your fishing skills.") + StartConversation(conversation, NPC, Spawn, "Nay, I've been at it for hours, but nuthin'. And I've mouths to feed...") +end + + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I do not.") + StartConversation(conversation, NPC, Spawn, "Have ye the fish?") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I most certainly would.", "Offer_Fish_For_Grunther") + AddConversationOption(conversation, "Nah, I've got better things to do with my time.") + StartConversation(conversation, NPC, Spawn, "I could always use some'mere fish if ye'd be up fer it.") +end + +function Quest1Chat_5(NPC, Spawn) + SetStepComplete(Spawn, Fish_For_Grunther, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, here's all your fish." , "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Is that the smell of fish on ye?") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I am glad to have helped.") + StartConversation(conversation, NPC, Spawn, "Ahh, a fine batch if I've ever seen it. Thank ye.") +end + + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, must just be all the adventuring I've been doing...") + StartConversation(conversation, NPC, Spawn, "Is that the smell of fish on ye?") +end + +function Quest1Chat_8(NPC, Spawn) + SetStepComplete(Spawn, Fish_For_Grunther, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I do." , "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "Have ye the fish?") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You are most welcome.") + StartConversation(conversation, NPC, Spawn, "A blessing! Aye, I can call ye nay but a blessing.") +end + +function Offer_Fish_For_Grunther(NPC, Spawn) + if HasQuest(Spawn, Fish_For_Grunther) == false and HasCompletedQuest(Spawn, Fish_For_Grunther) == false then + OfferQuest(NPC, Spawn, Fish_For_Grunther) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Not to worry.") + StartConversation(conversation, NPC, Spawn, "That'd truly be a blessing from the gods, thank ye.") + + elseif HasQuest(Spawn, Fish_For_Grunther) == false and HasCompletedQuest(Spawn, Fish_For_Grunther) == true then + OfferQuest(NPC, Spawn, Fish_For_Grunther) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "A fine young adventurer ye be, thank ye.") + + end + +end + + + + diff --git a/Lua/SpawnScripts/Everfrost/GinnieStonestoe.lua b/Lua/SpawnScripts/Everfrost/GinnieStonestoe.lua new file mode 100755 index 000000000..07f933814 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/GinnieStonestoe.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Everfrost/GinnieStonestoe.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.04 09:09:13 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Don't cause any trouble. We've enough trouble with all the beasts roaming about. We needn't trouble from one of the likes of you.") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Everfrost/JinVentur.lua b/Lua/SpawnScripts/Everfrost/JinVentur.lua new file mode 100755 index 000000000..ad0f4ced4 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/JinVentur.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Everfrost/JinVentur.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.04 09:09:53 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "I just want to be home...") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Everfrost/LiNingVentur.lua b/Lua/SpawnScripts/Everfrost/LiNingVentur.lua new file mode 100755 index 000000000..6600e1250 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/LiNingVentur.lua @@ -0,0 +1,92 @@ +--[[ + Script Name : SpawnScripts/Everfrost/LiNingVentur.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.04 09:09:39 + Script Purpose : + : +--]] + +local TheStoriesofEverfrost = 167 +local A_Pioneer_Without_A_Wagon = 168 + +local + +function spawn(NPC) + ProvidesQuest(NPC, A_Pioneer_Without_A_Wagon) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasCompletedQuest(Spawn, TheStoriesofEverfrost) == false and HasQuest(Spawn, TheStoriesofEverfrost) == false then + Default_Chat(NPC, Spawn) + elseif HasQuest(Spawn, TheStoriesofEverfrost) == true and HasQuest(Spawn, A_Pioneer_Without_A_Wagon) == false and HasCompletedQuest(Spawn, A_Pioneer_Without_A_Wagon) == false then + Quest1Chat_1(NPC, Spawn) + elseif HasCompletedQuest(Spawn, TheStoriesofEverfrost) == true and HasQuest(Spawn, A_Pioneer_Without_A_Wagon) == false and HasCompletedQuest(Spawn, A_Pioneer_Without_A_Wagon) == false then + Quest1Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, A_Pioneer_Without_A_Wagon) == true and GetQuestStep(Spawn, 168) == 1 then + Quest1Chat_5(NPC, Spawn) + end + +end + +function respawn(NPC) + spawn(NPC) +end + +function Default_Chat(NPC, Spawn) + + Say(NPC, "I'm done with this forsaken place. Done with it, I say!") + +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Excuse me, but what's wrong?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "He's gone, oh dear, he's gone...") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I am... sorry to hear that.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "My, my husband... We were crossing the bay and he was... he was... eaten by one of those terrible sharks. I hate this place! Everything here is terrible!") +end + +function Quest1Chat_3(NPC, Spawn) + SetStepComplete(Spawn, TheStoriesofEverfrost, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's a terrible story. Is there anything I can do?", "Quest1Chat_4") + AddConversationOption(conversation, "Perhaps there is some way I can profit... Err, help.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Yes, we tried so hard to make a home here... My Samuel was so eager to cut something from this land, but I never wanted to! I told him it was a cursed place! And though it took a few years of misery to convince him, he finally agreed. And so there we are, finally ready to return to a decent life, and he's taken from me!") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "Offer_Quest_APWOAW") + AddConversationOption(conversation, "I am in no mood for charity.") + StartConversation(conversation, NPC, Spawn, "You would? Oh... thank you! The first kindness I've found in this place. You see, when we were crossing the bay, we did so in such a panic, especially after the attack, that our possessions were scattered all over the bay. It would mean so much if you could find them.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, I will keep searching though.") + StartConversation(conversation, NPC, Spawn, "Well? Have you managed to find all of it? Or even just some?") +end + +function Offer_Quest_APWOAW(NPC, Spawn) + OfferQuest(NPC, Spawn, A_Pioneer_Without_A_Wagon) + +end + diff --git a/Lua/SpawnScripts/Everfrost/MaiVentur.lua b/Lua/SpawnScripts/Everfrost/MaiVentur.lua new file mode 100755 index 000000000..4763a63d8 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/MaiVentur.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Everfrost/MaiVentur.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.04 09:09:21 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Where's my daddy?") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Everfrost/MartaTerrilon.lua b/Lua/SpawnScripts/Everfrost/MartaTerrilon.lua new file mode 100755 index 000000000..fc2330611 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/MartaTerrilon.lua @@ -0,0 +1,112 @@ +--[[ + Script Name : SpawnScripts/Everfrost/MartaTerrilon.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.04 10:09:19 + Script Purpose : + : +--]] + +local Marta_Terrilons_Fur_Hunt = 161 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, Marta_Terrilons_Fur_Hunt) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasQuest(Spawn, Marta_Terrilons_Fur_Hunt) == false and HasCompletedQuest(Spawn, Marta_Terrilons_Fur_Hunt) == false then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, Marta_Terrilons_Fur_Hunt) == 1 then + Quest1Chat_2(NPC, Spawn) + elseif GetQuestStep(Spawn, Marta_Terrilons_Fur_Hunt) == 2 then + Quest1Chat_3(NPC, Spawn) + elseif HasQuest(Spawn, Marta_Terrilons_Fur_Hunt) == false and HasCompletedQuest(Spawn, Marta_Terrilons_Fur_Hunt) == true then + local count = GetQuestCompleteCount(Spawn, Marta_Terrilons_Fur_Hunt) + if count <=3 then + Quest1Chat_4(NPC, Spawn) + else + Quest1Chat_5(NPC, Spawn) + end + end +end + + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, I'm available to help.", "Offer_Marta_Terrilons_Fur_Hunt") + AddConversationOption(conversation, "Sorry, I'm not interested.") + StartConversation(conversation, NPC, Spawn, "Well met traveler! I am a buyer for a regional fur trading company, who is trying to establish a market for furred clothing and armor linings! I am seeking skilled hunters, capable of delivering large quantities of fur that are excellent condition! Would you be interested in this?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You got it.") + StartConversation(conversation, NPC, Spawn, "I'm going to require more furs than that! Please come back when you have some more!") +end + +function Quest1Chat_3(NPC, Spawn) + SetStepComplete(Spawn, Marta_Terrilons_Fur_Hunt, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "These furs will do quite nicely! Well done, please take this in compensation for your efforts.") +end + + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure!", "Offer_Marta_Terrilons_Fur_Hunt") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Do you think you have time to bring me some more furs?") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,2) + if choice == 1 then + Say(NPC, "You did fine work for me. Thanks!") + else + Say(NPC, "Appreciate all your help!") + end +end + +function Offer_Marta_Terrilons_Fur_Hunt(NPC, Spawn) + if HasQuest(Spawn, Marta_Terrilons_Fur_Hunt) == false and HasCompletedQuest(Spawn, Marta_Terrilons_Fur_Hunt) == false then + OfferQuest(NPC, Spawn, Marta_Terrilons_Fur_Hunt) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will be back with the furs.") + StartConversation(conversation, NPC, Spawn, "Excellent! There are several beasts in these parts that have nice fur. I require that you bring me a good quantity of these furs, for which you will be paid.") + + elseif HasQuest(Spawn, Marta_Terrilons_Fur_Hunt) == false and HasCompletedQuest(Spawn, Marta_Terrilons_Fur_Hunt) == true then + OfferQuest(NPC, Spawn, Marta_Terrilons_Fur_Hunt) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be back with the furs.") + StartConversation(conversation, NPC, Spawn, "Great! Here's a list of what I need now. Bring me the most pristine furs that you can and you'll be well-rewarded.") + + end + +end + diff --git a/Lua/SpawnScripts/Everfrost/NedSwellswaker.lua b/Lua/SpawnScripts/Everfrost/NedSwellswaker.lua new file mode 100755 index 000000000..b60ee6312 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/NedSwellswaker.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Everfrost/NedSwellswaker.lua + Script Author : Flunklesnarkin + Script Date : 2015.09.25 12:09:07 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "This is a harsh and inhospitable region. Perhaps its best you keep your valuables some place safe.") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Everfrost/NewlynIcebreaker.lua b/Lua/SpawnScripts/Everfrost/NewlynIcebreaker.lua new file mode 100755 index 000000000..4241622f0 --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/NewlynIcebreaker.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : SpawnScripts/Everfrost/NewlynIcebreaker.lua + Script Author : Flunklesnarkin + Script Date : 2015.10.23 01:10:49 + Script Purpose : + : +--]] + +local TheStoriesofEverfrost = 167 + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, TheStoriesofEverfrost) == false then + Default_Chat(NPC, Spawn) + elseif HasQuest(Spawn, TheStoriesofEverfrost) == true and GetQuestStep(Spawn, 167) == 2 then + Default_Chat(NPC, Spawn) + elseif HasQuest(Spawn, TheStoriesofEverfrost) == true and GetQuestStep(Spawn, 167) == 3 then + Default_Chat(NPC, Spawn) + elseif HasQuest(Spawn, TheStoriesofEverfrost) == true and GetQuestStep(Spawn, 167) == 1 then + TSOE_Chat1(NPC, Spawn) + end + +end + +function respawn(NPC) + +end + +function Default_Chat(NPC, Spawn) + + Say(NPC, "Your armor's looking a bit dinged up. Want me to take a look at it?") + +end + +function TSOE_Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Maybe later. At the moment, I have actually just come to hear your story. What brought you to Everfrost?", "TSOE_Chat2") + StartConversation(conversation, NPC, Spawn, "Hello there. You need that armor of yours fixed up?") +end + +function TSOE_Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see. So is it very different?", "TSOE_Chat3") + StartConversation(conversation, NPC, Spawn, "Why, any good son or daughter of Halas would. This may not be exactly as our people remember it, but it's still our homeland, changed or not.") +end + +function TSOE_Chat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "But there are some tokens left?", "TSOE_Chat4") + StartConversation(conversation, NPC, Spawn, "How should I know? My people don't live so long as the elves, or even the humans for that matter... I can say that from the stories, though, it is different. The Rending tore her up good and sure.") +end + +function TSOE_Chat4(NPC, Spawn) + SetStepComplete(Spawn, TheStoriesofEverfrost, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see, I see.") + StartConversation(conversation, NPC, Spawn, "Aye, there are still the beautiful peaks, and the feel of the land is still there. It is cold and bitter, but beautiful and enduring, much like us.") +end diff --git a/Lua/SpawnScripts/Everfrost/ThyrStormhammer.lua b/Lua/SpawnScripts/Everfrost/ThyrStormhammer.lua new file mode 100755 index 000000000..8ea4c258c --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/ThyrStormhammer.lua @@ -0,0 +1,152 @@ +--[[ + Script Name : SpawnScripts/Everfrost/ThyrStormhammer.lua + Script Author : Flunklesnarkin + Script Date : 2016.01.13 02:01:44 + Script Purpose : + : +--]] + +local SuppliesForThePioneers = 171 +local ScoutingTheJaggedPlains = 172 + +function spawn(NPC) + ProvidesQuest(NPC, ScoutingTheJaggedPlains) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetLevel(Spawn) < 44 then + if HasQuest(Spawn, SuppliesForThePioneers) == true then + Under_Level_Quest1Chat_1(NPC, Spawn) + else + UnderLevel_Chat(NPC, Spawn) + end + else + if HasQuest(Spawn, SuppliesForThePioneers) == true then + Quest1Chat_1(NPC, Spawn) + elseif HasCompletedQuest(Spawn, SuppliesForThePioneers) == true and HasQuest(Spawn, ScoutingTheJaggedPlains) == false and HasCompletedQuest(Spawn, ScoutingTheJaggedPlains) == false then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, ScoutingTheJaggedPlains) == true and GetQuestStep(Spawn, 172) == 1 then + Quest2Chat_4(NPC, Spawn) + end + end +end + +function respawn(NPC) + +end + +function UnderLevel_Chat(NPC, Spawn) + + local Chat_Randomizer = math.random(1,8) + + if Chat_Randomizer == 1 then + Say(NPC, "Well it's not easy being the best looking guy in town, but I think I pull it off well.") + elseif Chat_Randomizer == 2 then + Say(NPC, "Odd things are going on. I'd keep an eye out if I were you.") + elseif Chat_Randomizer == 3 then + Say(NPC, "Darn. I chugged that barrel much slower than I chugged the last three.") + elseif Chat_Randomizer == 4 then + Say(NPC, "Strength isn't just the size of your muscles... It's, well... Yeah it is.") + elseif Chat_Randomizer == 5 then + Say(NPC, "Some of my friends tell me I'm weak. I think its true. I've only been able to lift two goblins and an orc lately.") + elseif Chat_Randomizer == 6 then + Say(NPC, "I'm feeling stronger than usual today.") + elseif Chat_Randomizer == 7 then + Say(NPC, "Funny, the wound didn't smell like that yesterday.") + elseif Chat_Randomizer == 8 then + Say(NPC, "Funny, the wound didn't smell like that yesterday.") + else + Say(NPC, "Randomizer Error") + end +end + +function Under_Level_Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Take these supplies off my hands. Brahnagan sent them for you.", "Under_Level_Quest1Chat_2") + AddConversationOption(conversation, "No, I believe I can tough it out. I've tackled worse than this.") + StartConversation(conversation, NPC, Spawn, "You're looking a bit uncomfortable, outsider. Is there something I can do to make you more comfortable?") +end + +function Under_Level_Quest1Chat_2(NPC, Spawn) + SetStepComplete(Spawn, SuppliesForThePioneers, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, he had me clear out a number of sharks from the water around to make it safer for pioneers to pass through.", "Under_Level_Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Ahh, Brahnagan. He is always taking care of us...") +end + +function Under_Level_Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tough enough for the job.") + StartConversation(conversation, NPC, Spawn, "You must be a tough one then.") +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Take these supplies off my hands. Brahnagan sent them for you.", "Quest1Chat_2") + AddConversationOption(conversation, "No, I believe I can tough it out. I've tackled worse than this.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "You're looking a bit uncomfortable, outsider. Is there something I can do to make you more comfortable?") +end + +function Quest1Chat_2(NPC, Spawn) + SetStepComplete(Spawn, SuppliesForThePioneers, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, he had me clear out a number of sharks from the water around to make it safer for pioneers to pass through.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Ahh, Brahnagan. He is always taking care of us...") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tough enough for the job.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "You must be a tough one then.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Expedition?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "If you're so sure of your own skill, then you won't mind going on an expedition for me.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Unless I come back saying it's completely uninhabitable.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "We call the valley that lies ahead the Jagged Plains. Most are convinced it is uninhabitable, but I'm not so sure. If you could scout it all out for me, and bring back your report of it, I might be able to make a case to push into it.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Very well, I'll do it.", "Offer_Scouting_The_Jagged_Plains") + AddConversationOption(conversation, "This sounds a bit tame for my skills. I'm going to seek out other work.") + StartConversation(conversation, NPC, Spawn, "Yes, yes, but let's hope that's not the case.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, it's a very large place.") + StartConversation(conversation, NPC, Spawn, "Well? Have you scoured it?") +end + +function Offer_Scouting_The_Jagged_Plains(NPC, Spawn) + OfferQuest(NPC, Spawn, ScoutingTheJaggedPlains) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Everfrost/apioneerwithoutawagonquestcrate.lua b/Lua/SpawnScripts/Everfrost/apioneerwithoutawagonquestcrate.lua new file mode 100755 index 000000000..0ed49566b --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/apioneerwithoutawagonquestcrate.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Everfrost/apioneerwithoutawagonquestcrate.lua + Script Author : Flunklesnarkin + Script Date : 2016.02.09 10:02:50 + Script Purpose : These crates are used for the quest A Pioneer without a Wagon + : +--]] + +local APWOAW = 168 + +function spawn(NPC, Player) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "QuestCheck", "QuestCheck") +end + +function respawn(NPC) + spawn(NPC) +end + +function QuestCheck(NPC, Player) + if GetQuestStep(Player, APWOAW) == 1 then + AddSpawnAccess(NPC, Player) + end +end + diff --git a/Lua/SpawnScripts/Everfrost/snowtearcabbage.lua b/Lua/SpawnScripts/Everfrost/snowtearcabbage.lua new file mode 100755 index 000000000..934c3ca9b --- /dev/null +++ b/Lua/SpawnScripts/Everfrost/snowtearcabbage.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Everfrost/snowtearcabbage.lua + Script Author : John Adams + Script Date : 2014.05.30 10:05:43 + Script Purpose : + : +--]] + +function spawn(NPC) + SpawnSet(NPC, "activity_state", "0") +end + diff --git a/Lua/SpawnScripts/FallenGate/ABlightedWarmonger_A.lua b/Lua/SpawnScripts/FallenGate/ABlightedWarmonger_A.lua new file mode 100755 index 000000000..b17a1dc3c --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/ABlightedWarmonger_A.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/FallenGate/ABlightedWarmonger_A.lua + Script Purpose : Waypoint Path for ABlightedWarmonger_A.lua + Script Author : Auto Generated + Script Date : 03/23/2019 02:03:21 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -166.87, -16.12, -312.43, 2, 0) + MovementLoopAddLocation(NPC, -152.38, -16.42, -313.19, 2, 0) + MovementLoopAddLocation(NPC, -149.59, -16.39, -311.86, 2, 0) + MovementLoopAddLocation(NPC, -145.39, -16.43, -312.35, 2, 0) + MovementLoopAddLocation(NPC, -142.68, -16.42, -315.89, 2, 0) + MovementLoopAddLocation(NPC, -137.8, -16.41, -317.47, 2, 0) + MovementLoopAddLocation(NPC, -115.86, -17.46, -309.92, 2, 0) + MovementLoopAddLocation(NPC, -111.11, -17.39, -300.64, 2, 0) + MovementLoopAddLocation(NPC, -103.01, -17.4, -296.68, 2, 0) + MovementLoopAddLocation(NPC, -99.56, -17.41, -297.03, 2, 0) + MovementLoopAddLocation(NPC, -96.17, -17.43, -300.7, 2, 0) + MovementLoopAddLocation(NPC, -95.75, -17.45, -304.4, 2, 0) + MovementLoopAddLocation(NPC, -99.61, -17.44, -305.92, 2, 0) + MovementLoopAddLocation(NPC, -103.62, -17.39, -312.09, 2, 0) + MovementLoopAddLocation(NPC, -107.15, -17.36, -313.18, 2, 0) + MovementLoopAddLocation(NPC, -110.6, -17.39, -313.14, 2, 0) + MovementLoopAddLocation(NPC, -116.96, -17.44, -310.7, 2, 0) + MovementLoopAddLocation(NPC, -121.41, -16.52, -314.31, 2, 0) + MovementLoopAddLocation(NPC, -123.28, -16.49, -317.6, 2, 0) + MovementLoopAddLocation(NPC, -128.46, -16.43, -322.46, 2, 0) + MovementLoopAddLocation(NPC, -131.4, -16.4, -323.72, 2, 0) + MovementLoopAddLocation(NPC, -138.4, -16.39, -323.85, 2, 0) + MovementLoopAddLocation(NPC, -144.26, -16.42, -322.51, 2, 0) + MovementLoopAddLocation(NPC, -149.1, -16.39, -320.88, 2, 0) + MovementLoopAddLocation(NPC, -153.46, -16.43, -317, 2, 0) + MovementLoopAddLocation(NPC, -158.65, -16.4, -315.97, 2, 0) + MovementLoopAddLocation(NPC, -165.79, -16.42, -316.77, 2, 0) + MovementLoopAddLocation(NPC, -173.61, -16.08, -313.64, 2, 0) + MovementLoopAddLocation(NPC, -177.68, -16.21, -312.04, 2, 0) + MovementLoopAddLocation(NPC, -179.62, -16.2, -310.22, 2, 0) + MovementLoopAddLocation(NPC, -179.34, -16.21, -308.43, 2, 0) + MovementLoopAddLocation(NPC, -177.13, -16.21, -309.57, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/AMeatStripper_A.lua b/Lua/SpawnScripts/FallenGate/AMeatStripper_A.lua new file mode 100755 index 000000000..88100884c --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/AMeatStripper_A.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : AMeatStripper_A.lua + Script Purpose : Waypoint Path for AMeatStripper_A.lua + Script Author : Auto Generated + Script Date : 03/09/2019 01:13:03 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -136.04, -12.06, -206.46, 2, 0) + MovementLoopAddLocation(NPC, -145.34, -11.52, -197.07, 2, 0) + MovementLoopAddLocation(NPC, -151.67, -11.16, -184.93, 2, 0) + MovementLoopAddLocation(NPC, -152.76, -11.32, -176.03, 2, 0) + MovementLoopAddLocation(NPC, -152.27, -11.32, -172.74, 2, 0) + MovementLoopAddLocation(NPC, -151.12, -11.32, -170.03, 2, 0) + MovementLoopAddLocation(NPC, -148.68, -11.32, -167.7, 2, 0) + MovementLoopAddLocation(NPC, -143.81, -11.32, -165.78, 2, 0) + MovementLoopAddLocation(NPC, -133.7, -11.32, -164.97, 2, 0) + MovementLoopAddLocation(NPC, -119.82, -11.66, -166.57, 2, 0) + MovementLoopAddLocation(NPC, -121.33, -11.68, -171.33, 2, 0) + MovementLoopAddLocation(NPC, -123.85, -11.65, -173.69, 2, 0) + MovementLoopAddLocation(NPC, -124.82, -11.64, -178.15, 2, 0) + MovementLoopAddLocation(NPC, -123.85, -11.65, -173.69, 2, 0) + MovementLoopAddLocation(NPC, -121.33, -11.68, -171.33, 2, 0) + MovementLoopAddLocation(NPC, -119.82, -11.66, -166.57, 2, 0) + MovementLoopAddLocation(NPC, -133.7, -11.32, -164.97, 2, 0) + MovementLoopAddLocation(NPC, -143.81, -11.32, -165.78, 2, 0) + MovementLoopAddLocation(NPC, -148.68, -11.32, -167.7, 2, 0) + MovementLoopAddLocation(NPC, -151.12, -11.32, -170.03, 2, 0) + MovementLoopAddLocation(NPC, -152.27, -11.32, -172.74, 2, 0) + MovementLoopAddLocation(NPC, -152.76, -11.32, -176.03, 2, 0) + MovementLoopAddLocation(NPC, -151.67, -11.16, -184.93, 2, 0) + MovementLoopAddLocation(NPC, -145.34, -11.52, -197.07, 2, 0) + MovementLoopAddLocation(NPC, -136.04, -12.06, -206.46, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/ASuspendedWatcher_A.lua b/Lua/SpawnScripts/FallenGate/ASuspendedWatcher_A.lua new file mode 100755 index 000000000..bde2396f2 --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/ASuspendedWatcher_A.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : ASuspendedWatcher_A.lua + Script Purpose : Waypoint Path for ASuspendedWatcher_A.lua + Script Author : Auto Generated + Script Date : 03/09/2019 12:13:21 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -57.2, -4.68, -98.26, 2, 0) + MovementLoopAddLocation(NPC, -53.73, -3.52, -100.18, 2, 0) + MovementLoopAddLocation(NPC, -48.98, -2.86, -105.99, 2, 0) + MovementLoopAddLocation(NPC, -48.46, -2.84, -107.92, 2, 0) + MovementLoopAddLocation(NPC, -51.02, -4.03, -111.59, 2, 0) + MovementLoopAddLocation(NPC, -57.76, -4.17, -114.75, 2, 0) + MovementLoopAddLocation(NPC, -66.01, -5.12, -117.15, 2, 0) + MovementLoopAddLocation(NPC, -72.19, -4.52, -117.59, 2, 0) + MovementLoopAddLocation(NPC, -77.18, -4.19, -114.77, 2, 0) + MovementLoopAddLocation(NPC, -79.82, -3.81, -110.82, 2, 0) + MovementLoopAddLocation(NPC, -78.3, -5.13, -103.66, 2, 0) + MovementLoopAddLocation(NPC, -76.11, -5.13, -100.84, 2, 0) + MovementLoopAddLocation(NPC, -71.71, -5.14, -99.8, 2, 0) + MovementLoopAddLocation(NPC, -66.75, -4.87, -99.82, 2, 0) + MovementLoopAddLocation(NPC, -63.95, -4.59, -98.41, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/ASuspendedWatcher_B.lua b/Lua/SpawnScripts/FallenGate/ASuspendedWatcher_B.lua new file mode 100755 index 000000000..5b20e217d --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/ASuspendedWatcher_B.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : ASuspendedWatcher_B.lua + Script Purpose : Waypoint Path for ASuspendedWatcher_B.lua + Script Author : Auto Generated + Script Date : 03/09/2019 12:21:25 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -82.45, -8.57, -149.99, 2, 0) + MovementLoopAddLocation(NPC, -85.91, -9.24, -149.65, 2, 0) + MovementLoopAddLocation(NPC, -88.41, -9.17, -151.06, 2, 0) + MovementLoopAddLocation(NPC, -89.37, -9.15, -153.62, 2, 0) + MovementLoopAddLocation(NPC, -89.36, -9.16, -155.63, 2, 0) + MovementLoopAddLocation(NPC, -89.37, -9.15, -153.62, 2, 0) + MovementLoopAddLocation(NPC, -88.41, -9.17, -151.06, 2, 0) + MovementLoopAddLocation(NPC, -85.91, -9.24, -149.65, 2, 0) + MovementLoopAddLocation(NPC, -82.45, -8.57, -149.99, 2, 0) + MovementLoopAddLocation(NPC, -78.66, -8.482, -150.79, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/aThexianDragoon_A.lua b/Lua/SpawnScripts/FallenGate/aThexianDragoon_A.lua new file mode 100755 index 000000000..f754a363c --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/aThexianDragoon_A.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : AThexianDragoon_A.lua + Script Purpose : Waypoint Path for AThexianDragoon_A.lua + Script Author : Auto Generated + Script Date : 03/02/2019 04:59:27 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -14.93, 0.02, 35.08, 2, 0) + MovementLoopAddLocation(NPC, -17, 0, 47.31, 2, 0) + MovementLoopAddLocation(NPC, -16.72, 0.57, 78.05, 2, 0) + MovementLoopAddLocation(NPC, -13.15, 2.07, 83.21, 2, 0) + MovementLoopAddLocation(NPC, -3.75, 3.92, 87.99, 2, 0) + MovementLoopAddLocation(NPC, 5.52, 5.33, 91.83, 2, 0) + MovementLoopAddLocation(NPC, 13.53, 6.81, 98.33, 2, 0) + MovementLoopAddLocation(NPC, 15.67, 7.74, 103.28, 2, 0) + MovementLoopAddLocation(NPC, 16.57, 8.43, 110.14, 2, 0) + MovementLoopAddLocation(NPC, 15.82, 9.37, 117.02, 2, 0) + MovementLoopAddLocation(NPC, 12.85, 10.03, 120.54, 2, 0) + MovementLoopAddLocation(NPC, -1.72, 11.96, 128.67, 2, 0) + MovementLoopAddLocation(NPC, -2.44, 11.93, 125.82, 2, 0) + MovementLoopAddLocation(NPC, 10.88, 9.81, 117.21, 2, 0) + MovementLoopAddLocation(NPC, 13.23, 9.13, 114.11, 2, 0) + MovementLoopAddLocation(NPC, 13.87, 8.43, 107.57, 2, 0) + MovementLoopAddLocation(NPC, 12.88, 7.92, 103.73, 2, 0) + MovementLoopAddLocation(NPC, 10.77, 7.03, 99.86, 2, 0) + MovementLoopAddLocation(NPC, 6.17, 6.28, 96.45, 2, 0) + MovementLoopAddLocation(NPC, -16.28, 2.19, 85.91, 2, 0) + MovementLoopAddLocation(NPC, -21.15, 0.19, 76.13, 2, 0) + MovementLoopAddLocation(NPC, -21.72, 0.26, 69.46, 2, 0) + MovementLoopAddLocation(NPC, -20.87, 0.02, 45.73, 2, 0) + MovementLoopAddLocation(NPC, -17.17, 0.02, 34.67, 2, 0) + MovementLoopAddLocation(NPC, -15.53, 0.02, 32.36, 2, 0) + MovementLoopAddLocation(NPC, -12.66, 0.02, 30.84, 2, 0) + MovementLoopAddLocation(NPC, -13.57, 0.02, 32.5, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/aThexianDragoon_B1.lua b/Lua/SpawnScripts/FallenGate/aThexianDragoon_B1.lua new file mode 100755 index 000000000..44c626288 --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/aThexianDragoon_B1.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : AThexianDragoon_B1.lua + Script Purpose : Waypoint Path for AThexianDragoon_B1.lua + Script Author : Auto Generated + Script Date : 03/02/2019 05:16:56 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -27.37, 12, 20.4, 2, 0) + MovementLoopAddLocation(NPC, -26.5, 12, 20.76, 2, 0) + MovementLoopAddLocation(NPC, -17.92, 12, 24.32, 2, 0) + MovementLoopAddLocation(NPC, -10.45, 12, 28.4, 2, 0) + MovementLoopAddLocation(NPC, -5.07, 12, 30.48, 2, 0) + MovementLoopAddLocation(NPC, 14.21, 12, 40.37, 2, 0) + MovementLoopAddLocation(NPC, 15.1, 12, 38.5, 2, 0) + MovementLoopAddLocation(NPC, 4.24, 12, 34.7, 2, 0) + MovementLoopAddLocation(NPC, -17.88, 12, 24.07, 2, 0) + MovementLoopAddLocation(NPC, -26.49, 12, 21.49, 2, 0) + MovementLoopAddLocation(NPC, -28.1, 12, 21.53, 2, 0) + MovementLoopAddLocation(NPC, -29.92, 12, 23.78, 2, 0) + MovementLoopAddLocation(NPC, -31.01, 12, 22.68, 2, 0) + MovementLoopAddLocation(NPC, -28.87, 12, 19.8, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/aThexianDragoon_B2.lua b/Lua/SpawnScripts/FallenGate/aThexianDragoon_B2.lua new file mode 100755 index 000000000..c851d65a5 --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/aThexianDragoon_B2.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : AThexianDragoon_B2.lua + Script Purpose : Waypoint Path for AThexianDragoon_B2.lua + Script Author : Auto Generated + Script Date : 03/02/2019 05:23:16 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 6.17, 12, 25.93, 2, 0) + MovementLoopAddLocation(NPC, 14.8, 12, 7.73, 2, 0) + MovementLoopAddLocation(NPC, -10.01, 12, -4.55, 2, 0) + MovementLoopAddLocation(NPC, -13.08, 12, -2.6, 2, 0) + MovementLoopAddLocation(NPC, -21.23, 12, 16.56, 2, 0) + MovementLoopAddLocation(NPC, -22.58, 12, 15.77, 2, 0) + MovementLoopAddLocation(NPC, -12.83, 12, -2.68, 2, 0) + MovementLoopAddLocation(NPC, -10.16, 12, -4.27, 2, 0) + MovementLoopAddLocation(NPC, 15.28, 12, 7.94, 2, 0) + MovementLoopAddLocation(NPC, 6.42, 12, 27.28, 2, 0) + MovementLoopAddLocation(NPC, 5.75, 12, 26.92, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/aThexianDragoon_B3.lua b/Lua/SpawnScripts/FallenGate/aThexianDragoon_B3.lua new file mode 100755 index 000000000..d4dc9a4f8 --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/aThexianDragoon_B3.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : AThexianDragoon_B3.lua + Script Purpose : Waypoint Path for AThexianDragoon_B3.lua + Script Author : Auto Generated + Script Date : 03/02/2019 05:28:29 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 20.75, 2, 35.83, 2, 0) + MovementLoopAddLocation(NPC, 15.88, 4.95, 34.83, 2, 0) + MovementLoopAddLocation(NPC, 6.68, 12, 31.17, 2, 0) + MovementLoopAddLocation(NPC, 4.82, 12, 29.07, 2, 0) + MovementLoopAddLocation(NPC, 5.24, 12, 28.37, 2, 0) + MovementLoopAddLocation(NPC, 7.89, 12, 29.02, 2, 0) + MovementLoopAddLocation(NPC, 20.51, 2, 35.19, 2, 0) + MovementLoopAddLocation(NPC, 23.65, 0.02, 28.53, 2, 0) + MovementLoopAddLocation(NPC, 25.41, 0.02, 29.27, 2, 0) + MovementLoopAddLocation(NPC, 22.4, 2, 36.3, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/aThexianDragoon_C.lua b/Lua/SpawnScripts/FallenGate/aThexianDragoon_C.lua new file mode 100755 index 000000000..ab2d95eba --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/aThexianDragoon_C.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : AThexianDragoon_C.lua + Script Purpose : Waypoint Path for AThexianDragoon_C.lua + Script Author : Auto Generated + Script Date : 03/02/2019 09:17:07 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 28.99, 0, 18.26, 2, 0) + MovementLoopAddLocation(NPC, 46.63, 3.01, -17.81, 2, 0) + MovementLoopAddLocation(NPC, 55.5, 6.65, -41.76, 2, 0) + MovementLoopAddLocation(NPC, 56.22, 6.81, -46.54, 2, 0) + MovementLoopAddLocation(NPC, 59.04, 6.81, -45.32, 2, 0) + MovementLoopAddLocation(NPC, 55.86, 5.66, -34.78, 2, 0) + MovementLoopAddLocation(NPC, 49.21, 3.33, -18.88, 2, 0) + MovementLoopAddLocation(NPC, 37.54, 0, 9.01, 2, 0) + MovementLoopAddLocation(NPC, 29.62, 0, 22.23, 2, 0) + MovementLoopAddLocation(NPC, 27.57, 0, 21.47, 2, 0) + MovementLoopAddLocation(NPC, 28.17, 0, 20.05, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/aThexianOverseer_A.lua b/Lua/SpawnScripts/FallenGate/aThexianOverseer_A.lua new file mode 100755 index 000000000..f4869e055 --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/aThexianOverseer_A.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : AThexianOverseer_A.lua + Script Purpose : Waypoint Path for AThexianOverseer_A.lua + Script Author : Auto Generated + Script Date : 03/02/2019 04:48:46 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -14.37, 0, 56.25, 2, 0) + MovementLoopAddLocation(NPC, -10.73, 0, 54.6, 2, 0) + MovementLoopAddLocation(NPC, -8.34, 0, 54.77, 2, 0) + MovementLoopAddLocation(NPC, -6.71, 0, 56.72, 2, 0) + MovementLoopAddLocation(NPC, -3.45, 0, 52.25, 2, 0) + MovementLoopAddLocation(NPC, 1.12, 0, 52.02, 2, 0) + MovementLoopAddLocation(NPC, 2.79, 0, 49.04, 2, 0) + MovementLoopAddLocation(NPC, -11.46, 0, 43.57, 2, 0) + MovementLoopAddLocation(NPC, -12.46, 0.02, 37.11, 2, 0) + MovementLoopAddLocation(NPC, -17.84, 0.02, 34.25, 2, 0) + MovementLoopAddLocation(NPC, -24.43, 0, 37.17, 2, 0) + MovementLoopAddLocation(NPC, -28.6, 0, 40.2, 2, 0) + MovementLoopAddLocation(NPC, -35.02, 0, 35.68, 2, 0) + MovementLoopAddLocation(NPC, -40.98, 0, 38.53, 2, 0) + MovementLoopAddLocation(NPC, -38.62, 0, 40.17, 2, 0) + MovementLoopAddLocation(NPC, -33.49, 0, 41.59, 2, 0) + MovementLoopAddLocation(NPC, -31.54, 0, 45.41, 2, 0) + MovementLoopAddLocation(NPC, -33.17, 0, 48.98, 2, 0) + MovementLoopAddLocation(NPC, -26.57, 0, 52.93, 2, 0) + MovementLoopAddLocation(NPC, -22.8, 0, 57.12, 2, 0) + MovementLoopAddLocation(NPC, -16.85, 0, 56.18, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/aThexianOverseer_B.lua b/Lua/SpawnScripts/FallenGate/aThexianOverseer_B.lua new file mode 100755 index 000000000..6d42228a1 --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/aThexianOverseer_B.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : AThexianOverseer_B.lua + Script Purpose : Waypoint Path for AThexianOverseer_B.lua + Script Author : Auto Generated + Script Date : 03/02/2019 09:03:59 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 30.02, 0, 8.24, 2, 0) + MovementLoopAddLocation(NPC, 24.69, 0, 1.71, 2, 0) + MovementLoopAddLocation(NPC, 17.67, 0, -1.75, 2, 0) + MovementLoopAddLocation(NPC, 17.62, 0, -4.25, 2, 0) + MovementLoopAddLocation(NPC, 26.28, 0, -5.67, 2, 0) + MovementLoopAddLocation(NPC, 26.28, 0, -5.67, 2, 0) + MovementLoopAddLocation(NPC, 31.25, 0.23, -7.11, 2, 0) + MovementLoopAddLocation(NPC, 35.69, 1.15, -11.03, 2, 0) + MovementLoopAddLocation(NPC, 45.44, 1.79, -6.53, 2, 0) + MovementLoopAddLocation(NPC, 50.4, 1.71, -1.57, 2, 0) + MovementLoopAddLocation(NPC, 50.65, 1.28, 3, 2, 0) + MovementLoopAddLocation(NPC, 41.96, 0, 8.81, 2, 0) + MovementLoopAddLocation(NPC, 35.83, 0, 8.25, 2, 0) +end + + diff --git a/Lua/SpawnScripts/FallenGate/atormentedbattlemage_A.lua b/Lua/SpawnScripts/FallenGate/atormentedbattlemage_A.lua new file mode 100755 index 000000000..e7501e0c0 --- /dev/null +++ b/Lua/SpawnScripts/FallenGate/atormentedbattlemage_A.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : SpawnScripts/FallenGate/atormentedbattlemage_A.lua + Script Purpose : Waypoint Path for atormentedbattlemage_A.lua + Script Author : Auto Generated + Script Date : 03/23/2019 12:54:09 PM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 160.65, 18.4, -44.34, 2, 0) + MovementLoopAddLocation(NPC, 169.88, 18.4, -56.99, 2, 0) + MovementLoopAddLocation(NPC, 173.57, 18.4, -60.24, 2, 0) + MovementLoopAddLocation(NPC, 178.67, 18.47, -70.24, 2, 0) + MovementLoopAddLocation(NPC, 182.11, 18.4, -77.21, 2, 0, "Change_Grid_A") + MovementLoopAddLocation(NPC, 184.17, 18.4, -84.63, 2, 0) + MovementLoopAddLocation(NPC, 183.4, 18.4, -91.12, 2, 0) + MovementLoopAddLocation(NPC, 196.08, 18.47, -94.69, 2, 0) + MovementLoopAddLocation(NPC, 201.83, 18.47, -95.27, 2, 0) + MovementLoopAddLocation(NPC, 205.46, 18.47, -96.42, 2, 0) + MovementLoopAddLocation(NPC, 207.15, 18.47, -97.48, 2, 0) + MovementLoopAddLocation(NPC, 208.84, 18.47, -100.21, 2, 0) + MovementLoopAddLocation(NPC, 208.81, 18.47, -102.18, 2, 0) + MovementLoopAddLocation(NPC, 207.69, 18.47, -104.47, 2, 0) + MovementLoopAddLocation(NPC, 206.65, 18.47, -105.37, 2, 0) + MovementLoopAddLocation(NPC, 204.97, 18.47, -106.05, 2, 0) + MovementLoopAddLocation(NPC, 203.68, 18.47, -105.96, 2, 0) + MovementLoopAddLocation(NPC, 201.58, 18.47, -104.93, 2, 0) + MovementLoopAddLocation(NPC, 198.1, 18.47, -102.97, 2, 0) + MovementLoopAddLocation(NPC, 196.02, 18.47, -103.58, 2, 0) + MovementLoopAddLocation(NPC, 192.43, 18.47, -106.4, 2, 0) + MovementLoopAddLocation(NPC, 188.05, 18.47, -110.87, 2, 0) + MovementLoopAddLocation(NPC, 186.67, 18.47, -113.14, 2, 0) + MovementLoopAddLocation(NPC, 186.4, 18.47, -115.13, 2, 0) + MovementLoopAddLocation(NPC, 187.26, 18.47, -116.72, 2, 0) + MovementLoopAddLocation(NPC, 192.82, 18.47, -122.98, 2, 0) + MovementLoopAddLocation(NPC, 194.72, 18.47, -124.58, 2, 0) + MovementLoopAddLocation(NPC, 196.99, 18.47, -125.52, 2, 0) + MovementLoopAddLocation(NPC, 198.25, 18.47, -125.38, 2, 0) + MovementLoopAddLocation(NPC, 199.99, 18.47, -124.45, 2, 0) + MovementLoopAddLocation(NPC, 202.75, 18.47, -122.31, 2, 0) + MovementLoopAddLocation(NPC, 208.14, 18.47, -116.91, 2, 0) + MovementLoopAddLocation(NPC, 208.94, 18.47, -115.44, 2, 0) + MovementLoopAddLocation(NPC, 209.45, 18.47, -113.76, 2, 0) + MovementLoopAddLocation(NPC, 209.48, 18.47, -112.61, 2, 0) + MovementLoopAddLocation(NPC, 209.24, 18.47, -108.13, 2, 0) + MovementLoopAddLocation(NPC, 207.35, 18.47, -100.85, 2, 0) + MovementLoopAddLocation(NPC, 205.73, 18.47, -98.81, 2, 0) + MovementLoopAddLocation(NPC, 201.05, 18.47, -96.26, 2, 0) + MovementLoopAddLocation(NPC, 194.88, 18.47, -94.65, 2, 0) + MovementLoopAddLocation(NPC, 188.22, 18.47, -94.32, 2, 0) + MovementLoopAddLocation(NPC, 184.14, 18.4, -92.62, 2, 0) + MovementLoopAddLocation(NPC, 181.3, 18.4, -75.58, 2, 0, "Change_Grid_B") + MovementLoopAddLocation(NPC, 174.21, 18.4, -59.21, 2, 0) + MovementLoopAddLocation(NPC, 163.09, 18.4, -42.89, 2, 0) + MovementLoopAddLocation(NPC, 161.77, 18.4, -43.49, 2, 0) +end + + +function Change_Grid_A(NPC) + Say(NPC, "This is the Change_Grid_A function") + SetGridID(NPC, 3104458931) +end + + +function Change_Grid_B(NPC) + Say(NPC, "This is the Change_Grid_B function") + SetGridID(NPC, 908295842) +end + + diff --git a/Lua/SpawnScripts/FarJourneyFreeport/Anikra.lua b/Lua/SpawnScripts/FarJourneyFreeport/Anikra.lua new file mode 100755 index 000000000..2496ec4b8 --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/Anikra.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/Anikra.lua + Script Author : Ememjr + Script Date : 2019.05.11 03:05:38 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Dialog.New(NPC, Spawn) + Dialog.AddDialog("Do you want to call down the Drake?") + Dialog.AddOption("Yes, I want to see him in action!", "callDrake") + Dialog.AddOption("Hell No!") + Dialog.Start() +end + +function callDrake(NPC, Spawn) + FaceTarget(NPC, Spawn) + local drake = GetSpawn(NPC, 270013) + if drake ~= nil then + AddTimer(drake, 5000, "startanimation") + Say(NPC, "Drake should be flying") + + AddTimer(drake, 31000, "stopanimation") + Say(NPC, "Drake should be gone now") + end +end + + +--[[ +function callDrake(NPC, Spawn) + FaceTarget(NPC, Spawn) +Say(NPC,"I have made it past FaceTarget") + local drake = GetSpawn(Spawn, 270013) +Say(NPC, "I have set the local drake to the spawn id") +Say(NPC, "Test " .. drake) + SpawnSet(drake, "visual_state", 10783) + +end +]]-- + +function respawn(NPC) + +end diff --git a/Lua/SpawnScripts/FarJourneyFreeport/CaptainVarlos.lua b/Lua/SpawnScripts/FarJourneyFreeport/CaptainVarlos.lua new file mode 100755 index 000000000..5e6b6c18f --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/CaptainVarlos.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/CaptainVarlos.lua + Script Author : Cynnar + Script Date : 2019.09.28 03:09:56 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Dialog.New(NPC, Spawn) + Dialog.AddDialog("Ahoy! 'Tis good to see you awake. Ya seem a little squiffy, least ya' cheated death!") + Dialog.AddVoiceover("voiceover/english/captain_varlos/boat_06p_tutorial02/varlos_0_001.mp3", 1930075150, 2666442405) + Dialog.AddEmote("salute") + Dialog.AddOption("Where am I?", "temp1") + Dialog.Start() +end + +function temp1(NPC, Spawn) + Say(NPC, "Testing function call") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/FarJourneyFreeport/Geredo.lua b/Lua/SpawnScripts/FarJourneyFreeport/Geredo.lua new file mode 100755 index 000000000..a1d860523 --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/Geredo.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/Geredo.lua + Script Author : Cynnar + Script Date : 2019.08.04 12:08:08 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "", "flex", 0, 0) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/FarJourneyFreeport/Ingrid.lua b/Lua/SpawnScripts/FarJourneyFreeport/Ingrid.lua new file mode 100755 index 000000000..fa98ea76b --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/Ingrid.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/Ingrid.lua + Script Author : Cynnar + Script Date : 2019.10.18 06:10:27 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/FarJourneyFreeport/Valik.lua b/Lua/SpawnScripts/FarJourneyFreeport/Valik.lua new file mode 100755 index 000000000..d3a806e46 --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/Valik.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/Valik.lua + Script Author : Cynnar + Script Date : 2019.05.19 10:05:23 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + choice = math.random(0, 1) + + FaceTarget(NPC, Spawn) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/valik/boat_06p_tutorial02/001_refugee_valik_002_eaf98080.mp3", "I can't wait to reach the island, dry land and dry food. Fish is only good for a while, even for a Kerran.", "", 1919549905, 2798982211) + else + PlayFlavor(NPC, "voiceover/english/valik/boat_06p_tutorial02/001_refugee_valik_003_96415f8d.mp3", "I hear the Island of Refuge is the home of the Far Seas Trading Company. Maybe I will be able to find some work there.", "", 2997651561, 1452360635) + end +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/FarJourneyFreeport/Vim.lua b/Lua/SpawnScripts/FarJourneyFreeport/Vim.lua new file mode 100755 index 000000000..678e85f11 --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/Vim.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/Vim.lua + Script Author : Cynnar + Script Date : 2019.05.19 12:05:02 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/DialogModule" + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + choice = math.random(0, 3) + + FaceTarget(NPC, Spawn) + + if choice == 0 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_c5d0b965.mp3", "I have some tattered clothes for sale, want to take a look?", "agree", 1974233264, 2156679701) + + elseif choice == 1 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_6c0c3c22.mp3", "The Far Journey is a beautiful ship, ain't she?", "smirk", 139722646, 2672074756) + + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_d3204929.mp3", "Looking for something sturdy to wear?", "nod", 696787059, 2593820637) + + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_187fc6bb.mp3", "I am busy right now...", "no", 1835666244, 487490745) + + end +end + +function respawn(NPC) + +end + +function targeted(NPC, Spawn) + if GetDistance(Spawn, NPC) < 10 then + hailed(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FarJourneyFreeport/Waulon.lua b/Lua/SpawnScripts/FarJourneyFreeport/Waulon.lua new file mode 100755 index 000000000..1286cc7ab --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/Waulon.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/Waulon.lua + Script Author : Cynnar + Script Date : 2019.09.28 03:09:55 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/waulon/boat_06p_tutorial02/walon_0_008.mp3", "What? Can't ye see? Busy, away with ye!", "", 1608066875, 70639594) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/FarJourneyFreeport/tutorialdrake.lua b/Lua/SpawnScripts/FarJourneyFreeport/tutorialdrake.lua new file mode 100755 index 000000000..651ca2e5f --- /dev/null +++ b/Lua/SpawnScripts/FarJourneyFreeport/tutorialdrake.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FarJourneyFreeport/tutorialdrake.lua + Script Author : Cynnar + Script Date : 2019.05.18 11:05:52 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +SpawnSet(NPC, visual_state, 10783) +Say(NPC, "I should have changed my visual state") +end + +function respawn(NPC) + +end + +function startanimation(NPC, Spawn) + SpawnSet(NPC, "visual_state", "10783") +end + +function stopanimation(NPC, Spawn) + SpawnSet(NPC, "visual_state", "0") +end diff --git a/Lua/SpawnScripts/Feerrott/Turtle.lua b/Lua/SpawnScripts/Feerrott/Turtle.lua new file mode 100755 index 000000000..bbb31ff44 --- /dev/null +++ b/Lua/SpawnScripts/Feerrott/Turtle.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Feerrott/Turtle.lua + Script Author : Skywalker646 + Script Date : 2019.02.27 09:02:30 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Feerrott/astablemaster.lua b/Lua/SpawnScripts/Feerrott/astablemaster.lua new file mode 100755 index 000000000..c48087e71 --- /dev/null +++ b/Lua/SpawnScripts/Feerrott/astablemaster.lua @@ -0,0 +1,290 @@ +--[[ + Script Name : SpawnScripts/Feerrott/astablemaster.lua + Script Purpose : a stable master (2490000) + Script Author : Neatz09 + Script Date : 2/20/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 242878 then + AddConversationOption(con, "To Alliz Evol Station.", "CausewayToAllizEvol") + AddConversationOption(con, "To Alliz Tae Station.", "CausewayToAllizTae") + AddConversationOption(con, "To Dread Basin Station.", "CausewayToBasin") + AddConversationOption(con, "To Greenblood River.", "CausewayToRiver") + AddConversationOption(con, "To Tae Ew Station.", "CausewayToTaeEW") + AddConversationOption(con, "To Tower of Vul Station.", "CausewayToVul") + elseif GetSpawnLocationID(NPC) == 242877 then + AddConversationOption(con, "To Alliz Tae Station.", "EvolToTae") + AddConversationOption(con, "To Drowning Causeway Station.", "EvolToCauseway") + AddConversationOption(con, "To Dread Basin Station.", "EvolToBasin") + AddConversationOption(con, "To Greenblood River Station.", "EvolToRiver") + AddConversationOption(con, "To Tae Ew Station.", "EvolToTaeEw") + AddConversationOption(con, "To Tower of Vul Station.", "EvolToVul") + elseif GetSpawnLocationID(NPC) == 242876 then + AddConversationOption(con, "To Alliz Evol Station.", "RiverToEvol") + AddConversationOption(con, "To Alliz Tae Station.", "RiverToTae") + AddConversationOption(con, "To Dread Basin.", "RiverToBasin") + AddConversationOption(con, "To Drowning Causeway Station.", "RiverToCauseway") + AddConversationOption(con, "To Tae Ew Station.", "RiverToTaeEw") + AddConversationOption(con, "To Tower of Vul.", "RiverToVul") + elseif GetSpawnLocationID(NPC) == 242872 then + AddConversationOption(con, "To Alliz Evol Station.", "TaeToEvol") + AddConversationOption(con, "To Drowning Causeway Station.", "TaeToCauseway") + AddConversationOption(con, "To Dread Basin Station.", "TaeToBasin") + AddConversationOption(con, "To Greenblood River Station.", "TaeToRiver") + AddConversationOption(con, "To Tae Ew Station.", "TaeToTaeEw") + AddConversationOption(con, "To Tower of Vul Station.", "TaeToVul") + elseif GetSpawnLocationID(NPC) == 242871 then + AddConversationOption(con, "To Alliz Evol Station.", "BasinToEvol") + AddConversationOption(con, "To Alliz Tae Station.", "BasinToTae") + AddConversationOption(con, "To Drowning Causeway Station.", "BasinToCauseway") + AddConversationOption(con, "To Greenblood River Station.", "BasinToRiver") + AddConversationOption(con, "To Tae Ew Station.", "BasinToTaeEw") + AddConversationOption(con, "To Tower of Vul Station.", "BasinToVul") + elseif GetSpawnLocationID(NPC) == 242875 then + AddConversationOption(con, "To Alliz Evol Staton.", "TaeEwToEvol") + AddConversationOption(con, "To Alliz Tae Station.", "TaeEwToTae") + AddConversationOption(con, "To Dread Basin Station.", "TaeEwToBasin") + AddConversationOption(con, "To Drowning Causeway Station.", "TaeEwToCauseway") + AddConversationOption(con, "To Greenblood River Station.", "TaeEwToRiver") + AddConversationOption(con, "To Tower of Vul Station.", "TaeEwToVul") + elseif GetSpawnLocationID(NPC) == 242873 then + AddConversationOption(con, "To Alliz Evol Station.", "VulToEvol") + AddConversationOption(con, "To Alliz Tae Station.", "VulToTae") + AddConversationOption(con, "To Dread Basin Station.", "VulToBasin") + AddConversationOption(con, "To Drowning Causeway Station.", "VulToCauseway") + AddConversationOption(con, "To Greenblood River Station.", "VulToRiver") + AddConversationOption(con, "To Tae Ew Station.", "VulToTaeEw") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function CausewayToAllizEvol(NPC, Spawn) + StartAutoMount(Spawn, 265) + SetMount(Spawn, 6846) +end + +function CausewayToAllizTae(NPC, Spawn) + StartAutoMount(Spawn, 294) + SetMount(Spawn, 6846) +end + +function CausewayToBasin(NPC, Spawn) + StartAutoMount(Spawn, 292) + SetMount(Spawn, 6846) +end + +function CausewayToRiver(NPC, Spawn) + StartAutoMount(Spawn, 293) + SetMount(Spawn, 6846) +end + +function CausewayToVul(NPC, Spawn) + StartAutoMount(Spawn, 291) + SetMount(Spawn, 6846) +end + +function CausewayToTaeEW(NPC, Spawn) + StartAutoMount(Spawn, 295) + SetMount(Spawn, 6846) +end + +function EvolToTae(NPC, Spawn) + StartAutoMount(Spawn, 281) + SetMount(Spawn, 6846) +end + +function EvolToCauseway(NPC, Spawn) + StartAutoMount(Spawn, 266) + SetMount(Spawn, 6846) +end + +function EvolToBasin(NPC, Spawn) + StartAutoMount(Spawn, 280) + SetMount(Spawn, 6846) +end + +function EvolToRiver(NPC, Spawn) + StartAutoMount(Spawn, 267) + SetMount(Spawn, 6846) +end + +function EvolToTaeEw(NPC, Spawn) + StartAutoMount(Spawn, 268) + SetMount(Spawn, 6846) +end + +function EvolToVul(NPC, Spawn) + StartAutoMount(Spawn, 279) + SetMount(Spawn, 6846) +end + +function RiverToEvol(NPC, Spawn) + StartAutoMount(Spawn, 269) + SetMount(Spawn, 6846) +end + +function RiverToTae(NPC, Spawn) + StartAutoMount(Spawn, 302) + SetMount(Spawn, 6846) +end + +function RiverToBasin(NPC, Spawn) + StartAutoMount(Spawn, 300) + SetMount(Spawn, 6846) +end + +function RiverToCauseway(NPC, Spawn) + StartAutoMount(Spawn, 301) + SetMount(Spawn, 6846) +end + +function RiverToTaeEw(NPC, Spawn) + StartAutoMount(Spawn, 270) + SetMount(Spawn, 6846) +end + +function RiverToVul(NPC, Spawn) + StartAutoMount(Spawn, 299) + SetMount(Spawn, 6846) +end + +function TaeToEvol(NPC, Spawn) + StartAutoMount(Spawn, 285) + SetMount(Spawn, 6846) +end + +function TaeToCauseway(NPC, Spawn) + StartAutoMount(Spawn, 283) + SetMount(Spawn, 6846) +end + +function TaeToBasin(NPC, Spawn) + StartAutoMount(Spawn, 271) + SetMount(Spawn,6846) +end + +function TaeToRiver(NPC, Spawn) + StartAutoMount(Spawn, 282) + SetMount(Spawn, 6846) +end + +function TaeToTaeEw(NPC, Spawn) + StartAutoMount(Spawn, 284) + SetMount(Spawn, 6846) +end + +function TaeToVul(NPC, Spawn) + StartAutoMount(Spawn, 284) + SetMount(Spawn, 6846) +end + +function BasinToEvol(NPC, Spawn) + StartAutoMount(Spawn, 290) + SetMount(Spawn, 6846) +end + +function BasinToTae(NPC, Spawn) + StartAutoMount(Spawn, 278) + SetMount(Spawn, 6846) +end + +function BasinToCauseway(NPC, Spawn) + StartAutoMount(Spawn, 288) + SetMount(Spawn, 6846) +end + +function BasinToRiver(NPC, Spawn) + StartAutoMount(Spawn, 287) + SetMount(Spawn, 6846) +end + +function BasinToTaeEw(NPC, Spawn) + StartAutoMount(Spawn, 289) + SetMount(Spawn, 6846) +end + +function BasinToVul(NPC, Spawn) + StartAutoMount(Spawn, 286) + SetMount(Spawn, 6846) +end + +function TaeEwToEvol(NPC, Spawn) + StartAutoMount(Spawn, 272) + SetMount(Spawn, 6846) +end + +function TaeEwToTae(NPC, Spawn) + StartAutoMount(Spawn, 298) + SetMount(Spawn, 6846) +end + +function TaeEwToBasin(NPC, Spawn) + StartAutoMount(Spawn, 296) + SetMount(Spawn, 6846) +end + +function TaeEwToCauseway(NPC, Spawn) + StartAutoMount(Spawn, 297) + SetMount(Spawn, 6846) +end + +function TaeEwToRiver(NPC, Spawn) + StartAutoMount(Spawn, 273) + SetMount(Spawn, 6846) +end + +function TaeEwToVul(NPC, Spawn) + StartAutoMount(Spawn, 274) + SetMount(Spawn, 6846) +end + +function VulToEvol(NPC, Spawn) + StartAutoMount(Spawn, 290) + SetMount(Spawn, 6846) +end + +function VulToTae(NPC, Spawn) + StartAutoMount(Spawn, 277) + SetMount(Spawn, 6846) +end + +function VulToBasin(NPC, Spawn) + StartAutoMount(Spawn, 303) + SetMount(Spawn, 6846) +end + +function VulToCauseway(NPC, Spawn) + StartAutoMount(Spawn, 305) + SetMount(Spawn, 6846) +end + +function VulToRiver(NPC, Spawn) + StartAutoMount(Spawn, 304) + SetMount(Spawn, 6846) +end + +function VulToTaeEw(NPC, Spawn) + StartAutoMount(Spawn, 276) + SetMount(Spawn, 6846) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FensNathsar/asokokartamer.lua b/Lua/SpawnScripts/FensNathsar/asokokartamer.lua new file mode 100755 index 000000000..fb5416551 --- /dev/null +++ b/Lua/SpawnScripts/FensNathsar/asokokartamer.lua @@ -0,0 +1,841 @@ +--[[ + Script Name : SpawnScripts/FensNathsar/asokokartamer.lua + Script Purpose : a stable master (2640003) + Script Author : Neatz09 + Script Date : 4/15/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 259318 then + --Riliss-- + AddConversationOption(con, "To Atrebe's Laboratory", "RilToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "RilToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "RilToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "RilToDragon") + AddConversationOption(con, "To Drogan Exiles.", "RilToDrogan") + AddConversationOption(con, "To Eastern Pens.", "RilToEast") + AddConversationOption(con, "To Kylong Plains.", "RilToKylong") + AddConversationOption(con, "To Omen's Call.", "RilToOmen") + AddConversationOption(con, "To Ruins of Cabilis.", "RilToCab") + AddConversationOption(con, "To Sathir's Span.", "RilToSpan") + AddConversationOption(con, "To Western Pens.", "RilToWest") + elseif GetSpawnLocationID(NPC) == 259322 then + --Omen's Call-- + AddConversationOption(con, "To Atrebe's Laboratory.", "OmenToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "OmenToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "OmenToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "OmenToDragon") + AddConversationOption(con, "To Drogan Exiles.", "OmenToDrogan") + AddConversationOption(con, "To Eastern Pens.", "OmenToEast") + AddConversationOption(con, "To Kylong Plains.", "OmenToKylong") + AddConversationOption(con, "To Riliss.", "OmenToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "OmenToCab") + AddConversationOption(con, "To Sathir's Span.", "OmenToSpan") + AddConversationOption(con, "To Western Pens.", "OmenToWest") + elseif GetSpawnLocationID(NPC) == 259324 then + --Atrebe's Laboratory-- + AddConversationOption(con, "To Bathezid's Watch.", "AtrebeToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "AtrebeToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "AtrebeToDragon") + AddConversationOption(con, "To Drogan Exiles.", "AtrebeToDrogan") + AddConversationOption(con, "To Eastern Pens.", "AtrebeToEast") + AddConversationOption(con, "To Kylong Plains.", "AtrebeToKylong") + AddConversationOption(con, "To Omen's Call.", "AtrebeToOmen") + AddConversationOption(con, "To Riliss.", "AtrebeToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "AtrebeToCab") + AddConversationOption(con, "To Sathir's Span.", "AtrebeToSpan") + AddConversationOption(con, "To Western Pens.", "AtrebeToWest") + elseif GetSpawnLocationID(NPC) == 259316 then + --Bellywumper Burrows-- + AddConversationOption(con, "To Atrebe's Laboratory.", "BurrowToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "BurrowToBathezid") + AddConversationOption(con, "To Dragon's Rest.", "BurrowToDragon") + AddConversationOption(con, "To Drogan Exiles.", "BurrowToDrogan") + AddConversationOption(con, "To Eastern Pens.", "BurrowToEast") + AddConversationOption(con, "To Kylong Plains.", "BurrowToKylong") + AddConversationOption(con, "To Omen's Call.", "BurrowToOmen") + AddConversationOption(con, "To Riliss.", "BurrowToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "BurrowToCab") + AddConversationOption(con, "To Sathir's Span.", "BurrowToSpan") + AddConversationOption(con, "To Western Pens.", "BurrowToWest") + elseif GetSpawnLocationID(NPC) == 259319 then + --Drogan Exiles-- + AddConversationOption(con, "To Atrebe's Laboratory.", "DroganToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "DroganToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "DroganToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "DroganToDragon") + AddConversationOption(con, "To Eastern Pens.", "DroganToEast") + AddConversationOption(con, "To Kylong Plains.", "DroganToKylong") + AddConversationOption(con, "To Omen's Call.", "DroganToOmen") + AddConversationOption(con, "To Riliss.", "DroganToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "DroganToCab") + AddConversationOption(con, "To Sathir's Span.", "DroganToSpan") + AddConversationOption(con, "To Western Pens.", "DroganToWest") + elseif GetSpawnLocationID(NPC) == 259323 then + --Kylong Plains-- + AddConversationOption(con, "To Atrebe's Laboratory.", "KylongToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "KylongToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "KylongToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "KylongToDragon") + AddConversationOption(con, "To Drogan Exiles.", "KylongToDrogan") + AddConversationOption(con, "To Eastern Pens.", "KylongToEast") + AddConversationOption(con, "To Omen's Call.", "KylongToOmen") + AddConversationOption(con, "To Riliss.", "KylongToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "KylongToCab") + AddConversationOption(con, "To Sathir's Span.", "KylongToSpan") + AddConversationOption(con, "To Western Pens.", "KylongToWest") + elseif GetSpawnLocationID(NPC) == 259320 then + --Ruins of Cabilis- + AddConversationOption(con, "To Atrebe's Laboratory.", "CabToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "CabToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "CabToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "CabToDragon") + AddConversationOption(con, "To Drogan Exiles.", "CabToDrogan") + AddConversationOption(con, "To Eastern Pens.", "CabToEast") + AddConversationOption(con, "To Kylong Plains.", "CabToKylong") + AddConversationOption(con, "To Omen's Call.", "CabToOmen") + AddConversationOption(con, "To Riliss.", "CabToRil") + AddConversationOption(con, "To Sathir's Span.", "CabToSpan") + AddConversationOption(con, "To Western Pens.", "CabToWest") + elseif GetSpawnLocationID(NPC) == 605980 then + --Bathezid's Watch-- + AddConversationOption(con, "To Atrebe's Laboratory.", "BathezidToAtrebe") + AddConversationOption(con, "To Bellywumper Burrows.", "BathezidToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "BathezidToDragon") + AddConversationOption(con, "To Drogan Exiles.", "BathezidToDrogan") + AddConversationOption(con, "To Eastern Pens.", "BathezidToEast") + AddConversationOption(con, "To Kylong Plains.", "BathezidToKylong") + AddConversationOption(con, "To Omen's Call.", "BathezidToOmen") + AddConversationOption(con, "To Riliss.", "BathezidToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "BathezidToCab") + AddConversationOption(con, "To Sathir's Span.", "BathezidToSpan") + AddConversationOption(con, "To Western Pens.", "BathezidToWest") + elseif GetSpawnLocationID(NPC) == 605977 then + ---Western Pens-- + AddConversationOption(con, "To Atrebe's Laboratory.", "WestToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "WestToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "WestToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "WestToDragon") + AddConversationOption(con, "To Drogan Exiles.", "WestToDrogan") + AddConversationOption(con, "To Eastern Pens.", "WestToEast") + AddConversationOption(con, "To Kylong Plains.", "WestToKylong") + AddConversationOption(con, "To Omen's Call.", "WestToOmen") + AddConversationOption(con, "To Riliss.", "WestToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "WestToCab") + AddConversationOption(con, "To Sathir's Span.", "WestToSpan") + elseif GetSpawnLocationID(NPC) == 259321 then + ---Sathir's Span-- + AddConversationOption(con, "To Atrebe's Laboratory.", "SpanToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "SpawnToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "SpanToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "SpanToDragon") + AddConversationOption(con, "To Drogan Exiles.", "SpanToDrogan") + AddConversationOption(con, "To Eastern Pens.", "SpanToEast") + AddConversationOption(con, "To Kylong Plains.", "SpanToKylong") + AddConversationOption(con, "To Omen's Call.", "SpanToOmen") + AddConversationOption(con, "To Riliss.", "SpanToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "SpanToCab") + AddConversationOption(con, "To Western Pens.", "SpanToWest") + elseif GetSpawnLocationID(NPC) == 259317 then + ---Eastern Pens-- + AddConversationOption(con, "To Atrebe's Laboratory.", "EastToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "EastToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "EastToBurrow") + AddConversationOption(con, "To Dragon's Rest.", "EastToDragon") + AddConversationOption(con, "To Drogan Exiles.", "EastToDrogan") + AddConversationOption(con, "To Kylong Plains.", "EastToKylong") + AddConversationOption(con, "To Omen's Call.", "EastToOmen") + AddConversationOption(con, "To Riliss.", "EastToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "EastToCab") + AddConversationOption(con, "To Sathir's Span.", "EastToSpan") + AddConversationOption(con, "To Western Pens.", "EastToWest") + elseif GetSpawnLocationID(NPC) == 259315 then + ---Dragon's Rest-- + AddConversationOption(con, "To Atrebe's Laboratory.", "DragonToAtrebe") + AddConversationOption(con, "To Bathezid's Watch.", "DragonToBathezid") + AddConversationOption(con, "To Bellywumper Burrows.", "DragonToBurrow") + AddConversationOption(con, "To Drogan Exiles.", "DragonToDrogan") + AddConversationOption(con, "To Eastern Pens.", "DragonToEast") + AddConversationOption(con, "To Kylong Plains.", "DragonToKylong") + AddConversationOption(con, "To Omen's Call.", "DragonToOmen") + AddConversationOption(con, "To Riliss.", "DragonToRil") + AddConversationOption(con, "To Ruins of Cabilis.", "DragonToCab") + AddConversationOption(con, "To Sathir's Span.", "DragonToSpan") + AddConversationOption(con, "To Western Pens.", "DragonToWest") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function RilToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 452) + SetMount(Spawn, 7253) +end + +function RilToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 451) + SetMount(Spawn, 7253) +end + +function RilToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 401) + SetMount(Spawn, 7253) +end + +function RilToDragon(NPC, Spawn) + StartAutoMount(Spawn, 449) + SetMount(Spawn, 7253) +end + +function RilToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 448) + SetMount(Spawn, 7253) +end + +function RilToEast(NPC, Spawn) + StartAutoMount(Spawn, 450) + SetMount(Spawn, 7253) +end + +function RilToKylong(NPC, Spawn) + StartAutoMount(Spawn, 399) + SetMount(Spawn, 7253) +end + +function RilToOmen(NPC, Spawn) + StartAutoMount(Spawn, 447) + SetMount(Spawn, 7253) +end + +function RilToCab(NPC, Spawn) + StartAutoMount(Spawn, 400) + SetMount(Spawn, 7253) +end + +function RilToSpan(NPC, Spawn) + StartAutoMount(Spawn, 453) + SetMount(Spawn, 7253) +end + +function RilToWest(NPC, Spawn) + StartAutoMount(Spawn, 402) + SetMount(Spawn, 7253) +end + +function OmenToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 412) + SetMount(Spawn, 7253) +end + +function OmenToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 405) + SetMount(Spawn, 7253) +end + +function OmenToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 457) + SetMount(Spawn, 7253) +end + +function OmenToDragon(NPC, Spawn) + StartAutoMount(Spawn, 456) + SetMount(Spawn, 7253) +end + +function OmenToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 406) + SetMount(Spawn, 7253) +end + +function OmenToEast(NPC, Spawn) + StartAutoMount(Spawn, 455) + SetMount(Spawn, 7253) +end + +function OmenToKylong(NPC, Spawn) + StartAutoMount(Spawn, 454) + SetMount(Spawn, 7253) +end + +function OmenToRil(NPC, Spawn) + StartAutoMount(Spawn, 459) + SetMount(Spawn, 7253) +end + +function OmenToCab(NPC, Spawn) + StartAutoMount(Spawn, 460) + SetMount(Spawn, 7253) +end + +function OmenToSpan(NPC, Spawn) + StartAutoMount(Spawn, 403) + SetMount(Spawn,7253) +end + +function OmenToWest(NPC, Spawn) + StartAutoMount(Spawn, 458) + SetMount(Spawn, 7253) +end + +function AtrebeToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 476) + SetMount(Spawn, 7253) +end + +function AtrebeToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 474) + SetMount(Spawn, 7253) +end + +function AtrebeToDragan(NPC, Spawn) + StartAutoMount(Spawn, 473) + SetMount(Spawn, 7253) +end + +function AtrebeToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 472) + SetMount(Spawn, 7253) +end + +function AtrebeToEast(NPC, Spawn) + StartAutoMount(Spawn, 470) + SetMount(Spawn, 7253) +end + +function AtrebeToKylong(NPC, Spawn) + StartAutoMount(Spawn, 469) + SetMount(Spawn, 7253) +end + +function AtrebeToOmen(NPC, Spawn) + StartAutoMount(Spawn, 407) + SetMount(Spawn, 7253) +end + +function AtrebeToRil(NPC, Spawn) + StartAutoMount(Spawn, 471) + SetMount(Spawn, 7253) +end + +function AtrebeToCab(NPC, Spawn) + StartAutoMount(Spawn, 478) + SetMount(Spawn, 7253) +end + +function AtrebeToSpan(NPC, Spawn) + StartAutoMount(Spawn, 477) + SetMount(Spawn, 7253) +end + +function AtrebeToWest(NPC, Spawn) + StartAutoMount(Spawn, 475) + SetMount(Spawn, 7253) +end + +function BurrowToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 524) + SetMount(Spawn, 7253) +end + +function BurrowToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 523) + SetMount(Spawn, 7253) +end + +function BurrowToDragon(NPC, Spawn) + StartAutoMount(Spawn, 410) + SetMount(Spawn, 7253) +end + +function BurrowToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 408) + SetMount(Spawn, 7253) +end + +function BurrowToEast(NPC, Spawn) + StartAutoMount(Spawn, 520) + SetMount(Spawn, 7253) +end + +function BurrowToKylong(NPC, Spawn) + StartAutoMount(Spawn, 518) + SetMount(Spawn, 7253) +end + +function BurrowToOmen(NPC, Spawn) + StartAutoMount(Spawn, 521) + SetMount(Spawn, 7253) +end + +function BurrowToRil(NPC, Spawn) + StartAutoMount(Spawn, 413) + SetMount(Spawn, 7253) +end + +function BurrowToCab(NPC, Spawn) + StartAutoMount(Spawn, 525) + SetMount(Spawn, 7253) +end + +function BurrowToSpan(NPC, Spawn) + StartAutoMount(Spawn, 519) + SetMount(Spawn, 7253) +end + +function BurrowToWest(NPC, Spawn) + StartAutoMount(Spawn, 522) + SetMount(Spawn, 7253) +end + +function DroganToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 496) + SetMount(Spawn, 7253) +end + +function DroganToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 495) + SetMount(Spawn, 7253) +end + +function DroganToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 415) + SetMount(Spawn, 7253) +end + +function DroganToDragon(NPC, Spawn) + StartAutoMount(Spawn, 493) + SetMount(Spawn, 7253) +end + +function DroganToEast(NPC, Spawn) + StartAutoMount(Spawn, 492) + SetMount(Spawn, 7253) +end + +function DroganToKylong(NPC, Spawn) + StartAutoMount(Spawn, 489) + SetMount(Spawn, 7253) +end + +function DroganToOmen(NPC, Spawn) + StartAutoMount(Spawn, 409) + SetMount(Spawn, 7253) +end + +function DroganToRil(NPC, Spawn) + StartAutoMount(Spawn, 490) + SetMount(Spawn, 7253) +end + +function DroganToCab(NPC, Spawn) + StartAutoMount(Spawn, 497) + SetMount(Spawn, 7253) +end + +function DroganToSpan(NPC, Spawn) + StartAutoMount(Spawn, 491) + SetMount(Spawn, 7253) +end + +function DroganToWest(NPC, Spawn) + StartAutoMount(Spawn, 494) + SetMount(Spawn, 7253) +end + +function KylongToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 467) + SetMount(Spawn, 7253) +end + +function KylongToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 414) + SetMount(Spawn, 7253) +end + +function KylongToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 465) + SetMount(Spawn, 7253) +end + +function KylongToDragon(NPC, Spawn) + StartAutoMount(Spawn, 464) + SetMount(Spawn, 7253) +end + +function KylongToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 463) + SetMount(Spawn, 7253) +end + +function KylongToEast(NPC, Spawn) + StartAutoMount(Spawn, 461) + SetMount(Spawn, 7253) +end + +function KylongToOmen(NPC, Spawn) + StartAutoMount(Spawn, 462) + SetMount(Spawn, 7253) +end + +function KylongToRil(NPC, Spawn) + StartAutoMount(Spawn, 419) + SetMount(Spawn, 7253) +end + +function KylongToCab(NPC, Spawn) + StartAutoMount(Spawn, 468) + SetMount(Spawn, 7253) +end + +function KylongToSpan(NPC, Spawn) + StartAutoMount(Spawn, 416) + SetMount(Spawn, 7253) +end + +function KylongToWest(NPC, Spawn) + StartAutoMount(Spawn, 466) + SetMount(Spawn, 7253) +end + +function CabToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 516) + SetMount(Spawn, 7253) +end + +function CabToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 515) + SetMount(Spawn, 7253) +end + +function CabToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 513) + SetMount(Spawn, 7253) +end + +function CabToDragon(NPC, Spawn) + StartAutoMount(Spawn, 512) + SetMount(Spawn, 7253) +end + +function CabToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 511) + SetMount(Spawn, 7253) +end + +function CabToEast(NPC, Spawn) + StartAutoMount(Spawn, 517) + SetMount(Spawn, 7253) +end + +function CabToKylong(NPC, Spawn) + StartAutoMount(Spawn, 508) + SetMount(Spawn, 7253) +end + +function CabToOmen(NPC, Spawn) + StartAutoMount(Spawn, 510) + SetMount(Spawn, 7253) +end + +function CabToRil(NPC, Spawn) + StartAutoMount(Spawn, 418) + SetMount(Spawn, 7253) +end + +function CabToSpan(NPC, Spawn) + StartAutoMount(Spawn, 509) + SetMount(Spawn, 7253) +end + +function CabToWest(NPC, Spawn) + StartAutoMount(Spawn, 514) + SetMount(Spawn, 7253) +end + +function BathezidToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 533) + SetMount(Spawn, 7253) +end + +function BathezidToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 530) + SetMount(Spawn, 7253) +end + +function BathezidToDragon(NPC, Spawn) + StartAutoMount(Spawn, 529) + SetMount(Spawn, 7253) +end + +function BathezidToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 528) + SetMount(Spawn, 7253) +end + +function BathezidToEast(NPC, Spawn) + StartAutoMount(Spawn, 526) + SetMount(Spawn, 7253) +end + +function BathezidToKylong(NPC, Spawn) + StartAutoMount(Spawn, 420) + SetMount(Spawn, 7253) +end + +function BathezidToOmen(NPC, Spawn) + StartAutoMount(Spawn, 421) + SetMount(Spawn, 7253) +end + +function BathezidToRil(NPC, Spawn) + StartAutoMount(Spawn, 527) + SetMount(Spawn, 7253) +end + +function BathezidToCab(NPC, Spawn) + StartAutoMount(Spawn, 534) + SetMount(Spawn, 7253) +end + +function BathezidToSpan(NPC, Spawn) + StartAutoMount(Spawn, 532) + SetMount(Spawn, 7253) +end + +function BathezidToWest(NPC, Spawn) + StartAutoMount(Spawn, 531) + SetMount(Spawn, 7253) +end + +function WestToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 437) + SetMount(Spawn, 7253) +end + +function WestToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 436) + SetMount(Spawn, 7253) +end + +function WestToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 435) + SetMount(Spawn, 7253) +end + +function WestToDragon(NPC, Spawn) + StartAutoMount(Spawn, 434) + SetMount(Spawn, 7253) +end + +function WestToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 433) + SetMount(Spawn, 7253) +end + +function WestToEast(NPC, Spawn) + StartAutoMount(Spawn, 426) + SetMount(Spawn, 7253) +end + +function WestToKylong(NPC, Spawn) + StartAutoMount(Spawn, 431) + SetMount(Spawn, 7253) +end + +function WestToOmen(NPC, Spawn) + StartAutoMount(Spawn, 432) + SetMount(Spawn, 7253) +end + +function WestToRil(NPC, Spawn) + StartAutoMount(Spawn, 428) + SetMount(Spawn, 7253) +end + +function WestToCab(NPC, Spawn) + StartAutoMount(Spawn, 438) + SetMount(Spawn, 7253) +end + +function WestToSpan(NPC, Spawn) + StartAutoMount(Spawn, 429) + SetMount(Spawn, 7253) +end + +function SpanToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 443) + SetMount(Spawn, 7253) +end + +function SpanToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 442) + SetMount(Spawn, 7253) +end + +function SpanToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 441) + SetMount(Spawn, 7253) +end + +function SpanToDragon(NPC, Spawn) + StartAutoMount(Spawn, 440) + SetMount(Spawn, 7253) +end + +function SpanToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 439) + SetMount(Spawn, 7253) +end + +function SpanToEast(NPC, Spawn) + StartAutoMount(Spawn, 445) + SetMount(Spawn, 7253) +end + +function SpanToKylong(NPC, Spawn) + StartAutoMount(Spawn, 425) + SetMount(Spawn, 7253) +end + +function SpanToOmen(NPC, Spawn) + StartAutoMount(Spawn, 423) + SetMount(Spawn, 7253) +end + +function SpanToRil(NPC, Spawn) + StartAutoMount(Spawn, 446) + SetMount(Spawn, 7253) +end + +function SpanToCab(NPC, Spawn) + StartAutoMount(Spawn, 444) + SetMount(Spawn, 7253) +end + +function SpanToWest(NPC, Spawn) + StartAutoMount(Spawn, 424) + SetMount(Spawn, 7253) +end + +function EastToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 487) + SetMount(Spawn, 7253) +end + +function EastToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 486) + SetMount(Spawn, 7253) +end + +function EastToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 485) + SetMount(Spawn, 7253) +end + +function EastToDragon(NPC, Spawn) + StartAutoMount(Spawn, 484) + SetMount(Spawn, 7253) +end + +function EastToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 483) + SetMount(Spawn, 7253) +end + +function EastToKylong(NPC, Spawn) + StartAutoMount(Spawn, 479) + SetMount(Spawn, 7253) +end + +function EastToOmen(NPC, Spawn) + StartAutoMount(Spawn, 482) + SetMount(Spawn, 7253) +end + +function EastToRil(NPC, Spawn) + StartAutoMount(Spawn, 480) + SetMount(Spawn, 7253) +end + +function EastToCab(NPC, Spawn) + StartAutoMount(Spawn, 488) + SetMount(Spawn, 7253) +end + +function EastToWest(NPC, Spawn) + StartAutoMount(Spawn, 430) + SetMount(Spawn, 7253) +end + +function DragonToAtrebe(NPC, Spawn) + StartAutoMount(Spawn, 505) + SetMount(Spawn, 7253) +end + +function DragonToBathezid(NPC, Spawn) + StartAutoMount(Spawn, 507) + SetMount(Spawn, 7253) +end + +function DragonToBurrow(NPC, Spawn) + StartAutoMount(Spawn, 427) + SetMount(Spawn, 7253) +end + +function DragonToDrogan(NPC, Spawn) + StartAutoMount(Spawn, 502) + SetMount(Spawn, 7253) +end + +function DragonToEast(NPC, Spawn) + StartAutoMount(Spawn, 500) + SetMount(Spawn, 7253) +end + +function DragonToKylong(NPC, Spawn) + StartAutoMount(Spawn, 498) + SetMount(Spawn, 7253) +end + +function DragonToOmen(NPC, Spawn) + StartAutoMount(Spawn, 501) + SetMount(Spawn, 7253) +end + +function DragonToRil(NPC, Spawn) + StartAutoMount(Spawn, 499) + SetMount(Spawn, 7253) +end + +function DragonToCab(NPC, Spawn) + StartAutoMount(Spawn, 506) + SetMount(Spawn, 7253) +end + +function DragonToSpan(NPC, Spawn) + StartAutoMount(Spawn, 503) + SetMount(Spawn, 7253) +end + +function DragonToWest(NPC, Spawn) + StartAutoMount(Spawn, 504) + SetMount(Spawn, 7253) +end diff --git a/Lua/SpawnScripts/ForestRuins/ActingLieutenantGermain.lua b/Lua/SpawnScripts/ForestRuins/ActingLieutenantGermain.lua new file mode 100755 index 000000000..917998890 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/ActingLieutenantGermain.lua @@ -0,0 +1,213 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/ActingLieutenantGermain.lua + Script Purpose : Acting Lieutenant Germain + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local QUEST_FROM_POKO = 201 +local QUEST_1 = 202 +local QUEST_2 = 1 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_POKO) and GetQuestStep(Spawn, QUEST_FROM_POKO) == 3 then + AddConversationOption(conversation, "I have news for you.", "NewsForYou") + end + + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0) + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + elseif HasQuest(Spawn, QUEST_2) then + else + OnQuest1(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetLevel(Spawn) >= 5 then + WelcomeCitizen(NPC, Spawn, conversation) + else + Say(NPC, "Come back to me once you've gotten a bit stronger.", Spawn) + end + end + + +--[[ + + if convo==1 then + AddConversationOption(conversation, "I do not know yet.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "What does Poko say?") + end + + if convo==6 then + + end + + if convo==7 then + + StartConversation(conversation, NPC, Spawn, "Any news of Del Varun?") + end + + if convo==8 then + AddConversationOption(conversation, "I do not know yet.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "What does Poko say?") + end + + if convo==16 then + AddConversationOption(conversation, "I have news for you.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Welcome, citizen. Please be careful around here.") + end +--]] +end + +---------------------------------------------------------------------------------------------------------- +-- QUEST FROM POKO +---------------------------------------------------------------------------------------------------------- + +function NewsForYou(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_POKO, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I was collecting machine parts for Poko and one of the parts I returned seems to be of Freeportian origin.", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "What is it, citizen?") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "I can help.", "dlg_16_3") + else + AddConversationOption(conversation, "You're welcome.") + end + StartConversation(conversation, NPC, Spawn, "The bad news just doesn't cease. Citizen, there are obviously multiple things afoot in this place, I thank you for your help even if you're adding to my discomfort.") +end + +---------------------------------------------------------------------------------------------------------- +-- QUEST 1 +---------------------------------------------------------------------------------------------------------- + +function WelcomeCitizen(NPC, Spawn, conversation) + AddConversationOption(conversation, "Is it dangerous here?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Welcome, citizen. Please be careful around here.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It sounds very busy here.", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Yes, quite dangerous. We have been getting reports, strange reports, over the past few days. Nobody is sure exactly what is going on, and we don't have the manpower to find out once and for all. I've got scouts but even they can only do so much. We've got so few people that it's hard to take care of all the little things. Ever since the pirates landed the Concordium has been asking for more and more protection.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can help.", "dlg_1_3") + AddConversationOption(conversation, "Sorry, I can't help right now.") + StartConversation(conversation, NPC, Spawn, "More than you know. With dead-end investigations, big threats, little threats, and vague orders from the Qeynos Guard AND the Concordium I'm amazed this place hasn't been put under siege by the hawks yet. I'm sorry for complaining to you. Listen, how would you like to help me out?") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll see what I can find.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Good, that's great news. The first thing I'd like you to do is help me locate a missing scout. Del Varun was assigned to the small pond on the western side of the ruins. He hasn't checked back in and hasn't been spotted in a few days. I'd like you to head that direction and see if you can find him.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if (HasQuest(Spawn, QUSET_1) and GetQuestStep(Spawn, QUEST_1) == 4) or (HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "Yes. I found his satchel.", "dlg_7_1") + elseif GetQuestStep(Spawn, QUEST_1) == 2 then + SetStepComplete(Spawn, QUEST_1, 2) + else + AddConversationOption(conversation, "Not quite yet.") + end + + StartConversation(conversation, NPC, Spawn, "Any news of Del Varun?") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "There is more. In his notes he mentioned some strange, glowing plants north of the pond. I brought back a sample.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Only his satchel? I was afraid of this. I wish we had some leads, he may yet be alive.") +end + +function dlg_7_2(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, take a look at this leaf.", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Ah, good thinking. Did you see the glowing too? Perhaps it was a transitory thing.") +end + +---------------------------------------------------------------------------------------------------------- +-- QUEST 2 +---------------------------------------------------------------------------------------------------------- + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you think it is?", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Incredible. Please, take this to Poko Zing over there. Have him analyze it for us.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + --OfferQuest(NPC, Spawn, QUEST_2) +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right.", "dlg_7_5") + StartConversation(conversation, NPC, Spawn, "I don't know, but I'm hoping Poko will be able to tell us.") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I do not know yet.", "dlg_7_6") + StartConversation(conversation, NPC, Spawn, "What does Poko say?") +end + + diff --git a/Lua/SpawnScripts/ForestRuins/Aedre.lua b/Lua/SpawnScripts/ForestRuins/Aedre.lua new file mode 100755 index 000000000..dee35444d --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/Aedre.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/Aedre.lua + Script Purpose : Aedre + Script Author : John Adams + Script Date : 2009.05.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + hailed(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 489810336, 3318568259, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2588954321, 88153469, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1667555721, 2696093362, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1527285383, 3910629798, Spawn) + else + end + +end diff --git a/Lua/SpawnScripts/ForestRuins/Dockins.lua b/Lua/SpawnScripts/ForestRuins/Dockins.lua new file mode 100755 index 000000000..9689dc206 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/Dockins.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/Dockins.lua + Script Purpose : Dockins + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dockins/qey_adv02_ruins_revamp/qst_food_guard_notonquest_c202f7fc.mp3", "Good day, citizen.", "", 3537850523, 972561152) +end + diff --git a/Lua/SpawnScripts/ForestRuins/ElvicGarrett.lua b/Lua/SpawnScripts/ForestRuins/ElvicGarrett.lua new file mode 100755 index 000000000..78927770f --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/ElvicGarrett.lua @@ -0,0 +1,99 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/ElvicGarrett.lua + Script Purpose : Elvic Garrett + Script Author : Scatman + Script Date : 2009.09.26 + Script Notes : +--]] + +local HALF_ELF = 6 +local HALFELF_MENTOR_QUEST_4 = 221 +local QUEST_1 = 1 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_4) then + HalfElfMentorQuest(NPC, Spawn, conversation) + else + if HasCompletedQuest(Spawn, QUEST_1) then + elseif HasQuest(Spawn, QUEST_1) then + else + -- posibily a level req of 3 here too. + if GetRace(Spawn) == HALF_ELF then + MyMindOccupied(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/elvic_garrett/qey_adv02_ruins_revamp/qst_halfelf_elvic_garrett_notonquest_2d73840b.mp3", "The changes to this land scare me.", "", 2326633148, 4032539718, Spawn) + end + end + end +end + +-------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_4 +-------------------------------------------------------------------------------------------------------------- + +function HalfElfMentorQuest(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/elvic_garrett/qey_adv02_ruins/quests/elvic/elvic_daelyn000.mp3", "", "", 422032417, 1174930976, Spawn) + AddConversationOption(conversation, "Daelyn has written something. He would like you to have a copy.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "These lands are not as safe as they once were.") +end + +function dlg_0_1(NPC, Spawn) + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_4, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, QUEST_1) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/elvic_garrett/qey_adv02_ruins/quests/elvic/elvic_daelyn001.mp3", "", "", 361439431, 2027311841, Spawn) + AddConversationOption(conversation, "What has your mind occupied?", "MyMindOccupied") + StartConversation(conversation, NPC, Spawn, "Ah, this is fortuitious. It has been some time since Daelyn has written something. My mind has been occupied as of late, I may have to save reading this for a time when I can focus more on my people.") + -- check too see what quest the player is on here. also do the check in OfferQuest + end +end + +-------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +-------------------------------------------------------------------------------------------------------------- + +function MyMindOccupied(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/elvic_garrett/qey_adv02_ruins/quests/elvic/elvic_daelyn002.mp3", "", "", 873310203, 1695943624, Spawn) + AddConversationOption(conversation, "I can help.", "dlg_0_3") + AddConversationOption(conversation, "Well, that's unfortunate. Goodbye.") + StartConversation(conversation, NPC, Spawn, "My mind is occupied with these lands. Something is off, though I know not what. I offered my assistance to the Qeynos guard, but haven't turned up anything yet.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/elvic_garrett/qey_adv02_ruins/quests/elvic/elvic_daelyn003.mp3", "", "", 3059918187, 1161029478, Spawn) + AddConversationOption(conversation, "I will see what I can find.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Perhaps you can. I've been patrolling the land around the ruins lately, occasionally I come across abandoned camps. Usually a fire pit or a collection of firewood that hasn't yet been burnt. Sometimes these abandoned camps have what may end up being clues, other times they contain worthless junk. If you could do me the favor of seeking out these camps it may help unwravel the mystery that is going on here.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + if not HasQuest(Spawn, QUEST_1) then + OfferQuest(NPC, Spawn, QUEST_1) + end +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/elvic_garrett/qey_adv02_ruins/quests/elvic/elvic_daelyn003.mp3", "", "", 3059918187, 1161029478, Spawn) + AddConversationOption(conversation, "I will see what I can find.", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Perhaps you can. I've been patrolling the land around the ruins lately, occasionally I come across abandoned camps. Usually a fire pit or a collection of firewood that hasn't yet been burnt. Sometimes these abandoned camps have what may end up being clues, other times they contain worthless junk. If you could do me the favor of seeking out these camps it may help unwravel the mystery that is going on here.") +end + diff --git a/Lua/SpawnScripts/ForestRuins/FindleGimblesled.lua b/Lua/SpawnScripts/ForestRuins/FindleGimblesled.lua new file mode 100755 index 000000000..d43a460da --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/FindleGimblesled.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/FindleGimblesled.lua + Script Purpose : Findle Gimblesled + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Sleeble is a gem fanatic! What use is a chunk of rock when you can spend your time with gears and steam?", "sniff", 1689589577, 4560189) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0) + end + +end + diff --git a/Lua/SpawnScripts/ForestRuins/IlaenLilac.lua b/Lua/SpawnScripts/ForestRuins/IlaenLilac.lua new file mode 100755 index 000000000..0b96cbbd7 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/IlaenLilac.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/IlaenLilac.lua + Script Purpose : Ilaen Lilac + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ilaen_lilac/qey_adv02_ruins_revamp/qst_woodelf_ilaen_lilac_notonquest_ae7644e9.mp3", "There is no failing greater than a child unable to protect a parent.", "", 138794585, 337134419) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ilaen_lilac/qey_adv02_ruins_revamp/qst_woodelf_ilaen_lilac_ulinir_d84a1bb.mp3", "You are wise to know Ulinir is worth your time. Speak with me if you wish to use your wisdom for a greater good.", "", 1864539566, 4233668295) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0) + end + + AddConversationOption(conversation, "Save this land from what?", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "If we do not work to save this land there are no others who will.") + if convo==15 then + AddConversationOption(conversation, "Yes, I found this arrow.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Have you found a clue yet?") + end + +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are you talking about?", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "If you have not felt it yet you will soon. The movement, the sudden interest in this place by multiple parties, and the strange deaths of this land's inhabitants.") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Killed by what?", "dlg_11_3") + StartConversation(conversation, NPC, Spawn, "I do not believe this land's problems are enough to interest the Qeynos Guard, not yet lestways. But any child of Tunare who spends time here soon realizes there is something sinister in these lands. The deer of these parts are being slain at an alarming rate. Most of their deaths are obviously the cause of wolves or other predators, natural causes, but some of their bodies are left dead and intact.") +end + +function dlg_11_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, I am willing.", "dlg_11_4") + AddConversationOption(conversation, "Sorry, no.") + StartConversation(conversation, NPC, Spawn, "I do not know, but I believe they are being hunted for sport. They have wounds consistent with arrow fire, but I have yet to recover any clues. Would you be willing to help me search for a clue?") +end + +function dlg_11_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return.", "dlg_11_5") + StartConversation(conversation, NPC, Spawn, "Good. Go find the deer bodies that litter these lands. Ignore the bodies killed by predators, seek out only the intact bodies. Search them for clues: weapons, specific types of scars, anything that will help determine who is beind their death.") +end + +function dlg_11_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.", "dlg_11_6") + StartConversation(conversation, NPC, Spawn, "May you do so without coming to harm.") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, from a dead deer.", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "You found this arrow here? You are certain?") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Alright, I shall.", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "This arrow is of gnollish make. It may have gotten here by innocent means, or a gnoll may have brought it here. If the gnolls are moving in then the Qeynos Guard will be very interested. I want you to take this arrow to Lieutenant Germain. Tell him where you found it, he will be most interested to hear this.") +end diff --git a/Lua/SpawnScripts/ForestRuins/OutlanderVaughn.lua b/Lua/SpawnScripts/ForestRuins/OutlanderVaughn.lua new file mode 100755 index 000000000..37df2704b --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/OutlanderVaughn.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/OutlanderVaughn.lua + Script Purpose : Outlander Vaughn + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + ProvidesQuest(NPC, 1) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0) + + if HasCompletedQuest(Spawn, 1) then + else + AddConversationOption(conversation, "What is it you need?", "dlg_4_1") + AddConversationOption(conversation, "No time for charity. ") + StartConversation(conversation, NPC, Spawn, "Am I ever in a bind! Will you please help me?") + end + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll see what I can do.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Those wretched Blackfurl deckhands stole my satchel! It had everything that was important to me. Please, recover my satchel!") +end diff --git a/Lua/SpawnScripts/ForestRuins/PokoZing.lua b/Lua/SpawnScripts/ForestRuins/PokoZing.lua new file mode 100755 index 000000000..b19f0465c --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/PokoZing.lua @@ -0,0 +1,247 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/PokoZing.lua + Script Purpose : Poko Zing + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local GNOME = 5 +local QUEST_FROM_NEEZER = 29 +local QUEST_1 = 201 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_NEEZER) then + AddConversationOption(conversation, "I have a delivery from Neezer Grund.", "dlg_0_1") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins_revamp/qst_gnome_poko_zing_done_2d84e55b.mp3", "Go on now, I don't need yer help and you don't need mine.", "", 16598543, 2700760297, Spawn) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetRace(Spawn) == GNOME and GetLevel(Spawn) >= 3 then + WhatDoYouNeed(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins_revamp/qst_gnome_poko_zing_notonquest_f698071.mp3", "I am very, very busy. Please respect that.", "", 2080673395, 1843361681, Spawn) + end + end + + --[[ + if HasQuest(Spawn, QUEST_FROM_NEEZER) then + AddConversationOption(conversation, "I have a delivery from Neezer Grund.", "dlg_0_1") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + Say(NPC, "Go on now, I don't need yer help and you don't need mine.", Spawn) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + --if GetRace(Spawn) == GNOME then + WhatDoYouNeed(NPC, Spawn, conversation) + --else + -- PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins_revamp/qst_gnome_poko_zing_notonquest_f698071.mp3", "I am very, very busy. Please respect that.", "", 2080673395, 1843361681, Spawn) + --end + end +--]] +--[[ + + + + if convo==2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko014.mp3", "", "", 1818005855, 2773371212, Spawn) + AddConversationOption(conversation, "No, not yet.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Do you have my requested materials yet?") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko010.mp3", "", "", 1396522810, 374675908, Spawn) + AddConversationOption(conversation, "Lieutenant Germain wants you to analyze this leaf.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "How come nobody seems to realize how busy I am? Let me guess, you want me to do something very boring for your benefit, am I right?") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko014.mp3", "", "", 1818005855, 2773371212, Spawn) + AddConversationOption(conversation, "No, not yet.", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Do you have my requested materials yet?") + end +--]] +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST FROM NEEZER +------------------------------------------------------------------------------------------------------------------- + +function dlg_0_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_NEEZER, 1) + + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko_neezer001.mp3", "", "", 910537276, 2473499967, Spawn) + + if not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + conversation = CreateConversation() + AddConversationOption(conversation, "Neezer said you might have work for me.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Ah, finally. You're kinda slow, aren't ya? Nevermind, don't answer, I don't wanna waste any more time than we already have. Goodbye.") + else + Say(NPC, "Ah, finally. You're kinda slow, aren't ya? Nevermind, don't answer, I don't wanna waste any more time than we already have. Goodbye.", Spawn) + end +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko_neezer002.mp3", "", "", 204260728, 3356745328, Spawn) + AddConversationOption(conversation, "Why are things hectic?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "He said what? That's horrible, things here are so hectic right now I couldn't possibly take the time to give you some random task.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko_neezer003.mp3", "", "", 1892489912, 2005975591, Spawn) + AddConversationOption(conversation, "Maybe I can help with that then, help figure out what is going on.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "People are showing up here for unknown reasons, and they seem to be hostile. We're not sure what their interest is, but it worries us.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko_neezer004.mp3", "", "", 233334797, 3276971465, Spawn) + AddConversationOption(conversation, "Well, all right.", "ICanHelp") + StartConversation(conversation, NPC, Spawn, "No, no, no. That is far too important to hand to just anybody! How about I just give you some random task instead, eh?") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------- + +function WhatDoYouNeed(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko_neezer000.mp3", "", "", 1600190149, 86494412, Spawn) + AddConversationOption(conversation, "Is something wrong?", "OnlyEverything") + StartConversation(conversation, NPC, Spawn, "What do you need and want and why did you come to me for it?") +end + +function OnlyEverything(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What kinds of reports?", "WhatKindsOfReports") + StartConversation(conversation, NPC, Spawn, "Only everything! Things are happening here and nobody knows what, precisely. We only have random reports, nothing concrete.") +end + +function WhatKindsOfReports(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "But they didn't send the guard?", "DidntSendGuard") + StartConversation(conversation, NPC, Spawn, "Strange plants, pirates, missing people, dead animals, enough bad things to send the Qeynos Guard--you would think.") +end + +function DidntSendGuard(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can help.", "ICanHelp") + StartConversation(conversation, NPC, Spawn, "They sent Germain here. He's nice, I suppose. He doesn't much care for expediency, though. With all this investigation going on I can't get any of the work done that I came here for originally!") +end + +function ICanHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko004.mp3", "", "", 82829705, 492738311, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "All right, let's see. I came here because I wanted to collect junk. Important, life-altering junk. The kind of junk that helps a gnome stay in business while not setting him back financially, you know? Anyway, now you can do that for me. Collect some of the mechanical parts that have been scattered around this place.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 1 then + AddConversationOption(conversation, "No, not yet.") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko005.mp3", "", "", 1800972779, 2738310308, Spawn) + StartConversation(conversation, NPC, Spawn, "Have you collected the parts yet?") + elseif GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Yes, here they are.", "MostPrecise") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko005.mp3", "", "", 1800972779, 2738310308, Spawn) + StartConversation(conversation, NPC, Spawn, "Have you collected the parts yet?") + elseif GetQuestStep(Spawn, QUEST_1) == 3 then + Say(NPC, "Go on, run away from old Poko and talk to the Lieutenant about the machine you found. After that we can attend to whatever other business in important.", Spawn) + end +end + +function MostPrecise(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko006.mp3", "", "", 2355186524, 2969032857, Spawn) + AddConversationOption(conversation, "Yes, I did.", "AllPartsFromHere") + StartConversation(conversation, NPC, Spawn, "Most precise! I- uh- did you get all of these parts from here?") +end + +function AllPartsFromHere(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will bring this to his attention.") + StartConversation(conversation, NPC, Spawn, "This particular piece looks to be Freeportian in design--don't ask how I know that. It seems pretty damaged, almost useless to me, but it looks new enough to have been brought here recently. This is prety... strange. Go speak with Lieutenant Germain, tell him of this. Perhaps now Qeynos will involve herself a bit more eh? We shall see.") +end + + + + + + + + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko011.mp3", "", "", 3922758270, 2259936446, Spawn) + AddConversationOption(conversation, "It was off of a plant that had a strange glow surrounding it.", "dlg_9_2") + StartConversation(conversation, NPC, Spawn, "Analyze? Why wo- ooh, is it glowing? This is an amazing find. Where DID you find it?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko012.mp3", "", "", 2929679035, 2604586682, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "dlg_9_3") + AddConversationOption(conversation, "No way.") + StartConversation(conversation, NPC, Spawn, "How precise! Er, well I can do these tests but I'm going to need you to finish what I was working on in the interim.") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/poko_zing/qey_adv02_ruins/quests/poko/poko013.mp3", "", "", 2558023332, 1244993646, Spawn) + AddConversationOption(conversation, "I will get what you need.", "dlg_9_4") + StartConversation(conversation, NPC, Spawn, "I'm looking for a reason for the activity around here lately, the sudden interest. Who knows, maybe this leaf will prove to be that reason. But, I won't abandon my other theories. As such I'd like you to collect bark samples from the trees around here. My theory is--well that's not important. I need bark samples from trees both outside and inside the ruins, as well as from both north and south of the river that runs through them. I would also like some rock samples from the ruins.") +end + +--[[ raw_conversations + +--]] + diff --git a/Lua/SpawnScripts/ForestRuins/RemmyTumbub.lua b/Lua/SpawnScripts/ForestRuins/RemmyTumbub.lua new file mode 100755 index 000000000..cf24d5a45 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/RemmyTumbub.lua @@ -0,0 +1,139 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/RemmyTumbub.lua + Script Purpose : Remmy Tumbub + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local HALFLING = 7 +local HALFLING_MENTOR_QUEST_5 = 74 +local QUEST_1 = 1 + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, HALFLING_MENTOR_QUEST_5) then + AddConversationOption(conversation, "Indeed... Pie Man Sam.", "ItWasntMe") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + elseif HasQuest(Spawn, QUEST_1) then + else + if GetRace(Spawn) == HALFLING and GetLevel(Spawn) >= 3 then + HelloHello(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remmy_tumbub/qey_adv02_ruins_revamp/qst_halfling_remmy_tumbub_notonquest_e37ef08f.mp3", "I rate pies in both scent and flavor. A pie with a delicious flavor can win over a lady's heart, but a pie with a delicious scent can lure even the most steadfast guard away from their post.", "", 4222932588, 1585778770) + end + end + + --[[if HasQuest(Spawn, 74) and GetQuestStep(Spawn, 74) == 1 then + HelloHello(NPC, Spawn, conversation) + else + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/remmy_tumbub/qey_adv02_ruins_revamp/qst_halfling_remmy_tumbub_notonquest_e37ef08f.mp3", "I rate pies in both scent and flavor. A pie with a delicious flavor can win over a lady's heart, but a pie with a delicious scent can lure even the most steadfast guard away from their post.", "", 4222932588, 1585778770) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0) + end + + AddConversationOption(conversation, "Why are you still hiding out here?", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Hey, thanks again for your help. I still won't be allowed back in the Baubbleshire, but I'm no longer a wanted criminal in all of Qeynos!") + end--]] +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're hopeless.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Shhh, keep your voice down! You know, I wonder if any of those crates in the guard shed have pies in them.") +end + +----------------------------------------------------------------------------------------- +-- QUEST FROM BAUBBLESHIRE +----------------------------------------------------------------------------------------- + +function ItWasntMe(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Give it up. Whining won't save you. The only thing that can save you now is direct payment.", "OfCourseOfCourse") + AddConversationOption(conversation, "Rondo was right, you fell for it big time.", "RondoWasRight") + StartConversation(conversation, NPC, Spawn, "Oh no! It wasn't me! It's not me! I'm just a halflin' going for a walk. Oh no no no no no no! How did you find me? Listen, I didn't take the pies for myself, I had to feed a starvin' family in Antonica. They NEEDED me! Oh, oh, gosh, listen, I have the money, eh, just not on me, hehe. I'll get to the proper authorities, just don't, don't tell anyone!") +end + +function OfCourseOfCourse(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Offering a bribe! That's another charge we can add to your file.", "ButYouJustSaid") + AddConversationOption(conversation, "Rondo was right, you fell for it big time.", "RondoWasRight") + StartConversation(conversation, NPC, Spawn, "Oh... of course, of course! How much do you want? I only have a few silver on me at the moment, less than that probably.") +end + +function ButYouJustSaid(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You think a mere fine was all we had in store for Pie Man Sam? You're going to be working days and nights in each kitchen you stole from.", "CantWorkInKitchen") + AddConversationOption(conversation, "Rondo was right, you fell for it big time.", "RondoWasRight") + StartConversation(conversation, NPC, Spawn, "But you just sai- Goodness, that wasn't a bribe! Hah hah. It was just uh, I thought that was my fine! I was offering to pay my fine! How much is my fine?") +end + +function CantWorkInKitchen(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well if you can't work, I suppose you could always avoid the charges.", "HowDoIDoThat") + AddConversationOption(conversation, "Rondo was right, you fell for it big time.", "RondoWasRight") + StartConversation(conversation, NPC, Spawn, "Work? I can't work in a kitchen. The heat and the spices'll get to me. I'm allergic to herbs, I'll probably die! And me knees, sometimes me knees go out without warning! Terrible, terrible condition, you see. Me father had it too, runs in the blood I guess.") +end + +function HowDoIDoThat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "My pockets could use a little lining, if you know what I mean.", "ThatsWhatGotMeIntoTrouble") + StartConversation(conversation, NPC, Spawn, "How? H-how do I do that?") +end + +function ThatsWhatGotMeIntoTrouble(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Rondo was right, you fell for it big time.", "RondoWasRight") + StartConversation(conversation, NPC, Spawn, "Of course! Certainly! Wait- WAIT! That's what got me into trouble last time. Oh, this is horrible. I wish someone would just take me away. I wish someone would just come and get me and take me away!") +end + +function RondoWasRight(NPC, Spawn) + SetStepComplete(Spawn, HALFLING_MENTOR_QUEST_5, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What's that?", "SomeoneGotIntoShed") + StartConversation(conversation, NPC, Spawn, "Rondo? That scoundrel! Gah, he sure knows how to get to me. You had me petrified there. I've been avoiding the guard. That is actually why I am out here. Can you believe they are blaming me for something I didn't even do?") +end + +----------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +----------------------------------------------------------------------------------------------------------------------- + +function HelloHello(NPC, Spawn, conversation) + AddConversationOption(conversation, "Is something wrong?", "IsSomethingWrong") + StartConversation(conversation, NPC, Spawn, "Hello, hello! Nice day. Nice day to be out in the woods. That's why I'm out here, because it's a nice day!") +end + +function IsSomethingWrong(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are they blamming you for?", "SomeoneGotIntoShed") + StartConversation(conversation, NPC, Spawn, "Of course! These guards are after me. Blamming me for something I didn't even do, can you believe that?") +end + +function SomeoneGotIntoShed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ForestRuins/SergeantatArmsUthros.lua b/Lua/SpawnScripts/ForestRuins/SergeantatArmsUthros.lua new file mode 100755 index 000000000..16bf545e8 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/SergeantatArmsUthros.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/SergeantatArmsUthros.lua + Script Purpose : Sergeant at Arms Uthros + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + ProvidesQuest(NPC, 1) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0) + end + + if HasCompletedQuest(Spawn, 1) then + else + AddConversationOption(conversation, "I'm intent on staying.", "dlg_0_1") + AddConversationOption(conversation, "Perhaps I should play it safe and go back to the village.") + StartConversation(conversation, NPC, Spawn, "Watch your step, friend. Many adventurers get injured because they don't know the dangers that lurk here. These grounds are home to the ruins of the old mage academy. It was destroyed during the wars that raged centuries ago. And aside from the already dangerous inhabitants of these ruins, elemental servants of mages lurk about. Scared yet? ... If you're intent on staying in Qeynos, I suppose we can use your help.") + end + + if convo==1 then + AddConversationOption(conversation, "Perhaps I should play it safe and go back to the village.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Watch your step, friend. Many adventurers get injured because they don't know the dangers that lurk here. These grounds are home to the ruins of the old mage academy. It was destroyed during the wars that raged centuries ago. And aside from the already dangerous inhabitants of these ruins, elemental servants of mages lurk about. Scared yet? ... If you're intent on staying in Qeynos, I suppose we can use your help.") + end + + if convo==14 then + AddConversationOption(conversation, "I have taken care of the vermin.", "dlg_14_1") + AddConversationOption(conversation, "Perhaps I should play it safe and go back to the village.") + StartConversation(conversation, NPC, Spawn, "Watch your step, friend. Many adventurers get injured because they don't know the dangers that lurk here. These grounds are home to the ruins of the old mage academy. It was destroyed during the wars that raged centuries ago. And aside from the already dangerous inhabitants of these ruins, elemental servants of mages lurk about. Scared yet? ... If you're intent on staying in Qeynos, I suppose we can use your help.") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sounds good.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Well, then, make yourself useful and kill some of the nasty vermin who live in this area. And if you need something to do later, come on back, I always need help!") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure.", "dlg_14_2") + AddConversationOption(conversation, "Not right now. ") + StartConversation(conversation, NPC, Spawn, "Hey! Great work on the vermin. Can you spare more time to help Qeynos?") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You bet.", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "Great! Then go and kill more vermin.") +end diff --git a/Lua/SpawnScripts/ForestRuins/SleebleGimblesled.lua b/Lua/SpawnScripts/ForestRuins/SleebleGimblesled.lua new file mode 100755 index 000000000..9cb0ed544 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/SleebleGimblesled.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/SleebleGimblesled.lua + Script Purpose : Sleeble Gimblesled + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I've been working on this piece of Luclin for months now!", "orate", 1689589577, 4560189) + + choice = math.random(1,3) + + if choice==1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0) + elseif choice==1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0) + end + +end diff --git a/Lua/SpawnScripts/ForestRuins/ThenatrenLightarrow.lua b/Lua/SpawnScripts/ForestRuins/ThenatrenLightarrow.lua new file mode 100755 index 000000000..7d32bf5b4 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/ThenatrenLightarrow.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/ThenatrenLightarrow.lua + Script Purpose : Thenatren Lightarrow + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Watch yourself near those ruins, they are dangerous!", "", 1689589577, 4560189) + +end + diff --git a/Lua/SpawnScripts/ForestRuins/ThervenSenshun.lua b/Lua/SpawnScripts/ForestRuins/ThervenSenshun.lua new file mode 100755 index 000000000..3340b8fe4 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/ThervenSenshun.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/ThervenSenshun.lua + Script Purpose : Therven Senshun + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Not yet.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Did you get the shells?") + if convo==3 then + AddConversationOption(conversation, "Yes, here they are.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Did you get the shells?") + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Glad to assist.", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Thanks! I appreciate it! You've really helped me a lot.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "This stuff is much harder to work with than I anticipated.", "", 1689589577, 4560189) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1022.mp3", "", "", 0, 0) +--]] + diff --git a/Lua/SpawnScripts/ForestRuins/Winterburn.lua b/Lua/SpawnScripts/ForestRuins/Winterburn.lua new file mode 100755 index 000000000..f121e8819 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/Winterburn.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/Winterburn.lua + Script Purpose : Winterburn + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2268064933, 2349331472) + +end diff --git a/Lua/SpawnScripts/ForestRuins/afieryforgottenguardian.lua b/Lua/SpawnScripts/ForestRuins/afieryforgottenguardian.lua new file mode 100755 index 000000000..7b73b6cac --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/afieryforgottenguardian.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/afieryforgottenguardian.lua + Script Purpose : a fiery forgotten guardian + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function attacked(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/elemental_fire_base_1/ft/elemental/elemental_fire_base_1_1_garbled_7c1e7a03.mp3", "Oerbet aertres nuavalen sulana", "", 944765445, 2661342879) +end diff --git a/Lua/SpawnScripts/ForestRuins/quest_germain_scout_bush.lua b/Lua/SpawnScripts/ForestRuins/quest_germain_scout_bush.lua new file mode 100755 index 000000000..dad5d50dc --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/quest_germain_scout_bush.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +local QUEST_FROM_GERMAIN = 202 + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST_FROM_GERMAIN, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_FROM_GERMAIN) and GetQuestStep(Caster, QUEST_FROM_GERMAIN) == 3 then + SetStepComplete(Caster, QUEST_FROM_GERMAIN, 3) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ForestRuins/quest_germain_scout_tree.lua b/Lua/SpawnScripts/ForestRuins/quest_germain_scout_tree.lua new file mode 100755 index 000000000..dad5d50dc --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/quest_germain_scout_tree.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +local QUEST_FROM_GERMAIN = 202 + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST_FROM_GERMAIN, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_FROM_GERMAIN) and GetQuestStep(Caster, QUEST_FROM_GERMAIN) == 3 then + SetStepComplete(Caster, QUEST_FROM_GERMAIN, 3) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ForestRuins/ulinir_gravestone01.lua b/Lua/SpawnScripts/ForestRuins/ulinir_gravestone01.lua new file mode 100755 index 000000000..ae9251c69 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/ulinir_gravestone01.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/ulinir_gravestone01.lua + Script Purpose : ulinir_gravestone01 + Script Author : Scatman + Script Date : 2009.09.26 + Script Notes : +--]] + +local WOODELF_MENTOR_QUEST_5 = 64 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + conversation = CreateConversation() + if HasQuest(Spawn, WOODELF_MENTOR_QUEST_5) and SpellName == "Read Gravestone" then + AddConversationOption(conversation, "Place the Tribute.", "PlaceTribute") + end + AddConversationOption(conversation, "Leave.", "CheckRace") + StartDialogConversation(conversation, 1, NPC, Spawn, "Ulinir\n\nOf the Pine\n\nNature's Strength") +end + +function CheckRace(NPC, Spawn) + if HasCompletedQuest(Spawn, WOODELF_MENTOR_QUEST_5) then + MakeIlaenTalk(NPC, Spawn) + end +end + +function MakeIlaenTalk(NPC, Spawn) + local ilaen_lilac = GetSpawn(Spawn, 1960126) + if ilaen_lilac ~= nil then + FaceTarget(ilaen_lilac, Spawn) + PlayFlavor(ilaen_lilac, "voiceover/english/tutorial_revamp/ilaen_lilac/qey_adv02_ruins_revamp/qst_woodelf_ilaen_lilac_ulinir_d84a1bb.mp3", "You are wise to know Ulinir is worth your time. Speak with me if you wish to use your wisdom for a greater good.", "", 1864539566, 4233668295, Spawn) + end +end + +function PlaceTribute(NPC, Spawn) + SetStepComplete(Spawn, WOODELF_MENTOR_QUEST_5, 1) + + -- Tribute for Ulinir + while HasItem(Spawn, 12830) do + RemoveItem(Spawn, 12830) + end + + local tribute = GetSpawn(Spawn, 1960200) + if tribute == nil then + local flower1 = SpawnMob(GetZone(Spawn), 1960199, 0, 967.417, -17.0745, -820.883, 159.344) + local flower2 = SpawnMob(GetZone(Spawn), 1960199, 0, 967.54, -17.0745, -821.211, 159.344) + local flower3 = SpawnMob(GetZone(Spawn), 1960199, 0, 967.604, -17.0745, -820.813, 159.344) + local flower4 = SpawnMob(GetZone(Spawn), 1960199, 0, 967.727, -17.0745, -821.14, 159.344) + tribute = SpawnMob(GetZone(Spawn), 1960200, 0, 967.581, -17.0745, -821.035, 159.344) + Despawn(tribute, 300000) + Despawn(flower1, 300000) + Despawn(flower2, 300000) + Despawn(flower3, 300000) + Despawn(flower4, 300000) + end + + MakeIlaenTalk(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/ForestRuins/ulinir_tribute.lua b/Lua/SpawnScripts/ForestRuins/ulinir_tribute.lua new file mode 100755 index 000000000..d0d2d60f9 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/ulinir_tribute.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function DespawnBush(NPC, Spawn) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ForestRuins/ulinirgravestone01.lua b/Lua/SpawnScripts/ForestRuins/ulinirgravestone01.lua new file mode 100755 index 000000000..9d6af1921 --- /dev/null +++ b/Lua/SpawnScripts/ForestRuins/ulinirgravestone01.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/ForestRuins/ulinir_gravestone01.lua + Script Purpose : ulinir_gravestone01 + Script Author : Scatman + Script Date : 2009.09.26 + Script Notes : Updated by Jabantiz (4/21/2017) +--]] + +local WOODELF_MENTOR_QUEST_5 = 217 -- A Tribute for Ulinir + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + conversation = CreateConversation() + if HasQuest(Spawn, WOODELF_MENTOR_QUEST_5) and SpellName == "Read Gravestone" then + AddConversationOption(conversation, "Place the Tribute.", "PlaceTribute") + end + AddConversationOption(conversation, "Leave.", "CheckRace") + StartDialogConversation(conversation, 1, NPC, Spawn, "Ulinir\n\nOf the Pine\n\nNature's Strength") +end + +function CheckRace(NPC, Spawn) + if HasCompletedQuest(Spawn, WOODELF_MENTOR_QUEST_5) then + MakeIlaenTalk(NPC, Spawn) + end +end + +function MakeIlaenTalk(NPC, Spawn) + local ilaen_lilac = GetSpawn(Spawn, 1960059) + if ilaen_lilac ~= nil then + FaceTarget(ilaen_lilac, Spawn) + PlayFlavor(ilaen_lilac, "voiceover/english/tutorial_revamp/ilaen_lilac/qey_adv02_ruins_revamp/qst_woodelf_ilaen_lilac_ulinir_d84a1bb.mp3", "You are wise to know Ulinir is worth your time. Speak with me if you wish to use your wisdom for a greater good.", "", 1864539566, 4233668295, Spawn) + end +end + +function PlaceTribute(NPC, Spawn) + SetStepComplete(Spawn, WOODELF_MENTOR_QUEST_5, 1) + + -- Tribute for Ulinir + while HasItem(Spawn, 14667) do + RemoveItem(Spawn, 14667) + end + + local tribute = GetSpawn(Spawn, 1960152) + if tribute == nil then + local flower1 = SpawnMob(GetZone(Spawn), 1960140, 0, 967.417, -17.0745, -820.883, 159.344) + local flower2 = SpawnMob(GetZone(Spawn), 1960140, 0, 967.54, -17.0745, -821.211, 159.344) + local flower3 = SpawnMob(GetZone(Spawn), 1960140, 0, 967.604, -17.0745, -820.813, 159.344) + local flower4 = SpawnMob(GetZone(Spawn), 1960140, 0, 967.727, -17.0745, -821.14, 159.344) + tribute = SpawnMob(GetZone(Spawn), 1960152, 0, 967.581, -17.0745, -821.035, 159.344) + Despawn(tribute, 300000) + Despawn(flower1, 300000) + Despawn(flower2, 300000) + Despawn(flower3, 300000) + Despawn(flower4, 300000) + end + + MakeIlaenTalk(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Freeport/BankerGaviusHerenus.lua b/Lua/SpawnScripts/Freeport/BankerGaviusHerenus.lua new file mode 100755 index 000000000..e5797aadc --- /dev/null +++ b/Lua/SpawnScripts/Freeport/BankerGaviusHerenus.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/TheCityofFreeport/BankerGaviusHerenus.lua + Script Purpose : Banker Gavius Herenus + Script Author : neatz09 + Script Date : 2019.01.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/banker/darkelf_banker_service_evil_1_hail_gf_d245cb35.mp3", "Ouch, that's your balance? ", "wince", 1211967882, 2876252538, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/banker/darkelf_banker_service_evil_1_hail_gf_e3751bcf.mp3", "I'm sorry. I could tell you right now you don't qualify for any of our credit programs.", "glare", 429119796, 2847044301, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/banker/darkelf_banker_service_evil_1_aoi_gf_aa2b6243.mp3", "Come on people move the line! We don't have all day here! Time is coin!", "frustrated", 1211146494, 2974036325, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/banker/darkelf_banker_service_evil_1_hail_gf_4038e3ba.mp3", "No beggars and no solicitors. If you don't have business to conduct then stand aside!", "heckno", 2007370095, 1974891427, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/banker/darkelf_banker_service_evil_1_hail_gf_f8940e54.mp3", "Well, you might qualify for one of our low income account rates. I'll double check and see.", "stinky", 207715982, 3677225232, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Freeport/Odyssneu.lua b/Lua/SpawnScripts/Freeport/Odyssneu.lua new file mode 100755 index 000000000..a6aece3ce --- /dev/null +++ b/Lua/SpawnScripts/Freeport/Odyssneu.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/TheCityofFreeport/Odyssneu.lua + Script Purpose : Odyssneu + Script Author : neatz09 + Script Date : 2019.01.18 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + +end + + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/broker_aliindar/qey_harbor/031_con_merchant_aliindar_erudite_2_aoi_1fefa590.mp3", "Hello there! Let's not waste any time shall we? What is it I can get for you?", "beckon", 1746996390, 2674526000, Spawn) + +end + diff --git a/Lua/SpawnScripts/Freeport/PrivateerTwitchwhisker.lua b/Lua/SpawnScripts/Freeport/PrivateerTwitchwhisker.lua new file mode 100755 index 000000000..5eebac326 --- /dev/null +++ b/Lua/SpawnScripts/Freeport/PrivateerTwitchwhisker.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : 1/1/2019 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +function hailed(NPC, Spawn) + +end + +function respec(Player) + skill = GetSkill(Player, "Parry") + if skill ~= nil then + SetSkillValue(skill, 200) + end +end diff --git a/Lua/SpawnScripts/Freeport/RennyParvat.lua b/Lua/SpawnScripts/Freeport/RennyParvat.lua new file mode 100755 index 000000000..310303b74 --- /dev/null +++ b/Lua/SpawnScripts/Freeport/RennyParvat.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DagbartFalkren.lua + Script Purpose : Dagbart Falkren + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1042.mp3", "", "hello", 0, 0, Spawn) + if HasCollectionsToHandIn(Spawn) then + AddConversationOption(conversation, "I have a collection for you.", "TurnInColls") + end + AddConversationOption(conversation, "I don't have any at the moment.") + StartConversation(conversation, NPC, Spawn, "Hello there! If you have any collections that you've completed, I can take them off your hands and reward you for your time. I love collecting things!") +end + +function TurnInColls(NPC, Spawn) + HandInCollections(Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, thanks!") + StartConversation(conversation, NPC, Spawn, "This is a magnificent find! Here, take this for all your hard work.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/AgdaDonillson.lua b/Lua/SpawnScripts/FrostfangSea/AgdaDonillson.lua new file mode 100755 index 000000000..fa7506bf0 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/AgdaDonillson.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AgdaDonillson.lua + Script Purpose : Agda Donillson + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "", "What would you like to buy?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Let's check what's available, shall we?", "nod", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I'm sure we have something that will please even you!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/AliceSwamprunner.lua b/Lua/SpawnScripts/FrostfangSea/AliceSwamprunner.lua new file mode 100755 index 000000000..ce8416c3d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/AliceSwamprunner.lua @@ -0,0 +1,105 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AliceSwamprunner.lua + Script Purpose : Alice Swamprunner + Script Author : theFoof + Script Date : 2013.09.02 + Script Notes : +--]] + +local KestrelPie = 90 + +function spawn(NPC) + ProvidesQuest(NPC, KestrelPie) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, KestrelPie) and not HasQuest(Spawn, KestrelPie) then + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_001.mp3", "", "", 3199488336, 2249135127, Spawn) + AddConversationOption(conversation, "Nice to meet you Alice, I'm " .. GetName(Spawn) .. ".", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello stranger! Welcome to Ravens' Roost. You can call me Alice Swamprunner.") + elseif GetQuestStep(Spawn, KestrelPie) == 1 or GetQuestStep(Spawn, KestrelPie) == 2 then + AddConversationOption(conversation, "Where can I find the kestrels and the ice shrooms?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Have you brought me the ingredients?") + elseif GetQuestStep(Spawn, KestrelPie) == 3 then + AddConversationOption(conversation, "I have the meat and shrooms that you requested.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you brought me the ingredients?") + elseif GetQuestStep(Spawn, KestrelPie) == 4 then + PlayFlavor(NPC, "", "Well go on, try one!", "beckon", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Thanks for your help with the kestrel pot pie.", "thanks", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_003.mp3", "", "", 1636835603, 1296919818, Spawn) + AddConversationOption(conversation, "I can always find time to help if help is needed.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "A pleasure. Are you busy?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_004.mp3", "", "", 3609415990, 2721638648, Spawn) + AddConversationOption(conversation, "Kestrels are no problem for me.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I am making my kestrel pot pie for the New Halas City Festival. The problem is, I'm not a hunter and the downy kestrels are already giving the guards a hard time so I cannot imagine how I would fare with the birds.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_005.mp3", "", "", 3894141515, 2250215460, Spawn) + AddConversationOption(conversation, "Sure, I don't mind the exercise.", "OfferKestrelPie") + AddConversationOption(conversation, "I'm not running all over New Halas to help you cook dinner.") + StartConversation(conversation, NPC, Spawn, "Well, if you are going to collect kestrel meat, would you mind picking me up some ice shrooms? You can find the ice shrooms in the cave leading to the Erollis Dock, and the kestrels are at the south entrance to New Halas.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(converstion, "I shall return once I have collected the ingredients.") + StartConversation(conversation, NPC, Spawn, "You can find the ice shrooms in the cave leading to the Erollis Dock, and the kestrels are at the south entrance to New Halas.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It sounds yummy.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "I have already prepared the pie and crust and the rest of the gravy filling. Now to grill up the meat and ice shrooms and add them.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can't wait.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "It is indeed. Now to cook it and it will be ready to eat.") +end + +function Quest1Chat_7(NPC, Spawn) + AddSpawnAccess(GetSpawn(NPC, 4701845), Spawn) + SetStepComplete(Spawn, KestrelPie, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will! Thanks, Alice.") + StartConversation(conversation, NPC, Spawn, "There, finished! Go ahead, take a slice!") +end + +function OfferKestrelPie(NPC, Spawn) + OfferQuest(NPC, Spawn, KestrelPie) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua b/Lua/SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua new file mode 100755 index 000000000..7ead6a200 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua @@ -0,0 +1,116 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua + Script Purpose : Ambassador Brynhilde Maersdottr + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_3_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + if convo==6 then + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_6_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + end + + if convo==8 then + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_8_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + end + + if convo==9 then + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_9_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_002.mp3", "", "", 1600213250, 4013876704, Spawn) + AddConversationOption(conversation, "Yes, can you help me to do that?", "dlg_3_2") + AddConversationOption(conversation, "Actually, I was thinking of changing citizenship to ... elsewhere.") + StartConversation(conversation, NPC, Spawn, "As you're probably aware, New Halas has established good relations with the cities of Qeynos and Kelethin, and when someone wishes to switch citizenship to these cities we try to make the process as friendly as possible. Is this your wish?") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_003.mp3", "", "", 2358151408, 4270279466, Spawn) + AddConversationOption(conversation, "Qeynos, if you please.", "dlg_3_3") + AddConversationOption(conversation, "Kelethin, if you please.") + AddConversationOption(conversation, "Neither, I have changed my mind. Thanks anyway!") + StartConversation(conversation, NPC, Spawn, "I would be happy to help. Are you interested in becoming a citizen of Qeynos, or Kelethin?") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_002.mp3", "", "", 1600213250, 4013876704, Spawn) + AddConversationOption(conversation, "Yes, can you help me to do that?", "dlg_8_2") + AddConversationOption(conversation, "Actually, I was thinking of changing citizenship to ... elsewhere.") + StartConversation(conversation, NPC, Spawn, "As you're probably aware, New Halas has established good relations with the cities of Qeynos and Kelethin, and when someone wishes to switch citizenship to these cities we try to make the process as friendly as possible. Is this your wish?") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_003.mp3", "", "", 2358151408, 4270279466, Spawn) + AddConversationOption(conversation, "Qeynos, if you please.", "dlg_8_3") + AddConversationOption(conversation, "Kelethin, if you please.") + AddConversationOption(conversation, "Neither, I have changed my mind. Thanks anyway!") + StartConversation(conversation, NPC, Spawn, "I would be happy to help. Are you interested in becoming a citizen of Qeynos, or Kelethin?") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_002.mp3", "", "", 1600213250, 4013876704, Spawn) + AddConversationOption(conversation, "Yes, can you help me to do that?", "dlg_9_2") + AddConversationOption(conversation, "Actually, I was thinking of changing citizenship to ... elsewhere.") + StartConversation(conversation, NPC, Spawn, "As you're probably aware, New Halas has established good relations with the cities of Qeynos and Kelethin, and when someone wishes to switch citizenship to these cities we try to make the process as friendly as possible. Is this your wish?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_003.mp3", "", "", 2358151408, 4270279466, Spawn) + AddConversationOption(conversation, "Qeynos, if you please.", "dlg_9_3") + AddConversationOption(conversation, "Kelethin, if you please.") + AddConversationOption(conversation, "Neither, I have changed my mind. Thanks anyway!") + StartConversation(conversation, NPC, Spawn, "I would be happy to help. Are you interested in becoming a citizen of Qeynos, or Kelethin?") +end +--]] +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/Lua/SpawnScripts/FrostfangSea/ArrinClelland.lua b/Lua/SpawnScripts/FrostfangSea/ArrinClelland.lua new file mode 100755 index 000000000..f6778463a --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ArrinClelland.lua @@ -0,0 +1,289 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ArrinClelland.lua + Script Purpose : Arrin Clelland + Script Author : theFoof + Script Date : 2013.5.12 + Script Notes : Ememjr 2017.10.21 changed refs of Player to Spawn +--]] + +local CrustoseRemoval = 6 + +local RepellingCritters = 7 + +local ScragglyFoodstuffs = 9 + +local FrigidFishing = 10 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, CrustoseRemoval) + ProvidesQuest(NPC, RepellingCritters) + ProvidesQuest(NPC, ScragglyFoodstuffs) + ProvidesQuest(NPC, FrigidFishing) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, CrustoseRemoval) == false and HasQuest(Spawn, CrustoseRemoval) == false then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_001.mp3", "", "", 316593235, 3019636341, Spawn) + AddConversationOption(conversation, "" .. GetName(Spawn) .. ". My boat was attacked and destroyed by the orcs, apparently.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "I don't recognize you, newcomer, but welcome. I'm Arrin, the camp provisioner. Who are you?") + elseif GetQuestStep(Spawn, CrustoseRemoval) == 1 then + PlayFlavor(NPC, "", "It's a good thing I sent you after lichen and not lycan!", "chuckle", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, CrustoseRemoval) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "What are you going to do with the crustose spore samples?", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "I see you were successful, " .. GetName(Spawn) .. ". That is great news!") + elseif HasCompletedQuest(Spawn, CrustoseRemoval) and HasQuest(Spawn, RepellingCritters) == false and HasCompletedQuest(Spawn, RepellingCritters) == false then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_010.mp3", "", "", 2177024399, 2827013799, Spawn) + AddConversationOption(conversation, "What are you going to do with the crustose spore samples?", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "You certainly helped us by getting those crustose spore samples, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, RepellingCritters) == 1 then + if HasItem(Spawn, 45806) == false then + SummonItem(Spawn, 45806, 1) + end + AddConversationOption(conversation, "Me too.") + AddConversationOption(conversation, "How do I use the crustose repellent?", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "I hope the crustose repellent works.") + elseif GetQuestStep(Spawn, RepellingCritters) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_021.mp3", "", "", 1180705969, 2151107815, Spawn) + AddConversationOption(conversation, "The repellent worked great!", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "How did it go out there?") + elseif GetQuestStep(Spawn, RepellingCritters) == 3 then + if HasItem(Spawn, 45805) == false then + SummonItem(Spawn, 45805, 1) + end + PlayFlavor(NPC, "", "Be sure to apply enough of the crustose repellent to our barrels of foodstuff.", "nod", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, RepellingCritters) == 4 then + SetStepComplete(Spawn, RepellingCritters, 4) + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_024.mp3", "", "", 117755636, 4146358523, Spawn) + AddConversationOption(conversation, "You are welcome.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Those crustose creatures sure disappeared! That will certainly help me keep mouths fed around here. Thank you, " .. GetName(Spawn) .. "!") + elseif HasCompletedQuest(Spawn, RepellingCritters) and HasCompletedQuest(Spawn, ScragglyFoodstuffs) == false and HasQuest(Spawn, ScragglyFoodstuffs) == false then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ScragglyFoodstuffs) == 1 then + PlayFlavor(NPC, "", "Not much wants to grow in such an unforgiving environment, but hopefully you will find a few scraggly shrubs growing on the windy cliffs overlooking the sea, northeast of me.", "nod", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, ScragglyFoodstuffs) == 2 then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_006.mp3", "", "", 1163105313, 2486934582, Spawn) + AddConversationOption(conversation, "I was.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "Not much wants to grow in such an unforgiving environment, but I hope that you were able to find us a few edible items to add to our stores, " .. GetName(Spawn) .. ".") + elseif HasCompletedQuest(Spawn, ScragglyFoodstuffs) and HasCompletedQuest(Spawn, FrigidFishing) == false and HasQuest(Spawn, FrigidFishing) == false then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, FrigidFishing) == 1 then + PlayFlavor(NPC, "", "The Iceclad cod are too smart for lures or nets, but they should offer you little challenge in a fight.", "agree", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, FrigidFishing) == 2 then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_012.mp3", "", "", 2983925092, 3211744371, Spawn) + AddConversationOption(conversation, "I'm not cleaning them though.", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "You've returned, and with an arm full of fresh fish for us, " .. GetName(Spawn) .. ". That's wonderful!") + elseif HasCompletedQuest(Spawn, FrigidFishing) then + PlayFlavor(NPC, "", "Thank you for all of your help. Truly, you have been sent to us by the gods!", "thanks", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_001.mp3", "", "", 316593235, 3019636341, Spawn) + AddConversationOption(conversation, "My boat was attacked and destroyed by the orcs, apparently.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "That was a great feat, I'm telling you! So, what happened, " .. GetName(Spawn) .. "?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_002.mp3", "", "", 364246106, 545315196, Spawn) + AddConversationOption(conversation, "Me too.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Ah, that does explain how you ended up here. They've been trying to stop any and all ships from docking on Erollis and providing more forces to New Halas. I'm glad that you survived.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_003.mp3", "", "", 3988738726, 2897027247, Spawn) + AddConversationOption(conversation, "You don't have any food?", "Quest1Chat_5") + AddConversationOption(conversation, "Well, keep thinking warm thoughts. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Of course that doesn't mean the hard part is over, mind you. I'd say you've jumped out of the frying pan to land in the fire, but that just reminds me how nice it would be to have food and a warm fire.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_004.mp3", "", "", 684238252, 3234255296, Spawn) + AddConversationOption(conversation, "I can help you.", "Quest1Chat_6") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "I have some, sure, but it's not fit for man or beast, anymore. Bothersome, little lichen creatures keep breaking into our stores and spoiling them.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_005.mp3", "", "", 4016452199, 1810004622, Spawn) + AddConversationOption(conversation, "Right away!", "OfferCrustoseRemoval") + AddConversationOption(conversation, "I refuse to squish fungus men! Goodbye.") + StartConversation(conversation, NPC, Spawn, "I would appreciate it, " .. GetName(Spawn) .. ". Slay any of the crustose defenders or sporetenders you find on the western side of the isle in search of spore samples. They congregate there amongst the big stones. Return to me when you have done this.") +end + +function Quest2Chat_1(NPC, Spawn) + if HasCompletedQuest(Spawn, CrustoseRemoval) == false then + SetStepComplete(Spawn, CrustoseRemoval, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_015.mp3", "", "", 2583587651, 4014807200, Spawn) + AddConversationOption(conversation, "I like your thinking!", "Quest2Chat_2") + AddConversationOption(conversation, "But killing them is more enjoyable.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "We are going to use the crustose spore samples to create a repellent against the little spoilers. There will be no need to kill them if we can just make them stay away.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_017.mp3", "", "", 2609708421, 904219877, Spawn) + AddConversationOption(conversation, "Sure thing.", "OfferRepellingCritters") + AddConversationOption(conversation, "How do I use the crustose repellent?", "Quest2Chat_4") + AddConversationOption(conversation, "On second thought, maybe not.") + StartConversation(conversation, NPC, Spawn, "Thanks. Now take this repellent potion and apply it on crustose sporetenders. They are the ones spreading their spores around. I hope to Marr that they shuffle their stems away from here! Be sure to use it on a good number of different ones so that we are sure of its effects.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_018.mp3", "", "", 3283115264, 905683886, Spawn) + AddConversationOption(conversation, "I like your thinking!", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Perhaps, but I would rather you be able to turn your fighting skills on more challenging foes, like those blasted orcs that are attacking the camp here.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_019.mp3", "", "", 2496773416, 2201749960, Spawn) + AddConversationOption(conversation, "I'll remember that.", "OfferRepellingCritters") + StartConversation(conversation, NPC, Spawn, "Ah, Good question! Open your inventory and you will find it. You can either equip it, or you can choose to use it directly from your inventory, but either way you have to target a crustose sporetender first. Then right click on the object and choose 'Use.' This will spread the repellent on your target.") +end + +function Quest2Chat_5(NPC, Spawn) + SetStepComplete(Spawn, RepellingCritters, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_022.mp3", "", "", 457686629, 137846411, Spawn) + AddConversationOption(conversation, "I'll get right on it.") + AddConversationOption(conversation, "Where are the provisions?", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "That is a relief! Now apply it to our provisions right here and keep the bothersome creatures away from them!") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_023.mp3", "", "", 2487757767, 4041358970, Spawn) + AddConversationOption(conversation, "I will get right on it!") + StartConversation(conversation, NPC, Spawn, "They are the barrels here, northwest of me.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_005.mp3", "", "", 4016452199, 1810004622, Spawn) + AddConversationOption(conversation, "What can I do for you?", "Quest3Chat_2") + AddConversationOption(conversation, "Unfortunately, I am too busy right now.") + StartConversation(conversation, NPC, Spawn, "Say, I could use your help with replenishing those barrels now that you've removed the lichen creatures.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_005.mp3", "", "", 4016452199, 1810004622, Spawn) + AddConversationOption(conversation, "I'll gather them for you.", "OfferScragglyFoodstuffs") + AddConversationOption(conversation, "I'm more of a hunter, not a gatherer.") + StartConversation(conversation, NPC, Spawn, "There are some rather scraggly looking shrubs that grow on the windy cliffs overlooking the sea, northeast of here. Take the path behind me, and you can't miss them. Their tubers aren't very appetizing, but they are rich in nutrition.") +end + +function Quest3Chat_3(NPC, Spawn) + SetStepComplete(Spawn, ScragglyFoodstuffs, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_007.mp3", "", "", 256610018, 4036678874, Spawn) + AddConversationOption(conversation, "You're welcome. ", "Quest4Chat_1") + AddConversationOption(conversation, "Can I help you with anything else?", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Oh, that's better than I would have hoped! Thank you!") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_008.mp3", "", "", 2456971105, 1721744123, Spawn) + AddConversationOption(conversation, "Yeah, I can do that.", "Quest4Chat_2") + AddConversationOption(conversation, "Oh, sorry. That isn't really my thing.") + StartConversation(conversation, NPC, Spawn, "May I ask another favor of you? I was hoping you might be keen on getting us some fresh fish, too.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_011.mp3", "", "", 3182846019, 423433267, Spawn) + AddConversationOption(conversation, "That's no problem.", "OfferFrigidFishing") + StartConversation(conversation, NPC, Spawn, "It would help us a great deal. You'll find the Iceclad cod surrounding this island within the freezing waters. They are not enticed by lures or nets, so you'll have to fight them.") +end + +function Quest4Chat_3(NPC, Spawn) + SetStepComplete(Spawn, FrigidFishing, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_013.mp3", "", "", 1935077662, 3458701305, Spawn) + AddConversationOption(conversation, "You're welcome.") + AddConversationOption(conversation, "On to other adventures!") + StartConversation(conversation, NPC, Spawn, "Ha ha ha! That's fine! I can do that. I have asked too much of you, as it stands. One as powerful and brave as you have bigger adventures and challenges to meet. Thank you again!") +end + +function OfferCrustoseRemoval(NPC, Spawn) + if HasCompletedQuest(Spawn, CrustoseRemoval) == false then + OfferQuest(NPC, Spawn, CrustoseRemoval) + end +end + +function OfferRepellingCritters(NPC, Spawn) + if HasCompletedQuest(Spawn, CrustoseRemoval) then + OfferQuest(NPC, Spawn, RepellingCritters) + end +end + +function OfferScragglyFoodstuffs(NPC, Spawn) + if HasCompletedQuest(Spawn, RepellingCritters) then + OfferQuest(NPC, Spawn, ScragglyFoodstuffs) + end +end + +function OfferFrigidFishing(NPC, Spawn) + if HasCompletedQuest(Spawn, ScragglyFoodstuffs) then + OfferQuest(NPC, Spawn, FrigidFishing) + end +end diff --git a/Lua/SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua b/Lua/SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua new file mode 100755 index 000000000..53f743f13 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua + Script Purpose : Assistant Warden Bjerne + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "We've got the most spacious housing in all of Norrath!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Step up and take a tour of our accommodations.", "hello", 1689589577, 4560189, Spawn) + end +end + diff --git a/Lua/SpawnScripts/FrostfangSea/BadenMoonheart.lua b/Lua/SpawnScripts/FrostfangSea/BadenMoonheart.lua new file mode 100755 index 000000000..8e7ac2a5d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BadenMoonheart.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BadenMoonheart.lua + Script Purpose : monk trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local MONK = 6 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == MONK then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a another monk?", "MonkChat1") + AddConversationOption(conversation, "It does, doesn't it? Good bye.") + StartConversation(conversation, NPC, Spawn, "You need not tell me that you are a fellow. monk. I can sense the aura of serenity that envelopes you, my friend.") + else + PlayFlavor(NPC, "", "May your path be clear, friend.", "hello", 0, 0, Spawn) + end +end + +function MonkChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "MonkChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function MonkChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's good to know.", "MonkChat3") + StartConversation(conversation, NPC, Spawn, "But first and foremost, you should know the power you wield. We focus our minds and bodies through tranquility and subtleness in order to withstand attacks and reduce the amount of damage inflicted upon us. We can also use it to purge our bodies of ailments, move invisibly past an enemy or even fool opponents into believing us dead.") +end + +function MonkChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "MonkChat4") + StartConversation(conversation, NPC, Spawn, "But our discipline offers a great deal more than just defense. Our attacks are formidable and swift, as well! This allows us to often hold a foe's attention while others attack it.") +end + +function MonkChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "MonkChat5") + StartConversation(conversation, NPC, Spawn, "And although we excel at hand to hand combat, some of our brethren wield staves or hammers. Such weapons are simply an extension of yourself and can be equally effective at inflicting damage or deflecting an attacker's blade.") +end + +function MonkChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". An encumbering suit of armor would only hinder you and interfere with our superior hand to hand combat.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BarkerGordon.lua b/Lua/SpawnScripts/FrostfangSea/BarkerGordon.lua new file mode 100755 index 000000000..9e34727be --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BarkerGordon.lua @@ -0,0 +1,130 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BarkerGordon.lua + Script Purpose : Barker Gordon + Script Author : theFoof + Script Date : 2013.09.02 + Script Notes : +--]] + +local HamBeans = 89 + +function spawn(NPC) + ProvidesQuest(NPC, HamBeans) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, HamBeans) and not HasQuest(Spawn, HamBeans) then + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_001.mp3", "", "", 1186893886, 14843439, Spawn) + AddConversationOption(conversation, "Hello Barker, I'm " .. GetName(Spawn) .. ".", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Good day to you, stranger! I am Barker Gordon, a native of New Halas.") + elseif GetQuestStep(Spawn, HamBeans) == 1 or GetQuestStep(Spawn, HamBeans) == 2 then + AddConversationOption(conversation, "No, not yet. Where can I find the ingredients again?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you done the feed and killed Bentor and picked up my order of beans?") + elseif GetQuestStep(Spawn, HamBeans) == 3 then + AddConversationOption(conversation, "I have. Here is the ham and beans.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you done the feed and killed Bentor and picked up my order of beans?") + elseif GetQuestStep(Spawn, HamBeans) == 4 then + PlayFlavor(NPC, "", "Now try a piece of my ham and beans, it's very good!", "beckon", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Thanks again for your help!", "thanks", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_003.mp3", "", "", 1426385889, 3817885268, Spawn) + AddConversationOption(conversation, "What kind of work?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Could I interest you in some work?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_004.mp3", "", "", 3604382854, 1944496280, Spawn) + AddConversationOption(conversation, "So what's the problem?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I've been asked to make my recipe for ham and halasian beans for the New Halas City Festival. We want to impress all of our visitors!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_005.mp3", "", "", 2169381971, 1634343888, Spawn) + AddConversationOption(conversation, "So you want me to slaughter your pet pig?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "I've been raising a pig just for this occasion. I would normally slaughter him myself, but this time I've become too attached to him. I fear that I would not have the strength to see a clean cut through.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_006.mp3", "", "", 1408333344, 155634991, Spawn) + AddConversationOption(conversation, "Well, if it will help New Halas impress the rest of Norrath, I'll do it.", "Quest1Chat_5") + AddConversationOption(conversation, "I'm not slaughtering your pig for you.") + StartConversation(conversation, NPC, Spawn, "I knew ye would understand! I should have listened to others and not named him.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_007.mp3", "", "", 4093429519, 442079211, Spawn) + AddConversationOption(conversation, "You're right. You shouldn't have named him.", "OfferHamBeans") + StartConversation(conversation, NPC, Spawn, "I promise that it will be worth it! My pig's name is Bentor the Mighty. Bentor is in the pen next to the mender's workshop, The Stone Hammer, up in New Halas proper.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks Barker. I'll return with the ingredients.") + StartConversation(conversation, NPC, Spawn, "The halasian beans at the shaman hut called Pilgrims' Hearth in southwest New Halas. Bentor the Mighty is in the pen next to the mender's workshop, The Stone Hammer, in New Halas.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are you going to be okay?", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Oh, my Bentor! What a good pig you were!") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well, okay then.", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "I'll be fine. This is the way of things, I know better than to get attached to them. It's just me old age.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I must admit it smells good.", "Quest1Chat_10") + StartConversation(conversation, NPC, Spawn, "Here, I'll get right to work prepping the beans and cooking the ham. Just sit right there, it'll be done soon enough.") +end + +function Quest1Chat_10(NPC, Spawn) + AddSpawnAccess(GetSpawn(NPC, 4701844), Spawn) + SetStepComplete(Spawn, HamBeans, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, I'll grab myself of a slice of ham with some beans.") + StartConversation(conversation, NPC, Spawn, "Done! Barker's ham and beans! Go ahead, try a slice. I've salted the rest of the meat so that I can use it for the City Festival.") +end + +function OfferHamBeans(NPC, Spawn) + OfferQuest(NPC, Spawn, HamBeans) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BattlemasterGolben.lua b/Lua/SpawnScripts/FrostfangSea/BattlemasterGolben.lua new file mode 100755 index 000000000..0143509ac --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BattlemasterGolben.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BattlemasterGolben.lua + Script Purpose : Battlemaster Golben + Script Author : theFoof + Script Date : 2013.06.01 + Script Notes : +--]] +local DemandSupplies = 45 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, DemandSupplies) and GetQuestStep(Spawn, DemandSupplies) < 3 then + conversation = CreateConversation() + + PlayFlavor(NPC, "battlemaster_golben/halas/great_shelf/battlemaster_golben/battlemaster_golben001.mp3", "", "", 62773900, 972998516, Spawn) + AddConversationOption(conversation, "Yes, here are the supplies.", "Chat") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "I've got no time and even less patience. Did Rockbreaker send ye?") + end +end + +function Chat(NPC, Spawn) + SetStepComplete(Spawn, DemandSupplies, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlemaster_golben/halas/great_shelf/battlemaster_golben/battlemaster_golben002.mp3", "", "", 2225057385, 3178461226, Spawn) + AddConversationOption(conversation, "Glad to help.") + StartConversation(conversation, NPC, Spawn, "Thank Brell! Our blades are dull and our quivers empty. These new weapons will allow us to keep the orcs at bay awhile longer.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BattlepriestHerga.lua b/Lua/SpawnScripts/FrostfangSea/BattlepriestHerga.lua new file mode 100755 index 000000000..e31624742 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BattlepriestHerga.lua @@ -0,0 +1,626 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BattlepriestHerga.lua + Script Purpose : Battlepriest Herga + Script Author : theFoof + Script Date : 2013.06.04 + Script Notes : +--]] + +local LooseningGrip = 51 + +local TheCharge = 52 + +local SiegeOver = 53 + +local ForsakingGrave = 54 + +local AllRemains = 55 + +function spawn(NPC) + ProvidesQuest(NPC, LooseningGrip) + ProvidesQuest(NPC, TheCharge) + ProvidesQuest(NPC, SiegeOver) + ProvidesQuest(NPC, ForsakingGrave) + ProvidesQuest(NPC, AllRemains) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, LooseningGrip) and not HasQuest(Spawn, LooseningGrip) then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga001.mp3", "", "", 2876924371, 439822818, Spawn) + AddConversationOption(conversation, "Gadzooks! You're a ghost! And I'm leaving now, goodbye!") + AddConversationOption(conversation, "I am " .. GetName(Spawn) .. ", and I'm looking for work, not a story. Give me a task to do!", "OfferLooseningGrip") + AddConversationOption(conversation, "I am " .. GetName(Spawn) .. ". Who are you, and what is your story?", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Who approaches? Who dares to disturb the Battlepriest?") + elseif GetQuestStep(Spawn, LooseningGrip) == 1 then + PlayFlavor(NPC, "", "Remove the claws. Loosen their grip upon our land.", "sarcasm", 0, 0, Spawn) + elseif GetQuestStep(Spawn, LooseningGrip) == 2 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga011.mp3", "", "", 3711122888, 4098682136, Spawn) + AddConversationOption(conversation, "I cut the lines tethering the spears to Ry'Gorr Isle.", "Quest1Chat_8") + AddConversationOption(conversation, "I have done as you asked.", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "I sense that the Ry'Gorr's grip upon our land has lessened.") + elseif HasCompletedQuest(Spawn, LooseningGrip) and not HasCompletedQuest(Spawn, TheCharge) and not HasQuest(Spawn, TheCharge) then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, TheCharge) and GetQuestStep(Spawn, TheCharge) < 4 then + PlayFlavor(NPC, "", "The orcs cling to their foothold on the floating rock named Ry'Gorr isle, west of Erollis.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TheCharge) == 4 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga019.mp3", "", "", 3475035366, 1640801191, Spawn) + AddConversationOption(conversation, "I have defeated the orcs, as promised.", "Quest2Chat_6") + AddConversationOption(conversation, "Are you finishing the story you began earlier?", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "The memories of that battle are as clear as if they'd happened yesterday. And echoes of that battle resonate to this day.") + elseif HasCompletedQuest(Spawn, TheCharge) and not HasCompletedQuest(Spawn, SiegeOver) and not HasQuest(Spawn, SiegeOver) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, SiegeOver) == 1 then + PlayFlavor(NPC, "", "The orcs have manufactured crude ballistae, and aimed them at our shores.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SiegeOver) == 2 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga030.mp3", "", "", 1190652772, 2390505398, Spawn) + AddConversationOption(conversation, "I destroyed the ballistae, as promised.", "Quest3Chat_4") + AddConversationOption(conversation, "It sounds like you're continuing your story. What happened next?", "Quest3Chat_4") + AddConversationOption(conversation, "The siege weapons have been eliminated.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "To my surprise, I was still breathing. I crouched, unseen, behind their lines. The opportunity to scatter the orcs' formation was within my grasp.") + elseif HasCompletedQuest(Spawn, SiegeOver) and not HasCompletedQuest(Spawn, ForsakingGrave) and not HasQuest(Spawn, ForsakingGrave) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ForsakingGrave) == 1 then + PlayFlavor(NPC, "", "The Ry'Gorr skeletons long for no repose or reward. They simply exist to serve.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ForsakingGrave) == 2 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga045.mp3", "", "", 776768426, 2553961972, Spawn) + AddConversationOption(conversation, "I have eliminated several skeletons on the Forbidden Ossuary of Ice.", "Quest4Chat_5") + AddConversationOption(conversation, "I'd like to hear the rest of your story. What happened next?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "I sense that the skeletal abominations have been destroyed.") + elseif HasCompletedQuest(Spawn, ForsakingGraves) and not HasCompletedQuest(Spawn, AllRemains) and not HasQuest(Spawn, AllRemains) then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, AllRemains) == 1 then + PlayFlavor(NPC, "", "Ye would honor this Battlepriest if ye could recover her helm.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, AllRemains) == 4 then + AddConversationOption(conversation, "What name would that be?", "Quest5Chat_4") + AddConversationOption(conversation, "Go on, Herga.", "Quest5Chat_4") + AddConversationOption(conversation, 'Is that name, by any chance, "lackey"?', "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Ye've returned with the helmet, a relic passed down by my ancestors from the days when we fought with giants. And for yer efforts, I have one final name for ye.") + elseif HasCompletedQuest(Spawn, AllRemains) then + PlayFlavor(NPC, "", "Hello again, Friend of Thurga.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga002.mp3", "", "", 3498579726, 1445907675, Spawn) + AddConversationOption(conversation, "Ah, the choke is named after you.", "Quest1Chat_2") + AddConversationOption(conversation, "That's a mouthful.", "Quest1Chat_5") + AddConversationOption(conversation, "What do you mean by 'Thrice Slain'?", "Quest1Chat_3") + AddConversationOption(conversation, "You lost me at 'Greetings.' Goodbye.") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ". I am Herga: Battlepriest of the Coldain, Master Tactician, Ouster of the Orcs, Leader of the Siege Upon the Choke, and She Who Was Thrice Slain.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga004.mp3", "", "", 446943, 1149478700, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest1Chat_3") + AddConversationOption(conversation, "I see. Words are merely symbols.", "Quest1Chat_7") + AddConversationOption(conversation, "I don't understand you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The name is unimportant. It is the deed that matters.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga006.mp3", "", "", 2461956836, 4011637342, Spawn) + AddConversationOption(conversation, "I see...", "Quest1Chat_4") + AddConversationOption(conversation, "Ah, you're not going to tell me.", "Quest1Chat_4") + AddConversationOption(conversation, "I don't understand you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "All in due time.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga008.mp3", "", "", 3901524477, 2476733850, Spawn) + AddConversationOption(conversation, "I could deal with the Ry'Gorr for you.", "OfferLooseningGrip") + AddConversationOption(conversation, "Why don't you deal with the Ry'Gorr yourself?", "Quest1Chat_6") + AddConversationOption(conversation, "The troubles of your people are no problem of mine. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The battle for the choke rages on. The Ry'Gorr still cling to hope and they still yearn for revenge. They cast their claws upon the mainland of Erollis. They prowl the icy plains. They trouble my people.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga005.mp3", "", "", 3500318705, 1278765426, Spawn) + AddConversationOption(conversation, "Where did you get all of these names?", "Quest1Chat_3") + AddConversationOption(conversation, "Okay, okay, okay...") + StartConversation(conversation, NPC, Spawn, "Also: Champion of the Iceclad Offensive, Unwitting Pilgrim of the Lost Dwarves, She Who Shall Never Find Repose, Bear-Wrestler, Giant-Slayer, Wurm-Slayer, Bane of the Unliving, Explorer of the .. GetName(Spawn) .. of Veeshan...") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga009.mp3", "", "", 806621839, 625277708, Spawn) + AddConversationOption(conversation, "Ah, you're barely here. Well, I could deal with the Ry'Gorr.", "OfferLooseningGrip") + AddConversationOption(conversation, "I refuse to do your bidding. Goodbye.") + AddConversationOption(conversation, "I'm not interested in helping a ghost.") + StartConversation(conversation, NPC, Spawn, "My grasp upon this world is tenuous. I can no longer interfere personally.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga007.mp3", "", "", 563806533, 3464673073, Spawn) + AddConversationOption(conversation, "And what consideration would that be?", "Quest1Chat_3") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Aye. It's what the symbol represents that deserves consideration.") +end + +function Quest1Chat_8(NPC, Spawn) + SetStepComplete(Spawn, LooseningGrip, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga012.mp3", "", "", 2283183763, 3194399424, Spawn) + AddConversationOption(conversation, "What else must be done? ", "Quest2Chat_1") + AddConversationOption(conversation, "Even a declawed snow leopard has fangs.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Ye've done well, " .. GetName(Spawn) .. ", but the orcs are nothing if not tenacious.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga013.mp3", "", "", 2592535922, 910199991, Spawn) + AddConversationOption(conversation, "Oh, I'm a Clawrender now?", "Quest2Chat_2") + AddConversationOption(conversation, "I would be happy to be your champion, Herga.", "Quest2Chat_4") + AddConversationOption(conversation, "Don't presume to name me.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ", Clawrender, will ye be my champion again?") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga014.mp3", "", "", 1089936534, 3828755008, Spawn) + AddConversationOption(conversation, "What's the difference?", "Quest2Chat_3") + AddConversationOption(conversation, "Was there something you wanted me to do? ", "Quest2Chat_4") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Yes. Ye carry this name with you even if others cannot see it, and even if ye yerself do not know it.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga016.mp3", "", "", 364121145, 3220691624, Spawn) + AddConversationOption(conversation, "I look forward to it.", "Quest2Chat_4") + AddConversationOption(conversation, "Must you always speak in riddles? ", "Quest2Chat_4") + AddConversationOption(conversation, "I don't feel like being lectured right now.") + StartConversation(conversation, NPC, Spawn, "Ye'll learn the difference. All in due time.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga015.mp3", "", "", 706935519, 853655924, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest2Chat_5") + AddConversationOption(conversation, "Tell me more.", "Quest2Chat_5") + AddConversationOption(conversation, "War stories bore me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "There was a great battle here. 'Twas a clash of epic proportions. We surrounded the orcish horde. We herded them onto the narrow precipice of the choke, overlooking the ocean. ") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga017.mp3", "", "", 4269378925, 1349634261, Spawn) + AddConversationOption(conversation, "What do you mean?", "OfferTheCharge") + AddConversationOption(conversation, "Was this the first time you were killed?", "OfferTheCharge") + AddConversationOption(conversation, "Do you mean that you were the first to die?", "OfferTheCharge") + AddConversationOption(conversation, "This history lesson is over. I'm out of here.") + StartConversation(conversation, NPC, Spawn, "One final charge was all that was necessary to drive them off the edge. I led that charge, and for my valor I was first-slain.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga020.mp3", "", "", 2112568660, 3269874473, Spawn) + AddConversationOption(conversation, "Hardly a fair fight.", "Quest2Chat_7") + AddConversationOption(conversation, "What do you mean by 'clinging to life'?", "Quest2Chat_7") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Clinging. Clinging to life. I led the final charge against the orcs, and for my valor I was the first to die. I was cut down, slaughtered, by the blades of a dozen grinning blue monsters. ") +end + +function Quest2Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga021.mp3", "", "", 1415485990, 2536139437, Spawn) + AddConversationOption(conversation, "Ah, that's when you were killed in the battle of the choke.", "Quest2Chat_8") + AddConversationOption(conversation, "Is this where the story ends?", "Quest2Chat_8") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "As I fell, the Ry'Gorr forces roared in unison: a triumphant guttural shriek. Impassioned by the sight of my death, they met our charge head on, and the last thing I saw as my vision faded was the orcs rushing forth.") +end + +function Quest2Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga022.mp3", "", "", 3973009160, 332773140, Spawn) + AddConversationOption(conversation, "Is this a description of the afterlife?", "Quest2Chat_9") + AddConversationOption(conversation, "Did you succeed in regaining your consciousness?", "Quest2Chat_9") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The din of battle faded, and my world went black. Yet, I was not done yet. I fought to return to consciousness. I swam through a murky void... kicking, thrashing, and struggling to find the surface of a blind bubbling sea. It felt like an age passed.") +end + +function Quest2Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga023.mp3", "", "", 478728406, 1497661248, Spawn) + AddConversationOption(conversation, "The orcs had forgotten about you?", "Quest2Chat_10") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "And suddenly, the world snapped back into focus. I found myself back on the field of battle, covered in snow and blood. ") +end + +function Quest2Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga024.mp3", "", "", 2297746531, 802741759, Spawn) + AddConversationOption(conversation, "You were not yet slain?", "Quest2Chat_11") + AddConversationOption(conversation, "You were clinging to life.", "Quest2Chat_11") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The orcs had trampled over my broken body and were locked in battle with my coldain. I pulled myself to my feet. I drew breath again. The fight raged on, and I was alive.") +end + +function Quest2Chat_11(NPC, Spawn) + SetStepComplete(Spawn, TheCharge, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga025.mp3", "", "", 509339797, 2341366756, Spawn) + AddConversationOption(conversation, "I hope you healed yourself before heading back into battle.", "Quest3Chat_1") + AddConversationOption(conversation, "You must be hard to kill.", "Quest3Chat_1") + AddConversationOption(conversation, "Sounds like the orcs were in for a surprise.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "I was slain. Yet somehow I returned, clinging to life. And though my wounds were terrible, I felt nothing but fury.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga026.mp3", "", "", 3996082713, 3335501764, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest3Chat_2") + AddConversationOption(conversation, "Make up your mind.", "Quest3Chat_2") + AddConversationOption(conversation, "This is all too confusing to follow.") + StartConversation(conversation, NPC, Spawn, "The Siege was not over... is not over.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga027.mp3", "", "", 1946406976, 651799863, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest3Chat_3") + AddConversationOption(conversation, "Did you strike at the Ry'Gorr from behind?", "Quest3Chat_3") + AddConversationOption(conversation, "I'm not even sure what you're talking about.") + StartConversation(conversation, NPC, Spawn, "I crouched, unseen, behind their lines. Their backs were to me, and they were preoccupied with the dwarves before them. The opportunity to shatter the orcs' formation was within my grasp.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga028.mp3", "", "", 1067012984, 342549842, Spawn) + AddConversationOption(conversation, "I will take care of their siege weaponry.", "OfferSiegeOver") + AddConversationOption(conversation, "It sounds like you want me to destroy their siege weapons.", "OfferSiegeOver") + AddConversationOption(conversation, "Are you referring to the past or the present? This is too confusing.") + StartConversation(conversation, NPC, Spawn, "The bloody Siege is not over. The Ry'Gorr still lurk on the floating islets below. They have manufactured crude ballistae, and aimed them at our shores.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga031.mp3", "", "", 154139562, 114017871, Spawn) + AddConversationOption(conversation, "Is this when you intervened?", "Quest3Chat_5") + AddConversationOption(conversation, "Did the coldain realize you were still alive?", "Quest3Chat_5") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "My coldain were givin' it their all, but they were losing ground. We stood to lose everything we'd fought and bled for that day. ") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga032.mp3", "", "", 2869284176, 4042655876, Spawn) + AddConversationOption(conversation, "Please continue.", "Quest3Chat_6") + AddConversationOption(conversation, "But you were half-dead!", "Quest3Chat_6") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "I hefted my trusty shield and hammer. Screamin' a battle cry to Brell, I set upon the orcs with a vengeance. I was bristlin' with a quick that I'd never experienced before.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga033.mp3", "", "", 4141123345, 649777350, Spawn) + AddConversationOption(conversation, "I bet they were surprised.", "Quest3Chat_7") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "They were caught completely unawares. The orcs within reach of my hammer fell before my onslaught like so many snowflakes. When they turned to see who had flanked them, their faces were aghast with horror.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga034.mp3", "", "", 1128320376, 3066771275, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest3Chat_8") + AddConversationOption(conversation, "The orcs must never have expected your return.", "Quest3Chat_8") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "They cringed at the sight of me, certain that they'd already seen to my demise. Shrieks of fear rang out among the Ry'Gorr, and then...") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga035.mp3", "", "", 679495906, 2871959311, Spawn) + AddConversationOption(conversation, "Go on.", "Quest3Chat_9") + AddConversationOption(conversation, "Fortune, or the gods, smiled upon you.", "Quest3Chat_9") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "And then, their lines broke. Orcs fled to either side to avoid my wrath. Fear spread through their ranks like wildfire. They scattered, and we pressed the advantage.") +end + +function Quest3Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga036.mp3", "", "", 1193017737, 3953773315, Spawn) + AddConversationOption(conversation, "You drove them off the choke?", "Quest3Chat_10") + AddConversationOption(conversation, "Ha! That'll teach the orcs!", "Quest3Chat_10") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "They sought quarter from our attacks, but none was given. Our foes retreated up against the ledge of the choke, and then they spilled over it. ") +end + +function Quest3Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga037.mp3", "", "", 2443596305, 594093488, Spawn) + AddConversationOption(conversation, "So you were victorious?", "Quest3Chat_11") + AddConversationOption(conversation, "You didn't survive that battle, did you?", "Quest3Chat_11") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Scores of orcs toppled from the cliffs into the icy waters below. Our forces drove them into the ocean. In the chaos, I went over the edge with them, still swinging my hammer mid-descent.") +end + +function Quest3Chat_11(NPC, Spawn) + SetStepComplete(Spawn, SiegeOver, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga038.mp3", "", "", 873707687, 1731330082, Spawn) + AddConversationOption(conversation, "How were you thrice-slain?", "Quest3Chat_12") + AddConversationOption(conversation, "When did you return as a spirit?", "Quest3Chat_12") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "I plunged into the frigid sea water, still grappling with an orc. My body was wracked with wounds and weariness. It was that moment that I breathed my last. I died again, and became she who was twice-slain.") +end + +function Quest3Chat_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga039.mp3", "", "", 1915210781, 188105745, Spawn) + AddConversationOption(conversation, "I hope that time comes soon.", "Quest4Chat_1") + AddConversationOption(conversation, "I suppose you'll explain it to me, eventually.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "All in due time.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga040.mp3", "", "", 3946585485, 2195203670, Spawn) + AddConversationOption(conversation, "Is this when you came back as a ghost?", "Quest4Chat_2") + AddConversationOption(conversation, "Are you speaking of the reanimated Ry'Gorr skeletons?", "Quest4Chat_2") + AddConversationOption(conversation, "Who or what are you referring to?", "Quest4Chat_2") + AddConversationOption(conversation, "I can never understand you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It is not an arbitrary whim that leads the dead to forsake their graves and mingle again with their earthly associates.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga041.mp3", "", "", 1296890403, 1990586167, Spawn) + AddConversationOption(conversation, "You have continued to help them, as demonstrated by our arrangement.", "Quest4Chat_3") + AddConversationOption(conversation, "Did you need assistance with something else?", "Quest4Chat_3") + AddConversationOption(conversation, "Speaking of repose, I need a rest. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I long for no repose or reward. I simply wish to assist my brethren.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga042.mp3", "", "", 3151113147, 3002768829, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest4Chat_4") + AddConversationOption(conversation, "You must be referring to the Ry'Gorr skeletons.", "Quest4Chat_4") + AddConversationOption(conversation, "I'm not even sure what you're talking about.") + StartConversation(conversation, NPC, Spawn, "They long for no repose or reward. They simply exist to serve, as tools of their masters.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga043.mp3", "", "", 268915202, 3145348272, Spawn) + AddConversationOption(conversation, "I will destroy the Ry'Gorr skeletons for you.", "OfferForsakingGrave") + AddConversationOption(conversation, "Just tell me where to find them.", "OfferForsakingGrave") + AddConversationOption(conversation, "I'm not even sure what you're talking about.") + StartConversation(conversation, NPC, Spawn, "They are tools of destruction. They are marionettes dancing on invisible strings, controlled by the necromancers that created them. The Ry'Gorr skeletons are unholy abominations with no mind, no will, and a nefarious purpose.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga046.mp3", "", "", 607398885, 1472725438, Spawn) + AddConversationOption(conversation, "What was it?", "Quest4Chat_6") + AddConversationOption(conversation, "It was a spirit ward, placed by a coldain shaman, wasn't it?", "Quest4Chat_6") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I had returned from the grave to haunt my foes once again. Upon my second death, I was once again plunged into the inky darkness of the afterlife. And after what felt like another eternity of thrashing and struggling, I glimpsed a speck of luminance.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga047.mp3", "", "", 3570519032, 1449010576, Spawn) + AddConversationOption(conversation, "So you were able to lead them into battle once again?", "Quest4Chat_7") + AddConversationOption(conversation, "Tell me more.", "Quest4Chat_7") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It was the beacon, a spirit ward placed by one of our coldain shaman, and it was calling me home. I followed the light, and rejoined my brethren as a spirit.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga048.mp3", "", "", 1091068909, 2556774809, Spawn) + AddConversationOption(conversation, "The orcs must never have expected your return.", "Quest4Chat_8") + AddConversationOption(conversation, "This story doesn't have a happy ending, does it?", "Quest4Chat_8") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "For awhile, I led the coldain that fought with me on the choke. The spirits of those that did not survive the battle followed me tirelessly. Our ranks swelled as more fallen coldain found their way back.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga049.mp3", "", "", 2856349899, 3435957027, Spawn) + AddConversationOption(conversation, "How was he able to stop you?", "Quest4Chat_9") + AddConversationOption(conversation, "I don't like the sound of this Ry'Gorr necromancer.", "Quest4Chat_9") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "As a group, we were unstoppable. No one, man or beast, dead or breathing, could withstand our combined might. We continued to harass the orcs for months, until their necromancer, Orug Deathmaker, uncovered a method to stop me. ") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga050.mp3", "", "", 863524022, 660387417, Spawn) + AddConversationOption(conversation, "I can understand why that would concern them.", "Quest4Chat_10") + AddConversationOption(conversation, "The edges of Norrath aren't that far, here on Erollis.", "Quest4Chat_10") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Orug Deathmaker recognized how much of a danger my existence represented. His orcs fear me, and for good reason. My spectral soldiers would follow me to the edges of Norrath, and beyond.") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga051.mp3", "", "", 3393923414, 4073776454, Spawn) + AddConversationOption(conversation, "I see. And thus you were thrice slain.", "Quest4Chat_11") + AddConversationOption(conversation, "I see. Your grasp is now tenuous.", "Quest4Chat_11") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "And so, the orcs recovered my body from the icy deep, and Orug destroyed it in a ritual meant to exorcise my spirit. His ritual was successful, as it eliminated my ability to directly affect this world. And thus...") +end + +function Quest4Chat_11(NPC, Spawn) + SetStepComplete(Spawn, ForsakingGrave, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga052.mp3", "", "", 1152246518, 887448784, Spawn) + AddConversationOption(conversation, "I will happily help you in your endeavors.", "Quest5Chat_1") + AddConversationOption(conversation, "Was there anything else you needed?", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Aye, and thus I was thrice slain. It is only through your deeds that I am able to continue my work here. I long for no repose or reward. I simply wish to assist my brethren.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga053.mp3", "", "", 3620088043, 2212562054, Spawn) + AddConversationOption(conversation, "Of course, Herga.", "Quest5Chat_2") + AddConversationOption(conversation, "You addressed me with a title again.", "Quest5Chat_2") + AddConversationOption(conversation, "I'm afraid I must be going.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ", Clawrender, Orcslayer, Siege Stopper, Bane of the Unliving, Friend to the coldain. Will ye be my champion again?") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga054.mp3", "", "", 817762038, 3762145835, Spawn) + AddConversationOption(conversation, "It would be my honor.", "Quest5Chat_3") + AddConversationOption(conversation, "I see what you mean.", "Quest5Chat_3") + AddConversationOption(conversation, "This is an awful lot of work for a rusty old relic.") + StartConversation(conversation, NPC, Spawn, "Though the orcs have destroyed my body, my battle helm still remains intact. It means much to me, as ye'll discover. Ye would honor this Battlepriest if ye could recover it from the ice jetty below the cliff named after me.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga055.mp3", "", "", 2651064333, 3864508293, Spawn) + AddConversationOption(conversation, "Should I give this helm to your family?", "OfferAllRemains") + AddConversationOption(conversation, "I'm sure your people will want to have the helm back.", "OfferAllRemains") + AddConversationOption(conversation, "It's not like you can wear it again. This is a waste of time.") + StartConversation(conversation, NPC, Spawn, "There is not much left of me now. My corporeal form has been defiled and destroyed by the Ry'Gorr. My spirit is weak.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga058.mp3", "", "", 2433653764, 1582075535, Spawn) + AddConversationOption(conversation, "It's been a pleasure. ", "Quest5Chat_5") + AddConversationOption(conversation, "Your valor is legendary.", "Quest5Chat_5") + AddConversationOption(conversation, "If only friends were currency, that would mean something.", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Ye have many names, " .. GetName(Spawn) .. ", but today ye've earned the name 'Friend of Herga.'") +end + +function Quest5Chat_5(NPC, Spawn) + SetStepComplete(Spawn, AllRemains, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga059.mp3", "", "", 584614622, 2543315634, Spawn) + AddConversationOption(conversation, "I'd wish you good rest, but I know you'll never rest so long as your people need you.") + AddConversationOption(conversation, "Farewell, good Battlepriest. I will treasure the helm.") + AddConversationOption(conversation, "I can't get out of here fast enough. Goodbye.") + StartConversation(conversation, NPC, Spawn, "For retrieving my helm, I'd like to return the favor. Please take this. Yer helmet is oft all that stands between ye and the hereafter.") +end + +function OfferLooseningGrip(NPC, Spawn) + OfferQuest(NPC, Spawn, LooseningGrip) +end + +function OfferTheCharge(NPC, Spawn) + OfferQuest(NPC, Spawn, TheCharge) +end + +function OfferSiegeOver(NPC, Spawn) + OfferQuest(NPC, Spawn, SiegeOver) +end + +function OfferForsakingGrave(NPC, Spawn) + OfferQuest(NPC, Spawn, ForsakingGrave) +end + +function OfferAllRemains(NPC, Spawn) + OfferQuest(NPC, Spawn, AllRemains) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BelkaThunderheart.lua b/Lua/SpawnScripts/FrostfangSea/BelkaThunderheart.lua new file mode 100755 index 000000000..597d42074 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BelkaThunderheart.lua @@ -0,0 +1,826 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BelkaThunderheart.lua + Script Purpose : Belka Thunderheart + Script Author : theFoof + Script Date : 2013.05.31 + Script Notes : +--]] + +local DisplacedDiscouraged = 37 + +local ReclaimingHonor = 38 + +local TisUnnatural = 39 + +local PouringSkellies = 40 + +local NoWork = 41 + +local TacklingBasilisks = 42 + +local DomesticationSurvivalism = 43 + +local ReportSpine = 44 + +function spawn(NPC) + ProvidesQuest(NPC, DisplacedDiscouraged) + ProvidesQuest(NPC, ReclaimingHonor) + ProvidesQuest(NPC, TisUnnatural) + ProvidesQuest(NPC, PouringSkellies) + ProvidesQuest(NPC, NoWork) + ProvidesQuest(NPC, TacklingBasilisks) + ProvidesQuest(NPC, DomesticationSurvivalism) + ProvidesQuest(NPC, ReportSpine) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, DisplacedDiscouraged) and not HasQuest(Spawn, DisplacedDiscouraged) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Aah! You're a blue dwarf! I think I need to leave now. Goodbye.") + AddConversationOption(conversation, "And into the fire? But just who exactly are you, and why you are here?", "Quest1Chat_1") + AddConversationOption(conversation, "I am not interested in philosophy. Just give me some work to do and skip the chat.", "OfferDisplacedDiscouraged") + StartConversation(conversation, NPC, Spawn, "Out of the frying pan...") + elseif GetQuestStep(Spawn, DisplacedDiscouraged) == 1 then + PlayFlavor(NPC, "", "the Ry'Gorr raiders aren't making our hard lives any easier.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, DisplacedDiscouraged) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I dealt with the orcs, as promised.", "Quest1Chat_10") + AddConversationOption(conversation, "Dreary existence, isn't it?", "Quest1Chat_10") + StartConversation(conversation, NPC, Spawn, "Yer still alive, " .. GetName(Spawn) .. ". Good, good. That's about as joyous as the news gets around here.") + elseif HasCompletedQuest(Spawn, DisplacedDiscouraged) and not HasCompletedQuest(Spawn, ReclaimingHonor) and not HasQuest(Spawn, ReclaimingHonor) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ReclaimingHonor) == 1 then + PlayFlavor(NPC, "", "Make those Ry'Gorr raiders suffer for what they've done.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ReclaimingHonor) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Here are the signet rings.", "Quest2Chat_5") + AddConversationOption(conversation, "I took their lives and then I took back the rings.", "Quest2Chat_5") + AddConversationOption(conversation, "I did as you asked, but their suffering won't end yours.", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr have suffered for what they've done, I hope?") + elseif HasCompletedQuest(Spawn, ReclaimingHonor) and not HasCompletedQuest(Spawn, TisUnnatural) and not HasQuest(Spawn, TisUnnatural) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TisUnnatural) == 1 then + PlayFlavor(NPC, "", "Engage the skeletal horde, and slay them where they stand.", "point", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TisUnnatural) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I've completed my task.", "Quest3Chat_8") + AddConversationOption(conversation, "I destroyed the skeletons.", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "Have ye smashed the undead? Have ye given the spirits a hand?") + elseif HasCompletedQuest(Spawn, TisUnnatural) and not HasCompletedQuest(Spawn, PouringSkellies) and not HasQuest(Spawn, PouringSkellies) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, PouringSkellies) == 1 then + PlayFlavor(NPC, "", "Don't waste any of Fronden's brew, if ye can help it.", "threaten", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PouringSkellies) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Worked like a charm.", "Quest4Chat_12") + AddConversationOption(conversation, "Yes, and I can't believe anyone would drink this.", "Quest4Chat_12") + StartConversation(conversation, NPC, Spawn, "Did Fronden's Finest do the trick? Were ye able to obliterate the bone piles?") + elseif HasCompletedQuest(Spawn, PouringSkellies) and not HasCompletedQuest(Spawn, NoWork) and not HasQuest(Spawn, NoWork) then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, NoWork) == 1 then + PlayFlavor(NPC, "", "Recover as much of that velium as ye can.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, NoWork) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I've got plenty.", "Quest5Chat_6") + AddConversationOption(conversation, "All that you require and more.", "Quest5Chat_6") + AddConversationOption(conversation, "Are you more worried about your precious metal than my well-being?", "Quest5Chat_7") + StartConversation(conversation, NPC, Spawn, "Ah, ye've returned, " .. GetName(Spawn) .. ". How much velium were ye able to recover?") + elseif HasCompletedQuest(Spawn, NoWork) and not HasCompletedQuest(Spawn, TacklingBasilisks) and not HasQuest(Spawn, TacklingBasilisks) then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TacklingBasilisks) == 1 then + PlayFlavor(NPC, "", "I'll be interested in hearing how ye fare against the basilisks.", "nod", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TacklingBasilisks) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "They are vicious creatures.", "Quest6Chat_9") + AddConversationOption(conversation, "Based on the eggs and nests, I'd say the basilisks are rapidly reproducing.", "Quest6Chat_9") + AddConversationOption(conversation, "They are like other wild animals: they fight to protect themselves and their young.", "Quest6Chat_9") + StartConversation(conversation, NPC, Spawn, "Tell me about the basilisks, " .. GetName(Spawn) .. ".") + elseif HasCompletedQuest(Spawn, TacklingBasilisks) and not HasCompletedQuest(Spawn, DomesticationSurvivalism) and not HasQuest(Spawn, DomesticationSurvivalism) then + Quest7Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, DomesticationSurvivalism) == 1 then + PlayFlavor(NPC, "", "I'd bet my left braid we could train the basilisks, if we only had some of their eggs.", "ponder", 0, 0, Spawn) + elseif GetQuestStep(Spawn, DomesticationSurvivalism) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's not a very original name.", "Quest7Chat_7") + AddConversationOption(conversation, "Best of luck raising and taming them!", "Quest7Chat_8") + AddConversationOption(conversation, "I hope you're right about domesticating these beasts.", "Quest7Chat_8") + StartConversation(conversation, NPC, Spawn, "Oh, look at all those basilisk eggs ye brought! They're gonna hatch and then grow up to be the cutest nippers. I'm naming this one Lockjaw.") + elseif HasCompletedQuest(Spawn, DomesticationSurvivalism) and not HasCompletedQuest(Spawn, ReportSpine) and not HasQuest(Spawn, ReportSpine) then + Quest8Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ReportSpine) == 1 then + PlayFlavor(NPC, "", "Report to Tad in Cragged Spine as soon as ye can.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, ReportSpine) then + PlayFlavor(NPC, "", "Pleasure to see ye again!", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest1Chat_2") + AddConversationOption(conversation, "This is depressing.") + StartConversation(conversation, NPC, Spawn, "Out of the fire, and into the icy abyss, more like. We are the coldain, and we've been through more than you can imagine.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did you get here?", "Quest1Chat_3") + AddConversationOption(conversation, "What happened to Velious?", "Quest1Chat_8") + AddConversationOption(conversation, "Perhaps some other time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I don't suppose ye've had the chance to hear about how we got here, have ye? Well, in case ye haven't noticed, we're not in Velious anymore.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest1Chat_4") + AddConversationOption(conversation, "Sounds like an excuse. Did they get away?", "Quest1Chat_4") + AddConversationOption(conversation, "This is a bit too long-winded for me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Not more than ten years back, a group of us coldain were tracking down a band of unruly Ry'Gorr orcs. We'd chased 'em to the ends of the continent and had 'em good and cornered near the edge of the Iceclad Ocean. And moments before we were able to run them down, the sky went perfectly dark.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart006.mp3", "", "", 183388199, 507572177, Spawn) + AddConversationOption(conversation, "Saw what coming?", "Quest1Chat_5") + AddConversationOption(conversation, "The timing doesn't make sense. The cataclysm occurred long ago.", "Quest1Chat_9") + AddConversationOption(conversation, "Something tells me this is how you got here.", "Quest1Chat_5") + AddConversationOption(conversation, "I'm sorry. I'll leave you to your grieving.") + StartConversation(conversation, NPC, Spawn, "Within minutes, a chaotic storm rained ash, stone, and hellfire down upon us. Clouds of hissing steam a hunnerd' dwarves high erupted each time a shard of rock collided with the snow. The land trembled as if Veeshan herself sought to rend the continent in 'twain with her massive claws. And then, we saw it coming.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Then what happened?", "Quest1Chat_6") + AddConversationOption(conversation, "Very punny.", "Quest1Chat_6") + AddConversationOption(conversation, "I'm sorry. I'll leave you to your grieving.") + StartConversation(conversation, NPC, Spawn, "A monstrous shard of rock, pointy like a harpy's claw and big as a mountain, was headed right for us. There was no time to react, nor run, nor make an escape. This chunk of earth struck down between us and the mainland. The immense blast from the impact showered us with a ton of ice. I was knocked out, cold.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perhaps I could help you with the orcs.", "Quest1Chat_7") + AddConversationOption(conversation, "That is a horrible story. I'll be going now.") + StartConversation(conversation, NPC, Spawn, "When I awoke and shook off the snow, I found myself here, floating on this chunk of Brell-forsaken ice in the middle of nowhere. There's barely enough of us and barely enough resources to make do. And if that wasn't bad enough, the Ry'Gorr orcs we were battling survived the blast too. They make it even more difficult to eke out a living on this rock.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart010.mp3", "", "", 679658431, 464088819, Spawn) + AddConversationOption(conversation, "I'm happy to help.", "OfferDisplacedDiscouraged") + AddConversationOption(conversation, "I just hope this will cease your bellyaching.") + StartConversation(conversation, NPC, Spawn, "That'd be a small blessing, " .. GetName(Spawn) .. ". The orc raiders are not far from here. Look for them off to the north, down on the jetties of ice below the choke and Pride Overlook. They're coming over from Ry'Gorr Isle.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did you get here?", "Quest1Chat_3") + AddConversationOption(conversation, "Perhaps some other time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yer guess is as good as mine. It may be as we left it, or it may have been obliterated by the cataclysm.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what happened next?", "Quest1Chat_5") + AddConversationOption(conversation, "I'm sorry. I'll leave you to your grieving.") + StartConversation(conversation, NPC, Spawn, "Ye know yer history, " .. GetName(Spawn) ..". This was more recent. I won't pretend to understand the movements of the heavens, but for us the Age of Cataclysms is barely over... if you can call this 'over'.") +end + +function Quest1Chat_10(NPC, Spawn) + SetStepComplete(Spawn, DisplacedDiscouraged, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Like I said before, I'm happy to lend a hand.", "Quest2Chat_1") + AddConversationOption(conversation, "I would appreciate that.", "Quest2Chat_1") + AddConversationOption(conversation, "If you can get over your depression long enough to do so.") + StartConversation(conversation, NPC, Spawn, "Well, I suppose I should be thanking ye for yer help.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest2Chat_3") + AddConversationOption(conversation, "Of course. An honorable orc is an oxymoron.", "Quest2Chat_2") + AddConversationOption(conversation, "This will lead to more work, no doubt. I take my leave.") + StartConversation(conversation, NPC, Spawn, "Those blasted Ry'Gorr have no shame, and no honor.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart015.mp3", "", "", 2910498444, 2424387451, Spawn) + AddConversationOption(conversation, "I thought that'd cheer you up.", "Quest2Chat_3") + AddConversationOption(conversation, "Thank you.", "Quest2Chat_3") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Ah. Haha! I like the way ye think, " .. GetName(Spawn) .. "!") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart016.mp3", "", "", 2020955980, 3047989742, Spawn) + AddConversationOption(conversation, "And, like you said, the orcs have no honor.", "Quest2Chat_4") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "The blue monsters have taken to looting the signet rings from the coldain they've killed in combat. They wear the rings around their necks, strung on leather, and displayed prominently as badges of 'honor.'") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart017.mp3", "", "", 736834123, 822536870, Spawn) + AddConversationOption(conversation, "I would be happy to deliver your message of justice.", "OfferReclaimingHonor") + AddConversationOption(conversation, "Not at this time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, precisely. Now we need to make sure they have no signet rings, either. In fact, I'd like ye to deliver a strong message to any Ry'Gorr that considers wearing my brethren's ring as a trophy. I want the orcs to understand that it puts a target on their head. Ye up for recovering the rings?") +end + +function Quest2Chat_5(NPC, Spawn) + SetStepComplete(Spawn, ReclaimingHonor, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is something else bothering you?", "Quest3Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest3Chat_1") + AddConversationOption(conversation, "I had hoped that would cheer you up.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Yes, yes. Ye have been... most helpful.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What's most unnatural?", "Quest3Chat_2") + AddConversationOption(conversation, "You mean the skeletal orcs?", "Quest3Chat_7") + AddConversationOption(conversation, "You seem troubled. I will take my leave.") + StartConversation(conversation, NPC, Spawn, "'Tis most unnatural.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart023.mp3", "", "", 1340808412, 2731736557, Spawn) + AddConversationOption(conversation, "The spirits of your brethren bother you?", "Quest3Chat_3") + AddConversationOption(conversation, "This is too disturbing to speak of. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Have a look yonder, " .. GetName(Spawn) .. ", to the battlefield south of here. Ye'll see not only the threat of the Ry'Gorr orcs, arisen from the dead to harry us again, but the spirits of fallen coldain that march against them.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest3Chat_4") + AddConversationOption(conversation, "To be denied that afterlife is an atrocity.", "Quest3Chat_6") + AddConversationOption(conversation, "But their sacrifice is saving the lives of your people.", "Quest3Chat_7") + AddConversationOption(conversation, "I'm not certain you appreciate their efforts. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Don't get me wrong, " .. GetName(Spawn) .. ". I appreciate their assistance in holding back the endless tide of the undead, it's just that... when the day comes and I pass on, I hope to be seated at Brell's table. I'd like to partake in the feasts of roasted walrus, steamed mushrooms, and gingered lichen, all washed down with a tankard of Brell's finest.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll do it.", "OfferTisUnnatural") + AddConversationOption(conversation, "I don't have the stomach for this.") + StartConversation(conversation, NPC, Spawn, "We must do something to bring an end to this stalemate. Give our fallen coldain a hand on the battlefield. Engage the skeletal horde, and slay them where they stand.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I see. Tell me more.", "Quest3Chat_2") + AddConversationOption(conversation, "This is bothersome. I must go.") + StartConversation(conversation, NPC, Spawn, "Aye, that, and the spirits of the fallen coldain that have arisen to do battle against them.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest3Chat_4") + AddConversationOption(conversation, "I'm not barbaric, but I'm also not shallow and selfish. I wish I could say the same for you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Precisely. And I'm proud of an outsider like yerself fer being able to see that. Yer not half as barbaric as I expected.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest3Chat_4") + AddConversationOption(conversation, "I will leave you to your reverie.") + StartConversation(conversation, NPC, Spawn, "Aye, 'tis true. But they've earned themselves a place amongst the greatest heroes of the coldain. They should be sharing a leg of mutton with Colin Dain, 'imself, not locking horns with undead for all eternity.") +end + +function Quest3Chat_8(NPC, Spawn) + SetStepComplete(Spawn, TisUnnatural, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart030.mp3", "", "", 3401980101, 2087482309, Spawn) + AddConversationOption(conversation, "My pleasure.", "Quest4Chat_1") + AddConversationOption(conversation, "Glad I could help.", "Quest4Chat_1") + AddConversationOption(conversation, "Did you need something else?", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "That's a relief for me, and for the coldain spirits, " .. GetName(Spawn) .. ". Thank ye for laying those skeletons to rest.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "This is a battle of attrition.", "Quest4Chat_2") + AddConversationOption(conversation, "There must be a way to deal with them permanently.", "Quest4Chat_4") + AddConversationOption(conversation, "This is a fool's errand. We'll never outlast them.") + StartConversation(conversation, NPC, Spawn, "I appreciate all your efforts, " .. GetName(Spawn) .. ", but we're no closer now to eradicating the skeletal horde than we were before. Can ye comprehend the kind of mess we're in now?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest4Chat_3") + AddConversationOption(conversation, "Oh, they're raising the skeletons again.", "Quest4Chat_10") + AddConversationOption(conversation, "I don't like being spoken down to. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, but without the attrition part.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "There must be a way to deal with them permanently.", "Quest4Chat_4") + AddConversationOption(conversation, "I'm getting out of here!") + StartConversation(conversation, NPC, Spawn, "It doesn't matter how many times ye cut the bone rattlers down. They come right back.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You won't find any solutions in that bottle.", "Quest4Chat_5") + AddConversationOption(conversation, "I'll take two of whatever you're having.", "Quest4Chat_8") + AddConversationOption(conversation, "It's not like you can pour ale on the skeletons to destroy them.", "Quest4Chat_9") + AddConversationOption(conversation, "This is no time to drink! I'm going to do something useful.") + StartConversation(conversation, NPC, Spawn, "Ye know, back home, as rough as things were we never had to deal with undead orcs. We're ill-prepared for this kinda' threat. So we're gonna have to improvise. I have an idea. [Uncorks a flask of alcohol]") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are you planning on doing with that?", "Quest4Chat_6") + AddConversationOption(conversation, "This is no time to drink! I'm going to do something useful.") + StartConversation(conversation, NPC, Spawn, "Says ye! And this isn't just any ol' bottle of spirits.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And you drink that?", "Quest4Chat_7") + AddConversationOption(conversation, "What if it doesn't work?", "Quest4Chat_9") + AddConversationOption(conversation, "I'll give your plan a try.", "OfferPouringSkellies") + AddConversationOption(conversation, "This is lunacy. Farewell.") + StartConversation(conversation, NPC, Spawn, "This is Fronden's Finest: it starts as cool fresh Thurgadin springwater, is distilled with the finest mashed grain, ages for 53 years in a white oak cask, before receiving blessing from priests o' Brell. It carries more kick than an orn'ry mountain goat. And on top o' all that, I'm willing te bet it'll make short work of those manky dreadfuls.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll give your plan a try.", "OfferPouringSkellies") + AddConversationOption(conversation, "This is lunacy. Farewell.") + StartConversation(conversation, NPC, Spawn, "It's more of a sipping drink.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Just how strong is that drink?", "Quest4Chat_6") + AddConversationOption(conversation, "If you're not sharing, I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Haha! A half swig of this'd knock you flat, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll give your plan a try.", "OfferPouringSkellies") + AddConversationOption(conversation, "This is lunacy. Farewell.") + StartConversation(conversation, NPC, Spawn, "We'll be in the same miserable spot we're in now.") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "There must be a way to deal with them permanently.", "Quest4Chat_4") + AddConversationOption(conversation, "I'm getting out of here!") + StartConversation(conversation, NPC, Spawn, "And again... and again, which means all our efforts have been for naught thus far. It doesn't matter how many times ye cut the bone rattlers down. They come right back.") +end + +function Quest4Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Just what is in that flask?", "Quest4Chat_6") + AddConversationOption(conversation, "I don't even want to know. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Don't be so sure about that, and this ain't ale!") +end + +function Quest4Chat_12(NPC, Spawn) + SetStepComplete(Spawn, PouringSkellies, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It's a good thing you had that flask handy.", "Quest5Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest5Chat_1") + AddConversationOption(conversation, "You seem much less depressed than when we first met.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Aha! Now that's dwarven ingenuity at work! Making do with what ye have is what being a coldain is about.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Now that the fight isn't hopeless, perhaps we can look into ways to improve our odds.", "Quest5Chat_2") + AddConversationOption(conversation, "I'm interested in helping any way I can.", "Quest5Chat_3") + AddConversationOption(conversation, "Seems like I've done enough already. Goodbye.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. "! Thanks to yer efforts, we're finally turning the tide against the orcs. But we can't afford to rest just yet. There's still a pitched battle going on out there.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you need?", "Quest5Chat_3") + AddConversationOption(conversation, "Seems like I've done enough already. Goodbye.") + StartConversation(conversation, NPC, Spawn, "My thoughts exactly. I'm glad yer on the same page.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "There are probably bits of it strewn across the battlefield.", "Quest5Chat_4") + AddConversationOption(conversation, "No, but I'm sure you're about to tell me.", "Quest5Chat_5") + AddConversationOption(conversation, "I know where I'll be: gone. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Our weapons and shields 'ave seen their fair share of action, and this has taken a toll on their effectiveness. They can be repaired, but of course we need the metal to do so. And ye know where that metal is?") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So you need someone to gather these velium shards?", "Quest5Chat_5") + AddConversationOption(conversation, "I'm no fetcher. Farewell.") + StartConversation(conversation, NPC, Spawn, "Come to the head of the class! Yer absolutely right.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Of course. You need only to ask.", "OfferNoWork") + AddConversationOption(conversation, "Yes, but I expect to be rewarded.", "OfferNoWork") + AddConversationOption(conversation, "No, you can fend for yourselves now.") + StartConversation(conversation, NPC, Spawn, "Ye've been such a help in the past, and ye've proven yerself a capable sort. Would you be able to assist us in this endeavor? Pick up as many of the velium shards as you can carry and bring them back here.") +end + +function Quest5Chat_6(NPC, Spawn) + SetStepComplete(Spawn, NoWork, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It was a dangerous job.", "Quest6Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "This velium ye scavenged will be an immense help to the coldain forces. Our axes will be sharper and our shields sturdier.") +end + +function Quest5Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "No, but ye look fine to me. If something's wrong, yer hiding it well.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm listening.", "Quest6Chat_2") + AddConversationOption(conversation, "You mean crazier than scavenging pieces of scrap metal in the middle of a war zone?", "Quest6Chat_6") + AddConversationOption(conversation, "I'm not up for more crazy right now. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I have another idea. It's a plan that could help us in our plight against the Ry'Gorr. Now that we have a little breathing room, thanks to ye, we can finally explore this possibility. This may sound crazy, but just hear me out.") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What's the reason?", "Quest6Chat_3") + AddConversationOption(conversation, "I can't even imagine why this would be necessary.", "Quest6Chat_8") + AddConversationOption(conversation, "I won't help you if I don't know the reason why. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Actually, on second thought, I'll explain it after yer through. 'Tis easier this way. The crux of the matter is that I need ye to take down a tackle of basilisks.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, far be it from me to argue with the 'plan'. What needs to be done?", "Quest6Chat_4") + AddConversationOption(conversation, "Alright, I'm in.", "Quest6Chat_4") + AddConversationOption(conversation, "I won't help you if I don't know the reason why. Goodbye.") + StartConversation(conversation, NPC, Spawn, "They're dangerous beasts, fer one. And also, I've got a plan.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart060.mp3", "", "", 1232599488, 1599939111, Spawn) + AddConversationOption(conversation, "This is for research, isn't it?", "Quest6Chat_5") + AddConversationOption(conversation, "I will be back shortly.", "OfferTacklingBasilisks") + AddConversationOption(conversation, "I've had second thoughts. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The frostbiters are off to the east from here, past the battlefield. Ye'll need to tangle with a bunch of them. Afterwards, come back and let me know how it went.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart081.mp3", "", "", 1553643763, 2988219889, Spawn) + AddConversationOption(conversation, "Yes. I will be back shortly.", "OfferTacklingBasilisks") + StartConversation(conversation, NPC, Spawn, "Aye. Yer correct in that. Are ye still interested?") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You mean crazier than storming a battlefield and pouring Dwarven whiskey on orc bones?", "Quest6Chat_7") + AddConversationOption(conversation, "I should leave now while I still have my skin.") + StartConversation(conversation, NPC, Spawn, "Well...") +end + +function Quest6Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm listening.", "Quest6Chat_2") + AddConversationOption(conversation, "I should leave now while I still have my skin.") + StartConversation(conversation, NPC, Spawn, "Ye may have a point there, but jus' listen!") +end + +function Quest6Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Trust is in short supply on this floating chunk of ice. I'll do it.", "Quest6Chat_4") + AddConversationOption(conversation, "I do trust you, Belka.", "Quest6Chat_4") + AddConversationOption(conversation, "I won't help you if I don't know the reason why. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Ye'll just have to trust me on this one, " .. GetName(Spawn) .. ".") +end + +function Quest6Chat_9(NPC, Spawn) + SetStepComplete(Spawn, TacklingBasilisks, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are you going to explain why I was tasked with hunting basilisks?", "Quest7Chat_1") + AddConversationOption(conversation, "Was this a test?", "Quest7Chat_1") + AddConversationOption(conversation, "I'm still waiting to hear the reason.", "Quest7Chat_1") + StartConversation(conversation, NPC, Spawn, "Hmm... This was a most successful venture. Ye've done good.") +end + +function Quest7Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean by an understanding?", "Quest7Chat_2") + AddConversationOption(conversation, "Tell me what we've learned.", "Quest7Chat_2") + AddConversationOption(conversation, "The only understanding I have is that you've wasted my time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "So, now that you're back, I think I can let you in on the plan. Based off your experiences dealing with the nearby basilisks, we have a better understanding of the creatures. ") +end + +function Quest7Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What question would that be?", "Quest7Chat_3") + AddConversationOption(conversation, "Can they be tamed?", "Quest7Chat_6") + AddConversationOption(conversation, "You had me fight them to see if they were mean? I could have told you that just by looking at them!") + StartConversation(conversation, NPC, Spawn, "We know that they're ferocious fighters. We know they're feral. Finally, we know that they're fending off anyone that approaches their nests. These nests are full of unhatched young. Ye see what I'm getting at? Only one question remains.") +end + +function Quest7Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh, I see!", "Quest7Chat_4") + AddConversationOption(conversation, "I'm not sure that's feasible. Count me out.") + StartConversation(conversation, NPC, Spawn, "If'n we can raise the little nippers into loyal allies that'll fight the orcs, alongside us!") +end + +function Quest7Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And therefore, basilisks could be instrumental in holding back the Ry'Gorr.", "Quest7Chat_5") + AddConversationOption(conversation, "You probably don't know the first thing about animal training. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "My cousin, Frostpaw, was an animal tamer. He always had a pack of trained direwolves at his side. Those hounds were instrumental in holding back the Kromrif. ") +end + +function Quest7Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Someone needs to harvest those eggs.", "OfferDomesticationSurvivalism") + AddConversationOption(conversation, "I'm through with menial labor. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye. If he could tame wolves, I'm betting we could tame the basilisks. Ye can probably guess what I'm going to ask next.") +end + +function Quest7Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest7Chat_4") + AddConversationOption(conversation, "Your flattery is self-serving, but I accept it just the same.", "Quest7Chat_4") + AddConversationOption(conversation, "I know when I'm being buttered up. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Ye never cease to amaze me, " .. GetName(Spawn) .. ".") +end + +function Quest7Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perfect!", "Quest7Chat_8") + AddConversationOption(conversation, "Very funny.") + StartConversation(conversation, NPC, Spawn, "Alright. How about " .. GetName(Spawn) .. ", instead?") +end + +function Quest7Chat_8(NPC, Spawn) + SetStepComplete(Spawn, DomesticationSurvivalism, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest8Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest8Chat_1") + AddConversationOption(conversation, "And here I was looking forward to incubating your basilisk eggs.", "Quest8Chat_1") + StartConversation(conversation, NPC, Spawn, "And I'm afraid this is where we'll be parting ways.") +end + +function Quest8Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Your tune has changed.", "Quest8Chat_2") + AddConversationOption(conversation, "I'm happy to do my part.", "Quest8Chat_3") + AddConversationOption(conversation, "I just can't wait to get out of here.", "Quest8Chat_5") + AddConversationOption(conversation, "It's never enough with you. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Ye've done so much for the coldain, " .. GetName(Spawn) .. ". I can finally, albeit reluctantly, bear to part with ye. There's others that need yer assistance now more than I do.") +end + +function Quest8Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My pleasure.", "Quest8Chat_3") + AddConversationOption(conversation, "Just get me out of here.", "Quest8Chat_3") + AddConversationOption(conversation, "The sooner I get off this rock, the better. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, that it has. There's hope for us on this little rock, after all. And it's due, in no small part, to yer assistance.") +end + +function Quest8Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will the pilgrims be safe?", "Quest8Chat_4") + AddConversationOption(conversation, "I will head there straight away.", "OfferReportSpine") + AddConversationOption(conversation, "I don't need your assistance to walk across a field. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr have taken their offensive elsewhere. We've received word that they've begun a surge upon the southern coast, and they've laid siege to the Cragged Spine. It's likely that they could use yer help out there, " .. GetName(Spawn) .. ".") +end + +function Quest8Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "On my way.", "OfferReportSpine") + AddConversationOption(conversation, "When I'm good and ready.") + StartConversation(conversation, NPC, Spawn, "So long as they stay here. We'll keep an eye on 'em until this offensive is over. In the meantime, you should head to the Cragged Spine, and quickly!") +end + +function Quest8Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "True, and most unfortunate. I'm sorry.", "Quest8Chat_3") + AddConversationOption(conversation, "Just get me out of here.", "Quest8Chat_3") + AddConversationOption(conversation, "the sooner I get off this rock, the better. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, I'm sure you have a life to return to. This is likely all we coldain have left.") +end + +function OfferDisplacedDiscouraged(NPC, Spawn) + OfferQuest(NPC, Spawn, DisplacedDiscouraged) +end + +function OfferReclaimingHonor(NPC, Spawn) + OfferQuest(NPC, Spawn, ReclaimingHonor) +end + +function OfferTisUnnatural(NPC, Spawn) + OfferQuest(NPC, Spawn, TisUnnatural) +end + +function OfferPouringSkellies(NPC, Spawn) + OfferQuest(NPC, Spawn, PouringSkellies) +end + +function OfferNoWork(NPC, Spawn) + OfferQuest(NPC, Spawn, NoWork) +end + +function OfferTacklingBasilisks(NPC, Spawn) + OfferQuest(NPC, Spawn, TacklingBasilisks) +end + +function OfferDomesticationSurvivalism(NPC, Spawn) + OfferQuest(NPC, Spawn, DomesticationSurvivalism) +end + +function OfferReportSpine(NPC, Spawn) + OfferQuest(NPC, Spawn, ReportSpine) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BerguffFullbeard.lua b/Lua/SpawnScripts/FrostfangSea/BerguffFullbeard.lua new file mode 100755 index 000000000..2477a4bee --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BerguffFullbeard.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BerguffFullbeard.lua + Script Purpose : Berguff Fullbeard + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Your most reliable weapon is your knowledge!", "nod", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BertaIsholm.lua b/Lua/SpawnScripts/FrostfangSea/BertaIsholm.lua new file mode 100755 index 000000000..51f8c20f8 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BertaIsholm.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BertaIsholm.lua + Script Purpose : Berta Isholm + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "I've got some fine viddles to warm your belly!", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "You're no good out there hungry.", "", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BinnyShortwand.lua b/Lua/SpawnScripts/FrostfangSea/BinnyShortwand.lua new file mode 100755 index 000000000..14b050a9e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BinnyShortwand.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BinnyShortwand.lua + Script Purpose : illusionist trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local ILLUSIONIST = 26 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == ILLUSIONIST then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow illusionist?", "IlluChat1") + AddConversationOption(conversation, "That's good to know. Good day.") + StartConversation(conversation, NPC, Spawn, "I see you have chosen the path of an illusionist. It may be challenging, but I find it rather rewarding.") + else + PlayFlavor(NPC, "", "Don't let your illusions be shattered!", "hello", 0, 0, Spawn) + end +end + +function IlluChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "IlluChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial.") +end + +function IlluChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "IlluChat3") + StartConversation(conversation, NPC, Spawn, "Know your strengths and hone them! We can mesmerize and otherwise captivate our foes through distraction and mental acuity. This is particularly useful when you are confronted with multiple foes.") +end + +function IlluChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "A strong illusionist can bring order to an otherwise chatoic environment, giving themselves and their allies the ability to fight one adversary at a time. And the most advanced have been known to conjure an illusion of themselves to aid in combat!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BlibbaNugrud.lua b/Lua/SpawnScripts/FrostfangSea/BlibbaNugrud.lua new file mode 100755 index 000000000..1a405765c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BlibbaNugrud.lua @@ -0,0 +1,123 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BlibbaNugrud.lua + Script Purpose : Blibba Nugrud + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 1) then + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud001.mp3", "", "", 1692822878, 2906055751, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "Can you tell me what you're doing here?", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Fribbit. Hail back, and all that. What can I do for you?") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "I've already told you what you wanted to know.", "hello", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Fribbit! Godd day to you.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud004.mp3", "", "", 2666827594, 1649429363, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis?", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "Of course. Ask away.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud006.mp3", "", "", 4224849804, 392144788, Spawn) + AddConversationOption(conversation, "When did this happen?", "Quest1Chat_3") + AddConversationOption(conversation, "I already know this; just give me the short version.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "The frogloks of Guk, my predecessors, were blessed with valor and the capacity for higher reasoning by the god Mithaniel Marr.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud007.mp3", "", "", 1546450602, 2461406794, Spawn) + AddConversationOption(conversation, "Can you explain that further?", "Quest1Chat_4") + AddConversationOption(conversation, "What does that have to do with Erollis?", "Quest1Chat_4") + AddConversationOption(conversation, "I already know this; just give me the short version.", "Quest1Chat_6") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "This occurred hundreds of years ago. The blessing of Marr allowed us to defeat our ancestral enemies, the trolls, but more importantly it allowed us to overcome our own shortcomings.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud008.mp3", "", "", 3444575982, 3490248523, Spawn) + AddConversationOption(conversation, "Aren't frogloks unfit for the environment of Erollis?", "Quest1Chat_5") + AddConversationOption(conversation, "I already know this; just give me the short version.", "Quest1Chat_6") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "We conquered our own fear and ignorance. My enlightened ancestors left Guk and carved out a new home in the world of Norrath. They crawled out of the gunk and muck and into the light, literally and figuratively.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud009.mp3", "", "", 2086235207, 3956751510, Spawn) + AddConversationOption(conversation, "Can you sum this up?", "Quest1Chat_6") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Well, I would prefer to live in a swamp, or something like it. The frigid weather is hard on my skin. But I wouldn't say we're unfit, necessarily. We're just as humanoid as we are amphibian.") +end + +function Quest1Chat_6(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud010.mp3", "", "", 1038495244, 3766399001, Spawn) + AddConversationOption(conversation, "Appreciate you taking the time to chat.") + AddConversationOption(conversation, "Take care, Blibba.") + StartConversation(conversation, NPC, Spawn, "The short answer is: we frogloks owe all that we are to Mithaniel Marr. When I heard that He had blessed this place, I felt obliged to come here to pay Him homage.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It's nothing quote so serious.", "Quest1Chat_1") + AddConversationOption(conversation, "Just answer the question!", "Quest1Chat_8") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Doing here? You mean what is my business here? Or are you insinuating that I do not belong?") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Fine. Goodbye.") + StartConversation(conversation, NPC, Spawn, "How rude! Good day.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Of course.", "Quest1Chat_2") + AddConversationOption(conversation, "Just answer the question!", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "That's a very interesting way of putting it. I'll assume you meant no offense.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild.lua b/Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild.lua new file mode 100755 index 000000000..679466f34 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild.lua @@ -0,0 +1,543 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BlorpisaBogchild.lua + Script Purpose : Blorpisa Bogchild + Script Author : theFoof + Script Date : 2013.05.20 + Script Notes : +--]] + +local ArcaneElements = 19 + +local BearBottoms = 20 + +local CodChips = 21 + +local EssentialIngredient = 22 + +local FieldTesting = 23 + +local FieldTwo = 24 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, ArcaneElements) + ProvidesQuest(NPC, BearBottoms) + ProvidesQuest(NPC, CodChips) + ProvidesQuest(NPC, EssentialIngredient) + ProvidesQuest(NPC, FieldTesting) + ProvidesQuest(NPC, FieldTwo) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, FieldTwo) == false then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, ArcaneElements) == false and HasQuest(Spawn, ArcaneElements) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_001.mp3", "", "", 1215134818, 256392720, Spawn) + AddConversationOption(conversation, "Hello Blorpisa, I am " .. GetName(Spawn) .. ".", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Hello! I haven't seen you around here before! I am Blorpisa Bogchild.") + elseif GetQuestStep(Spawn, ArcaneElements) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 1541998982, 3704557731, Spawn) + AddConversationOption(conversation, "No. Where can I find the aged ice slurries?", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Have you collected the aged ice slurry core?") + elseif GetQuestStep(Spawn, ArcaneElements) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_002.mp3", "", "", 3029801000, 1524345260, Spawn) + AddConversationOption(conversation, "I have collected the ore for you.", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "Have you collected the arcane imbued ore?") + elseif HasCompletedQuest(Spawn, ArcaneElements) and HasCompletedQuest(Spawn, BearBottoms) == false and HasQuest(Spawn, BearBottoms) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_003.mp3", "", "", 3065502678, 2912351776, Spawn) + AddConversationOption(conversation, "I'm doing quite well. How are you?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Hello, " .. GetName(Spawn) .. "! How are you faring?") + elseif GetQuestStep(Spawn, BearBottoms) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4029927720, 1452950200, Spawn) + AddConversationOption(conversation, "I have not yet done so. Where can I find the blizzard grizzly cubs?", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you skinned the pelts for me?") + elseif GetQuestStep(Spawn, BearBottoms) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4029927720, 1452950200, Spawn) + AddConversationOption(conversation, "I have the pelts you requested.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you skinned the pelts for me?") + elseif HasCompletedQuest(Spawn, BearBottoms) and HasCompletedQuest(Spawn, CodChips) == false and HasQuest(Spawn, CodChips) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_005.mp3", "", "", 3705783760, 1192084203, Spawn) + AddConversationOption(conversation, "How are things with you, Blorpisa?", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, CodChips) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 900575849, 2922187159, Spawn) + AddConversationOption(conversation, "I have not yet hunted enough cod for everyone's dinner. Where can I find the co again?", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Did you get the large Iceclad cod?") + elseif GetQuestStep(Spawn, CodChips) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 900575849, 2922187159, Spawn) + AddConversationOption(conversation, "I have enough large cod for everyone to eat well tonight!", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Did you get the large Iceclad cod?") + elseif HasCompletedQuest(Spawn, CodChips) and HasCompletedQuest(Spawn, EssentialIngredient) == false and HasQuest(Spawn, EssentialIngredient) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_007.mp3", "", "", 570631167, 547031581, Spawn) + AddConversationOption(conversation, "Hello, Blorpisa. How are you?", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, EssentialIngredient) == 1 or GetQuestStep(Spawn, EssentialIngredient) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 3240154599, 1916004366, Spawn) + AddConversationOption(conversation, "Not yet. Where can I find the iceflows and snowpacks?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you captured the elementals I asked for, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, EssentialIngredient) == 3 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 3240154599, 1916004366, Spawn) + AddConversationOption(conversation, "I have captured eight elementals for you, four of each kind.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you captured the elementals I asked for, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, EssentialIngredient) and HasCompletedQuest(Spawn, FieldTesting) == false and HasQuest(Spawn, FieldTesting) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_009.mp3", "", "", 3405427240, 3750540234, Spawn) + AddConversationOption(conversation, "If you define lovely as freezing cold, then it is indeed lovely.", "Quest5Chat_2") + AddConversationOption(conversation, "Not so much, no.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. "! It is a most lovely day, is it not?") + elseif GetQuestStep(Spawn, FieldTesting) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 624684361, 1424465021, Spawn) + AddConversationOption(conversation, "I have not yet obtained the lillies. Where again can I find them?", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the ice lilies for me?") + elseif GetQuestStep(Spawn, FieldTesting) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 624684361, 1424465021, Spawn) + AddConversationOption(conversation, "I have the lilies you requested.", "Quest5Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you collected the ice lilies for me?") + elseif HasCompletedQuest(Spawn, FieldTesting) and HasCompletedQuest(Spawn, FieldTwo) == false and HasQuest(Spawn, FieldTwo) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_020.mp3", "", "", 1958149539, 711345401, Spawn) + AddConversationOption(conversation, "Does that mean it's time for another field test?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", I have made the necessary modifications to my Frost-born Ward.") + elseif GetQuestStep(Spawn, FieldTwo) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_021.mp3", "", "", 3376846306, 3092977992, Spawn) + AddConversationOption(conversation, "I do not yet know. Where can I find Pride Overlook?", "Quest6Chat_4") + StartConversation(conversation, NPC, Spawn, "Did the Frost-born Ward work this time, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, FieldTwo) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_021.mp3", "", "", 3376846306, 3092977992, Spawn) + AddConversationOption(conversation, "No, your spell did not work. At all.", "Quest6Chat_5") + StartConversation(conversation, NPC, Spawn, "Did the Frost-born Ward work this time, " .. GetName(Spawn) .. "?") + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_011.mp3", "", "", 846938752, 844089056, Spawn) + AddConversationOption(conversation, "I'm on my way to New Halas.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Ah! I had not seen you before, but I have heard of you and your accomplishments! This is such a pleasure, " .. GetName(Spawn) .. ". We're lucky to have such a hero within our midst. What brings you to Gwenevyn's Cove?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_012.mp3", "", "", 3605255838, 2576534049, Spawn) + AddConversationOption(conversation, "How will you cast the spell on all of the pilgrims?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "As am I! I've stopped along the way as I've been attempting to create a new spell. It is one that would protect the pilgrims from the bitter winds and frosty landscape of New Halas, as well as protect them from the wild creatures and hostile entities.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_013.mp3", "", "", 970695236, 4167602091, Spawn) + AddConversationOption(conversation, "What if they can't read? What if they have children with them?", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "I don't intend to cast it on them all! I will enchant the spell onto parchment for the pilgrims to read aloud when they arrive.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_014.mp3", "", "", 947009240, 1540493739, Spawn) + AddConversationOption(conversation, "Well this all sounds very technical to me.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Such details! But you do bring up a good point; I will have to make it so that when the spell is read it affects everyone in the area, not just the reader.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_015.mp3", "", "", 1255109690, 1640879678, Spawn) + AddConversationOption(conversation, "What kind of help do you need?", "Quest1Chat_7") + AddConversationOption(conversation, "No, sorry, I am in a hurry to get to New Halas.") + StartConversation(conversation, NPC, Spawn, "Say, if you aren't in a hurry, I could use some help.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_016.mp3", "", "", 1464127042, 4108357478, Spawn) + AddConversationOption(conversation, "I sure could.", "OfferArcaneElements") + AddConversationOption(conversation, "No, unfortunately.") + StartConversation(conversation, NPC, Spawn, "To make the ink to enchant the spell to paper I need the arcane imbued ore of the rolling stones found southeast of here. Do you think you could go and collect some of the ore for me?") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_016.mp3", "", "", 717321044, 3158147617, Spawn) + AddConversationOption(conversation, "I shall return to you once I have collected the weapons.") + StartConversation(conversation, NPC, Spawn, "I'm glad that you have agreed to help the coldain. You can find the slain coldain southeast of here, upon a great battlefield.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_018.mp3", "", "", 2448606843, 4112204434, Spawn) + AddConversationOption(conversation, "Let me know if it turns out successful!", "Quest1Chat_10") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. "! I will crumble and crush this ore into a fine powder and then use it to make ink to enchant my spell onto parchment, once I have perfected the spell.") +end + +function Quest1Chat_10(NPC, Spawn) + SetStepComplete(Spawn, ArcaneElements, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_022.mp3", "", "", 2006824864, 3295508205, Spawn) + AddConversationOption(conversation, "If you need help with anything else, please ask me. I am glad to help others here in New Halas.") + AddConversationOption(conversation, "Good luck!") + StartConversation(conversation, NPC, Spawn, "Oh I shall, but I will not be able to test my spell for a while yet. I've got to hop about collecting some more materials first.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_023.mp3", "", "", 1753584306, 4118176236, Spawn) + AddConversationOption(conversation, "Need any help?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "I had been working on that protection spell, but now I have been put in charge of making blankets for the people of Gwenevyn's Cove.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_024.mp3", "", "", 4187781831, 3119266103, Spawn) + AddConversationOption(conversation, "I will go and get the unmarred fur pelts for you.", "OfferBearBottoms") + AddConversationOption(conversation, "I'm not killing baby bears! Forget it!") + StartConversation(conversation, NPC, Spawn, "I could use it if you're offering! I need unmarred fur pelts from the blizzard grizzly cubs. These cubs are around a cave that is northwest of Gwenevyn's Cove.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_025.mp3", "", "", 3290905220, 1893346275, Spawn) + AddConversationOption(conversation, "I will return to you once I have gathered the pelts.") + StartConversation(conversation, NPC, Spawn, "Thanks. I know it's distasteful to kill cubs, but I need their softer fur to make blankets. Thank you for doing this for me, " .. GetName(Spawn) .. ".") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return with the pelts.") + StartConversation(conversation, NPC, Spawn, "The cubs roam northwest of Gwenevyn's Cove.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_026.mp3", "", "", 1759018155, 1598876766, Spawn) + AddConversationOption(conversation, "Thank you. I did my best.", "Quest2Chat_7") + StartConversation(conversation, NPC, Spawn, "Great! I can get right to work stitching up the blankets. You did a fine job skinning, " .. GetName(Spawn) .. ". None of the edges of the pelts are ragged.") +end + +function Quest2Chat_7(NPC, Spawn) + SetStepComplete(Spawn, BearBottoms, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_028.mp3", "", "", 3080889721, 2381851654, Spawn) + AddConversationOption(conversation, "Thanks, Blorpisa. I appreciate it.") + StartConversation(conversation, NPC, Spawn, "No, thank you, " .. GetName(Spawn) .. ". You really are a hero! I don't have much to give you, but please, take this coin for your troubles and one of my accessories.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_029.mp3", "", "", 1210199796, 2166040902, Spawn) + AddConversationOption(conversation, "The nerve of some people!", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "As thanks for making the blankets, they've now decided I should prepare dinner!") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_030.mp3", "", "", 14855483, 1166912182, Spawn) + AddConversationOption(conversation, "The Frostfang Sea didn't seem too cold to me.", "Quest3Chat_3") + AddConversationOption(conversation, "Brr! I agree it's much too cold. Best of luck with dinner!") + StartConversation(conversation, NPC, Spawn, "It's as the old saying goes: there's always something more to do around camp. I don't mind cooking over the fire, it's just that there's nothing to cook! I have a delicious recipe for cod, but it's too cold to swim in the Frostfang Sea and I don't know how to use a fishing pole.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_031.mp3", "", "", 2157156103, 1975601374, Spawn) + AddConversationOption(conversation, "I can get the Iceclad cod for you.", "OfferCodChips") + AddConversationOption(conversation, "I can't. I am already busy, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "Really? Maybe I'm getting old. If it's not too cold for you, would you mind getting the Iceclad cod that I need for my recipe? I think everyone would like a nice bit of cod and chips for dinner.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return with enough cod for everyone's dinner.") + StartConversation(conversation, NPC, Spawn, "The large Iceclad cod swim in the Frostfang Sea northeast of Gwenevyn's Cove.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_033.mp3", "", "", 2508783935, 568039203, Spawn) + AddConversationOption(conversation, "I am glad that I was able to help you out.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "Splendid, " .. GetName(Spawn) .. "! I shall get right to work cooking up the fish and chips for dinner.") +end + +function Quest3Chat_6(NPC, Spawn) + SetStepComplete(Spawn, CodChips, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_035.mp3", "", "", 787726717, 3426749776, Spawn) + AddConversationOption(conversation, "It's more than enough. Thank you, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "We are truly in your debt, " ..GetName(Spawn) .. ". I've collected some coin from the other citizens of Gwenevyn's Cove. It isn't much, but it's better than nothing, right?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_036.mp3", "", "", 3721924071, 2621057833, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "I myself am well, but the Frost-born Ward that I've been creating is not going so well. It appears that I am still missing a few key components to the formula.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_037.mp3", "", "", 2815442129, 1528606877, Spawn) + AddConversationOption(conversation, "I can capture some elementals for you.", "Quest4Chat_4") + AddConversationOption(conversation, "Sorry, I'm very busy today. Perhaps I can help you later.") + StartConversation(conversation, NPC, Spawn, "I've created an Iced Trap to capture a few elementals. If you are not too busy, you could hop west of here and collect iceflows and snowpacks on the Icemane Plains. That would save me a lot of time.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_038.mp3", "", "", 3909457491, 3153535025, Spawn) + AddConversationOption(conversation, "I am sure I can handle a few small elementals.", "OfferEssentialIngredient") + StartConversation(conversation, NPC, Spawn, "Thank you! Just take the Iced Trap and use it on any iceflow or snowpack. They should be instantly attracted to it. I do not anticipate any problems.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_041.mp3", "", "", 502468794, 246049475, Spawn) + AddConversationOption(conversation, "I will return once I have captured the elementals.") + StartConversation(conversation, NPC, Spawn, "The iceflows and snowpacks gather on the Icemane Plains, west of Gwenevyn's Cove.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_040.mp3", "", "", 3949759324, 1772100940, Spawn) + AddConversationOption(conversation, "I am glad that you are pleased with my efforts.", "Quest4Chat_7") + StartConversation(conversation, NPC, Spawn, "Excellent! That's much more than I hoped. With this many elementals I am sure I will be able to progress the Frost-born Ward.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_042.mp3", "", "", 301178077, 3194637507, Spawn) + AddConversationOption(conversation, "It is the right thing to do.", "Quest4Chat_8") + StartConversation(conversation, NPC, Spawn, "I am more than pleased, " .. GetName(Spawn) .. ". You are saving us! With every bit of aid you give us here in Gwenevyn's Cove, you help to ensure our survival within this inhospitable land. We are sure to live to see Mithaniel's blessed city of New Halas because of you!") +end + +function Quest4Chat_8(NPC, Spawn) + SetStepComplete(Spawn, EssentialIngredient, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_044.mp3", "", "", 4160372502, 1958782481, Spawn) + AddConversationOption(conversation, "I will return if you need help.") + StartConversation(conversation, NPC, Spawn, "If only everyone had your heart, " .. GetName(Spawn) .. ". Now, surely you have other things that must be done on this day. If you find yourself with more free time, I could always use your assistance.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_045.mp3", "", "", 2755043591, 501739216, Spawn) + AddConversationOption(conversation, "Sure! This is exciting!", "Quest5Chat_3") + AddConversationOption(conversation, "No way, get someone else to be your lab rat.") + StartConversation(conversation, NPC, Spawn, "I have made great progress on the Frost-born Ward! It is finally ready for its first field test. Will you do the honors?") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_046.mp3", "", "", 2185186057, 1637729185, Spawn) + AddConversationOption(conversation, "I know, Blorpisa.", "Quest5Chat_4") + AddConversationOption(conversation, "I'll keep that in mind.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Now I make no guarantees that this spell will work. Remember that this is a field test.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_047.mp3", "", "", 2602829291, 2631146795, Spawn) + AddConversationOption(conversation, "Is there anything else you need gathered?", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Let's see, where should you go to test my spell?") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_048.mp3", "", "", 1989757627, 78481858, Spawn) + AddConversationOption(conversation, "Where can I find these ice lilies?", "OfferFieldTesting") + StartConversation(conversation, NPC, Spawn, "Oh, yes! I do need some ice lilies. I feel that they will add a special component to the Frost-born Ward.") +end + +function Quest5Chat_6(NPC, Spawn) + FaceTargget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall return with the lilies as soon as I am able") + StartConversation(conversation, NPC, Spawn, "You can find the ice lilies on the Icemane Plains west of here. I have also refreshed the Frost-born Ward upon you as it seemed to be very weak.") +end + +function Quest5Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_050.mp3", "", "", 2480968598, 2345683156, Spawn) + AddConversationOption(conversation, "It didn't work at all. I was attacked by every lion that I came across.", "Quest5Chat_8") + StartConversation(conversation, NPC, Spawn, "And how did my spell fare?") +end + +function Quest5Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_052.mp3", "", "", 1918897363, 1844692964, Spawn) + AddConversationOption(conversation, "I understand your dilemma.", "Quest5Chat_9") + StartConversation(conversation, NPC, Spawn, "That is terrible! I do apologize! This is a very experimental spell, and I've been working as quickly as I can to get it working so that we do not lose yet more pilgrims to the hazards of New Halas.") +end + +function Quest5Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_053.mp3", "", "", 4064573044, 3063721552, Spawn) + AddConversationOption(conversation, "Yes, I can handle lions, bears and other creatures just fine.", "Quest5Chat_10") + StartConversation(conversation, NPC, Spawn, "Thank you great hero, " .. GetName(Spawn) .. "! Will you continue to help me?") +end + +function Quest5Chat_10(NPC, Spawn) + SetStepComplete(Spawn, FieldTesting, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_054.mp3", "", "", 1222972448, 2143317846, Spawn) + AddConversationOption(conversation, "I will refresh myself and return to you once I am ready.") + StartConversation(conversation, NPC, Spawn, "I am glad to hear it! I shall incorporate these ice lilies into the ink for my spell. Return to me when you are recovered enough to do a second field test.") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_055.mp3", "", "", 2588594475, 1367979821, Spawn) + AddConversationOption(conversation, "Where shall I go to test the spell this time?", "Quest6Chat_3") + AddConversationOption(conversation, "No, I am not yet ready.") + StartConversation(conversation, NPC, Spawn, "It does! Are you ready, brave one?") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_056.mp3", "", "", 3655265348, 981674489, Spawn) + AddConversationOption(conversation, "I shall head to Pride Overlook.", "OfferFieldTwo") + StartConversation(conversation, NPC, Spawn, "There is an overhang on the Icemane Plains called Pride Overlook. As the name implies, it is within the lions' territory. It is also near the Great Shelf, which is where I plan on going next, as it is the next stop on the pilgrims' path.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return to you once I have properly tested your spell.") + StartConversation(conversation, NPC, Spawn, "Pride Overlook is on the Icemane Plains. It is west of Gwenevyn's Cove. I have also refeshed the Frost-born Ward upon you as it seemed to be very weak.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_058.mp3", "", "", 3927456133, 2378795664, Spawn) + AddConversationOption(conversation, "Well, it didn't.", "Quest6Chat_6") + StartConversation(conversation, NPC, Spawn, "I am terribly sorry! I really thought it would work this time!") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_060.mp3", "", "", 1746628301, 1931600273, Spawn) + AddConversationOption(conversation, "Maybe I will see you there.", "Quest6Chat_7") + StartConversation(conversation, NPC, Spawn, "I wonder what could be wrong with it. Hmm... I shall have to find new sources of power for my spell. Fortunately, I am traveling on to the Great Shelf, so perhaps I can continue my work there.") +end + +function Quest6Chat_7(NPC, Spawn) + SetStepComplete(Spawn, FieldTwo, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_061.mp3", "", "", 2498685853, 3116008120, Spawn) + AddConversationOption(conversation, "Thank you, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "Thank you for all of your help, " .. GetName(Spawn) .. ". I cannot express how truly grateful I am for all you have done. It is not much, but please take this as a bit of payment for your troubles.") + RemoveSpawnAccess(NPC, Spawn) +end + +function OfferArcaneElements(NPC, Spawn) + OfferQuest(NPC, Spawn, ArcaneElements) +end + +function OfferBearBottoms(NPC, Spawn) + OfferQuest(NPC, Spawn, BearBottoms) +end + +function OfferCodChips(NPC, Spawn) + OfferQuest(NPC, Spawn, CodChips) +end + +function OfferEssentialIngredient(NPC, Spawn) + OfferQuest(NPC, Spawn, EssentialIngredient) +end + +function OfferFieldTesting(NPC, Spawn) + OfferQuest(NPC, Spawn, FieldTesting) +end + +function OfferFieldTwo(NPC, Spawn) + OfferQuest(NPC, Spawn, FieldTwo) +end diff --git a/Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua b/Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua new file mode 100755 index 000000000..76e68bbc8 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua @@ -0,0 +1,398 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua + Script Purpose : Blorpisa Bogchild located at the Great Shelf + Script Author : theFoof + Script Date : 2013.06.02 + Script Notes : +--]] +local FieldTwo = 24 + +local WeaponChoice = 47 + +local DisarmingRyGorr = 48 + +local PerfectlyMissing = 49 + +local LastIngredient = 50 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, WeaponChoice) + ProvidesQuest(NPC, DisarmingRyGorr) + ProvidesQuest(NPC, PerfectlyMissing) + ProvidesQuest(NPC, LastIngredient) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, WeaponChoice) and not HasQuest(Spawn, WeaponChoice) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_003.mp3", "", "", 3193177069, 1800399458, Spawn) + AddConversationOption(conversation, "Hello, Blorpisa.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. "! It is good to see you again!") + elseif GetQuestStep(Spawn, WeaponChoice) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4181283850, 2893617958, Spawn) + AddConversationOption(conversation, "No, I have not. Where can I find these weapons?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the weapons for me?") + elseif GetQuestStep(Spawn, WeaponChoice) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4181283850, 2893617958, Spawn) + AddConversationOption(conversation, "Yes, I have the weapons you requested.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you collected the weapons for me?") + elseif HasCompletedQuest(Spawn, WeaponChoice) and not HasCompletedQuest(Spawn, DisarmingRyGorr) and not HasQuest(Spawn, DisarmingRyGorr) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_005.mp3", "", "", 1579551723, 976991105, Spawn) + AddConversationOption(conversation, "I am always ready to do anything to ruin the Ry'Gorr plans.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Have you rested? Do you feel refreshed and ready to thwart the Ry'Gorr?") + elseif GetQuestStep(Spawn, DisarmingRyGorr) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 2115424713, 269076828, Spawn) + AddConversationOption(conversation, "Not yet. Where can I find these weapons?", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "Have you cleansed the weapons?") + elseif GetQuestStep(Spawn, DisarmingRyGorr) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 2115424713, 269076828, Spawn) + AddConversationOption(conversation, "I have cleansed the Ry'Gorr weapons.", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you cleansed the weapons?") + elseif HasCompletedQuest(Spawn, DisarmingRyGorr) and not HasCompletedQuest(Spawn, PerfectlyMissing) and not HasQuest(Spawn, PerfectlyMissing) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_007.mp3", "", "", 3686037916, 2573543704, Spawn) + AddConversationOption(conversation, "I agree, no one else should die at the claws of the Ry'Gorr.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "These skirmishes with the Ry'Gorr have had me thinking of new modifications to my Frost-born Ward. It is not enough that the pilgrims be protected from the cold and animal attacks, they must also be protected from the magic that the Ry'Gorr wield.") + elseif GetQuestStep(Spawn, PerfectlyMissing) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 2666323814, 4844605, Spawn) + AddConversationOption(conversation, "I have not yet found the core. Where can I find the ice slurries?", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "Have you harvested the perfect ice slurry core?") + elseif GetQuestStep(Spawn, PerfectlyMissing) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 2666323814, 4844605, Spawn) + AddConversationOption(conversation, "I have found the perfect ice slurry core.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Have you harvested the perfect ice slurry core?") + elseif HasCompletedQuest(Spawn, PerfectlyMissing) and not HasCompletedQuest(Spawn, LastIngredient) and not HasQuest(Spawn, LastIngredient) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_009.mp3", "", "", 3631519683, 72729038, Spawn) + AddConversationOption(conversation, "Is there a problem?", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Mithaniel's gall!") + elseif GetQuestStep(Spawn, LastIngredient) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 1541998982, 3704557731, Spawn) + AddConversationOption(conversation, "No. Where can I find the aged ice slurries?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you collected the aged ice slurry core?") + elseif GetQuestStep(Spawn, LastIngredient) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 1541998982, 3704557731, Spawn) + AddConversationOption(conversation, "I have the aged ice slurry core.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the aged ice slurry core?") + elseif HasCompletedQuest(Spawn, LastIngredient) then + PlayFlavor(NPC, "", "Thanks for all of your help!", "thanks", 0, 0, Spawn) + end +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, FieldTwo) then + AddSpawnAccess(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_011.mp3", "", "", 2022397228, 290072007, Spawn) + AddConversationOption(conversation, "A bit cramped, actually.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "How do you find the Great Shelf?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_012.mp3", "", "", 4283018282, 2903892824, Spawn) + AddConversationOption(conversation, "I think they stomp more than crawl.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Agreed! I have not been able to hop about much, what with the Ry'Gorr orcs crawling all over this area.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_014.mp3", "", "", 736205101, 798079277, Spawn) + AddConversationOption(conversation, "You want me to loot corpses?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "The coldain and the Ry'Gorr orcs are fighting a fierce battle southeast of here. I know you cannot take the weapons from the live coldain, but I am sure their fallen dead wouldn't mind you collecting their dormant weapons.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_015.mp3", "", "", 3812649727, 4013790608, Spawn) + AddConversationOption(conversation, "Well, in that case, I will help you.", "Quest1Chat_5") + AddConversationOption(conversation, "I'm still not looting corpses, I don't care how worthy the cause may be.") + StartConversation(conversation, NPC, Spawn, "For a worthy cause! Any weapons you return to me I can enchant to do additional damage to the Ry'Gorr. I know they are resistant to ice, so I think a fire enchant would really hurt them.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_016.mp3", "", "", 717321044, 3158147617, Spawn) + AddConversationOption(conversation, "I shall return to you once I have collected the weapons.", "OfferWeaponChoice") + StartConversation(conversation, NPC, Spawn, "I'm glad that you have agreed to help the coldain. You can find the slain coldain southeast of here, upon a great battlefield.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "You can find the weapons on the slain coldain that lie on the battlefield southeast of the Great Shelf.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_017.mp3", "", "", 4187444416, 2657798398, Spawn) + AddConversationOption(conversation, "I'm glad that I was able to help. The Ry'Gorr orcs are a scourge upon this land.", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". I will begin enchanting these weapons immediately and send them to the coldain as soon as I am able.") +end + +function Quest1Chat_8(NPC, Spawn) + SetStepComplete(Spawn, WeaponChoice, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_019.mp3", "", "", 3213450920, 2902031584, Spawn) + AddConversationOption(conversation, "I will return once I am rested.") + StartConversation(conversation, NPC, Spawn, "They are most vile indeed, preying upon pilgrims and sinking ships. If you want to continue to thwart the Ry'Gorr, return to me once you have eaten and rested. I will have more work for you then.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_020.mp3", "", "", 1335665620, 3336740356, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "It is good to see you committed to fighting the Ry'Gorr. I left the offensive against the Ry'Gorr to others but now I see that I too must do my part to fight them.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_021.mp3", "", "", 4091770286, 182089722, Spawn) + AddConversationOption(conversation, "That sounds very awful.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr weapons are imbued with a dark miasma, one that must be cleansed. If the weapons are left as they are, they will taint the very ground and all of the creatures near.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_022.mp3", "", "", 4197171883, 263915525, Spawn) + AddConversationOption(conversation, "If this must be done, then I shall do it.", "Quest2Chat_4") + AddConversationOption(conversation, "This sounds dangerous, I must prepare myself before I can continue. I will return to you when I am ready.") + StartConversation(conversation, NPC, Spawn, "It is very awful! Thankfully the Ry'Gorr are rather stupid when it comes to more complex spells and so it can be easily undone. I have made a poultice that will cleanse the weapons, dissolving the miasma.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_025.mp3", "", "", 1812986023, 1861136256, Spawn) + AddConversationOption(conversation, "I will return once I have cleansed the weapons.", "OfferDisarmingRyGorr") + StartConversation(conversation, NPC, Spawn, "The weapons lay on the battlefield southeast of here.") +end + + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_024.mp3", "", "", 3608040156, 1455978587, Spawn) + AddConversationOption(conversation, "It worked very well, so well that it dissolved the Ry'Gorr weapons before my eyes.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "So the poultice worked?") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_026.mp3", "", "", 771316187, 1400627586, Spawn) + AddConversationOption(conversation, "I am just doing my job.", "Quest2Chat_7") + StartConversation(conversation, NPC, Spawn, "Then the miasma must have been very deep. I am glad that you are here to help us, thanks to you a great danger has been averted.") +end + +function Quest2Chat_7(NPC, Spawn) + SetStepComplete(Spawn, DisarmingRyGorr, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_027.mp3", "", "", 1176369371, 2813456869, Spawn) + AddConversationOption(conversation, "I appreciate the gesture, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "Even so, it is one few can do. Thank you, " .. GetName(Spawn) .. ". Please, accept this coin as a thank you from me.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_028.mp3", "", "", 3909433831, 280040798, Spawn) + AddConversationOption(conversation, "Do you need me to collect it for you?", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "To that end, I have studied my texts and have determined the ingredient I need to begin to modify the spell.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_029.mp3", "", "", 1151875239, 4282449451, Spawn) + AddConversationOption(conversation, "I shall search for the perfect ice slurry core so that you may complete your spell.", "OfferPerfectlyMissing") + AddConversationOption(conversation, "Forget it, I'm not killing a bunch of ice slurries.") + StartConversation(conversation, NPC, Spawn, "I do. It is called the perfect ice slurry core. You can harvest it from the ice slurries, but it is rare. Many times you will kill an ice slurry, only to find that its core has a flaw.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_030.mp3", "", "", 1741611934, 1901038615, Spawn) + AddConversationOption(conversation, "I shall return as soon as I find the perfect core.") + StartConversation(conversation, NPC, Spawn, "You can find the ice slurries on the hill south of the Great Shelf. Please hurry. The sooner you return with the core, the sooner I can perfect the spell to protect the pilgrims.") +end + +function Quest3Chat_4(NPC, Spawn) + SetStepComplete(Spawn, PerfectlyMissing, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_031.mp3", "", "", 826714400, 1486587557, Spawn) + AddConversationOption(conversation, "Do you need my assistance further?", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "I shall incorporate this perfect core into my spell. Thank you for harvesting this perfect ice slurry core.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_033.mp3", "", "", 754123351, 1435387384, Spawn) + AddConversationOption(conversation, "I shall return in a little while.") + StartConversation(conversation, NPC, Spawn, "I do not know. Give me some time to incorporate this core and then return to me.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_034.mp3", "", "", 2303152841, 514356885, Spawn) + AddConversationOption(conversation, "Please tell me I don't have to test it.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "This Frost-born Ward isn't taking to the modifications I made. It keeps having unexpected outcomes.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_035.mp3", "", "", 2152784278, 4092517503, Spawn) + AddConversationOption(conversation, "Perhaps there was something wrong with the core?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "No, you do not have to test it. I just don't understand why the perfect ice slurry core didn't work!") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_036.mp3", "", "", 2421741424, 974749894, Spawn) + AddConversationOption(conversation, "Well, are there any other types of ice slurries?", "Quest4Chat_4") + StartConversation(conversation, NPC, Spawn, "How could there be something wrong with it?! It was perfect!") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_037.mp3", "", "", 3543415032, 2306350142, Spawn) + AddConversationOption(conversation, "I will get you an aged ice slurry core.", "OfferLastIngredient") + AddConversationOption(conversation, "Sorry, I'm busy. Perhaps later.") + StartConversation(conversation, NPC, Spawn, "There are! There are aged ice slurries, but I thought their cores would be too old to use. You could try to obtain one for me, it couldn't hurt to try.") +end + + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_038.mp3", "", "", 2165797862, 1375729873, Spawn) + AddConversationOption(conversation, "I shall return with an aged ice slurry core.") + StartConversation(conversation, NPC, Spawn, "The aged ice slurries are in the same place as the others. They gather on the hill south of the Great Shelf.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_039.mp3", "", "", 469439028, 3249363787, Spawn) + AddConversationOption(conversation, "Spell scribing seems fascinating.", "Quest4Chat_7") + StartConversation(conversation, NPC, Spawn, "Quickly, I must incorporate it into the spell ink before the core loses its potency.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_041.mp3", "", "", 2408705067, 2217536445, Spawn) + AddConversationOption(conversation, "So how's the Frost-born Ward coming along?", "Quest4Chat_8") + StartConversation(conversation, NPC, Spawn, "Oh yes, most fascinating, until you turn yourself into an imp, or sweat fire.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_042.mp3", "", "", 829550711, 3566915207, Spawn) + AddConversationOption(conversation, "Is that it?", "Quest4Chat_9") + StartConversation(conversation, NPC, Spawn, "It seems to be combining successfully.") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_043.mp3", "", "", 1150736225, 953291323, Spawn) + AddConversationOption(conversation, "No more tests? No more running around?", "Quest4Chat_10") + StartConversation(conversation, NPC, Spawn, "For now.") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_044.mp3", "", "", 3571375839, 1539014597, Spawn) + AddConversationOption(conversation, "Gee, I don't know what to say...", "Quest4Chat_11") + StartConversation(conversation, NPC, Spawn, "I think not. I shall test this on myself, I am confident it will work. When it does, I will produce the parchments needed. Thank you for everything, " .. GetName(Spawn) .. ". Between helping me scribe this spell and thwarting the Ry'Gorr, you have helped the people of New Halas more than you can know.") +end + +function Quest4Chat_11(NPC, Spawn) + SetStepComplete(Spawn, LastIngredient, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_045.mp3", "", "", 4192880371, 50904844, Spawn) + AddConversationOption(conversation, "Thank you, Blorpisa. I am most honored.") + StartConversation(conversation, NPC, Spawn, "Please, accept this as a token of our thanks.") +end + +function OfferWeaponChoice(NPC, Spawn) + OfferQuest(NPC, Spawn, WeaponChoice) +end + +function OfferDisarmingRyGorr(NPC, Spawn) + if not HasQuest(Spawn, DisarmingRyGorr) and not HasCompletedQuest(Spawn, DisarmingRyGorr) then + OfferQuest(NPC, Spawn, DisarmingRyGorr) + end +end + +function OfferPerfectlyMissing(NPC, Spawn) + OfferQuest(NPC, Spawn, PerfectlyMissing) +end + +function OfferLastIngredient(NPC, Spawn) + OfferQuest(NPC, Spawn, LastIngredient) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BorgardGoldenswill.lua b/Lua/SpawnScripts/FrostfangSea/BorgardGoldenswill.lua new file mode 100755 index 000000000..deb07dff6 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BorgardGoldenswill.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BorgardGoldenswill.lua + Script Purpose : Borgard Goldenswill + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "What'll it be, citizen?", "nod", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Sit a spell and have yarself a frothing brew or two!", "nod", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BoryaStonehide.lua b/Lua/SpawnScripts/FrostfangSea/BoryaStonehide.lua new file mode 100755 index 000000000..da59e4d0b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BoryaStonehide.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BoryaStonehide.lua + Script Purpose : guardian trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local GUARDIAN = 3 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == GUARDIAN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice can you give a fellow guardian?", "GuardChat1") + AddConversationOption(conversation, "It does, doesn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "I see a familiar fire in your eyes, warrior. The same unrelenting will that resides within all guardians!") + else + PlayFlavor(NPC, "", "I hope you're ready for some serious training!", "hello", 0, 0, Spawn) + end +end + +function GuardChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "GuardChat2") + StartConversation(conversation, NPC, Spawn, "We are often considered the last wall of defense, and for good reason. We protect our allies with unflinching resolve, as that is our call. We protect, above all!") +end + +function GuardChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "GuardChat3") + StartConversation(conversation, NPC, Spawn, "And when you are faced with multiple foes, prioritize your opponents. It often behooves you and your group to pit yourself against the most powerful opponent.") +end + +function GuardChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's good.", "GuardChat4") + StartConversation(conversation, NPC, Spawn, "We leave the more offensive style attacks to others who lack the fortitude to take a beating and defend, but this doesn't mean we can't swing a weapon!") +end + +function GuardChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "GuardChat5") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function GuardChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor would be considered too heavy by others, but with your focus on strength such highly protective armor has no downside.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BroganMacLellan.lua b/Lua/SpawnScripts/FrostfangSea/BroganMacLellan.lua new file mode 100755 index 000000000..846edd53e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BroganMacLellan.lua @@ -0,0 +1,198 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BroganMacLellan.lua + Script Purpose : Brogan MacLellan + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +local TrustedReferral = 86 + +function spawn(NPC) + ProvidesQuest(NPC, TrustIssues) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, TrustIssues) and not HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan001.mp3", "", "", 2714538944, 2338955741, Spawn) + AddConversationOption(conversation, "It isn't for everyone.", "Quest1Chat_1") + AddConversationOption(conversation, "'Paradise' is subjective.", "Quest1Chat_4") + AddConversationOption(conversation, "The population is mostly barbarians, right?", "Quest1Chat_5") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "It's a diverse group of fellers living together on this frigid rock. There are a number of folks like me, sure. But what do the other inhabitants see in Erollis? Why do they stay here? It's not like this is a verdant paradise.") + elseif HasQuest(Spawn, TrustIssues) and GetQuestStep(Spawn, TrustIssues) < 5 then + PlayFlavor(NPC, "", "Talk to them, and find out why they're here.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TrustIssues) == 5 then + AddConversationOption(conversation, "They've all got valid reasons for staying in Erollis.", "Quest1Chat_9") + AddConversationOption(conversation, "There is a rich history for this place, and each newcomer is a part of it.", "Quest1Chat_9") + AddConversationOption(conversation, 'Not surprisingly, everyone has their own motivation and "angle".', "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "Back already, " .. GetName(Spawn) .. "? Well, don't be shy. What did you find out?") + elseif HasCompletedQuest(Spawn, TrustIssues) and not HasCompletedQuest(Spawn, TrustedReferral) and not HasQuest(Spawn, TrustedReferral) then + Quest2Chat_1(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan003.mp3", "", "", 111727266, 1713011810, Spawn) + AddConversationOption(conversation, "Marr blessed this place.", "Quest1Chat_2") + AddConversationOption(conversation, "Some find frontier life exciting.", "Quest1Chat_6") + AddConversationOption(conversation, "I prefer natural skins and furs to cotton fabric.", "Quest1Chat_7") + AddConversationOption(conversation, "Perhaps some other time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "You've got that right. And I'm not just talking about the obvious need for skins and furs, which aren't everyone's mug of ale. Erollis is isolated, and it's a hostile environment.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan006.mp3", "", "", 385456101, 752051368, Spawn) + AddConversationOption(conversation, "I wonder why the others are here.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "Yeah, he plopped down a fetching statue and showed pilgrims the way here, but that doesn't make the environment any more palatable.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan005.mp3", "", "", 3080293935, 4050287444, Spawn) + AddConversationOption(conversation, "Sure. I wouldn't mind learning their motives as well.", "OfferTrustIssues") + AddConversationOption(conversation, "Why not? Could meet some interesting people.", "OfferTrustIssues") + AddConversationOption(conversation, "Might as well. I don't trust them either.", "OfferTrustIssues") + AddConversationOption(conversation, "I'd rather not get too close to strangers.") + StartConversation(conversation, NPC, Spawn, "Yeah, I'd like to learn each major faction's angle. Call me paranoid, but I'd feel safer knowing more about the motivations of the folks that share the town. Care to do a little asking around?") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan002.mp3", "", "", 1097446882, 2575906543, Spawn) + AddConversationOption(conversation, "I wonder why the others are here.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "True. It looks an awful lot like the Halas of old, or so I've gathered, which is what drew me here. You could say it's my paradise. But not even my people can agree to appreciate this weather.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan004.mp3", "", "", 1786838303, 2147071004, Spawn) + AddConversationOption(conversation, "I wonder why the others are here.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "Eh. We make up around half the population, give or take. The rest is primarily frogloks and coldain with a smattering of other offshore races mixed in.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan007.mp3", "", "", 1338892240, 118117761, Spawn) + AddConversationOption(conversation, "It might be worth looking into people's motivations.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "The thrill-seekers and folks looking to start a new life, possibly. Though, I don't trust the former and the latter make me nervous.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan008.mp3", "", "", 618404562, 3809310014, Spawn) + AddConversationOption(conversation, "And it's comfortable, to boot!", "Quest1Chat_8") + AddConversationOption(conversation, "But fashion alone isn't a reason to live on Erollis, is it?", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "You and me both. There's nothing like supple hide and animal hair to ward off the winter's chill, especially when it comes to footwear.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Glad you liked it.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm too busy chuckling to go on. Let me catch my breath.") + StartConversation(conversation, NPC, Spawn, "If words were weapons, that pun would have slain me where I stood.") +end + +function Quest1Chat_9(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 5) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm not sure that can be helped.", "Quest2Chat_1") + AddConversationOption(conversation, "You have real trust issues, MacLellan.", "Quest2Chat_1") + AddConversationOption(conversation, "Trust is a commodity that we can't always afford.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Hmm. I supposed we're all new here, in one way or another, but I still don't trust the others.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Is there anything else I can do for you?", "Quest2Chat_2") + AddConversationOption(conversation, "I'm glad I could. Good day, Brogan.") + StartConversation(conversation, NPC, Spawn, "I may be reluctant to trust the others here, but you've proven yourself to me.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure.", "Quest2Chat_5") + AddConversationOption(conversation, "I hadn't thought of it.", "Quest2Chat_4") + AddConversationOption(conversation, "No. Not yet.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "Not for me, " .. GetName(Spawn) .. ". Are you willing to travel to another land?") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Well, come back to me when you are looking to travel.", "agree", 0, 0, Spawn) +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "More coin would be useful.", "Quest2Chat_5") + AddConversationOption(conversation, "That's true.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "Well, when you need more coin you will.") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "OfferTrustedReferral") + AddConversationOption(conversation, "Where's that?", "Quest2Chat_6") + AddConversationOption(conversation, "I have no plans to travel to Butcherblock.") + StartConversation(conversation, NPC, Spawn, "Then I suggest you speak with my cousin, Belinda. She's at the docks in the Butcherblock Mountains.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "OfferTrustedReferral") + AddConversationOption(conversation, "I have no plans to travel to Butcherblock.") + StartConversation(conversation, NPC, Spawn, "Butcherblock Mountains is on the continent of Faydwer. You can travel there by taking the griffon down at the Erollis docks.") +end + +function OfferTrustedReferral(NPC, Spawn) + OfferQuest(NPC, Spawn, TrustedReferral) +end + +function OfferTrustIssues(NPC, Spawn) + SendPopUpMessage(Spawn, "This quest is not implemented yet. Requires NPC in Butcherblock.", 255, 0, 0) + --OfferQuest(NPC, Spawn, TrustIssues) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BronlaStonehide.lua b/Lua/SpawnScripts/FrostfangSea/BronlaStonehide.lua new file mode 100755 index 000000000..ea3502f3e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BronlaStonehide.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BronlaStonehide.lua + Script Purpose : fury trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local FURY = 17 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == FURY then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for another fury?", "FuryChat1") + AddConversationOption(conversation, "Thank you, but I must be going.") + StartConversation(conversation, NPC, Spawn, "Lo, and behold, another druid stands before me. Welcome, fellow fury of the storm!") + else + PlayFlavor(NPC, "", "Fresh dreams to you!", "hello", 0, 0, Spawn) + end +end + +function FuryChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "FuryChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function FuryChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "FuryChat3") + StartConversation(conversation, NPC, Spawn, "The primal forces of nature we wield can be used to help mend the wounded, which is beneficial in any battle! They can also be used to enhance the physical attributes and mystical might of our allies, making the attacks of our party members even more fearsome.") +end + +function FuryChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I agree, that will be useful.", "FuryChat4") + StartConversation(conversation, NPC, Spawn, "Although we skillfully exert the healing and bolstering aspects of nature, we do not want to ignore their effectiveness in inflicting destruction! Lightning and fire can be quite effective in cutting down a formidable foe!") +end + +function FuryChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". With such aggressive powers of nature at your hands, you need not waste any energy on encumbering suits of armor.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BrropGloryblade.lua b/Lua/SpawnScripts/FrostfangSea/BrropGloryblade.lua new file mode 100755 index 000000000..60bf6c00d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BrropGloryblade.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BrropGloryblade.lua + Script Purpose : templar trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local TEMPLAR = 13 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == TEMPLAR then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for another templar?", "TempChat1") + AddConversationOption(conversation, "That I am! But I have no time to chat.") + StartConversation(conversation, NPC, Spawn, "Ah, another defender of the faith. Welcome, my fellow templar!") + else + PlayFlavor(NPC, "", "Greetings!", "hello", 0, 0, Spawn) + end +end + +function TempChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "TempChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function TempChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "TempChat3") + StartConversation(conversation, NPC, Spawn, "We are known for protecting ourselves and our allies with reactive heals. These are spells cast on an individual that lay in wait until they have damage inflicted upon them. At which point the spell responds and a heal is given to the individual.") +end + +function TempChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "TempChat4") + StartConversation(conversation, NPC, Spawn, "But the divine power that we are blessed with is not limited to mending the wounded or curing the suffering of the afflicted. It can also help to defend against attack or be wielded offensively, to smite our enemies!") +end + +function TempChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor may be cumbersome, but its protective properties will be necessary, as it takes time to beseech our divine powers.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/BulltheCrafty.lua b/Lua/SpawnScripts/FrostfangSea/BulltheCrafty.lua new file mode 100755 index 000000000..0b635551e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/BulltheCrafty.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BulltheCrafty.lua + Script Purpose : Bull the Crafty + Script Author : Foof + Script Date : 2013.05.16 + Script Notes : +--]] + +local HarvestTutorial = 11 + +local HadAHammer = 12 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, HadAHammer) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HarvestTutorial) and HasQuest(Spawn, HadAHammer) == false and HasCompletedQuest(Spawn, HadAHammer) == false then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, HadAHammer) == 1 or GetQuestStep(Spawn, HadAHammer) == 2 then + PlayFlavor(NPC, "", "The recipe's right there in front of me there, don't forget to read it once you pick it up. The coal's on the ground there. And make sure you have a tin cluster and a lead cluster in your bags, they'll be no use to you in the bank!", "nod", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, HadAHammer) == 3 then + AddConversationOption(conversation, "I'll try.") + StartConversation(conversation, NPC, Spawn, "Having any trouble? You might have noticed that at the bottom of the crafting window you see six tradeskill arts you can use. Three will improve the durability, and three the progress of your craft. Try using those as much as you need while crafting.") + elseif GetQuestStep(Spawn, HadAHammer) == 4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I made a lucky wolf paw charm!", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "How did you make out? Was my recipe simple enough?") + elseif GetQuestStep(Spawn, HadAHammer) == 5 or HasCompletedQuest(Spawn, HadAHammer) then + Quest1Chat_1(NPC, Spawn) + else + PlayFlavor(NPC, "", "At peace or at war, my work must go on.", "nod", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure, why not? Is it hard?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Greetings! I noticed you harvesting out there. Are you interested in trying your hand at making something out of them?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay, what do I do?", "OfferHadAHammer") + StartConversation(conversation, NPC, Spawn, "Nay, not hard at all once you wrap your head around it. But I'm not one to keep talking all day. Why don't you just jump in and try it?") +end + +function Quest1Chat_3(NPC, Spawn) + SetStepComplete(Spawn, HadAHammer, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks, I might do that.") + StartConversation(conversation, NPC, Spawn, "Congratulations! You seem to have a right knack for crafting things, if I do say so. If you're interested in learning more about crafting, you should look up a professional tradeskill tutor who can tell you all the details.") +end + + +function OfferHadAHammer(NPC, Spawn) + if HasCompletedQuest(Spawn, HadAHammer) == false and HasQuest(Spawn, HadAHammer) == false then + OfferQuest(NPC, Spawn, HadAHammer) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/CatherineBowne.lua b/Lua/SpawnScripts/FrostfangSea/CatherineBowne.lua new file mode 100755 index 000000000..9a623dfa5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/CatherineBowne.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CatherineBowne.lua + Script Purpose : Catherine Bowne + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Bank accounts are like weapons. You must maintain them, lest they erode!", "smile", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Your coin will be safe in the Frigid Strongbox, New Halas' official bank.", "hello", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Where did I put my abacus?", "hello", 0, 0, Spawn) + end +end + diff --git a/Lua/SpawnScripts/FrostfangSea/CornaKilgour.lua b/Lua/SpawnScripts/FrostfangSea/CornaKilgour.lua new file mode 100755 index 000000000..b8dbaa40e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/CornaKilgour.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CornaKilgour.lua + Script Purpose : Corna Kilgour + Script Author : theFoof + Script Date : 2013.10.29 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Making food, armor, and weapons is every bit as important to the success and security of our city as standing to face the enemy. Quality equipment and items can make the difference.", "nod", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/CorwinFrostbeard.lua b/Lua/SpawnScripts/FrostfangSea/CorwinFrostbeard.lua new file mode 100755 index 000000000..c1f7949c1 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/CorwinFrostbeard.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CorwinFrostbeard.lua + Script Purpose : Corwin Frostbeard + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Welcome!", "hello", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'll be happy to supply all your fuel needs.", "nod", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua b/Lua/SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua new file mode 100755 index 000000000..705fef117 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua + Script Purpose : for the supply crate spawns + Script Author : theFoof + Script Date : 2013.7.21 + Script Notes : +--]] + +local ClanImps = 79 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, ClanImps) and GetQuestStep(Spawn, ClanImps) < 3 then + if SpellName == 'stolen crate' then + AddStepProgress(Spawn, ClanImps, 1, 1) + local imp = SpawnMob(GetZone(NPC), 4701143, 0, GetX(Spawn) - 3, GetY(Spawn), GetZ(Spawn) - 3, 0) + Attack(imp, Spawn) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, ClanImps) then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/Crushinator.lua b/Lua/SpawnScripts/FrostfangSea/Crushinator.lua new file mode 100755 index 000000000..8dd3093d0 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/Crushinator.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/Crushinator.lua + Script Purpose : Crushinator movement loop + Script Author : theFoof + Script Date : 2013.5.20 + Script Notes : +--]] +function spawn(NPC) + MovementLoopAddLocation(NPC, -273.33, 23.12, -407.99, 8, 0) + MovementLoopAddLocation(NPC, -241.49, 23.16, -423.66, 8, 0) + MovementLoopAddLocation(NPC, -215.44, 24.77, -411.60, 8, 0) + MovementLoopAddLocation(NPC, -180.82, 21.81, -353.42, 8, 0) + MovementLoopAddLocation(NPC, -215.44, 24.77, -411.60, 8, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/FrostfangSea/DagbartFalkren.lua b/Lua/SpawnScripts/FrostfangSea/DagbartFalkren.lua new file mode 100755 index 000000000..310303b74 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/DagbartFalkren.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DagbartFalkren.lua + Script Purpose : Dagbart Falkren + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1042.mp3", "", "hello", 0, 0, Spawn) + if HasCollectionsToHandIn(Spawn) then + AddConversationOption(conversation, "I have a collection for you.", "TurnInColls") + end + AddConversationOption(conversation, "I don't have any at the moment.") + StartConversation(conversation, NPC, Spawn, "Hello there! If you have any collections that you've completed, I can take them off your hands and reward you for your time. I love collecting things!") +end + +function TurnInColls(NPC, Spawn) + HandInCollections(Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, thanks!") + StartConversation(conversation, NPC, Spawn, "This is a magnificent find! Here, take this for all your hard work.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/DandiMcCarren.lua b/Lua/SpawnScripts/FrostfangSea/DandiMcCarren.lua new file mode 100755 index 000000000..356c40a64 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/DandiMcCarren.lua @@ -0,0 +1,114 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DandiMcCarren.lua + Script Purpose : Dandi McCarren + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 2) then + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren001.mp3", "", "", 4065222914, 2283262367, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "Can you tell me what you're doing here?", "Quest1Chat_6") + AddConversationOption(conversation, "This isn't worth it. Nevermind.") + StartConversation(conversation, NPC, Spawn, "I've got a lot of work to do. Can you make this quick?") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "You're still here?", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "I can hammer metal faster than you can blink.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren002.mp3", "", "", 2997702054, 4169410593, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis? ", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_2") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "It'll be faster to answer your questions than to shoo you away, I'm sure. What do you want?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren004.mp3", "", "", 2246027108, 3016893607, Spawn) + AddConversationOption(conversation, "I do know what that's like.", "Quest1Chat_3") + AddConversationOption(conversation, "I don't know what that's like.", "Quest1Chat_3") + AddConversationOption(conversation, "I'll ask the questions here!", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Let me put it this way: do you know what it's like to be displaced from your homeland? Have you felt like you don't belong?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren006.mp3", "", "", 234929252, 3290173917, Spawn) + AddConversationOption(conversation, "True, there's no city quite like New Halas.", "Quest1Chat_4") + AddConversationOption(conversation, "So this is where you want to settle down?", "Quest1Chat_4") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Well that's what it was like, for me, before Erollis was discovered. I'd done my fair share of traveling and called a few different cities 'home', but it never sat right. It never felt like home.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren007.mp3", "", "", 2015097155, 2674343560, Spawn) + AddConversationOption(conversation, "What do you like about Erollis?", "Quest1Chat_5") + AddConversationOption(conversation, "What books did you read?", "Quest1Chat_7") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "From the stories passed down by my Nana, and from the books I've read, this town is about as close to Old Halas as we're likely to get. Life here is what it was like to be a barbarian five hundred years ago.") +end + +function Quest1Chat_5(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren009.mp3", "", "", 2546556899, 2243252862, Spawn) + AddConversationOption(conversation, "Yes, thank you.") + AddConversationOption(conversation, "That's what I needed to know.") + StartConversation(conversation, NPC, Spawn, "I like the crunch of snow under my feet. I like the sturdy stone structures. I like being close to my community. I like sitting around the fire listening to the wind whipping outside. I like tartan kilts and hard scotch. Does that answer your question?") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Um...I'm taking a poll.", "Quest1Chat_1") + AddConversationOption(conversation, "There's no need to get upset!", "Quest1Chat_1") + AddConversationOption(conversation, "I was just leaving.") + StartConversation(conversation, NPC, Spawn, "What am I doing here? What are YOU doing here?") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you like about Erollis?", "Quest1Chat_5") + AddConversationOption(conversation, "Whatever, I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "A collection of quaint and curious volumes of forgotten lore. I doubt you've heard of them.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I was just leaving.") + StartConversation(conversation, NPC, Spawn, "Bah. Get out of my sight!") +end diff --git a/Lua/SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua b/Lua/SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua new file mode 100755 index 000000000..c26b0c5c8 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua + Script Purpose : Wregan Firebeard(dead) + Script Author : theFoof + Script Date : 2013.05.19 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "the body" then + SendMessage(Caster, "Wregan's body shows signs of the mortal grizzly mauling he sustained.") + end +end diff --git a/Lua/SpawnScripts/FrostfangSea/DefenderDetmer.lua b/Lua/SpawnScripts/FrostfangSea/DefenderDetmer.lua new file mode 100755 index 000000000..da1dbf9d2 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/DefenderDetmer.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DefenderDetmer.lua + Script Author : Flunklesnarkin + Script Date : 2015.10.14 09:10:02 + Script Purpose : + : Testing guard voiceovers.. not complete +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1002.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1002.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1002.mp3", "", "", 0, 0, Spawn) + end + +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/FrostfangSea/DolurAxebeard.lua b/Lua/SpawnScripts/FrostfangSea/DolurAxebeard.lua new file mode 100755 index 000000000..225e50cc4 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/DolurAxebeard.lua @@ -0,0 +1,1076 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DolurAxebeard.lua + Script Purpose : Dolur Axebeard + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] + +local GlimmerOrc = 31 + +local MurkyMystery = 32 + +local ScatteringAshes = 33 + +local TotemAnnihilation = 34 + +local CallingBack = 35 + +local TheGauntlet = 36 + +local OffOssuary = 71 + +local SeveringHead = 72 + +local NightmareOver = 73 + +function spawn(NPC) + ProvidesQuest(NPC, GlimmerOrc) + ProvidesQuest(NPC, MurkyMystery) + ProvidesQuest(NPC, ScatteringAshes) + ProvidesQuest(NPC, TotemAnnihilation) + ProvidesQuest(NPC, CallingBack) + ProvidesQuest(NPC, TheGauntlet) + ProvidesQuest(NPC, OffOssuary) + ProvidesQuest(NPC, SeveringHead) + ProvidesQuest(NPC, NightmareOver) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, GlimmerOrc) and not HasCompletedQuest(Spawn, GlimmerOrc) then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard001.mp3", "", "", 1652895933, 4056769103, Spawn) + AddConversationOption(conversation, "What's wrong?", "Quest1Chat_1") + AddConversationOption(conversation, "I don't want to get involved. Goodbye.") + StartConversation(conversation, NPC, Spawn, "We've got a big problem on our hands, " .. GetName(Spawn) .. ". And by big, I mean disastrous.") + elseif GetQuestStep(Spawn, GlimmerOrc) == 1 then + PlayFlavor(NPC, "", "Perhaps the orcs are using the power from luminous snowflurries for their camouflage.", "think", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GlimmerOrc) == 2 then + Quest1Chat_11(NPC, Spawn) + elseif HasCompletedQuest(Spawn, GlimmerOrc) and not HasCompletedQuest(Spawn, MurkyMystery) and not HasQuest(Spawn, MurkyMystery) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, MurkyMystery) == 1 then + PlayFlavor(NPC, "", "The deepice miasmas aren't far from here. Look up the hill above the battlefield, near Herga's Choke.", "point", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, MurkyMystery) == 2 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard021.mp3", "", "", 1915346257, 1839627430, Spawn) + AddConversationOption(conversation, "I've got my fingers crossed.", "Quest2Chat_5") + AddConversationOption(conversation, "[Wait]", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "There ye be, " .. GetName(Spawn) .. "! And ye've brought back the deepice crystals. Let's see if this works in conjunction with the glimmer powder.") + elseif HasCompletedQuest(Spawn, MurkyMystery) and not HasCompletedQuest(Spawn, ScatteringAshes) and not HasQuest(Spawn, ScatteringAshes) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ScatteringAshes) == 1 then + PlayFlavor(NPC, "", "I've trusted ye to scatter my brethren's ashes. Don't let me down.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ScatteringAshes) == 2 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard031.mp3", "", "", 1406448236, 1748110963, Spawn) + AddConversationOption(conversation, "Glad to have helped.", "Quest3Chat_9") + AddConversationOption(conversation, "I heard nothing, but I did the job as you asked.", "Quest3Chat_8") + AddConversationOption(conversation, "I didn't hear chanting, but I do hear superstitious nonsense.", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "Did ye hear that chanting on the wind when you strewed the ashes out from the crest of the Overlook? That was the spirits of the coldain warriors, who are still standing their ground out there against the Ry'Gorr, singing yer praises.") + elseif HasCompletedQuest(Spawn, ScatteringAshes) and not HasCompletedQuest(Spawn, TotemAnnihilation) and not HasQuest(Spawn, TotemAnnihilation) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TotemAnnihilation) == 1 then + PlayFlavor(NPC, "", "Don't expect the Ry'Gorr to let you destroy those totems without putting up a fight.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TotemAnnihilation) == 2 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard045.mp3", "", "", 505634536, 3864498567, Spawn) + AddConversationOption(conversation, "Completed, as promised.", "Quest4Chat_11") + AddConversationOption(conversation, "Dirty work, but someone had to do it.", "Quest4Chat_11") + AddConversationOption(conversation, "I did as you asked. Thank goodness this foul business is over.", "Quest4Chat_11") + StartConversation(conversation, NPC, Spawn, "Ach! Ye've the stench of death upon ye, " .. GetName(Spawn) .. ". I suppose this means the task of dealing with the totems is complete?") + elseif HasCompletedQuest(Spawn, TotemAnnihilation) and not HasCompletedQuest(Spawn, CallingBack) and not HasQuest(Spawn, CallingBack) then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard047.mp3", "", "", 4084660884, 3109121115, Spawn) + AddConversationOption(conversation, "What are these wards?", "Quest5Chat_1") + AddConversationOption(conversation, "I don't feel like my efforts are improving the overall situation. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I've some bad news, " .. GetName(Spawn) .. ". The Ry'Gorr's scouts have been disabling our wards just as ye had been destroying their totems.") + elseif HasQuest(Spawn, CallingBack) and GetQuestStep(Spawn, CallingBack) ~= 6 then + PlayFlavor(NPC, "", "Placing those wards should tip the scales back in our favor.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, CallingBack) == 6 then + AddConversationOption(conversation, "The wards have been placed where they'll be most effective.", "Quest5Chat_12") + AddConversationOption(conversation, "It was a trivial task.", "Quest5Chat_12") + StartConversation(conversation, NPC, Spawn, "I was expecting yer return, and ye never disappoint. How did it go?") + elseif HasCompletedQuest(Spawn, CallingBack) and not HasCompletedQuest(Spawn, TheGauntlet) and not HasQuest(Spawn, TheGauntlet) then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TheGauntlet) == 1 then + PlayFlavor(NPC, "", "Find those bone piles, and grind them to dust.", "point", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TheGauntlet) == 2 then + AddConversationOption(conversation, "It's understandable.", "Quest7Chat_1") + AddConversationOption(conversation, "Perhaps there's a better way to handle this problem.", "Quest7Chat_1") + AddConversationOption(conversation, "Maybe we should strike out against the Ry'Gorr necromancers instead.", "Quest7Chat_1") + StartConversation(conversation, NPC, Spawn, "Perhaps this was... not the best tactic. I'm sorry fer sending ye on a fool's errand, " .. GetName(Spawn) .. ". My zeal got the better of me.") + elseif HasCompletedQuest(Spawn, TheGauntlet) and not HasCompletedQuest(Spawn, OffOssuary) and not HasQuest(Spawn, OffOssuary) then + Quest7Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, OffOssuary) and GetQuestStep(Spawn, OffOssuary) < 3 then + PlayFlavor(NPC, "", "Give those necromancers the sharp side of an axe, if ye find any.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, OffOssuary) == 3 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard086.mp3", "", "", 4050788260, 2621206375, Spawn) + AddConversationOption(conversation, "Your information was correct.", "Quest7Chat_14") + AddConversationOption(conversation, "Yes, the necromancers were holed up in a cave in the Ossuary of Ice. ", "Quest7Chat_15") + StartConversation(conversation, NPC, Spawn, "I'm hoping for good news, and yet expecting the worst. Tell me, " .. GetName(Spawn) .. ", did ye find them?") + elseif HasCompletedQuest(Spawn, OffOssuary) and not HasCompletedQuest(Spawn, SeveringHead) and not HasQuest(Spawn, SeveringHead) then + Quest8Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, SeveringHead) and GetQuestStep(Spawn, SeveringHead) < 3 then + PlayFlavor(NPC, "", "Destroy the source of those totems by breaking the dark crystal.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SeveringHead) == 3 then + PlayFlavor(NPC, "", "", "cheer", 0, 0, Spawn) + AddConversationOption(conversation, "I shattered the crystal, and slew their leader.", "Quest8Chat_10") + AddConversationOption(conversation, "I severed your wurm's head, as promised.", "Quest8Chat_10") + StartConversation(conversation, NPC, Spawn, "Ye've returned, and not a minute too soon! The orcs are worked up into a frenzy over whatever ye just did.") + elseif HasCompletedQuest(Spawn, SeveringHead) and not HasCompletedQuest(Spawn, NightmareOver) and not HasQuest(Spawn, NightmareOver) then + Quest9Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, NightmareOver) == 1 then + PlayFlavor(NPC, "", "Head to Cragged Spine. They're waiting for ye.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, NightmareOver) then + PlayFlavor(NPC, "", "Are ye sure ye don't have any blood of the Frostraver in ye?", "laugh", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard002.mp3", "", "", 3776851500, 329099171, Spawn) + AddConversationOption(conversation, "How are they ambushing you, especially out in the open?", "Quest1Chat_2") + AddConversationOption(conversation, "But... Erollis isn't very large. You must know this place like the back of your hand.", "Quest1Chat_7") + AddConversationOption(conversation, "I don't want your helplessness to rub off on me. I must be going.") + AddConversationOption(conversation, "Ambushing orcs? I'm out of here!") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr are ambushing our forces. A dwarf can take an orc, toe to toe, in a fair fight, but there's nothing fair about catching us unawares. A coldain caught in an ambush is at a distinct disadvantage. Their surprise attacks are killing us out there, literally!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard003.mp3", "", "", 505371253, 1091559275, Spawn) + AddConversationOption(conversation, "Go on.", "Quest1Chat_3") + AddConversationOption(conversation, "I believe I have somewhere else to be. Goodbye.") + StartConversation(conversation, NPC, Spawn, "That's what I was getting at. And ye won't believe it.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard005.mp3", "", "", 2412101907, 2364424304, Spawn) + AddConversationOption(conversation, "What do they say?", "Quest1Chat_4") + AddConversationOption(conversation, "It sounds like you're about to tell me.", "Quest1Chat_4") + AddConversationOption(conversation, "Why are we still talking? Just point me in the right direction.", "Quest1Chat_9") + AddConversationOption(conversation, "Ambushing orcs? I'm out of here!") + StartConversation(conversation, NPC, Spawn, "They've engineered a method to render themselves impossible to see against the snow and ice; it's some kind of camouflage. My soldiers are too afraid to go back out there. You know what my men are saying?") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard007.mp3", "", "", 1117927681, 3213137385, Spawn) + AddConversationOption(conversation, "It's a fear tactic, for sure.", "Quest1Chat_5") + AddConversationOption(conversation, "No wonder your men don't want to go back out there.", "Quest1Chat_8") + AddConversationOption(conversation, "Glimmer orcs? I'm out of here!") + StartConversation(conversation, NPC, Spawn, "They say, 'There'd be nothing but snow and ice, then a glimmer... then, you'd be dead!'") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard008.mp3", "", "", 3224987077, 1613729835, Spawn) + AddConversationOption(conversation, "Agreed. ", "Quest1Chat_6") + AddConversationOption(conversation, "You do what you have to in war.", "Quest1Chat_6") + AddConversationOption(conversation, "Cowardice against cowardice? I'm done here.") + StartConversation(conversation, NPC, Spawn, "It's a cowardly tactic. Unfortunately there's no way around this. We're going to have to fight ice with ice.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard010.mp3", "", "", 1224830968, 3279150133, Spawn) + AddConversationOption(conversation, "Of course.", "OfferGlimmerOrc") + AddConversationOption(conversation, "I'm not putting myself in danger, based solely on a hunch.") + StartConversation(conversation, NPC, Spawn, "We believe they're using the powder of the luminous snowflurries as makeshift camouflage. If ye can collect some of the powder, perhaps we could replicate this. Then we would have a fighting chance out there. Think ye could bring some back?") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard004.mp3", "", "", 2795765225, 2030897405, Spawn) + AddConversationOption(conversation, "What? Are they invisible?", "Quest1Chat_3") + AddConversationOption(conversation, "I believe I have somewhere else to be. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, we do. We know every rock, every hill, every nook, and every cranny of this frozen wasteland, which is what makes these ambushes so troubling.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard009.mp3", "", "", 3087697550, 2303509094, Spawn) + AddConversationOption(conversation, "I do, and I see what must be done.", "Quest1Chat_6") + AddConversationOption(conversation, "What's the plan?", "Quest1Chat_6") + AddConversationOption(conversation, "It's your problem, not mine. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, ye see the problem we're facing now?") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard006.mp3", "", "", 2420317196, 2002155131, Spawn) + AddConversationOption(conversation, "I'm brave AND capable.", "Quest1Chat_10") + AddConversationOption(conversation, "Don't underestimate me.", "Quest1Chat_10") + AddConversationOption(conversation, "Don't insult my intelligence. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Oh, yer a go-getter, are ye? Well, I hope yer filled with bravery and not stupidity, though can be hard to distinguish one from t'other.") +end + +function Quest1Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard011.mp3", "", "", 2906385969, 2703354949, Spawn) + AddConversationOption(conversation, "None taken. So what's the plan?", "Quest1Chat_6") + AddConversationOption(conversation, "I find that hard to believe. Goodbye.") + StartConversation(conversation, NPC, Spawn, "No need to get defensive now, " .. GetName(Spawn) .. ". No offense was meant.") +end + +function Quest1Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + converation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard013.mp3", "", "", 4055438067, 163416310, Spawn) + AddConversationOption(conversation, "It wasn't easy.", "Quest1Chat_12") + AddConversationOption(conversation, "Here's the glimmer dust.", "Quest1Chat_12") + StartConversation(conversation, NPC, Spawn, "Welcome back, " .. GetName(Spawn) .. "! Now, let's have a look-see at that glimmer powder ye've collected.") +end + +function Quest1Chat_12(NPC, Spawn) + SetStepComplete(Spawn, GlimmerOrc, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard014.mp3", "", "", 4267001042, 1944501293, Spawn) + AddConversationOption(conversation, "I do whatever it takes to solve the problem.", "Quest1Chat_13") + AddConversationOption(conversation, "I'm curious to find out if it works.", "Quest1Chat_13") + StartConversation(conversation, NPC, Spawn, "This is exactly what we need, and plenty of it. Oh, I've missed having someone like ye around. So many young folks today just won't go that extra mile.") +end + +function Quest1Chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard015.mp3", "", "", 3387435129, 3863442024, Spawn) + AddConversationOption(conversation, "Take your time.") + AddConversationOption(conversation, "Time is one thing we don't have.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "What am I? The Amazing Randi? We have tests to run. It will take time.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard016.mp3", "", "", 3724550793, 3434645453, Spawn) + AddConversationOption(conversation, "The orcs figured out how to solve that problem.", "Quest2Chat_2") + AddConversationOption(conversation, "You must need a binding agent.", "Quest2Chat_4") + AddConversationOption(conversation, "I feel like I did all that work for nothing. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, this has solved half of our problem. Flurry powder renders one nearly invisible in this environment, but the stuff doesn't stick. Yer lucky if a gust of wind doesn't blow it clean off. This won't do. No, this won't do at all.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard017.mp3", "", "", 4140277139, 3688959754, Spawn) + AddConversationOption(conversation, "Have you noticed the orcs gathering anything out of the ordinary?", "Quest2Chat_3") + AddConversationOption(conversation, "I don't need your help. I'm done here.") + StartConversation(conversation, NPC, Spawn, "Aye, good thinking. So we need to consider what the Ry'Gorr have been up to lately. Unfortunately, our attentions have been focused on meeting them on the battlefield, when we should have been paying attention to their other activities.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard019.mp3", "", "", 1879917767, 2648322812, Spawn) + AddConversationOption(conversation, "Just show me where to find them.", "OfferMurkyMystery") + AddConversationOption(conversation, "That's our best bet? It's worth a try.", "OfferMurkyMystery") + AddConversationOption(conversation, "This is another shot in the dark. I'm done here.") + StartConversation(conversation, NPC, Spawn, "We've noticed that the orcs have been aggressive towards deepice miasmas. There didn't appear to be any logical reason for it, until now. The miasmas could hold another clue to the method of crafting this camouflage.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard018.mp3", "", "", 829232573, 947350296, Spawn) + AddConversationOption(conversation, "So where could we find that?", "Quest2Chat_3") + AddConversationOption(conversation, "Have you noticed the orcs gathering anything out of the ordinary?", "Quest2Chat_3") + AddConversationOption(conversation, "I don't need your help. I'm done here.") + StartConversation(conversation, NPC, Spawn, "So, yer an adventurer and a scholar! I bet a binding agent is exactly what we need.") +end + +function Quest2Chat_5(NPC, Spawn) + SetStepComplete(Spawn, MurkyMystery, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard022.mp3", "", "", 4152966005, 2385582175, Spawn) + AddConversationOption(conversation, "Now you're on even footing with the Ry'Gorr!", "Quest3Chat_1") + AddConversationOption(conversation, "Your scouts will be able to pinpoint their ambushers.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "By Brell, it does work! Yer a genius!") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard023.mp3", "", "", 3394689570, 853009244, Spawn) + AddConversationOption(conversation, "That is unfortunate, but you have to balance your priorities.", "Quest3Chat_2") + AddConversationOption(conversation, "Is this something I can help with?", "Quest3Chat_2") + AddConversationOption(conversation, "I'll leave you to your grief. Goodbye.") + StartConversation(conversation, NPC, Spawn, "And now that we're on even footing with the Ry'Gorr, we can afford to direct our attention to something a little more spiritual. Unfortunately, the needs of our deceased have had to wait for a lull in the action.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard024.mp3", "", "", 888604358, 2919686664, Spawn) + AddConversationOption(conversation, "I don't understand. What do you mean by 'spirits'?", "Quest3Chat_3") + AddConversationOption(conversation, "Of course. You've done all you can.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Aye, or else there would be more fallen coldain. And as valiant as our brethren's spirits have been in the fight against the Ry'Gorr, it's an outcome we'd certainly prefer to avoid.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard026.mp3", "", "", 3211985278, 3808356977, Spawn) + AddConversationOption(conversation, "You want me to honor the dead?", "Quest3Chat_5") + AddConversationOption(conversation, "Shouldn't one of the coldain honor them?") + AddConversationOption(conversation, "One of the coldain should handle this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Many of the coldain that fall in battle against the Ry'Gorr rise up again as spirits. Instead of going to see Brell, they rejoin the fight. This decision is a permanent one, which means they can never go to the Halls of the Creator once they come back here. Their act of self-sacrifice and valor should not go unnoticed.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation + + AddConversationOption(conversation, "Tell me more.", "Quest3Chat_3") + AddConversationOption(conversation, "Your burdens are yours alone. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I'm not certain we've done everything we can, but then again I've always taken on more burdens than I can easily carry. There's someting else we can do, right now. If ye'll hear me out, maybe ye could even lend a hand.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard027.mp3", "", "", 1974991098, 1800835214, Spawn) + AddConversationOption(conversation, "I'd be honored to scatter their ashes.", "Quest3Chat_6") + AddConversationOption(conversation, "You should have someone else honor your dead.", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "Aye, it's the least we could do to respect their sacrifice.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard029.mp3", "", "", 1909973600, 750947925, Spawn) + AddConversationOption(conversation, "I will do as you ask.", "OfferScatteringAshes") + AddConversationOption(conversation, "I've changed my mind. Goodbye.") + StartConversation(conversation, NPC, Spawn, "This urn contains the ashes of the recently deceased. I'd like ye to take them to the peak of Pride Overlook and scatter 'em to the winds. The ashes will be carried out to sea. Maybe part of them will find their way back to Velious, if it still exists.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard028.mp3", "", "", 564515719, 107243017, Spawn) + AddConversationOption(conversation, "Thank you. I'd be happy to help.", "Quest3Chat_6") + AddConversationOption(conversation, "Like the Dain? That's a wild exaggeration, but I appreciate the compliment.", "Quest3Chat_6") + AddConversationOption(conversation, "I'd rather see a coldain honor his brethren.") + StartConversation(conversation, NPC, Spawn, "I'd be perfectly happy to give this job to one of my brothers, but I'd rather you do it, " .. GetName(Spawn) .. ". I trust ye. Yer capable and ye fight like the Dain himself.") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Fair enough.", "Quest3Chat_9") + AddConversationOption(conversation, "Whatever. If you say so.", "Quest3Chat_9") + StartConversation(conversation, NPC, Spawn, "Have a little faith. The spirits believe in us, or else they wouldn't be here. It's only fair to believe in them, in return.") +end + +function Quest3Chat_9(NPC, Spawn) + SetStepComplete(Spawn, ScatteringAshes, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard033.mp3", "", "", 935575101, 1863151637, Spawn) + AddConversationOption(conversation, "You can deduce a lot about a people by how they revere their dead.", "Quest4Chat_1") + AddConversationOption(conversation, "Let's hope that day is a long way off, Dolur.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Ye stuck by yer word, " .. GetName(Spawn) .. ". When the day comes, I wouldn't mind if ye were the one to lay my remains to rest.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard034.mp3", "", "", 4183445940, 2191855130, Spawn) + AddConversationOption(conversation, "If you need to kill skeletons, I'm in.", "Quest4Chat_2") + AddConversationOption(conversation, "How can I help?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "And now that ye've helped honor the spirits of the fallen, perhaps we can assist them in a more practical way. The sooner our men have laid those Ry'Gorr skeletons to rest, the sooner they can rest themselves.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard036.mp3", "", "", 183860181, 4160128753, Spawn) + AddConversationOption(conversation, "Since when did Ry'Gorr orcs practice necromancy? ", "Quest4Chat_6") + AddConversationOption(conversation, "I'd be interested in hearing your plans.", "Quest4Chat_4") + AddConversationOption(conversation, "Headache?", "Quest4Chat_5") + AddConversationOption(conversation, "This sounds a little too complicated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, I was hoping ye'd say that. But, perhaps more important than killing... er... re-killing them, is keeping the blasted things down. Those necromancers are causing us a real headache.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard035.mp3", "", "", 3130799113, 3083892992, Spawn) + AddConversationOption(conversation, "Since when did Ry'Gorr orcs practice necromancy?", "Quest4Chat_6") + AddConversationOption(conversation, "I'd be interested in hearing your plans.", "Quest4Chat_4") + AddConversationOption(conversation, "This sounds a little too complicated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr necromancers are making sure that we have our work cut out for us. Their skeletal minions won't stay down. But we think there's a way we can deal with that.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard038.mp3", "", "", 407410462, 3645301818, Spawn) + AddConversationOption(conversation, "How do the totems affect the piles of bones?", "Quest4Chat_10") + AddConversationOption(conversation, "The totems are used to raise the dead, aren't they?", "Quest4Chat_10") + AddConversationOption(conversation, "I've heard enough. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Allow me to explain. The orcs' dark art practitioners have whittled crude necromantic totems out of an unusually opaque black crystal. They place these totems near piles of their dead, after they've burned all the flesh from their bones.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard042.mp3", "", "", 4130815346, 134791613, Spawn) + AddConversationOption(conversation, "Please, no more details!") + AddConversationOption(conversation, "That's too much information.") + AddConversationOption(conversation, "For Brell's sake, stop right there!") + StartConversation(conversation, NPC, Spawn, "And that's saying a lot, considering I once woke up behind the Velium Keg with a splitting headache and a snow bunny tattoo inked in an awkward place.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard037.mp3", "", "", 3050869770, 2588737006, Spawn) + AddConversationOption(conversation, "I'd never heard of it, either.", "Quest4Chat_7") + AddConversationOption(conversation, "Orcs are bad enough as it is.", "Quest4Chat_7") + AddConversationOption(conversation, "I've heard enough. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Since now! Until recently, we'd never even heard of an orcish necromancer. Shaman or warrior types, certainly, but they've never been ones to dabble with the dead. ") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard039.mp3", "", "", 655322932, 2844698799, Spawn) + AddConversationOption(conversation, "What do you think?", "Quest4Chat_8") + AddConversationOption(conversation, "Sounds reasonable.", "Quest4Chat_9") + AddConversationOption(conversation, "I don't want to get involved in this debate. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Unfortunately fer us, it looks like the orcs have picked up on the technique since becoming isolated on Erollis. Rakan posited that they may have turned to necromancy as a direct response to seeing our coldain brethren return from the afterlife to fight them.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard040.mp3", "", "", 951980673, 4228422662, Spawn) + AddConversationOption(conversation, "They are more resourceful than I had imagined.", "Quest4Chat_9") + AddConversationOption(conversation, "Orcs are deplorable.", "Quest4Chat_9") + AddConversationOption(conversation, "I don't want to get involved in this debate. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Hrmph. Well, it's possible that they petitioned to one of the darker gods to grant them the ability. Whatever the means, it stinks of an act of desperation. There isn't much opportunity to grow and replenish their ranks without resorting to raising their dead.") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard043.mp3", "", "", 845201538, 1152092745, Spawn) + AddConversationOption(conversation, "How do you propose we 'deal' with them?", "Quest4Chat_4") + AddConversationOption(conversation, "I can think of a reason to leave. Goodbye.") + StartConversation(conversation, NPC, Spawn, "In the end, I don't suppose the reason matters much. There are no depths they won't sink to in order to win this battle. It is what it is, and we have to deal with what's in front of us. ") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard041.mp3", "", "", 2628510482, 3371068278, Spawn) + AddConversationOption(conversation, "I can do that.", "OfferTotemAnnihilation") + AddConversationOption(conversation, "That's a sound plan.", "OfferTotemAnnihilation") + AddConversationOption(conversation, "This is a temporary solution, at best. I'll be going.") + StartConversation(conversation, NPC, Spawn, "And sure as Brell is my maker, dreadful skeletons rise up out of the piles, ready to fight again. I expect that destroying those totems will slow down the production of undead.") +end + +function Quest4Chat_11(NPC, Spawn) + SetStepComplete(Spawn, TotemAnnihilation, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard046.mp3", "", "", 1320158668, 3505958307, Spawn) + AddConversationOption(conversation, "Very funny.") + AddConversationOption(conversation, "That's not much of a consolation.") + AddConversationOption(conversation, "There's a silver lining in every cloud, eh?") + StartConversation(conversation, NPC, Spawn, "I suppose we should be thankful that the weather isn't warm here, or ye'd really stink.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard048.mp3", "", "", 1791567214, 1786988911, Spawn) + AddConversationOption(conversation, "That sounds very similar to the Ry'Gorr's necromantic totems.", "Quest5Chat_2") + AddConversationOption(conversation, "Do the coldain spirits have any choice in the matter?", "Quest5Chat_7") + AddConversationOption(conversation, "Speaking of which, my assistance is needed elsewhere. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The wards are beacons that allow a coldain's spirit to return to this world, and remain here, so long as their assistance is needed on the battlefield.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard049.mp3", "", "", 2886126619, 111361298, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest5Chat_3") + AddConversationOption(conversation, "This discussion tires me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The important difference being that the coldain spirits retain their will and conscience. They aren't controlled by dark magic.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard051.mp3", "", "", 3697109059, 807407603, Spawn) + AddConversationOption(conversation, "It doesn't sound like abandoning their surviving allies is a choice at all.", "Quest5Chat_4") + AddConversationOption(conversation, "I'm glad to hear that it isn't forced servitude.", "Quest5Chat_8") + AddConversationOption(conversation, "What is and what isn't 'dark magic' is all a matter of perspective.", "Quest5Chat_10") + AddConversationOption(conversation, "Sounds like we're arguing over semantics, which is a waste of my time and yours. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Our brethren don't have to return to the field of battle unless they choose to do so. Of course, valor in the face of overwhelming opposition isn't unusual for the coldain. Most dwarves opt to follow the light from the ward's beacon and return to Norrath.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard052.mp3", "", "", 2567924057, 453022525, Spawn) + AddConversationOption(conversation, "You know I wish to help.", "Quest5Chat_5") + AddConversationOption(conversation, "I help because we're both getting something out of this.", "Quest5Chat_11") + AddConversationOption(conversation, "I'm walking. Goodbye.") + StartConversation(conversation, NPC, Spawn, "There's always a choice, " .. GetName(Spawn) .. ". Just as you could choose to help us again, or choose to walk away.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard056.mp3", "", "", 721262634, 1165992998, Spawn) + AddConversationOption(conversation, "How will I know where this barrier between worlds is 'thin'?", "Quest5Chat_6") + AddConversationOption(conversation, "How were the wards disabled?", "Quest5Chat_9") + AddConversationOption(conversation, "If I continue working tasks for you, I'm certain to find the spirit realm, myself. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The wards that were disabled need to be replaced. Furthermore, they must be placed in areas where the barrier between our world and the spirit realm is 'thin'.") +end + +function Quest5Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard057.mp3", "", "", 3375420535, 3459651835, Spawn) + AddConversationOption(conversation, "The sooner I begin, the better.", "OfferCallingBack") + AddConversationOption(conversation, "I am no longer interested. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The coldain spirits have indicated as such. They've etched designs in the snow indicating the best locations for the wards. The spirits have seen both sides, after all, so they would know.") +end + +function Quest5Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard050.mp3", "", "", 1997222652, 757650652, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest5Chat_3") + AddConversationOption(conversation, "This discussion tires me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Of course. This isn't dark magic. The wards merely allow the dwarves' spirits to return by showing them the way.") +end + +function Quest5Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard053.mp3", "", "", 61355934, 928420648, Spawn) + AddConversationOption(conversation, "Tell me how I can help.", "Quest5Chat_5") + AddConversationOption(conversation, "I'll be the judge of that. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Of course it isn't.") +end + +function Quest5Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard058.mp3", "", "", 865813729, 1073348208, Spawn) + AddConversationOption(conversation, "I see. And how will I know where this barrier between worlds is 'thin'?", "Quest5Chat_6") + AddConversationOption(conversation, "So you need these wards replaced, then?", "OfferCallingBack") + AddConversationOption(conversation, "I have no wish to assist in raising the dead. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Hmm... I can't say for sure, but I imagine they were disabled in much the same way that you destroyed their necromancers' totems: the orcs broke them. Our wards were probably smashed under some Ry'Gorr's hammer.") +end + +function Quest5Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard054.mp3", "", "", 3731109771, 1471852014, Spawn) + AddConversationOption(conversation, "Fine. I'll be leaving.") + AddConversationOption(conversation, "You're awfully touchy. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Says ye. I think ye'd best be leaving, " .. GetName(Spawn) .. ", before I lose my temper.") +end + +function Quest5Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Of course not. How can I help?", "Quest5Chat_5") + AddConversationOption(conversation, "The jury is still out on that, but I'm willing to help today.", "Quest5Chat_5") + AddConversationOption(conversation, "I do feel underappreciated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It's a mutually beneficial relationship, certainly. I just hope ye don't feel I'm taking advantage of yer kindness, or vice versa.") +end + +function Quest5Chat_12(NPC, Spawn) + SetStepComplete(Spawn, CallingBack, 6) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I hope we can tip the scales even futher.", "Quest5Chat_13") + AddConversationOption(conversation, "Is there anything else I can do to help, Dolur?", "Quest6Chat_1") + AddConversationOption(conversation, "I hope you have some real work for me, next time.", "Quest5Chat_13") + StartConversation(conversation, NPC, Spawn, "That'll tip the scales back in our favor! Well done, " .. GetName(Spawn) .. "") +end + +function Quest5Chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard062.mp3", "", "", 1933886797, 2300926566, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest6Chat_1") + AddConversationOption(conversation, "What nightmares?", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "I hope so too, " .. GetName(Spawn) .. ". There's the business of my nightmares I'd like to speak to ye about.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard063.mp3", "", "", 3479422497, 420666487, Spawn) + AddConversationOption(conversation, "Ah, that would be frightful.", "Quest6Chat_2") + AddConversationOption(conversation, "It's only a dream, right?", "Quest6Chat_2") + AddConversationOption(conversation, "I have no time to analyze your dreams. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I'm in constant fear for our unseasoned coldain fighters, " .. GetName(Spawn) .. ". When I close my eyes, I can see them faltering. ") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard064.mp3", "", "", 884503499, 3365458147, Spawn) + AddConversationOption(conversation, "What else do you see in your dreams?", "Quest6Chat_3") + AddConversationOption(conversation, "Can I do something to help?", "Quest6Chat_4") + AddConversationOption(conversation, "This is a little too familiar and creepy. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "In my dreaming sleep, I stand frozen in the midst of the fracas, watching helplessly as another green warrior is about to die.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard065.mp3", "", "", 1112528692, 1589230613, Spawn) + AddConversationOption(conversation, "That's not far from what's actually happening.", "Quest6Chat_6") + AddConversationOption(conversation, "Someone should destroy those bone piles.", "Quest6Chat_4") + AddConversationOption(conversation, "This is a little too familiar and creepy. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "I'm in a maze of long hallways. There are mounds of bone, strewn about haphazardly. Scores of cackling undead spawn from the piles and mill about.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard066.mp3", "", "", 2614901969, 1124964549, Spawn) + AddConversationOption(conversation, "How would I go about doing that? ", "Quest6Chat_5") + AddConversationOption(conversation, "Destroying a pile of ossified bone isn't easy.", "Quest6Chat_5") + AddConversationOption(conversation, "Perhaps I'm not the right person for the job, after all.") + StartConversation(conversation, NPC, Spawn, "Aye. Someone should get out there and destroy the monster generators. Does this mean yer volunteering, " .. GetName(Spawn) .. "?") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard068.mp3", "", "", 3330795351, 440398686, Spawn) + AddConversationOption(conversation, "You don't have to worry anymore.", "OfferTheGauntlet") + AddConversationOption(conversation, "Of course. I'd love to help.", "OfferTheGauntlet") + AddConversationOption(conversation, "This is a really bad idea.") + StartConversation(conversation, NPC, Spawn, "Use yer weaponry, a heavy rock, or your bare fists, if that's all ye have on hand. I don't care, so long as they've been ground into a dust-like powder. Only then will the Ry'Gorr skeletons trouble us no longer.") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard067.mp3", "", "", 3225906480, 630261154, Spawn) + AddConversationOption(conversation, "Someone should destroy those bone piles.", "Quest6Chat_4") + AddConversationOption(conversation, "I must be leaving.") + StartConversation(conversation, NPC, Spawn, "And that's what disturbs me the most, " .. GetName(Spawn) .. ".") +end + +function Quest7Chat_1(NPC, Spawn) + SetStepComplete(Spawn, TheGauntlet, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard072.mp3", "", "", 1784529, 3849185180, Spawn) + AddConversationOption(conversation, "What about disabling the totems?","Quest7Chat_2") + AddConversationOption(conversation, "Even replacing the spirit wards didn't help?", "Quest7Chat_10") + AddConversationOption(conversation, "I managed to smash several skeletons into tiny bits.", "Quest7Chat_13") + AddConversationOption(conversation, "Well, if my efforts haven't been helpful, I'll go be of more use elsewhere.") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", the worst part of this nightmare is feeling utterly helpless. The Ry'Gorr forces are as strong as ever. And to be completely honest, yer efforts haven't helped us gain much ground.") +end + +function Quest7Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard073.mp3", "", "", 2943845017, 2205345789, Spawn) + AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3") + AddConversationOption(conversation, "This is helpless! I quit.") + StartConversation(conversation, NPC, Spawn, "What about it? The orcs took to disabling our wards while ye were smashing up their totems, and they're making more of the blasted things as we speak.") +end + +function Quest7Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard076.mp3", "", "", 3845015927, 2518600901, Spawn) + AddConversationOption(conversation, "What did you have in mind?", "Quest7Chat_4") + AddConversationOption(conversation, "I could look for the necromancers.", "Quest7Chat_11") + AddConversationOption(conversation, "I've already bled enough for your goals. Count me out.") + StartConversation(conversation, NPC, Spawn, "Yer efforts, while valiant, aren't having a lasting impact on their skeletal horde. And the constant assault of undead is wearing us down. We've gone about this plan of attack all sideways, if ye ask me. A more precision strike is in order.") +end + +function Quest7Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard077.mp3", "", "", 3800804769, 3084250948, Spawn) + AddConversationOption(conversation, "Makes sense.", "Quest7Chat_5") + AddConversationOption(conversation, "But where are they hiding?", "Quest7Chat_5") + AddConversationOption(conversation, "I'd rather not venture into the proverbial lion's den. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The orcish necromancers are the ultimate source of the undead army. Ye need to locate them.") +end + +function Quest7Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard079.mp3", "", "", 4093864666, 2060412696, Spawn) + AddConversationOption(conversation, "Any other reports?", "Quest7Chat_6") + AddConversationOption(conversation, "I'll figure this out without their help. Goodbye.") + StartConversation(conversation, NPC, Spawn, "My scouts are giving me conflicting information. Mapin thinks they're back behind a snowdrift on Ry'Gorr Isle. Letke thought he saw a cadre of necromancer types gathering on a floating chunk of ice off to the northwest.") +end + +function Quest7Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard080.mp3", "", "", 1837622160, 4089784009, Spawn) + AddConversationOption(conversation, "Ugh. So which is it?", "Quest7Chat_7") + AddConversationOption(conversation, "Ol' Blizzardbeard?", "Quest7Chat_12") + AddConversationOption(conversation, "When you get your intelligence in order, let me know. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye. Ol' Blizzardbeard is under the impression that they're simply working their dark magic out in the open, carving the totems under cover of night when we're not looking.") +end + +function Quest7Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard082.mp3", "", "", 4103645790, 7293030, Spawn) + AddConversationOption(conversation, "That sounds more plausible.", "Quest7Chat_8") + AddConversationOption(conversation, "No wonder it's been hard to find.", "Quest7Chat_8") + AddConversationOption(conversation, "This sounds like a waste of my time.") + StartConversation(conversation, NPC, Spawn, "The most reliable reconnoitering we have, as confirmed by scout Dansk and scout Clawhammer, indicates that the necromancers have holed up in a natural cavern. The cave is on an island off the coast to the southwest.") +end + +function Quest7Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard083.mp3", "", "", 2366031645, 641653492, Spawn) + AddConversationOption(conversation, "These orcs are wily. Their behavior defies expectations.", "Quest7Chat_9") + AddConversationOption(conversation, "They've had more than enough time to fortify the area and make it inhabitable.", "Quest7Chat_9") + AddConversationOption(conversation, "The last place you'd look will be the first place they'd hide.", "Quest7Chat_9") + AddConversationOption(conversation, "If you're not even certain the Ry'Gorr necromancers are in there, I'll spend my time elsewhere.") + StartConversation(conversation, NPC, Spawn, "It's the last place I would have expected to find them. Even if it weren't orcish territory, that area is treacherously difficult to navigate, and prone to cave-ins. We had considered it too dangerous to explore.") +end + +function Quest7Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard084.mp3", "", "", 4243043314, 1523140445, Spawn) + AddConversationOption(conversation, "Of course.", "OfferOffOssuary") + AddConversationOption(conversation, "I'll see this through to the end.", "OfferOffOssuary") + AddConversationOption(conversation, "Though your scouts' information may not be accurate, it's still the best lead we've got.", "OfferOffOssuary") + AddConversationOption(conversation, "If you're not certain the Ry'Gorr necromancers are in there, I'll not waste my time.") + StartConversation(conversation, NPC, Spawn, "Aye, the lead is solid. I'm sorry to burden ye with another grim task, especially when the outcome is uncertain, but could I count on ye to explore this cavern?") +end + +function Quest7Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard074.mp3", "", "", 3668194887, 51910928, Spawn) + AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3") + AddConversationOption(conversation, "This is helpless! I quit.") + StartConversation(conversation, NPC, Spawn, "It kept us on equal footing with them, at best.") +end + +function Quest7Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard078.mp3", "", "", 571602465, 4229451174, Spawn) + AddConversationOption(conversation, "As always, we're on the same page.", "Quest7Chat_5") + AddConversationOption(conversation, "Any idea where they could be hiding?", "Quest7Chat_5") + AddConversationOption(conversation, "I'll figure this out on my own. Goodbye.") + StartConversation(conversation, NPC, Spawn, "That was my thought, precisely.") +end + +function Quest7Chat_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard081.mp3", "", "", 3792358161, 1911808576, Spawn) + AddConversationOption(conversation, "Sounds like he's what you'd call a drunkard.", "Quest7Chat_7") + AddConversationOption(conversation, "Well, do you have any reliable information?", "Quest7Chat_7") + AddConversationOption(conversation, "Oh, this is such a waste of time! Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, heh. That's not his real name. We just took to calling him that since he has ale suds in his beard more often than not. He's not what ye'd call reliable.") +end + +function Quest7Chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard075.mp3", "", "", 2950142669, 2951966236, Spawn) + AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3") + AddConversationOption(conversation, "This is helpless! I quit.") + StartConversation(conversation, NPC, Spawn, "Aye, and there will be plenty extra where those came from. Point of fact, there are more bones on the battlefield than ice floes in Iceclad.") +end + +function Quest7Chat_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard087.mp3", "", "", 2455437379, 1149838635, Spawn) + AddConversationOption(conversation, "I did, but there will be more of them.", "Quest7Chat_15") + AddConversationOption(conversation, "Yes, but there are necromancers all over the Ossuary of Ice.", "Quest7Chat_15") + StartConversation(conversation, NPC, Spawn, "Aye! So it was correct. It looks like I owe Dansk and Clawhammer a whole keg of ale for their keen eyes. Brell bless 'em. And were ye able to give the necromancers a sound beating?") +end + +function Quest7Chat_15(NPC, Spawn) + SetStepComplete(Spawn, OffOssuary, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard088.mp3", "", "", 191733965, 1473786520, Spawn) + AddConversationOption(conversation, "Figuratively speaking, of course.", "Quest8Chat_1") + AddConversationOption(conversation, "So, I'll be heading back to the Ossuary?", "Quest8Chat_1") + StartConversation(conversation, NPC, Spawn, "Well then. How about we cut off the head of the frost wurm?") +end + +function Quest8Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard089.mp3", "", "", 1399173958, 925064684, Spawn) + AddConversationOption(conversation, "We need to sever the head of this frost wurm.", "Quest8Chat_2") + AddConversationOption(conversation, "We need to find and slay their leader.", "Quest8Chat_2") + AddConversationOption(conversation, "I've already been in there once. Count me out.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ", ye've managed to pinpoint the heart of the Ry'Gorr's operations. This is a most fortunate turn of events. Armed with this information, we stand a chance to take back Erollis from the orcs for good. But before we start celebrating...") +end + +function Quest8Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard090.mp3", "", "", 3782002158, 339970398, Spawn) + AddConversationOption(conversation, "What should I look for?", "Quest8Chat_3") + AddConversationOption(conversation, "How will I know when I've found the leader?", "Quest8Chat_3") + AddConversationOption(conversation, "I've already been in there once and I'd rather not go back. Count me out.") + StartConversation(conversation, NPC, Spawn, "And that means heading back to the Ossuary of Ice. But this time, ye'll be on the lookout for their leader and whatever tools he's using to manufacture the totems.") +end + +function Quest8Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard091.mp3", "", "", 1275705451, 1277532421, Spawn) + AddConversationOption(conversation, "What are they doing?", "Quest8Chat_4") + AddConversationOption(conversation, "Why would they stand around the crystal?", "Quest8Chat_4") + AddConversationOption(conversation, "I never really liked Dark Crystal. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I've had this recurring vision, and now it makes sense. In my dreams, I see an unholy crystal, jutting out of the ice like a festering claw. The Ry'Gorr necromancers stand around the crystal. ") +end + +function Quest8Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard092.mp3", "", "", 420466205, 1714342326, Spawn) + AddConversationOption(conversation, "And you think their leader can be found near the crystal?", "Quest8Chat_5") + AddConversationOption(conversation, "Your dreams give me the creeps.") + StartConversation(conversation, NPC, Spawn, "They worship it, day and night. From that dark crystal have they hewn out their dark totems, for dark purposes.") +end + +function Quest8Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard093.mp3", "", "", 4158777866, 37202239, Spawn) + AddConversationOption(conversation, "He must be driven.", "Quest8Chat_6") + AddConversationOption(conversation, "He must be mad.", "Quest8Chat_6") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye. Now that ye've found the crystal, he needs to protect it. He stands over it, tirelessly. He never sleeps. I can see his reflection in the crystal. His eyes burn with purpose.") +end + +function Quest8Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard094.mp3", "", "", 4080806581, 1372886220, Spawn) + AddConversationOption(conversation, "While I'm there, I may as well destroy that crystal.", "Quest8Chat_7") + AddConversationOption(conversation, "Anything else?", "Quest8Chat_7") + AddConversationOption(conversation, "I don't feel like my efforts are appreciated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "He must be eliminated. Only by dealing with their fearless leader will we see any reprieve out here on the battlefield. Ye've seen firsthand that other tactics are ultimately ineffective.") +end + +function Quest8Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard095.mp3", "", "", 4108326370, 3849804225, Spawn) + AddConversationOption(conversation, "What do you think the crystal is made of?", "Quest8Chat_8") + AddConversationOption(conversation, "What is the crystal?", "Quest8Chat_8") + AddConversationOption(conversation, "I don't want to touch the foul thing. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yes. After ye've dealt with the source of their leadership, ye'll want to destroy the source of those totems. Break the crystal.") +end + +function Quest8Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard096.mp3", "", "", 568891414, 964093809, Spawn) + AddConversationOption(conversation, "That's terrifying.", "Quest8Chat_9") + AddConversationOption(conversation, "Whatever it is, it must be destroyed.", "Quest8Chat_9") + AddConversationOption(conversation, "On second thought, perhaps this isn't the job for me.") + StartConversation(conversation, NPC, Spawn, "I'm not certain, but if I had to guess... I'd say it's a piece of the sky that came raining down upon us that fateful day that we were separated from the rest of Velious. I'd say it's a piece of Luclin.") +end + +function Quest8Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard097.mp3", "", "", 1964889828, 3937802389, Spawn) + AddConversationOption(conversation, "I'll put an end to your nightmares.", "OfferSeveringHead") + AddConversationOption(conversation, "I'll sever the head of this wurm, as you put it.", "OfferSeveringHead") + AddConversationOption(conversation, "It sounds like another waste of time. Goodbye. ") + StartConversation(conversation, NPC, Spawn, "How does that sound?") +end + +function Quest8Chat_10(NPC, Spawn) + SetStepComplete(Spawn, SeveringHead, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm glad to have helped.", "Quest9Chat_1") + AddConversationOption(conversation, "So, do you need any more help?", "Quest9Chat_1") + StartConversation(conversation, NPC, Spawn, "I wish I could have been there to see the looks on thier tooth-grinned faces. Haha! It must have been a sight to behold. And now their forced run around like helpless, leaderless, axe-fodder.") +end + +function Quest9Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm fairly sure.", "Quest9Chat_2") + AddConversationOption(conversation, "Your flattery will be the death of me, Dolur.", "Quest9Chat_2") + StartConversation(conversation, NPC, Spawn, "Are ye sure ye don't have any Frostreaver blood in ye, " .. GetName(Spawn) .. "?") +end + +function Quest9Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm just glad it's over.", "Quest9Chat_3") + AddConversationOption(conversation, "A few missteps are to be expected.", "Quest9Chat_3") + AddConversationOption(conversation, "War is rarely clean or predictable.", "Quest9Chat_3") + AddConversationOption(conversation, 'What you call "trial and error," I call "dangerous and sloppy."') + StartConversation(conversation, NPC, Spawn, "I've got an itching to make ye an honorary member of my family! Ye've turned this whole battle around, and though there was a bit of trial and error to the process, 'tis the end result that matters.") +end + +function Quest9Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd be happy to help.", "OfferNightmareOver") + AddConversationOption(conversation, "I will head over right away.", "OfferNightmareOver") + AddConversationOption(conversation, "I could use a break, actually. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yer welcome to stay here and celebrate, but I'd say yer handiwork will be needed more elsewhere. The men in Cragged Spine could use someone with yer tenacity. What do ye say?") +end + +function OfferGlimmerOrc(NPC, Spawn) + OfferQuest(NPC, Spawn, GlimmerOrc) +end + +function OfferMurkyMystery(NPC, Spawn) + OfferQuest(NPC, Spawn, MurkyMystery) +end + +function OfferScatteringAshes(NPC, Spawn) + OfferQuest(NPC, Spawn, ScatteringAshes) +end + +function OfferTotemAnnihilation(NPC, Spawn) + OfferQuest(NPC, Spawn, TotemAnnihilation) +end + +function OfferCallingBack(NPC, Spawn) + OfferQuest(NPC, Spawn, CallingBack) +end + +function OfferTheGauntlet(NPC, Spawn) + OfferQuest(NPC, Spawn, TheGauntlet) +end + +function OfferOffOssuary(NPC, Spawn) + OfferQuest(NPC, Spawn, OffOssuary) +end + +function OfferSeveringHead(NPC, Spawn) + OfferQuest(NPC, Spawn, SeveringHead) +end + +function OfferNightmareOver(NPC, Spawn) + OfferQuest(NPC, Spawn, NightmareOver) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/DrallinCaelthis.lua b/Lua/SpawnScripts/FrostfangSea/DrallinCaelthis.lua new file mode 100755 index 000000000..ce3f49a95 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/DrallinCaelthis.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DrallinCaelthis.lua + Script Purpose : Drallin Caelthis + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Do I have any qualms about fencing items from across the sea? Not a one. The money I make more than compensates for the risk.", "chuckle", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua b/Lua/SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua new file mode 100755 index 000000000..aaa608cdc --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua + Script Purpose : Dyrunn Goldgrip + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Your coin will be safe in the Frigid Strongbox, New Halas' official bank.", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Bank accounts are like weapons. You must maintain them, lest they erode!", "smile", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Where did I put my abacus?", "ponder", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/EidnarAartsson.lua b/Lua/SpawnScripts/FrostfangSea/EidnarAartsson.lua new file mode 100755 index 000000000..77bd80696 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/EidnarAartsson.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/EidnarAartsson.lua + Script Purpose : troubador trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local TROUBADOR = 36 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == TROUBADOR then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow troubador?", "TroubChat1") + AddConversationOption(conversation, "It certainly can. Good bye.") + StartConversation(conversation, NPC, Spawn, "Welcome, fellow troubador. This city can always use more talented performers!") + else + PlayFlavor(NPC, "", "What's that?", "hello", 0, 0, Spawn) + end +end + +function TroubChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "TroubChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your agility or stamina, then take them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function TroubChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "TroubChat3") + StartConversation(conversation, NPC, Spawn, "Our songs of cheer are incredibly valuable to others. They can embolden mages and anyone else wielding magical spells, increasing their offense and granting them the power to perform outstanding feats.") +end + +function TroubChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "But do not neglect your weapon skills. These are essential to our survival! Uplifting songs can strengthen you and your group mates, but without a weapon to inflict damage there is no killing blow.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua b/Lua/SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua new file mode 100755 index 000000000..d45876b80 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua + Script Purpose : Envoy Tami Swifthammer + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Marr's blessings!", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Good day!", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/FrostfangSea/EvigistheAncient.lua b/Lua/SpawnScripts/FrostfangSea/EvigistheAncient.lua new file mode 100755 index 000000000..07f2035c7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/EvigistheAncient.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/EvigistheAncient.lua + Script Purpose : for the spawn Evigis the Ancient + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local NapEvigis = 64 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Gerla's Elemental Lullaby" then + KillSpawn(NPC, Spawn, 1) + SetStepComplete(Spawn, NapEvigis, 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/FilnnShatterhand.lua b/Lua/SpawnScripts/FrostfangSea/FilnnShatterhand.lua new file mode 100755 index 000000000..3cf32f6bb --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/FilnnShatterhand.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FilnnShatterhand.lua + Script Purpose : Filnn Shatterhand + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Compiling the short history of our city may seem easy, but there is much work to be done.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua b/Lua/SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua new file mode 100755 index 000000000..99c8c48d3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua + Script Purpose : the quest Beets the Alternative + Script Author : theFoof + Script Date : 2013.5.18 +--]] +local BeetsAlternative = 13 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Player) + if HasCompletedQuest(Player, BeetsAlternative) or GetQuestStep(Player, BeetsAlternative) > 2 then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua b/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua new file mode 100755 index 000000000..7402af16c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua @@ -0,0 +1,551 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua + Script Purpose : Flibbit Quagmarr + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] +local IcemanesCometh = 18 + +local UnbearableProblem = 25 + +local LostFroglok = 26 + +local AbsentEffigy = 27 + +local BarteringCrystals = 28 + +local Pelted = 29 + +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + ProvidesQuest(NPC, UnbearableProblem) + ProvidesQuest(NPC, LostFroglok) + ProvidesQuest(NPC, AbsentEffigy) + ProvidesQuest(NPC, BarteringCrystals) + ProvidesQuest(NPC, Pelted) + ProvidesQuest(NPC, GreatShelf) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if not HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, UnbearableProblem) == false and HasQuest(Spawn, UnbearableProblem) == false then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_001.mp3", "", "", 3105180851, 2650595838, Spawn) + AddConversationOption(conversation, "Indeed I have. I am " .. GetName(Spawn) .. ".", "Quest1Chat_1") + AddConversationOption(conversation, "No, I am not a disciple of Marr. My name's " .. GetName(Spawn) .. ".", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Good day, traveler. I am Flibbit Quagmarr and this is my son, Splorpy. Have you come to Erollis Isle to pay tribute to the Marrs?") + elseif GetQuestStep(Spawn, UnbearableProblem) == 1 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_002.mp3", "", "", 524114756, 2569165165, Spawn) + AddConversationOption(conversation, "No, I cannot say that the path is safe. Where can I find the blizzard grizzlies?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you cleared a safe path for the pilgrims?") + elseif GetQuestStep(Spawn, UnbearableProblem) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_003.mp3", "", "", 2615004659, 1301088947, Spawn) + AddConversationOption(conversation, "I have killed many grizzlies and have made the path to New Halas much safer for the pilgrims.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you killed the pilgrim-eating grizzlies, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, UnbearableProblem) and HasCompletedQuest(Spawn, LostFroglok) == false and HasQuest(Spawn, LostFroglok) == false then + Quest2Chat_2(NPC, Spawn) + elseif HasQuest(Spawn, LostFroglok) and GetQuestStep(Spawn, LostFroglok) < 3 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_005.mp3", "", "", 1521546792, 2428780589, Spawn) + AddConversationOption(conversation, "Not yet, I am still gathering information.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you found my son?") + elseif GetQuestStep(Spawn, LostFroglok) == 3 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_006.mp3", "", "", 2660653144, 1586161380, Spawn) + AddConversationOption(conversation, "I found him southwest of here. He said he was scared off by a large man with a beard.", "Quest2Chat_7") + StartConversation(conversation, NPC, Spawn, "Splorpy! You have returned my son to me, " .. GetName(Spawn) .. "!") + elseif HasCompletedQuest(Spawn, LostFroglok) and not HasCompletedQuest(Spawn, AbsentEffigy) and not HasQuest(Spawn, AbsentEffigy) then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_007.mp3", "", "", 226527743, 1076016282, Spawn) + AddConversationOption(conversation, "I'm finding enough work to keep myself busy for a little while. How are you and Splorpy faring?", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", how are you finding Gwenevyn's Cove?") + elseif GetQuestStep(Spawn, AbsentEffigy) == 1 then + AddConversationOption(conversation, "Not yet. Where do you suppose I should look?", "Quest3Chat_4") + StartConversation(conversation, "Have you had any luck finding the Effigy of Mithaniel?") + elseif GetQuestStep(Spawn, AbsentEffigy) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_009.mp3", "", "", 3889781371, 2180434460, Spawn) + AddConversationOption(conversation, "I do! I found it in a frigid whirlstorm, just as you suspected.", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "I don't suppose you have any word about the Effigy of Mithaniel?") + elseif HasCompletedQuest(Spawn, AbsentEffigy) and not HasCompletedQuest(Spawn, BarteringCrystals) and not HasQuest(Spawn, BarteringCrystals) then + Quest4Chat_2(NPC, Spawn) + elseif GetQuestStep(Spawn, BarteringCrystals) == 1 then + AddConversationOption(conversation, "No, I haven't. Where can I find them again?", "Quest4Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you found any of the strange ice crystals?") + elseif GetQuestStep(Spawn, BarteringCrystals) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_012.mp3", "", "", 664563942, 2094087421, Spawn) + AddConversationOption(conversation, "I did find some of the strange ice crystals. Oddly enough, they do not melt from heat and while I am no alchemist, I think it means they are not made of ice.", "Quest4Chat_8") + StartConversation(conversation, NPC, Spawn, "Have you had any luck finding the ice crystals?") + elseif HasCompletedQuest(Spawn, BarteringCrystals) and not HasCompletedQuest(Spawn, Pelted) and not HasQuest(Spawn, Pelted) then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_013.mp3", "", "", 1522544075, 2501686362, Spawn) + AddConversationOption(conversation, "Hello, Flibbit.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ", hero of Gwenevyn's Cove!") + elseif GetQuestStep(Spawn, Pelted) == 1 then + AddConversationOption(conversation, "I have not yet collected all of the pelts. Where can I find the cubs?", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Do you have the icemane cub pelts?") + elseif GetQuestStep(Spawn, Pelted) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_015.mp3", "", "", 2399568158, 1310414572, Spawn) + AddConversationOption(conversation, "I have collected the icemane cub pelts that you requested.", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "Do you have any news for me?") + elseif HasCompletedQuest(Spawn, Pelted) and not HasCompletedQuest(Spawn, IcemanesCometh) then + PlayFlavor(NPC, "", "Our fellow pilgrim, Verien Skysigh, has been asking for your attention. I think he requires your aid, brave one.", "", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, Pelted) and HasCompletedQuest(Spawn, IcemanesCometh) and not HasCompletedQuest(Spawn, GreatShelf) and not HasQuest(Spawn, GreatShelf) then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_016.mp3", "", "", 3282158766, 1454461175, Spawn) + AddConversationOption(conversation, "That's great news, Flibbit!", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "The time has finally come for my son Splorpy and I to leave Gwenevyn's Cove and continue on our pilgrimage to New Halas.") + elseif GetQuestStep(Spawn, GreatShelf) == 1 then + Quest6Chat_6(NPC, Spawn) + elseif GetQuestStep(Spawn, GreatShelf) == 2 then + PlayFlavor(NPC, "", "I will meet you at the Great Shelf!", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_019.mp3", "", "", 3157384930, 341257107, Spawn) + AddConversationOption(conversation, "What is wrong with the path?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Ah! Your name we have heard, " .. GetName(Spawn) .."! News of your exploits has traveled far. My son and I have made the pilgrimage to Erollis Isle and we plan on finding a place to live in New Halas. Unfortunately, we cannot continue on to New Halas until the path is made safe once again.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_020.mp3", "", "", 3443691770, 4044378382, Spawn) + AddConversationOption(conversation, "My reasons are my own, but I will help any pilgrims in need.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Then what is your purpose here?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_021.mp3", "", "", 2518687003, 3994330850, Spawn) + AddConversationOption(conversation, "What would you have me do?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Many pilgrims that have tried to make their way to New Halas have sadly fallen along the way. The grizzlies are eating their remains. Though it may be the natural way of life, it has accustomed the bears to the taste of the pilgrims' flesh, making the bears very dangerous to travelers in this area.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_022.mp3", "", "", 2370229113, 461588246, Spawn) + AddConversationOption(conversation, "I understand. I shall clear a safe path for the pilgrims and return to you once I have finished.", "OfferUnbearableProblem") + AddConversationOption(conversation, "What's the Cairn of the Huntress?", "Quest1Chat_5") + AddConversationOption(conversation, "I'm not going to fight bears!") + StartConversation(conversation, NPC, Spawn, "Please clear out the blizzard grizzlies around Gwenevyn's Cove so that the pilgrims traveling through this area are not hunted by the grizzly bears. It is unfortunate that the grizzlies must be killed, but the pilgrimage to the Cairn of The Huntress is of more importance.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_062.mp3", "", "", 2223435732, 36629853, Spawn) + AddConversationOption(conversation, "No wonder it is so important that I clear a safe path for the pilgrims.", "OfferUnbearableProblem") + AddConversationOption(conversation, "Forget it. I'm not going to fight bears!") + StartConversation(conversation, NPC, Spawn, "The Cairn of The Huntress is the temple erected by Mithaniel Marr, god of valor, in honor of his fallen sister, Erollisi Marr, The Loving Huntress. It awaits us within the city of New Halas!") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall continue to hunt the pilgrim-eating grizzlies.") + StartConversation(conversation, NPC, Spawn, "They hunt and roam southwest of here.") +end + +function Quest1Chat_7(NPC, Spawn) + SetStepComplete(Spawn, UnbearableProblem, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_025.mp3", "", "", 2597773991, 3326444156, Spawn) + AddConversationOption(conversation, "Thank you, Flibbit.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "I am glad to hear it! Now my son and I can prepare to break camp and continue on our pilgrimage. I cannot spare much coin, so please take one of the helms that I have been mending.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_063.mp3", "", "", 1125643024, 3387202205, Spawn) + AddConversationOption(conversation, "What is it? Who?", "Quest2Chat_2") + AddConversationOption(conversation, "I'll leave you alone now.") + StartConversation(conversation, NPC, Spawn, "Wait! Where did he go?!") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_004.mp3", "", "", 2980400722, 2578144339, Spawn) + AddConversationOption(conversation, "Someone has taken Splorpy?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. "! Help me! My son has been taken!") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_026.mp3", "", "", 2928995229, 3951798794, Spawn) + AddConversationOption(conversation, "What can I do to help?", "Quest2Chat_4") + AddConversationOption(conversation, "Good luck finding him.") + StartConversation(conversation, NPC, Spawn, "I cannot find him! I left our tent to go and collect some more wood for the fire, as it was my turn to do so, and now he is gone!") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_027.mp3", "", "", 3820799248, 3563722850, Spawn) + AddConversationOption(conversation, "Is there anyone I can ask at Gwenevyn's Cove that might know where Splorpy has gone?", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "You must find him! Oh, if he has been eaten by a blizzard grizzly I will never forgive myself!") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_028.mp3", "", "", 968886797, 3430688549, Spawn) + AddConversationOption(conversation, "I will ask Sigbrith if she has seen Splorpy and then I will go out and look for him.", "OfferLostFroglok") + StartConversation(conversation, NPC, Spawn, "You could ask Sigbrith MacInnes. She is friendly towards us pilgrims. Perhaps she saw something while I was getting firewood.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_029.mp3", "", "", 1372379832, 3108068275, Spawn) + AddConversationOption(conversation, "I will return once I have found Splorpy.") + StartConversation(conversation, NPC, Spawn, "Please hurry!") +end + +function Quest2Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_031.mp3", "", "", 1539671456, 2276621725, Spawn) + AddConversationOption(conversation, "He said it was not a barbarian.", "Quest2Chat_8") + StartConversation(conversation, NPC, Spawn, "A barbarian?") +end + +function Quest2Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_032.mp3", "", "", 1459827383, 2517890106, Spawn) + AddConversationOption(conversation, "I am planning on ending up there myself.", "Quest2Chat_9") + StartConversation(conversation, NPC, Spawn, "How odd. I wonder what it was he saw. The wilderness is no place for children! I will be glad when we have safely arrived in New Halas.") +end + +function Quest2Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_033.mp3", "", "", 2748996768, 1461112434, Spawn) + AddConversationOption(conversation, "I could not stand by and do nothing.", "Quest2Chat_10") + StartConversation(conversation, NPC, Spawn, "Perhaps we could go together when the time comes. I am but a poor pilgrim and could use your fighting skill. You never know what other dangers are out there on the ice shelf. Anyway, I thank you for finding my son and returning him to me safe and sound.") +end + +function Quest2Chat_10(NPC, Spawn) + SetStepComplete(Spawn, LostFroglok, 3) + Despawn(GetSpawn(Spawn, 4701835)) + AddSpawnAccess(GetSpawnByLocationID(GetZone(NPC), 5217), Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_034.mp3", "", "", 54813479, 1970991654, Spawn) + AddConversationOption(conversation, "Thank you, Flibbit.") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". I know it isn't much, but I have some coin to give. Please take them as a token of my thanks.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_035.mp3", "", "", 3761564927, 3120365260, Spawn) + AddConversationOption(conversation, "What do you need help with?", "Quest3Chat_3") + AddConversationOption(conversation, "I'm a bit busy right now, perhaps later.") + StartConversation(conversation, NPC, Spawn, "We are doing very well. I have been taking stock of our supplies, and while they have been depleted during our long stay in Gwenevyn's Cove, I hope that we can restock soon and be on our way. Say, can you spare a moment to help us?") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_036.mp3", "", "", 357106938, 4264008220, Spawn) + AddConversationOption(conversation, "I could keep an eye out for it.", "OfferAbsentEffigy") + StartConversation(conversation, NPC, Spawn, "Splorpy had a little metal Effigy of Mithaniel that he always carried in his pocket. Unfortunately he has lost it somewhere on the ice shelf.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall look for it amongst the frigid whirlstorms, then.") + StartConversation(conversation, "I figure it's probably been picked up in an eddy of one of those frigid whirlstorms you see ripping about across the ice shelf.") +end + +function Quest3Chat_5(NPC, Spawn) + SetStepComplete(Spawn, AbsentEffigy, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_039.mp3", "", "", 3267108505, 3934101762, Spawn) + AddConversationOption(conversation, "I am glad to be able to return it to Splorpy.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "You are good to my son and me. I shall not forget your kindness, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_064.mp3", "", "", 1699103453, 3563523529, Spawn) + AddConversationOption(conversation, "Yes, I am. Do you need anything else for your pilgrimage?", "Quest4Chat_3") + AddConversationOption(conversation, "No, I am not.") + StartConversation(conversation, NPC, Spawn, "Are you free to help us, further?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_010.mp3", "", "", 3573239731, 1050060111, Spawn) + AddConversationOption(conversation, "Hello, Flibbit. Do you need anything else for your pilgrimage?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "Good day, brave " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_040.mp3", "", "", 893544611, 973431140, Spawn) + AddConversationOption(conversation, "Is there anything I can help with?", "Quest4Chat_4") + AddConversationOption(conversation, "Me too! I really must be going.") + StartConversation(conversation, NPC, Spawn, "Actually I do. There are still a few things I must do before Splorpy and I can continue on our pilgrimage.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_041.mp3", "", "", 3728599078, 2071611089, Spawn) + AddConversationOption(conversation, "I could head out that way and collect them for you.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Well, I saw some mercenaries carrying a strange ice crystal. When I inquired where they got it from, I was informed that they grow on the Icemane Plains. Unfortunately, I am no warrior so I cannot venture out there to collect them myself.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_042.mp3", "", "", 641871546, 1699897380, Spawn) + AddConversationOption(conversation, "What do you hope to do with them?", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "If you would be so kind, I would greatly appreciate it.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_043.mp3", "", "", 972157207, 757922985, Spawn) + AddConversationOption(conversation, "I will look for these strange ice crystals upon the Icemane Plains.", "OfferBarteringCrystals") + AddConversationOption(conversation, "On second thought, this is not a task I want to do.") + StartConversation(conversation, NPC, Spawn, "Assuming they have no alchemical properties, I shall try to use them to trade for goods, room and board in New Halas. I hope that it will give us a better start there.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall continue my search for the ice crystals.") + StartConversation(conversation, NPC, Spawn, "You can find the crystals south of here, on the Icemane Plains.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_046.mp3", "", "", 1845183249, 3762123225, Spawn) + AddConversationOption(conversation, "Good luck with your experiments.", "Quest4Chat_9") + StartConversation(conversation, NPC, Spawn, "That is odd indeed. I shall have to study these further. Unfortunately, my field kit is not up to this level of work, but perhaps I can discover the most basic properties of these crystals.") +end + +function Quest4Chat_9(NPC, Spawn) + SetStepComplete(Spawn, BarteringCrystals, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_047.mp3", "", "", 235665494, 154066582, Spawn) + AddConversationOption(conversation, "It was no problem for me to collect the crystals.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". Please accept this as a token of my gratitude.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_048.mp3", "", "", 146466973, 1233162393, Spawn) + AddConversationOption(conversation, "And what is that?", "Quest5Chat_2") + AddConversationOption(conversation, "Unfortunately, I am too busy to help you, right now.") + StartConversation(conversation, NPC, Spawn, "I only have one final task to complete before Splorpy and I can continue on our pilgrimage.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_049.mp3", "", "", 1000986096, 336825003, Spawn) + AddConversationOption(conversation, "What do you need to repair it?", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Splorpy’s jacket has become torn. He cannot go across the ice shelf with a hole in his jacket, and so we are delayed until I can repair it.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_050.mp3", "", "", 2187218830, 3343226771, Spawn) + AddConversationOption(conversation, "I wish you would have told me this before; I could have gotten you pelts while I was collecting the ice crystals.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "I need the pelts from icemane cubs. Their fur is soft and the leather will be supple enough to make a coat jacket small enough for Splorpy.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_051.mp3", "", "", 1105807509, 509218310, Spawn) + AddConversationOption(conversation, "I shall collect the icemane cub pelts so that you may repair Splorpy's jacket.", "OfferPelted") + AddConversationOption(conversation, "Maybe I can help you later.") + StartConversation(conversation, NPC, Spawn, "I do apologize, had I discovered the tear earlier I would have asked you then.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return with the pelts you requested.") + StartConversation(conversation, NPC, Spawn, "They are south of here, on the Icemane Plains.") +end + +function Quest5Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_054.mp3", "", "", 3723222510, 1362601367, Spawn) + AddConversationOption(conversation, "Thank you, Flibbit.", "Quest5Chat_7") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. "! Now I can finish Splorpy's jacket as well as something else I have been working on. I have salvaged some accessories, perhaps you can find a use for one of them?") +end + +function Quest5Chat_7(NPC, Spawn) + SetStepComplete(Spawn, Pelted, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_055.mp3", "", "", 160665426, 3368306133, Spawn) + AddConversationOption(conversation, "I am glad that I was able to help you and your son on your pilgrimage.") + StartConversation(conversation, NPC, Spawn, "You deserve so much more! This trinket was the least I could do to repay you for all the help you have given my son and me.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_056.mp3", "", "", 1415595156, 2895327505, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "It is great news indeed. I would ask for your help one last time, " .. GetName(Spawn) .. ".") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_057.mp3", "", "", 3437714001, 1568066083, Spawn) + AddConversationOption(conversation, "Why would you split up with your son?", "Quest6Chat_4") + AddConversationOption(conversation, "Wait, where is the Great Shelf?", "Quest6Chat_3") + StartConversation(conversation, NPC, Spawn, "I need you to protect my son, Splorpy. I am no fighter and the ice shelf is a dangerous place. If you would escort my son to the next stop along the pilgrimage, the Great Shelf, I would be most appreciative.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_065.mp3", "", "", 4039927754, 4221565751, Spawn) + AddConversationOption(conversation, "Thanks for the directions. Why would you split up with your son?", "Quest6Chat_4") + StartConversation(conversation, NPC, Spawn, "The Great Shelf is west of here, across the Icemane Planes. There is a small cave full of other pilgrims, its entrance is marked with small torch beacons.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_058.mp3", "", "", 749342367, 3777170220, Spawn) + AddConversationOption(conversation, "Okay, I will take little Splorpy to the Great Shelf.", "OfferGreatShelf") + AddConversationOption(conversation, "Oh, no! I am not going to be responsible for this little guy.") + StartConversation(conversation, NPC, Spawn, "I know that he will be safer with you. You have the experience, the skills and the knowledge necessary to escort him safely to the Great Shelf.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I am. Is Splorpy ready to go?", "Quest6Chat_6") + StartConversation(conversation, NPC, Spawn, "Are you ready, " .. GetName(Spawn) .. "?") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "See you there!", "Quest6Chat_7") + StartConversation(conversation, NPC, Spawn, "He is. Take care, I shall see you both at the Great Shelf!") +end + +function Quest6Chat_7(NPC, Spawn) + SetStepComplete(Spawn, GreatShelf, 1) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5217), Spawn) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5221), Spawn) + local pet = SpawnMob(GetZone(Spawn), 4701835, 0, 70.45, 28.55, -347.46, 84) + SetTempVariable(Spawn, "splorp", pet) + SetFollowTarget(pet, Spawn) + ToggleFollow(pet) +end + +function OfferAbsentEffigy(NPC, Spawn) + OfferQuest(Spawn, AbsentEffigy) +end + +function OfferUnbearableProblem(NPC, Spawn) + OfferQuest(NPC, Spawn, UnbearableProblem) +end + +function OfferLostFroglok(NPC, Spawn) + OfferQuest(NPC, Spawn, LostFroglok) +end + +function OfferAbsentEffigy(NPC, Spawn) + OfferQuest(NPC, Spawn, AbsentEffigy) +end + +function OfferBarteringCrystals(NPC, Spawn) + OfferQuest(NPC, Spawn, BarteringCrystals) +end + +function OfferPelted(NPC, Spawn) + OfferQuest(NPC, Spawn, Pelted) +end + +function OfferGreatShelf(NPC, Spawn) + OfferQuest(NPC, Spawn, GreatShelf) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua b/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua new file mode 100755 index 000000000..150592699 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua + Script Purpose : hides flibbit until quest series is finished + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, 30) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "It is good to see you again!", "nod", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua b/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua new file mode 100755 index 000000000..5440c48ef --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua + Script Purpose : for the spawn "Flibbit Quagmarr" located in the great shelf cave. + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, GreatShelf) == 2 or HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetQuestStep(Spawn, GreatShelf) == 2 then + pet = GetTempVariable(Spawn, "splorp") + if IsAlive(pet) then + Despawn(pet) + end + SetTempVariable(Spawn, "splorp", nil) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5221), Spawn) + AddSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5219), Spawn) + SetStepComplete(Spawn, GreatShelf, 2) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_018.mp3", "", "", 2168167174, 2891640064, Spawn) + AddConversationOption(conversation, "We've arrived safe and sound!", "Chat1") + StartConversation(conversation, NPC, Spawn, "Thank you for escorting Splorpy. You do not know how relieved I am! I trust the trip was uneventful?") + else + PlayFlavor(NPC, "", "You made it to the Great Shelf!", "cheer", 0, 0, Spawn) + end +end + +function Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, Flibbit.") + AddConversationOption(conversation, "Can I help you further?", "Chat2") + StartConversation(conversation, NPC, Spawn, "I cannot thank you enough, " .. GetName(Spawn) .. "! You have kept both me and my son safe, and provided for us, time and time again. You deserve both song and praise for all that you have done.") +end + +function Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It was no problem. I did not mind it one bit") + StartConversation(conversation, NPC, Spawn, "I cannot accept any further aid from you, mighty one. I have appreciated it, but you have also shown me that there are some challenges that we must overcome on our own. And for that too, I must thank you! I am sure that we have slowed you from completing your own quest.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GalindaGoodfaith.lua b/Lua/SpawnScripts/FrostfangSea/GalindaGoodfaith.lua new file mode 100755 index 000000000..fef5a275e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GalindaGoodfaith.lua @@ -0,0 +1,115 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GalindaGoodfaith.lua + Script Purpose : Galinda Goodfaith + Script Author : theFoof + Script Date : 2013.03.16 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] +local HalasianWelcome = 1 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, HalasianWelcome) then + PlayFlavor(NPC, "", "Yasha Redblade could use your help. She's to the northeast outside of the broken ship's hull.", "nod", 1689589577, 4560189, Spawn) + + elseif HasCompletedQuest(Spawn, HalasianWelcome) then + PlayFlavor(NPC, "", "You'll go on to accomplish great things, of this I am certain!", "", 1689589577, 4560189, Spawn) + + else + conversation = CreateConversation() + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_001.mp3", "", "", 153197650, 2166284813, Spawn) + AddConversationOption(conversation, "Who are you?", "dlg_0_1") + AddConversationOption(conversation, "Where am I?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Whoa! You're awake then. I was worried about you there for a while, " .. GetName(Spawn) .. ".") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_002.mp3", "", "", 2530966290, 131889308, Spawn) + AddConversationOption(conversation, "I did?", "dlg_0_2") + AddConversationOption(conversation, "Thank you for the help.", "dlg_0_4") + AddConversationOption(conversation, "Where am I?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "I'm the lass who's been tending to your wounds, that's who! You were knocked unconscious, but not before you saved three others from the sea.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_003.mp3", "", "", 2658425165, 4282904671, Spawn) + AddConversationOption(conversation, "Thank you for the help.", "dlg_0_4") + AddConversationOption(conversation, "Who are you?", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "You're on a big chunk of floating ice and rock, dubbed Pilgrims' Landing. Your boat was besieged by the snow orcs and destroyed while it was on its way towards the New Halas dock.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_004.mp3", "", "", 3736336423, 4235698152, Spawn) + AddConversationOption(conversation, "I don't remember that.", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Cross my heart, you did! You must have taken a nasty bump on the noggin, but that didn't halt you! You came struggling ashore here, carrying three others, one 'neath each arm and another on your back!") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_004.mp3", "", "", 3736336423, 4235698152, Spawn) + AddConversationOption(conversation, "Thank you for the help.", "dlg_0_4") + AddConversationOption(conversation, "Who are you?", "dlg_0_1") + AddConversationOption(conversation, "Where am I?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "They'd have surely drowned if it had not been for you. But you fell into a deep sleep the moment you were on dry land. I've been taking care of you ever since.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_005.mp3", "", "", 1055106469, 3750971957, Spawn) + AddConversationOption(conversation, "Not if we attack them back.", "dlg_0_5") + AddConversationOption(conversation, "I'm feeling pretty good now.", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Think nothing of it! You're the one that went above and beyond, saving others like you did. Healing others is why I am here. You are not the first to have suffered an attack by the orcs, nor do I dare say you will be the last.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_007.mp3", "", "", 2427981799, 3625665591, Spawn) + AddConversationOption(conversation, "I'll find her.", "OfferHalasianWelcome") + AddConversationOption(conversation, "I'm going to explore some first. Goodbye.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "That is a relief to hear, " .. GetName(Spawn) .. ". I figured a hit to the noggin couldn't keep someone as powerful as you down for long! Yasha Redblade could definitely use your help. She's to the northeast outside of the broken ship's hull.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_006.mp3", "", "", 1162130667, 1040606597, Spawn) + AddConversationOption(conversation, "That's great!", "OfferHalasianWelcome") + AddConversationOption(conversation, "I'm going to explore some first. Goodbye.") + StartConversation(conversation, NPC, Spawn, "No doubt! I figured a hit to the noggin couldn't keep someone as powerful as you down for long! Yasha Redblade could definitely use your help. She's to the northeast outside of the broken ship's hull. She'll get you prepared to face those orcs!") +end + +function OfferHalasianWelcome(NPC, Spawn) --Offers A Fine Halasian Welcome + OfferQuest(NPC, Spawn, HalasianWelcome) +end diff --git a/Lua/SpawnScripts/FrostfangSea/GarrotNuesoon.lua b/Lua/SpawnScripts/FrostfangSea/GarrotNuesoon.lua new file mode 100755 index 000000000..cf0d77c1f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GarrotNuesoon.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GarrotNuesoon.lua + Script Purpose : assassin trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local ASSASSIN = 40 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == ASSASSIN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow assasin?", "SinChat1") + AddConversationOption(conversation, "It certainly is. Good bye.") + StartConversation(conversation, NPC, Spawn, "Ah, another assassin! It is a dangerous profession that you have chosen, but well worth it.") + else + PlayFlavor(NPC, "", "To attack from the shadows is the greatest of advantages. An enemy cannot defend against an attack it can never see.", "hello", 0, 0, Spawn) + end +end + +function SinChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I would appreciate it.", "SinChat2") + StartConversation(conversation, NPC, Spawn, "Understand that it goes against my very nature to give away anything I consider a trade secret, but I can part with a few bits of wisdom.") +end + +function SinChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "SinChat3") + StartConversation(conversation, NPC, Spawn, "Procure items that add to your agility or stamina, when you find them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function SinChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "SinChat4") + StartConversation(conversation, NPC, Spawn, "Our most devastating attacks are sudden strikes to vital organs from a cover of darkness. These opportunistic attacks performed under a cover of concealment surprises our target, thus giving them less chance to protect themselves.") +end + +function SinChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "What should I do then?", "SinChat5") + StartConversation(conversation, NPC, Spawn, "Keep in mind that the majority of our attacks are positional, meaning you need to be behind or beside an opponent for that attack to work. So you must be aware of situations in which there are multiple foes, as positional attacks are of little use when you're surrounded!") +end + +function SinChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "I suggest you employ a divide and conquer tactic, and cut them down as fast as possible. And do not overlook the power of poisons, in any situation!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GerlaMeltwater.lua b/Lua/SpawnScripts/FrostfangSea/GerlaMeltwater.lua new file mode 100755 index 000000000..3f832c903 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GerlaMeltwater.lua @@ -0,0 +1,89 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GerlaMeltwater.lua + Script Purpose : Gerla Meltwater + Script Author : theFoof + Script Date : 2013.06.13 + Script Notes : +--]] + +local SeekingEducation = 63 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if GetQuestStep(Spawn, SeekingEducation) == 2 then + conversation = CreateConversation() + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_001.mp3", "", "", 3974328348, 1246567656, Spawn) + AddConversationOption(conversation, "Torli Blackbow thought you could help. There is a large ice and velium elemental living below New Halas!", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hail, " .. GetName(Spawn) .. ". What boulder weighs so upon your shoulders?") + else + PlayFlavor(NPC, "", "Hail, adventurer.", "hello", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_002.mp3", "", "", 376722497, 2039361987, Spawn) + AddConversationOption(conversation, "That's just it. It's not.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye. And as long as it slumbers we have nothing to fear.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_003.mp3", "", "", 936830392, 1591106960, Spawn) + AddConversationOption(conversation, "The Ry'Gorr were digging tunnels below the city.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Beasts of the deep! It has awoken?! It slumbered for years under our feet. What could have woken it now?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_004.mp3", "", "", 4211598278, 1116854185, Spawn) + AddConversationOption(conversation, "Why is that so important?", "Quest1Chat_4") + AddConversationOption(conversation, "Can't we just kill it?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Another reason to smite each and every one of the vile creatures! Now to return the elemental back to its dormancy.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_005.mp3", "", "", 3234303592, 778815839, Spawn) + AddConversationOption(conversation, "That's amazing.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Long before Mithaniel blessed this carved bit of Velious, we floated. Long and far, through moderate and warm waters we sailed. Yet frozen the bulk remained.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_006.mp3", "", "", 1707551626, 618350055, Spawn) + AddConversationOption(conversation, "And now that it's awake?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "I discovered the ancient elemental while probing the terrain with some spells. It was during one of our campaigns to remove the Ry'Gorr. Ever since then I have theorized that it may have been the cause of our eternal freeze.") +end + +function Quest1Chat_6(NPC, Spawn) + if not HasItem(Spawn, 7666) then + SummonItem(Spawn, 7666) + end + SetStepComplete(Spawn, SeekingEducation, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_007.mp3", "", "", 2595302383, 231640410, Spawn) + AddConversationOption(conversation, "Right away, Gerla.") + StartConversation(conversation, NPC, Spawn, "We must induce slumber, once more! Take this satchel back to Torli Blackbow.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GertaFrostbeard.lua b/Lua/SpawnScripts/FrostfangSea/GertaFrostbeard.lua new file mode 100755 index 000000000..ca82c7879 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GertaFrostbeard.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GertaFrostbeard.lua + Script Purpose : Gerta Frostbeard + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "What'll it be, citizen?", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Sit a spell and have yarself a frothing brew or two!", "nod",0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I got a drink that'll hit the spot for ya!", "nod", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GilnaGlorysong.lua b/Lua/SpawnScripts/FrostfangSea/GilnaGlorysong.lua new file mode 100755 index 000000000..c20f23c27 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GilnaGlorysong.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GilnaGlorysong.lua + Script Purpose : dirge trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local DIRGE = 37 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == DIRGE then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow dirge?", "DirgeChat1") + AddConversationOption(conversation, "I certainly will. Good bye.") + StartConversation(conversation, NPC, Spawn, "I thought I heard another dirge singing songs of lamentation. If I can be of any service, let me know.") + else + PlayFlavor(NPC, "", "La! La! La!", "hello", 0, 0, Spawn) + end +end + +function DirgeChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "DirgeChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your agility or stamina, then take them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function DirgeChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesating.", "DirgeChat3") + StartConversation(conversation, NPC, Spawn, "Our songs of despair are incredibly valuable to others. They can bolster both fighters and other scouts by increasing their defense and offense. And the most experienced dirges can even raise a fallen comrade with a song.") +end + +function DirgeChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "But do not neglect your melee skills. These are essential to our survival! Songs of despair can demoralize and weaken your foe, but without a weapon to inflict damage there is no killing blow.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GlinHammerhelm.lua b/Lua/SpawnScripts/FrostfangSea/GlinHammerhelm.lua new file mode 100755 index 000000000..19c75f0b0 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GlinHammerhelm.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GlinHammerhelm.lua + Script Purpose : Glin Hammerhelm + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : see + SpawnScripts/Generic/GenericTradeskillTutor.lua + for function details +--]] + +require"SpawnScripts/Generic/GenericTradeskillTutor" + +function spawn(NPC) + ProvidesTutorials(NPC) +end + +function respawn(NPC) + ProvidesTutorials(NPC) +end + +function hailed(NPC, Spawn) + CraftingTutorHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GlippitGreenmuck.lua b/Lua/SpawnScripts/FrostfangSea/GlippitGreenmuck.lua new file mode 100755 index 000000000..464f54efb --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GlippitGreenmuck.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GlippitGreenmuck.lua + Script Purpose : warden trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local WARDEN = 16 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == WARDEN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow warden?", "WardChat1") + AddConversationOption(conversation, "Thank you, but I must be going.") + StartConversation(conversation, NPC, Spawn, "Another warden of the forest stands before me. Welcome!") + else + PlayFlavor(NPC, "", "Watch the flippers, please. Thanks.", "hello", 0, 0, Spawn) + end +end + +function WardChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "WardChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function WardChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "WardChat3") + StartConversation(conversation, NPC, Spawn, "The druidic powers we wield can be used to help mend the wounded or purse the disease and poison from our allies, which is a true blessing in any battle!") +end + +function WardChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "WardChat4") + StartConversation(conversation, NPC, Spawn, "Although we skillfully exert the regenerative and defensive aspects of nature, we must also recognize that they are effective in inflicting damage upon our foes. This cannot be avoided, nor should it be.") +end + +function WardChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". With the powers of nature protecting you, you need not be encumbered by heavy suits of armor.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua b/Lua/SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua new file mode 100755 index 000000000..57f8444ec --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua + Script Purpose : Grandmaster Cheri Glodsdottr + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "If you wish to learn about crafting, speak to the tradeskill tutorial trainer.", "point", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GrokkaHopson.lua b/Lua/SpawnScripts/FrostfangSea/GrokkaHopson.lua new file mode 100755 index 000000000..d274c352d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GrokkaHopson.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GrokkaHopson.lua + Script Purpose : Grokka Hopson + Script Author : theFoof + Script Date : 2013.09.13 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Froak!", "hello", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/GruuFairbairn.lua b/Lua/SpawnScripts/FrostfangSea/GruuFairbairn.lua new file mode 100755 index 000000000..b41156ca5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GruuFairbairn.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GruuFairbairn.lua + Script Purpose : Gruu Fairbairn + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "Learning for the sake of learning is still learning.", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Achieving achievements is a worthwhile life goal.", "", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/GurthaMcPherson.lua b/Lua/SpawnScripts/FrostfangSea/GurthaMcPherson.lua new file mode 100755 index 000000000..576fe5f34 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GurthaMcPherson.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GurthaMcPherson.lua + Script Purpose : Gurtha McPherson + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I'm selling some armor and weapons that you may find useful.", "agree", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/GwenevynII.lua b/Lua/SpawnScripts/FrostfangSea/GwenevynII.lua new file mode 100755 index 000000000..5405cd74e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/GwenevynII.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GwenevynII.lua + Script Purpose : script to move the boat in Frostfang Sea + Script Author : theFoof + Script Date : 11.19.13 + Script Notes : +--]] + +function spawn(NPC) + AddTransportSpawn(NPC) + SpawnSet(NPC, "activity_state", "64") + AddTimer(NPC, 85000, "UseLift") +end + +function respawn(NPC) + spawn(NPC) +end + +function UseLift(NPC) + UseWidget(NPC) + AddTimer(NPC, 85000, "UseLift") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/Hagley.lua b/Lua/SpawnScripts/FrostfangSea/Hagley.lua new file mode 100755 index 000000000..9fcd7d937 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/Hagley.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/Hagley.lua + Script Purpose : Hagley + Script Author : theFoof + Script Date : 2013.10.23 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function InRange(NPC, Spawn) + if GetTempVariable(NPC, "bark_timer") == nil then + PlayFlavor(NPC, "", "", "attack", 1689589577, 4560189) + Emote(NPC, "snarls and barks warningly.") + SetTempVariable(NPC, "bark_timer", "1") + AddTimer(NPC, 25000, "BarkTimer") + end +end + +function BarkTimer(NPC) + SetTempVariable(NPC, "bark_timer", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/HalikPathstalker.lua b/Lua/SpawnScripts/FrostfangSea/HalikPathstalker.lua new file mode 100755 index 000000000..2f84f2f78 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/HalikPathstalker.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/HalikPathstalker.lua + Script Purpose : ranger trainer in halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local RANGER = 39 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == RANGER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow ranger?", "RangChat1") + AddConversationOption(conversation, "It certainly is. Good bye.") + StartConversation(conversation, NPC, Spawn, "Welcome, fellow swashbuckler! It is such a pleasure to meet another dashing rogue within this city.") + else + PlayFlavor(NPC, "", "Watch your back. You'd be surprised how many blades fit perfectly there.", "hello", 0, 0, Spawn) + end +end + +function RangChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I'll keep that in mind.", "RangChat2") + StartConversation(conversation, NPC, Spawn, "First and foremost, be in control of the range of any fights you are involved in. Release a deadly volley of arrows from a distance, and if your foe survives long enough to engage in hand to hand combat, remember that you are also skilled at wielding daggers and swords.") +end + +function RangChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Sounds like good advice.", "RangChat3") + StartConversation(conversation, NPC, Spawn, "Some of our most effective hand to hand attacks are positional, meaning you need to be behind or beside an opponent for that attack to work. So you must be aware of situations in which there are multiple foes, and avoid becoming the center of attention, as positional attacks are of little use when you're surrounded!") +end + +function RangChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!") + StartConversation(conversation, NPC, Spawn, "Last but not least, obtain items that add to your agility or stamina, when you find them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/HelfreckLundgren.lua b/Lua/SpawnScripts/FrostfangSea/HelfreckLundgren.lua new file mode 100755 index 000000000..469f2ff78 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/HelfreckLundgren.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/HelfreckLundgren.lua + Script Purpose : Helfreck Lundgren + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Making food, armor, and weapons is every bit as important to the success and security of our city as standing to face the enemy. Quality equipment and items can make the difference.", "nod", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/HillfredKinloch.lua b/Lua/SpawnScripts/FrostfangSea/HillfredKinloch.lua new file mode 100755 index 000000000..522cc9120 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/HillfredKinloch.lua @@ -0,0 +1,347 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/HillfredKinloch.lua + Script Purpose : Hillfred Kinloch + Script Author : theFoof + Script Date : 2013.06.09 + Script Notes : +--]] + +local NothingWaste = 56 + +local BloodMaiden = 65 + +local SkullsTaking = 66 + +local GreenMystery = 67 + +local FewerAbout = 68 + +local GeodeCaching = 69 + +local RyGorrOperations = 60 + +function spawn(NPC) + ProvidesQuest(NPC, BloodMaiden) + ProvidesQuest(NPC, SkullsTaking) + ProvidesQuest(NPC, GreenMystery) + ProvidesQuest(NPC, FewerAbout) + ProvidesQuest(NPC, GeodeCaching) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, NothingWaste) then + PlayFlavor(NPC, "", "There are some coldain that could use your help. Speak with Dolur Axebeard or Belka Thunderheart at the Great Shelf.", "nod", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, NothingWaste) and not HasCompletedQuest(Spawn, BloodMaiden) and not HasQuest(Spawn, BloodMaiden) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_001.mp3", "", "", 846401774, 3774173011, Spawn) + AddConversationOption(conversation, "You mean the Ry'Gorr orcs?", "Quest1Chat_1") + AddConversationOption(conversation, "With pleasure!", "OfferBloodMaiden") + AddConversationOption(conversation, "I have slain enough orcs, already.") + StartConversation(conversation, NPC, Spawn, "This is no time to stand about! Cast your most fearsome spells and help us defend New Halas against these charging beasts!") + elseif GetQuestStep(Spawn, BloodMaiden) == 1 then + PlayFlavor(NPC, "", "Return to me once you have stained the frozen beachfront with the blood of the charging Ry'Gorr.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, BloodMaiden) == 2 then + SetStepComplete(Spawn, BloodMaiden, 2) + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_006.mp3", "", "", 1310989110, 2172357250, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "I witnessed your handiwork and bravery upon the beach front, " .. GetName(Spawn) .. ". That was quite impressive!") + elseif HasCompletedQuest(Spawn, BloodMaiden) and not HasCompletedQuest(Spawn, SkullsTaking) and not HasQuest(Spawn, SkullsTaking) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_007.mp3", "", "scheme", 1642212239, 1493990214, Spawn) + AddConversationOption(conversation, "I crave a challenge.", "Quest2Chat_1") + AddConversationOption(conversation, "I like my keg exactly the way it is. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Now for a task that is sure to tap your keg of skill, if not empty it!") + elseif GetQuestStep(Spawn, SkullsTaking) == 1 then + PlayFlavor(NPC, "", "Return from Jagged Daggers with Ry'Gorr skulls. I'll adorn the defnses with 'em!", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SkullsTaking) == 2 then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_011.mp3", "", "", 1023147983, 2407728628, Spawn) + AddConversationOption(conversation, "Many orc skulls.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "What trophies do you return with from the battlefield, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, SkullsTaking) and not HasCompletedQuest(Spawn, GreenMystery) and not HasQuest(Spawn, GreenMystery) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_013.mp3", "", "", 57466394, 1744108513, Spawn) + AddConversationOption(conversation, "It is.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "I hear tale of the Ry'Gorr you found digging their way up from the underside of Erollis. Is it true, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, GreenMystery) == 1 then + if HasItem(Spawn, 7928) then + PlayFlavor(NPC, "", "Find torches and fires within the Ry'Gorr tunnels deep within Erollis and apply the green ice to 'em. We are sure to smoke out the ravaging orcs!", "agree", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "It's difficult to apply the green ice to torches within the Ry'Gorr tunnels if you don't ahve it with you. Take this and use it!", "glare", 0, 0, Spawn) + SummonItem(Spawn, 7928, 0) + end + elseif GetQuestStep(Spawn, GreenMystery) == 2 then + AddConversationOption(conversation, "The mist dissipated pretty quickly, but those that it touched, died.", "Quest3Chat_9") + StartConversation(conversation, NPC, Spawn, "You've made a safe return, " .. GetName(Spawn) .. ", and staved off death for another day! But tell me did the green ice work? How did the Ry'Gorr stand against the billowing clouds of poison?") + elseif HasCompletedQuest(Spawn, GreenMystery) and not HasCompletedQuest(Spawn, FewerAbout) and not HasQuest(Spawn, FewerAbout) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, FewerAbout) == 1 then + PlayFlavor(NPC, "", "Get to it! Go face the orcs that crawl within the depths of our great land like you were a bear in a man's skin!", "scold", 0, 0, Spawn) + elseif GetQuestStep(Spawn, FewerAbout) == 2 then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_026.mp3", "", "", 2970331989, 3888048661, Spawn) + AddConversationOption(conversation, "You have become more trusting.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Your return is all the evidence of your success within the tunnels below that I require, " .. GetName(Spawn) .. ". You need not declare your victory to me!") + elseif HasCompletedQuest(Spawn, FewerAbout) and not HasCompletedQuest(Spawn, RyGorrOperations) then + PlayFlavor(NPC, "", "The coldain, Thirin Veliumdelver, has a task that will fit you like a Halasian war glove.", "agree", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, RyGorrOperations) and HasCompletedQuest(Spawn, FewerAbout) and not HasQuest(Spawn, GeodeCaching) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_031.mp3", "", "", 4291173653, 4188849694, Spawn) + AddConversationOption(conversation, "That pretty much sums it up.", "Quest5Chat_1") + AddConversationOption(conversation, "I don't have time to talk right now. Good day.") + StartConversation(conversation, NPC, Spawn, "What is this I hear of you finding velium men under our dear city?") + elseif GetQuestStep(Spawn, GeodeCaching) == 1 then + PlayFlavor(NPC, "", "I hope you find a great many of the rare Cerise velium crystals within the Velinoid Catacombs below.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GeodeCaching) == 2 then + SetStepComplete(Spawn, GeodeCaching, 2) + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_035.mp3", "", "", 2787343174, 784170411, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "By the right hand of Marr! You found rare Cerise velium crystals. This is amazing, " .. GetName(Spawn) .. "! Thank you.") + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_003.mp3", "", "", 1836808537, 1939269005, Spawn) + AddConversationOption(conversation, "They are fierce warriors.", "Quest1Chat_2") + AddConversationOption(conversation, "They are strong tacticians.", "Quest1Chat_2") + AddConversationOption(conversation, "They are skillful spell casters.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye! These mongrels will not relent! I fail to understand how the coldain pushed 'em from this isle, or had kept 'em at bay for so long!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_004.mp3", "", "", 4172435129, 252044078, Spawn) + AddConversationOption(conversation, "Of course!", "OfferBloodMaiden") + AddConversationOption(conversation, "I cannot, right now.") + StartConversation(conversation, NPC, Spawn, "Of that there is no question. That is why I stand proudly beside 'em as we defend our city! Will you aid us in this battle, great " .. GetName(Spawn) .. "?") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_008.mp3", "", "", 686837885, 933223065, Spawn) + AddConversationOption(conversation, "What should I do?", "OfferSkullsTaking") + AddConversationOption(conversation, "Jagged Daggers?", "Quest2Chat_2") + AddConversationOption(conversation, "I am not going over there. No way!") + StartConversation(conversation, NPC, Spawn, "You take after one of my own kin, Tuce! I am sure that the orcs are staging their beach front charge from the nearby isle known as Jagged Daggers.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What should I do?", "OfferSkullsTaking") + AddConversationOption(conversation, "I am not going over there. No way!") + StartConversation(conversation, NPC, Spawn, "Aye. The isle with the spires of ice sticking out of it, like velium blades from the back of a slain giant. It is across the waters to the west of the beach front.") +end + +function Quest2Chat_3(NPC, Spawn) + SetStepComplete(Spawn, SkullsTaking, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_012.mp3", "", "", 2537405314, 3097234688, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "You continue to prove yourself strong and hearty. You deserve a strong stein of ale!") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_014.mp3", "", "", 1060176880, 2753171084, Spawn) + AddConversationOption(conversation, "You could be right.", "Quest3Chat_3") + AddConversationOption(conversation, "Or the other skirmishes have been distractions from the real plan.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Then they are more desperate than we had thought. They are trying many routes and different plans, all at the same time. They must be afraid of the influx of fighters the coldain have brought to their side.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It is hard to imagine.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "For years?! Ha! I hightly doubt that. Although, I was raised to believe that anything is possible, I cannot fathom these brutes being tempered by strategy or reined in by tactics.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_016.mp3", "", "", 1973360658, 494365104, Spawn) + AddConversationOption(conversation, "Let's make it defeat.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Desperate forces are more willing to take chances. This can either result in a windfall for 'em or a resounding defeat.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_017.mp3", "", "", 327573520, 4196024208, Spawn) + AddConversationOption(conversation, "What is it?", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Well spoken, fellow defender of New Halas! And I have the perfect weapon for this situation. It's a little something that will give us the upper hand!") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_028.mp3", "", "", 1572217488, 1295272933, Spawn) + AddConversationOption(conversation, "You mean when it was released against the Rallosian Army?", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "A chunk of ice- green ice! We found a small amount of it embedded within The Great Shelf. We suspected it to be the legendary Greenmist, captured and encased in ice from the last time it traveled around the globe. ") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_029.mp3", "", "", 382556049, 477983016, Spawn) + AddConversationOption(conversation, "Why haven't you used it against them, yet?", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "The same. It took down ogre and orc alike, within the Rallosian ranks when Cazic-Thule released it across the lands.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_030.mp3", "", "", 590799696, 3171732865, Spawn) + AddConversationOption(conversation, "What makes you think it will work now? ", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "We tried. We melted the ice, and a green mist was released, but it dispersed too quickly to harm the Ry'Gorr forces.") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_018.mp3", "", "", 3216543246, 3646127145, Spawn) + AddConversationOption(conversation, "Interesting. All right, I'll do it.", "OfferGreenMystery") + AddConversationOption(conversation, "No way! I can't be a part of this.") + StartConversation(conversation, NPC, Spawn, "I doubt they have much airflow deep within those tunnels you found em' digging. When the ice melts it makes a great billowing cloud of poison. Find flames within the tunnels and throw the ice on em'. Even if the mist is not strong enough to kill the ravaging beasts outright, we are sure to smoke 'em out!") +end + +function Quest3Chat_9(NPC, Spawn) + SetStepComplete(Spawn, GreenMystery, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_020.mp3", "", "", 2833457168, 2782353327, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, another victory and another reason to take up a stein at the Ice Breaker. Good job!") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_021.mp3", "", "", 4017927645, 3597873709, Spawn) + AddConversationOption(conversation, "Really?", "Quest4Chat_2") + AddConversationOption(conversation, "Why's that, Hillfred?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "And you need not furrow your brow over the orcs that the mist did not kill. It is in the stagnant tunnel air now, and will weaken them, even if they do not know it.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_022.mp3", "", "", 3881980508, 521109392, Spawn) + AddConversationOption(conversation, "They should be easier to slay now.", "Quest4Chat_4") + AddConversationOption(conversation, "So, they will die eventually?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "I swear on the holy statue of The Huntress! It is in the air they breathe. It may have decayed some in time, and they may not have taken in enough for it to be fatal, but it is now being pumped through their abhorrent bodies within the ichor they call blood.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_023.mp3", "", "", 400683653, 2257596783, Spawn) + AddConversationOption(conversation, "They should be easier to slay now.", "Quest4Chat_4") + AddConversationOption(conversation, "So, they will die eventually?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "It is in the air they breathe. It may have decayed some in time, and they may not have taken in enough for it to be fatal, but it is now being pumped through their abhorrent bodies within the ichor they call blood.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_025.mp3", "", "", 2971334867, 3323208561, Spawn) + AddConversationOption(conversation, "They don't stand a chance!", "OfferFewerAbout") + AddConversationOption(conversation, "I am not going back down there. Sorry.") + StartConversation(conversation, NPC, Spawn, "Then get to it! Go face them like you were a bear in a man's skin! Slay the orcs that crawl within the depths of our great land, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_024.mp3", "", "", 3939745267, 718274633, Spawn) + AddConversationOption(conversation, "They don't stand a chance!", "OfferFewerAbout") + AddConversationOption(conversation, "I am not going back down there. Sorry.") + StartConversation(conversation, NPC, Spawn, "Let's not wait for that day to come. Let's deliver it to 'em! Go face them like you were a bear in a man's skin! Slay the orcs that crawl within the depths of our great land, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_6(NPC, Spawn) + SetStepComplete(Spawn, FewerAbout, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_027.mp3", "", "", 2051809382, 3817733818, Spawn) + AddConversationOption(conversation, "I'll take that as a compliment.") + StartConversation(conversation, NPC, Spawn, "I have become that sure of you and your determined nature. It is not just your taste for battle that reminds me of my kin.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_032.mp3", "", "", 807004537, 2920327554, Spawn) + AddConversationOption(conversation, "That's true.", "Quest5Chat_2") + AddConversationOption(conversation, "I wasn't aware of that.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "We shouldn't be so surprised what with knowing that this was once a chunk of Velious before it was calved off. Geonids roamed the caverns there, too.") +end + + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_033.mp3", "", "", 3188649398, 1640607312, Spawn) + AddConversationOption(conversation, "Cerise velium crystal?", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Yes, which brings to mind the tales of riches that rewarded the brave souls that entered those caverns. You might even be able to find the rare cerise velium crystal!") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_034.mp3", "", "", 2043015378, 2840803966, Spawn) + AddConversationOption(conversation, "Yeah, I'll do it.", "OfferGeodeCaching") + AddConversationOption(conversation, "For some coin? Okay.", "OfferGeodeCaching") + AddConversationOption(conversation, "No thanks. You couldn't pay me enough.") + StartConversation(conversation, NPC, Spawn, "Yes, a red crystal. It is said to be a very powerful gem grown from velium deposits. It is sought by mage and jeweler alike. And such untapped veins of velium would be the perfect place to look for it! Will you search for 'em? I'll be sure to pay you for your efforts.") +end + +function OfferBloodMaiden(NPC, Spawn) + OfferQuest(NPC, Spawn, BloodMaiden) +end + +function OfferSkullsTaking(NPC, Spawn) + OfferQuest(NPC, Spawn, SkullsTaking) +end + +function OfferGreenMystery(NPC, Spawn) + OfferQuest(NPC, Spawn, GreenMystery) +end + +function OfferFewerAbout(NPC, Spawn) + OfferQuest(NPC, Spawn, FewerAbout) +end + +function OfferGeodeCaching(NPC, Spawn) + OfferQuest(NPC, Spawn, GeodeCaching) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/JaisenTutwhittle.lua b/Lua/SpawnScripts/FrostfangSea/JaisenTutwhittle.lua new file mode 100755 index 000000000..ef12e7c18 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/JaisenTutwhittle.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/JaisenTutwhittle.lua + Script Purpose : Jaisen Tutwhittle + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC) + PlayFlavor(NPC, "", "I will be so relieved when we make it to New Halas safely!", "nod", 1689589577, 4560189, Spawn) + FaceTarget(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/FrostfangSea/JalfaEiskairn.lua b/Lua/SpawnScripts/FrostfangSea/JalfaEiskairn.lua new file mode 100755 index 000000000..254d7e82f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/JalfaEiskairn.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/JalfaEiskairn.lua + Script Purpose : Jalfa Eiskairn + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : See SpawnScripts/Generic/GenericCraftingTrainer for function details. +--]] + +require"SpawnScripts/Generic/GenericCraftingTrainer" + +function spawn(NPC) +end + +function respawn(NPC) +end + +function hailed(NPC, Spawn) + CraftingTrainerHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/JardaSilverstaff.lua b/Lua/SpawnScripts/FrostfangSea/JardaSilverstaff.lua new file mode 100755 index 000000000..6418912f8 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/JardaSilverstaff.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/JardaSilverstaff.lua + Script Purpose : conjuror trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local CONJUROR = 29 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == CONJUROR then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow conjuror?", "ConjChat1") + AddConversationOption(conversation, "That's good to know. Good day.") + StartConversation(conversation, NPC, Spawn, "I see you have the talents of a conjurer, too. It may be a challenging profession, but I have found it rather rewarding.") + else + PlayFlavor(NPC, "", "Greetings!", "hello", 0, 0, Spawn) + end +end + +function ConjChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "ConjChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function ConjChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "ConjChat3") + StartConversation(conversation, NPC, Spawn, "We possess many potent abilities, considering that we can control the arcane powers of fire, but the greatest weapons in our arsenal are the powerful elemental minions summoned forth to do our bidding.") +end + +function ConjChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "They are our best defense against the onslaught. If they should fall take solace in the fact that they have returned to their plane of origin and can be summoned, once more.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/KnutOrcbane.lua b/Lua/SpawnScripts/FrostfangSea/KnutOrcbane.lua new file mode 100755 index 000000000..455ed26cc --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/KnutOrcbane.lua @@ -0,0 +1,566 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/KnutOrcbane.lua + Script Purpose : Knut Orcbane + Script Author : theFoof + Script Date : 2013.06.10 + Script Notes : +--]] + +local NothingWaste = 56 + +local ImpishThreats = 78 + +local ClanImps = 79 + +local MysteryIceberg = 80 + +local BelowWaves = 59 + +local BecomingOrcbane = 81 + +local RyGorrOperations = 60 + +local FlawlessChore = 82 + +local SometimesKnut = 84 + +function spawn(NPC) + ProvidesQuest(NPC, ImpishThreats) + ProvidesQuest(NPC, ClanImps) + ProvidesQuest(NPC, MysteryIceberg) + ProvidesQuest(NPC, BecomingOrcbane) + ProvidesQuest(NPC, FlawlessChore) + ProvidesQuest(NPC, SometimesKnut) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, NothingWaste) then + PlayFlavor(NPC, "", "There are some coldain that could use your help. Speak with Dolur Axebeard or Belka Thunderheart at the Great Shelf.", "nod", 1689589577, 4560189, Spawn) + elseif not HasCompletedQuest(Spawn, ImpishThreats) and not HasQuest(Spawn, ImpishThreats) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_004.mp3", "", "", 2960091072, 298935483, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest1Chat_1") + AddConversationOption(conversation, "What cause is that?", "Quest1Chat_10") + AddConversationOption(conversation, "Not me. I'm just passing through.") + local archetype = GetArchetypeName(Spawn) + if archetype == 'Fighter' then + archetype_message = "strong fighter" + elseif archetype == 'Mage' then + archetype_message = 'powerful mage' + elseif archetype == 'Scout' then + archetype_message = 'stealthy scout' + else + archetype_message = 'caring priest' + end + StartConversation(conversation, NPC, Spawn, "Aye, another " .. archetype_message .. " to join our cause. Welcome!") + elseif GetQuestStep(Spawn, ImpishThreats) == 1 then + PlayFlavor(NPC, "", "We cannot speak now. You must clear the imps from the cliff above.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ImpishThreats) == 2 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_016.mp3", "", "", 3960586282, 3379586458, Spawn) + AddConversationOption(conversation, "Fewer now.", "Quest1Chat_11") + StartConversation(conversation, NPC, Spawn, "You return, " .. GetName(Spawn) .. "! Tell me, how do the winged vermin fare?") + elseif HasCompletedQuest(Spawn, ImpishThreats) and not HasCompletedQuest(Spawn, ClanImps) and not HasQuest(Spawn, ClanImps) then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, ClanImps) and GetQuestStep(Spawn, ClanImps) < 3 then + PlayFlavor(NPC, "", "We cannot speak now. You must trudge back up the cliff and repossess our stolen supplies.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ClanImps) == 3 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_022.mp3", "", "", 864304446, 2025112563, Spawn) + AddConversationOption(conversation, "So far, so good.", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "See Griz, " .. GetName(Spawn) .. " returned to us! Now you can quit your doomsaying. They are safe.") + elseif not HasCompletedQuest(Spawn, BelowWaves) then + PlayFlavor(NPC, "", "Go see Thirin, I think he could use your help.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, BelowWaves) and HasCompletedQuest(Spawn, ClanImps) and not HasCompletedQuest(Spawn, MysteryIceberg) and not HasQuest(Spawn, MysteryIceberg) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_026.mp3", "", "", 3071313209, 2590619327, Spawn) + AddConversationOption(conversation, "Thirin Veliumdelver had me hunting orcs on Jagged Daggers Isle.", "Quest3Chat_1") + AddConversationOption(conversation, "It doesn't matter.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "Griz says you smell of orc and sea water. Where have you been, " .. GetName(Spawn) .. "?") + elseif HasQuest(Spawn, MysteryIceberg) and GetQuestStep(Spawn, MysteryIceberg) < 3 then + PlayFlavor(NPC, "", "We are counting on you to go over to the iceberg and see what you can find out about the Ry'Gorr activities there.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, MysteryIceberg) == 3 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_034.mp3", "", "", 1362837107, 3201094418, Spawn) + AddConversationOption(conversation, "I found pickaxes. I am not sure what it means.", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "The stench of orc is even stronger on you now, " .. GetName(Spawn) .. ". We can already tell you've been successful. So tell us, what did you find out?") + elseif HasCompletedQuest(Spawn, MysteryIceberg) and not HasCompletedQuest(Spawn, BecomingOrcbane) and not HasQuest(Spawn, BecomingOrcbane) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_037.mp3", "", "", 2495536008, 1780787017, Spawn) + AddConversationOption(conversation, "Yes. They are attempting to dig out some tunnels below the city of New Halas.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Speak to us, " .. GetName(Spawn) .. ". Is it true that you found the orcs below this island?") + elseif GetQuestStep(Spawn, BecomingOrcbane) == 1 then + AddConversationOption(conversation, "Yes, but I have more Ry'Gorr to hunt.") + StartConversation(conversation, NPC, Spawn, "You have returned to us already, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, BecomingOrcbane) == 2 then + AddConversationOption(conversation, "I have indeed!", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Tell us you have reduced their numbers even further, " .. GetName(Spawn) .. "?") + elseif not HasCompletedQuest(Spawn, RyGorrOperations) then + PlayFlavor(NPC, "", "Go see Thirin, I think he could use your help.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, RyGorrOperations) and HasCompletedQuest(Spawn, BecomingOrcbane) and not HasCompletedQuest(Spawn, FlawlessChore) and not HasQuest(Spawn, FlawlessChore) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_048.mp3", "", "", 2077147311, 3803027190, Spawn) + AddConversationOption(conversation, "I broke through a newly made wall under New Halas and was attacked by Velinoid crystal men.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Aah! It is you, " .. GetName(Spawn) .. "! Griz could sense an old magick approaching, and was quite alarmed, but it is just you. What have you been doing? ") + elseif GetQuestStep(Spawn, FlawlessChore) == 1 then + PlayFlavor(NPC, "", "We cannot speak now. You must seize an armful of the flawless velium cores from the Velinoid creatures.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, FlawlessChore) == 2 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_054.mp3", "", "", 2665553657, 265927560, Spawn) + AddConversationOption(conversation, "He should.", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "You return to us, " .. GetName(Spawn) .. ", and with the velium cores. But Griz doesn't sense more of the old magick with you than before.") + elseif HasCompletedQuest(Spawn, FlawlessChore) and not HasQuest(Spawn, SometimesKnut) and not HasCompletedQuest(Spawn, SometimesKnut) then + Quest6Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, SometimesKnut) and GetQuestStep(Spawn, SometimesKnut) < 4 then + PlayFlavor(NPC, "", "You had best watch over Griz while he is in your care within Demon's Delve. And remember, you can only hear him when you wear him.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SometimesKnut) == 4 then + AddConversationOption(conversation, "Yeah, we did. And we destroyed it.", "Quest6Chat_5") + StartConversation(conversation, NPC, Spawn, "Did you find the item of old magick, " .. GetName(Spawn) .. "? Was griz able to help you find it?") + else + PlayFlavor(NPC, "", "Griz still speaks of your adventure together.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_006.mp3", "", "", 1179640233, 2510165864, Spawn) + AddConversationOption(conversation, "Yes, sir!", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Now, don't dawdle, take up your weapon and deliver the horde of orcs back to the depths from which they came!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_007.mp3", "", "", 136827615, 2574970832, Spawn) + AddConversationOption(conversation, "Uh, excuse me?", "Quest1Chat_3") + AddConversationOption(conversation, "Good thing someone is.") + StartConversation(conversation, NPC, Spawn, "See what I mean, Griz, not all adventurers are... What do you mean? Ah, I had forgotten. But yes, as right as rain, you are!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_008.mp3", "", "", 1025809423, 508302222, Spawn) + AddConversationOption(conversation, "Who is Griz?", "Quest1Chat_4") + AddConversationOption(conversation, "What is the task?", "Quest1Chat_9") + AddConversationOption(conversation, "My skills are already being employed elsewhere. Good day.") + StartConversation(conversation, NPC, Spawn, "My companion, Griz, just reminded me of an important task that we have for someone of your skills.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_009.mp3", "", "", 461919392, 2357150374, Spawn) + AddConversationOption(conversation, "Is he invisible?", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Griz is my faithful companion. He goes where I go.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_010.mp3", "", "", 1052367641, 1770506603, Spawn) + AddConversationOption(conversation, "Where is he?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Do not be ridiculous! He is visible. Next you will claim your ears fail to hear his voice, same as the rest!") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_011.mp3", "", "", 2787510762, 2957661742, Spawn) + AddConversationOption(conversation, "He told you this?", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "I wear him! He told me he was a normal blizzard grizzly, slain and made a pelt, then cursed by some sort of reanimation spell.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_012.mp3", "", "", 3151538382, 1140255767, Spawn) + AddConversationOption(conversation, "Almost?", "Quest1Chat_8") + AddConversationOption(conversation, "Good thing you avoided that.", "Quest1Chat_8") + AddConversationOption(conversation, "I am going to leave you two alone.") + StartConversation(conversation, NPC, Spawn, "Aye. I found him on another, whose body long went cold, and I needed the warmth. Little did I know that I would also be gaining a companion. I had almost gone crazy with loneliness.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_013.mp3", "", "", 3268671132, 2494843375, Spawn) + AddConversationOption(conversation, "Yeah, what is the task?", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "But I am off path. We were talking about your new task!") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_014.mp3", "", "", 3650994868, 4022388430, Spawn) + AddConversationOption(conversation, "I'll rid you of the imps.", "OfferImpishThreats") + AddConversationOption(conversation, "I am not going up there. No way!") + StartConversation(conversation, NPC, Spawn, "Clearing the imps from the cliff above. They take a sick delight in throwing rocks and stealing our supplies. We have enough trouble dealing with the attacking orcs. We can't handle random attacks from behind, too.") +end + +function Quest1Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_005.mp3", "", "", 1586450640, 3594709012, Spawn) + AddConversationOption(conversation, "Yes, sir!", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Smiting the horde of orcs that threaten our fledgling city, of course. Now, don't dawdle, take up your weapon and deliver them back to the depths from which they came!") +end + +function Quest1Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_017.mp3", "", "", 2616213114, 1218999941, Spawn) + AddConversationOption(conversation, "No.", "Quest1Chat_12") + StartConversation(conversation, NPC, Spawn, "Aaah! Music to our ears, isn't it, Griz? Were any of them carrying our stolen supplies?") +end + +function Quest1Chat_12(NPC, Spawn) + SetStepComplete(Spawn, ImpishThreats, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_018.mp3", "", "", 4230096106, 3358535, Spawn) + AddConversationOption(conversation, "Possibly.", "Quest2Chat_1") + AddConversationOption(conversation, "Or smashing them somewhere.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Then they must have been stashing them somewhere.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_019.mp3", "", "", 2687986263, 1290955912, Spawn) + AddConversationOption(conversation, "Do you want me to retrieve them?", "Quest2Chat_2") + AddConversationOption(conversation, "Can't we just replace them?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "We could put the supplies that the imps have stolen from us to good use, " .. GetName(Spawn) .. ".") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_021.mp3", "", "", 1541824689, 3333543971, Spawn) + AddConversationOption(conversation, "I'll do it.", "OfferClanImps") + AddConversationOption(conversation, "I can't deal with any more of your craziness.") + StartConversation(conversation, NPC, Spawn, "That's the spirit! Trudge back up the cliff and repossess our stolen supplies. The imps must have stashed them somewhere up there, Griz and I are certain of this.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_020.mp3", "", "", 2274013459, 2869453130, Spawn) + AddConversationOption(conversation, "So you want me to retrieve them?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Some items are not so easily replaced, besides, goods are not arriving to New Halas as often as we need.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_023.mp3", "", "", 3386688534, 1781356387, Spawn) + AddConversationOption(conversation, "That's good to know.", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "It is not that he lacks confidence in you, it is just that he feared something foul had happened to you. ") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_024.mp3", "", "", 4143574781, 924201521, Spawn) + AddConversationOption(conversation, "I did. Here's all that I was able to find.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "I mean, you did repossess our stolen supplies, aye?") +end + +function Quest2Chat_6(NPC, Spawn) + SetStepComplete(Spawn, ClanImps, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_025.mp3", "", "", 3946443740, 2381252616, Spawn) + AddConversationOption(conversation, "I'm glad to hear it was worth it.") + StartConversation(conversation, NPC, Spawn, "Good work! These items will come in very handy.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_028.mp3", "", "", 2981574255, 260475867, Spawn) + AddConversationOption(conversation, "Yes, and they are doing something on the chunk of ice next to it.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Ah! They have started to inhabit that island now, too?") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_029.mp3", "", "", 1298453249, 1624889815, Spawn) + AddConversationOption(conversation, "I saw it, myself.", "Quest3Chat_3") + AddConversationOption(conversation, "Thirin's scouts said as much.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "You know this for certain?") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_030.mp3", "", "", 110505260, 1254849801, Spawn) + AddConversationOption(conversation, "Sorry.", "Quest3Chat_4") + AddConversationOption(conversation, "I didn't.") + StartConversation(conversation, NPC, Spawn, "Whoa, no need to yell!") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_031.mp3", "", "", 1992133863, 2456842289, Spawn) + AddConversationOption(conversation, "Yeah, but about the orcs?", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Not you, " .. GetName(Spawn) .. ". Griz. I nearly went deaf with that one. And how would you like it if I did? Then who would listen to you?") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_032.mp3", "", "", 3606219990, 1558926638, Spawn) + AddConversationOption(conversation, "I can.", "OfferMysteryIceberg") + AddConversationOption(conversation, "I am not going over there. No way!") + StartConversation(conversation, NPC, Spawn, "Right! The orcs. We need to find out what scheme they are hatching over there on the iceberg. Think you can get there?") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_027.mp3", "", "", 3550762599, 2709264922, Spawn) + AddConversationOption(conversation, "Thirin Veliumdelver had me hunting orcs on Jagged Daggers Isle.", "Quest3Chat_1") + AddConversationOption(conversation, "And they will stay that way.") + StartConversation(conversation, NPC, Spawn, "We are not unconvinced, are we Griz? But your secrets are your own.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_035.mp3", "", "", 3450964539, 968602792, Spawn) + AddConversationOption(conversation, "No, that is all.", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "Maybe they are using them as tools to climb the ice? Hmm. Did you find anything else?") +end + +function Quest3Chat_8(NPC, Spawn) + SetStepComplete(Spawn, MysteryIceberg, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_036.mp3", "", "", 4224938593, 2388251058, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Thank you for the service.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_038.mp3", "", "", 4135142976, 4005855669, Spawn) + AddConversationOption(conversation, "Not all of them, but there's far less now.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "Mithaniel's fury! I hope you cut them down!") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_039.mp3", "", "", 2291485181, 3172762716, Spawn) + AddConversationOption(conversation, "No.", "Quest4Chat_3") + AddConversationOption(conversation, "Yes. It really will.") + StartConversation(conversation, NPC, Spawn, "Far less?! That just won't do! Culling a few of these monsters never satisfied me! Will it satisfy you?") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_040.mp3", "", "", 4113678321, 3822036418, Spawn) + AddConversationOption(conversation, "I said, no. It will not satisfy me.", "Quest4Chat_4") + AddConversationOption(conversation, "Yes. It really will.") + StartConversation(conversation, NPC, Spawn, "I'm not asking you, Griz. I know where you stand on the stinking brutes! What do you say, " .. GetName(Spawn) .. "?") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_041.mp3", "", "", 2166082015, 1750776733, Spawn) + AddConversationOption(conversation, "I'll be sure to use it on them!", "OfferBecomingOrcbane") + AddConversationOption(conversation, "Nevermind then. I should be going.") + StartConversation(conversation, NPC, Spawn, "That's the Orcbane spirit! Ah, and Griz is right. You deserve a bit of a boost, too. Anything to help you beat back the horde of Ry'Gorr. It is a potion that will sap their life essence.") +end + +function Quest4Chat_5(NPC, Spawn) + SetStepComplete(Spawn, BecomingOrcbane, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "bow", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "I had all confidence in you!") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_049.mp3", "", "", 2034719920, 764754594, Spawn) + AddConversationOption(conversation, "Should I be worried?", "Quest5Chat_2") + AddConversationOption(conversation, "How can I get rid of it?", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Yes, Griz. It must be their old magick that lingers on you now.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_050.mp3", "", "", 1934837003, 1465604041, Spawn) + AddConversationOption(conversation, "That's good.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "No. It will dissipate in time.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_052.mp3", "", "", 4209716810, 1939380730, Spawn) + AddConversationOption(conversation, "How are we going to get it?", "OfferFlawlessChore") + AddConversationOption(conversation, "Get someone else for this task.") + StartConversation(conversation, NPC, Spawn, "But maybe we could use that magick in our ongoing fight with the Ry'Gorr. Griz that is a sound idea!") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_051.mp3", "", "", 2778768716, 4176738164, Spawn) + AddConversationOption(conversation, "That's good.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Time. It will dissipate in time.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_055.mp3", "", "", 724900994, 1307450344, Spawn) + AddConversationOption(conversation, "Unless what?", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "I agree. He should sense more of it what with you carrying all those. Unless...") +end + +function Quest5Chat_6(NPC, Spawn) + SetStepComplete(Spawn, FlawlessChore, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_056.mp3", "", "", 886559545, 4266167856, Spawn) + AddConversationOption(conversation, "Glad to be appreciated.", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "It must not have been the Velinoid creatures. We made a mistake. Griz is sorry about it, too. But you did fulfill your task and for that we are grateful.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_057.mp3", "", "", 3810409959, 1206652947, Spawn) + AddConversationOption(conversation, "What are you talking about?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "No, Griz. I said no. There's got to be another way. They'll try again. How about that?") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_058.mp3", "", "", 2407855497, 623007376, Spawn) + AddConversationOption(conversation, "But what am I looking for?", "Quest6Chat_3") + AddConversationOption(conversation, "I can do that.", "Quest6Chat_4") + AddConversationOption(conversation, "I am not going back down there. Good bye.") + StartConversation(conversation, NPC, Spawn, "Griz wants you to return to the caves under this island, in search of the old magick.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "shrug", 0, 0, Spawn) + AddConversationOption(conversation, "Then how am I supposed to...", "Quest6Chat_4") + StartConversation(conversation, NPC, Spawn, "He doesn't know and neither do I.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll do it. I'll take him down with me.", "OfferSometimesKnut") + AddConversationOption(conversation, "No thank you. You can keep your companion to yourself.") + StartConversation(conversation, NPC, Spawn, "He wants you to take him with you. It's the only way for him to be sure that you find the source.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "He told me to destroy it. It was a black shard, like the ones that were being used to raise Ry'Gorr skeletons.", "Quest6Chat_6") + StartConversation(conversation, NPC, Spawn, "What? I thought he wanted to find it and use it?") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Good thing we found it.", "Quest6Chat_7") + StartConversation(conversation, NPC, Spawn, "Ah, then it is best to destroy it. They must have wanted to plant it below New Halas in order to bring forth an army of undead within the city.") +end + +function Quest6Chat_7(NPC, Spawn) + SetStepComplete(Spawn, SometimesKnut, 4) + RemoveItem(Spawn, 157116) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Certainly.") + AddConversationOption(conversation, "I will miss him.") + StartConversation(conversation, NPC, Spawn, "Now take this, as you have earned it, " .. GetName(Spawn) .. ". And return to me my friend, Griz.") +end + +function OfferImpishThreats(NPC, Spawn) + OfferQuest(NPC, Spawn, ImpishThreats) +end + +function OfferClanImps(NPC, Spawn) + OfferQuest(NPC, Spawn, ClanImps) +end + +function OfferMysteryIceberg(NPC, Spawn) + OfferQuest(NPC, Spawn, MysteryIceberg) +end + +function OfferBecomingOrcbane(NPC, Spawn) + OfferQuest(NPC, Spawn, BecomingOrcbane) +end + +function OfferFlawlessChore(NPC, Spawn) + OfferQuest(NPC, Spawn, FlawlessChore) +end + +function OfferSometimesKnut(NPC, Spawn) + OfferQuest(NPC, Spawn, SometimesKnut) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/LedvinAxethrower.lua b/Lua/SpawnScripts/FrostfangSea/LedvinAxethrower.lua new file mode 100755 index 000000000..850a3e235 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/LedvinAxethrower.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LedvinAxethrower.lua + Script Purpose : mystic trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local MYSTIC = 19 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == MYSTIC then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice can you give to another mystic?", "MysticChat1") + AddConversationOption(conversation, "It is, isn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "Hail, fellow mystic, my sibling in the shaman arts! How nice to see another called into the fold.") + else + PlayFlavor(NPC, "", "Many paths may lead toward the same goal.", "hello", 0, 0, Spawn) + end +end + +function MysticChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "MysticChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function MysticChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "MysticChat3") + StartConversation(conversation, NPC, Spawn, "Know the power you wield. We beseech our ancestors and seek their aid in all aspects of battle. With their blessings we can cast protection or emporing spells upon ourselves and our allies.") +end + +function MysticChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "MysticChat4") + StartConversation(conversation, NPC, Spawn, "But they can also empower us with the ability to inflict debilitating weakness upon the enemy!") +end + +function MysticChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversatin, NPC, Spawn, "And protect yourself with a good set of chain mail, " .. GetName(Spawn) .. ". The armor is not as cumbersome as plate, but its protective properties will be necessary when deep in battle.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/LibbitSwampchild.lua b/Lua/SpawnScripts/FrostfangSea/LibbitSwampchild.lua new file mode 100755 index 000000000..0dc4b1b6e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/LibbitSwampchild.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LibbitSwampchild.lua + Script Purpose : Libbit Swampchild + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Greetings friend. I am sorry, but I can only assist members of more advanced guilds with their cloak design.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/Lionpost.lua b/Lua/SpawnScripts/FrostfangSea/Lionpost.lua new file mode 100755 index 000000000..87af96229 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/Lionpost.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LionPost.lua + Script Purpose : for the spawn "lion post" + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] +local IcemanesCometh = 18 + +function spawn(NPC) + SetRequiredQuest(NPC, IcemanesCometh, 1) +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == 'leash cub to post' then + counter = 0 + if GetTempVariable(Caster, "cub1") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub1")) + end + if GetTempVariable(Caster, "cub2") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub2")) + end + if GetTempVariable(Caster, "cub3") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub3")) + end + if GetTempVariable(Caster, "cub4") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub4")) + end + SetTempVariable(Caster, "cub1", nil) + SetTempVariable(Caster, "cub2", nil) + SetTempVariable(Caster, "cub3", nil) + SetTempVariable(Caster, "cub4", nil) + AddStepProgress(Caster, IcemanesCometh, 1, counter) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/LondiarInygad.lua b/Lua/SpawnScripts/FrostfangSea/LondiarInygad.lua new file mode 100755 index 000000000..2e778b64a --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/LondiarInygad.lua @@ -0,0 +1,132 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LondiarInygad.lua + Script Purpose : Londiar Inygad + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "hello", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.") + AddConversationOption(conversation, "How would I learn adorning?", "AdornChat1") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") +end + +function AdornChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.", "dlg_1_1") + AddConversationOption(conversation, "How would I learn adorning?") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") + if convo==2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.", "dlg_2_1") + AddConversationOption(conversation, "How would I learn adorning?") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") + end + + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.", "dlg_5_1") + AddConversationOption(conversation, "How would I learn adorning?") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") + end + + if convo==6 then + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_005.mp3", "", "", 2903671869, 119224492, Spawn) + AddConversationOption(conversation, "Not yet, I'll be back with them soon.", "dlg_6_1") + AddConversationOption(conversation, "Yes I have, here you go.") + StartConversation(conversation, NPC, Spawn, "Hello again. Have you finished those adornments?") + end + + if convo==7 then + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_005.mp3", "", "", 2903671869, 119224492, Spawn) + AddConversationOption(conversation, "Not yet, I'll be back with them soon.", "dlg_7_1") + AddConversationOption(conversation, "Yes I have, here you go.") + StartConversation(conversation, NPC, Spawn, "Hello again. Have you finished those adornments?") + end + + if convo==9 then + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_007.mp3", "", "", 2470727427, 4215990095, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Unfortunately, I'm out of components now, so you'll have to come back tomorrow if you want to help further.") + end + +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll get to work now.", "dlg_5_2") + AddConversationOption(conversation, "Sorry, I've changed my mind.") + StartConversation(conversation, NPC, Spawn, "Thank you, we are always in need of more. Please take this recipe and these components, and get to work. You will need to supply your own fuel, however, and the cost of this will not be reimbursed.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will.", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Thank you, bring them back to me when you're done.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_006.mp3", "", "", 287110901, 245711122, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Thank you! Feel free to stop by tomorrow if you are looking for more work, I might need more assistance by then.") +end +--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/MikhailEiskroft.lua b/Lua/SpawnScripts/FrostfangSea/MikhailEiskroft.lua new file mode 100755 index 000000000..a4895eac7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/MikhailEiskroft.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/MikhailEiskroft.lua + Script Purpose : Sana Strongbellow + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "I'll work towards that end then.") + StartConversation(conversation, NPC, Spawn, "I'm sorry, until you have chosen a specialty in your craft I do not have any work orders for you. Come see me when you're more practiced in your trade.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/MistressThora.lua b/Lua/SpawnScripts/FrostfangSea/MistressThora.lua new file mode 100755 index 000000000..ecdd20419 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/MistressThora.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/MistressThora.lua + Script Purpose : Mistress Thora + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I deal in any artifacts you or your guild might be interested in. Let's take a look at what you have.", "nod", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/MoragMcMarrin.lua b/Lua/SpawnScripts/FrostfangSea/MoragMcMarrin.lua new file mode 100755 index 000000000..bb43fe409 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/MoragMcMarrin.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/MoragMcMarrin.lua + Script Purpose : Morag McMarrin + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'll be happy to supply all your fuel needs.", "happy", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Please let me know if there's anything I can supply for you.", "nod", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + end +end + diff --git a/Lua/SpawnScripts/FrostfangSea/NarielAldaeme.lua b/Lua/SpawnScripts/FrostfangSea/NarielAldaeme.lua new file mode 100755 index 000000000..e83be0034 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/NarielAldaeme.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/NarielAldaeme.lua + Script Purpose : Nariel Aldaeme + Script Author : theFoof + Script Date : 2013.09.24 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "The blessings of Tunare can be felt all around us, even in this cold land!", "thanks", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/NohrFlamel.lua b/Lua/SpawnScripts/FrostfangSea/NohrFlamel.lua new file mode 100755 index 000000000..3573e36a9 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/NohrFlamel.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/NohrFlamel.lua + Script Purpose : Nohr Flamel + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Please let me know if there's anything I can supply for you.", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I can supply your alchemy requirements, even those considered elusive.", "happy", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Welcome to Ravens' Roost.", "hello", 0, 0, Spawn) + end +end + diff --git a/Lua/SpawnScripts/FrostfangSea/NorfrydBrisbane.lua b/Lua/SpawnScripts/FrostfangSea/NorfrydBrisbane.lua new file mode 100755 index 000000000..6ea25f9a3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/NorfrydBrisbane.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/NorfrydBrisbane.lua + Script Purpose : Norfryd Brisbane + Script Author : John Adams + Script Date : 2013.03.16 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "You'll be able to access this bank account all across Norrath!", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Your items and coin will be safe with us!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/FrostfangSea/OdhildGoblinblade.lua b/Lua/SpawnScripts/FrostfangSea/OdhildGoblinblade.lua new file mode 100755 index 000000000..5708f7448 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OdhildGoblinblade.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OdhildGoblinblade.lua + Script Purpose : swashbuckler trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local SWASHBUCKLER = 33 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == SWASHBUCKLER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow swashbuckler?", "SwashChat1") + AddConversationOption(conversation, "It certainly is. Good bye.") + StartConversation(conversation, NPC, Spawn, "Welcome, fellow swashbuckler! It is such a pleasure to meet another dashing rogue within this city.") + else + PlayFlavor(NPC, "", "Well, well, what have we here?", "hello", 0, 0, Spawn) + end +end + +function SwashChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "SwashChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your agility or stamina, then take them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function SwashChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "SwashChat3") + StartConversation(conversation, NPC, Spawn, "We have talents in dealing with damage but we are particularly skilled at weakening our opponent's attacks.") +end + +function SwashChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I bet it is!", "SwashChat4") + StartConversation(conversation, NPC, Spawn, "Keep in mind that some of our attacks are positional, meaning you need to be behind or beside an opponent for that attack to work. But thankfully, we have enough devastating attacks that are straightforward and can be used from any position. This is very useful when dealing with multiple opponents!") +end + +function SwashChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Focus on improving your own skills for your opponent is sure to be defeated in the face of your growing prowess.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OdonScourgeson.lua b/Lua/SpawnScripts/FrostfangSea/OdonScourgeson.lua new file mode 100755 index 000000000..ea6f60d95 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OdonScourgeson.lua @@ -0,0 +1,402 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OdonScourgeson.lua + Script Purpose : Odon Scourgeson + Script Author : theFoof + Script Date : 2013.06.16 + Script Notes : +--]] + +local NothingWaste = 56 + +local WhirlingTime = 70 + +local HighlyMaterials = 74 + +local CampsideSpores = 75 + +local BelowWaves = 59 + +local RyGorrTaking = 76 + +local WatchBelow = 77 + +local RyGorrOperations = 60 + +function spawn(NPC) + ProvidesQuest(NPC, WhirlingTime) + ProvidesQuest(NPC, HighlyMaterials) + ProvidesQuest(NPC, CampsideSpores) + ProvidesQuest(NPC, RyGorrTaking) + ProvidesQuest(NPC, WatchBelow) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, NothingWaste) and not HasCompletedQuest(Spawn, WhirlingTime) and not HasQuest(Spawn, WhirlingTime) then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_001.mp3", "", "", 1144750617, 3119311088, Spawn) + AddConversationOption(conversation, "Well said, child of Marr!", "Quest1Chat_1") + AddConversationOption(conversation, "For the right cause.", "Quest1Chat_5") + AddConversationOption(conversation, "I hope the Ry'Gorr think so!", "Quest1Chat_6") + AddConversationOption(conversation, "I would prefer another day.") + StartConversation(conversation, NPC, Spawn, "It's a good day to die!") + elseif GetQuestStep(Spawn, WhirlingTime) == 1 and not HasItem(Spawn, 6556) then + PlayFlavor(NPC, "", "It's an awfully big challenge to apply the Draught of Whirling ice if you don't have it with you. Now be more careful with this vial of the dram!", "laugh", 0, 0, Spawn) + SummonItem(Spawn, 6556) + elseif GetQuestStep(Spawn, WhirlingTime) == 1 and HasItem(Spawn, 6556) then + PlayFlavor(NPC, "", "Be sure to apply the Draught of Whirling Ice at the locations on the beach marked by a glowing green arrow shaft.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, WhirlingTime) == 2 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_012.mp3", "", "", 3270179329, 857883489, Spawn) + AddConversationOption(conversation, "Yes, the confused orcs were easy pickings.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "How did the Draught of Whirling Ice fare, " .. GetName(Spawn) .. "? Did it work as we had hoped?") + elseif HasCompletedQuest(Spawn, WhirlingTime) and not HasCompletedQuest(Spawn, HighlyMaterials) and not HasQuest(Spawn, HighlyMaterials) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, HighlyMaterials) == 3 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_017.mp3", "", "", 1752904205, 2236174308, Spawn) + AddConversationOption(conversation, "You were right. There was a Ry'Gorr encampment over there.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "What did you find on Jagged Daggers, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, HighlyMaterials) and not HasCompletedQuest(Spawn, CampsideSpores) and not HasQuest(Spawn, CampsideSpores) then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_019.mp3", "", "", 1424971577, 1250350308, Spawn) + AddConversationOption(conversation, "He sent me to hunt the Ry'Gorr on Jagged Daggers isle.", "Quest3Chat_1") + AddConversationOption(conversation, "I don't have time to talk right now.") + StartConversation(conversation, NPC, Spawn, "What did the mighty coldain want with you, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, CampsideSpores) == 1 then + PlayFlavor(NPC, "", "Be sure to spread the crustose spores on any Ry'Gorr provisions that you find on the iceberg floating nearby.", "nod", 0, 0, Spawn) + elseif GetQuestStep(Spawn, CampsideSpores) == 2 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_029.mp3", "", "", 2107393600, 3625608222, Spawn) + AddConversationOption(conversation, "They did!", "Quest3Chat_9") + StartConversation(conversation, NPC, Spawn, "Did the spores spread all over their provisions, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, CampsideSpores) and HasCompletedQuest(Spawn, BelowWaves) and not HasCompletedQuest(Spawn, RyGorrTaking) and not HasQuest(Spawn, RyGorrTaking) then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_031.mp3", "", "", 2821703573, 187787464, Spawn) + AddConversationOption(conversation, "I was exploring the caves below Erollis.", "Quest4Chat_1") + AddConversationOption(conversation, "Killing orcs, of course!", "Quest4Chat_4") + AddConversationOption(conversation, "That's my secret. Good day.") + StartConversation(conversation, NPC, Spawn, "Where have you been, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, RyGorrTaking) == 1 then + PlayFlavor(NPC, "", "Good luck stealing the imbued digging tools that the Ry'Gorr are using to dig their nefarious tunnels below Erollis.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, RyGorrTaking) == 2 then + AddConversationOption(conversation, "I did, along with their explosive barrels.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "You found the magically imbued tools that the Ry'Gorr were using to dig with, didn't you, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, RyGorrTaking) and HasCompletedQuest(Spawn, RyGorrOperations) and not HasQuest(Spawn, WatchBelow) and not HasCompletedQuest(Spawn, WatchBelow) then + AddConversationOption(conversation, "It is true.", "Quest5Chat_1") + AddConversationOption(conversation, "No. You're as crazy as Knut.") + StartConversation(conversation, NPC, Spawn, "Is it true, " .. GetName(Spawn) .. "? Did you really find some crazed crystal men deeper within this chunk of floating rock?") + elseif GetQuestStep(Spawn, WatchBelow) == 1 then + PlayFlavor(NPC, "", "Good luck harevesting the glimmering velium from within the Velinoid Catacombs.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, WatchBelow) == 2 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_043.mp3", "", "", 4171793069, 3413255044, Spawn) + AddConversationOption(conversation, "I was, Odon.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Were you able to harvest any glimmering velium from within the Velinoid Catacombs?") + elseif HasCompletedQuest(Spawn, WatchBelow) and not HasQuest(Spawn, WatchBelow) then + Quest5Chat_5(NPC, Spawn) + else + PlayFlavor(NPC, "", "Go see Thirin, I think he could use your help.", "point", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_004.mp3", "", "", 1709766346, 172975097, Spawn) + AddConversationOption(conversation, "So, let's not be the ones to fall.", "Quest1Chat_2") + AddConversationOption(conversation, "If you say so. I have to go now.") + StartConversation(conversation, NPC, Spawn, "But the longer we live, the more battles we win, and the more honor we bring our ancestors and the gods.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_008.mp3", "", "", 2616918524, 807359858, Spawn) + AddConversationOption(conversation, "Do you have any specific plans?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Aye! Let's send these Ry'Gorr back to the vile pits of putrescence they crawled out of!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_009.mp3", "", "", 3949479903, 2077309090, Spawn) + AddConversationOption(conversation, "How will they help?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "That I do, " .. GetName(Spawn) .. "! I am quite the accomplished spell weaver and potion maker. And I have a draught that can create whirlstorms of ice and fog.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_010.mp3", "", "", 2575484340, 3344993647, Spawn) + AddConversationOption(conversation, "Oh, that sounds great!", "OfferWhirlingTime") + AddConversationOption(conversation, "I am not going towards that beach! No way.") + StartConversation(conversation, NPC, Spawn, "You will release them at specific spots upon the nearby beach front, where the orcs are attacking. Within the fog and confusion our forces will have the upper hand!") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_005.mp3", "", "", 292963711, 1258540494, Spawn) + AddConversationOption(conversation, "On that, we agree.", "Quest1Chat_2") + AddConversationOption(conversation, "If you say so. I have to go now.") + StartConversation(conversation, NPC, Spawn, "There is no cause more right than keeping our budding city safe from destruction and chaos.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_006.mp3", "", "", 3024969642, 2041615693, Spawn) + AddConversationOption(conversation, "On that, we agree.", "Quest1Chat_2") + AddConversationOption(conversation, "If you say so. I have to go now.") + StartConversation(conversation, NPC, Spawn, "Har! Since they are going to be the ones dying! I like the way you think! We must keep our budding city safe from destruction and chaos.") +end + +function Quest1Chat_7(NPC, Spawn) + SetStepComplete(Spawn, WhirlingTime, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_013.mp3", "", "", 2453186461, 1568033116, Spawn) + AddConversationOption(conversation, "Right!", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Good! And let that be a lesson to you: Never underestimate the natural elements.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_014.mp3", "", "", 4142819387, 1980291564, Spawn) + AddConversationOption(conversation, "It stands to reason.", "Quest2Chat_2") + AddConversationOption(conversation, "Yes. But I don't care.") + StartConversation(conversation, NPC, Spawn, "This has me thinking, " .. GetName(Spawn) .. ". If we can use the natural elements of ice and fog as sight barriers then the orcs can too.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_015.mp3", "", "", 3627942377, 4151235206, Spawn) + AddConversationOption(conversation, "I can do that.", "OfferHighlyMaterials") + AddConversationOption(conversation, "I am not going over to that orc infested island. No way!") + StartConversation(conversation, NPC, Spawn, "They could be hiding an entire encampment on that fog-blanketed chunk of ice across the water. I am needed here to create healing draughts for the wounded, but if you can venture over to Jagged Daggers then we can find out if that is why they continue to bombard our defenses here.") +end + +function Quest2Chat_3(NPC, Spawn) + SetStepComplete(Spawn, HighlyMaterials, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_018.mp3", "", "", 3574043874, 440859829, Spawn) + AddConversationOption(conversation, "Yes, I did.") + StartConversation(conversation, NPC, Spawn, "But you found it and destroyed it?") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_020.mp3", "", "", 17932445, 4044568976, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "You are going to give old Orcbane a run for his title if you keep that up! Of course, that may not be a good thing if it makes you as crazy as it has made him.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_021.mp3", "", "", 748617031, 40578181, Spawn) + AddConversationOption(conversation, "What makes you say that?", "Quest3Chat_3") + AddConversationOption(conversation, "I didn't. Oh, wait... Yes, I did.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "The man was a celebrated warrior - a clan hero! But the years and battles have taken their toll. One too many hits to that thick skull, if'n you ask me.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_022.mp3", "", "", 3153750446, 2946380071, Spawn) + AddConversationOption(conversation, "I agree.", "Quest3Chat_4") + AddConversationOption(conversation, "Well, let's just consider him eccentric.", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "He swears on Greyvax's grave that his bear pelt talks to him! That's evidence enough, friend.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_023.mp3", "", "", 1008524247, 3710738942, Spawn) + AddConversationOption(conversation, "Nutty Knut. I get it.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "The man is drinking from a cracked stein, I tell you.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_024.mp3", "", "", 626779963, 1838376893, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "You are suggesting we agree to disagree. I've never seen much reason for it, but since it is old Orcbane, I will.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_025.mp3", "", "", 2325720721, 1852675464, Spawn) + AddConversationOption(conversation, "Actually, yes. I saw several Ry'Gorr orcs amassing supplies.", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "Heh. So, did you find anything interesting on Jagged Daggers isle?") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_026.mp3", "", "", 3614477806, 1870107129, Spawn) + AddConversationOption(conversation, "Right. I'm the one yapping like a hound.", "Quest3Chat_8") + AddConversationOption(conversation, "Excuse me?", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "You what?! " .. GetName(Spawn) .. ", you've got to learn to share the important information. Don't stand about yapping on like some excited hound when there is fighting to be had!") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_027.mp3", "", "", 1143831396, 1034337351, Spawn) + AddConversationOption(conversation, "I can do that.", "OfferCampsideSpores") + AddConversationOption(conversation, "I have destroyed enough of their stuff, already. Good bye.") + StartConversation(conversation, NPC, Spawn, "I forgive you. Now, this is the perfect time to employ another form of natural element in our ongoing battle against the Ry'Gorr. We are going to destroy their provisions!") +end + +function Quest3Chat_9(NPC, Spawn) + SetStepComplete(Spawn, CampsideSpores, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_030.mp3", "", "", 23529339, 1329281501, Spawn) + AddConversationOption(conversation, "Right.") + StartConversation(conversation, NPC, Spawn, "We learned about those little buggers the hard way, but at least we can use them for our own good.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_033.mp3", "", "", 3483970131, 1743071905, Spawn) + AddConversationOption(conversation, "Yes. And the Ry'Gorr have been making them bigger.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "There are caves under this floating island?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_034.mp3", "", "", 491076810, 2688982472, Spawn) + AddConversationOption(conversation, "Apparently, they are.", "Quest4Chat_3") + AddConversationOption(conversation, "Me either.", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "Dear Marr! They have been attempting to hold our attention on top with skirmishes while all along they have been digging tunnels from below?! I never thought them so sneaky.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_035.mp3", "", "", 3997881517, 11859709, Spawn) + AddConversationOption(conversation, "I sure can, Odon.", "OfferRyGorrTaking") + AddConversationOption(conversation, "I am not willing to go back down there. No way!") + StartConversation(conversation, NPC, Spawn, "They must be using special tools, some magically imbued ones, to dig through the velium and ice that make this floating rock. Will you enter the caves and steal any such tools that you find? That will slow their progress while others can go in and hunt them.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_032.mp3", "", "", 775129944, 2032173914, Spawn) + AddConversationOption(conversation, "In the caves below Erollis.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "I would expect nothing less! Tell me, where were you slaying the beasts?") +end + +function Quest4Chat_5(NPC, Spawn) + SetStepComplete(Spawn, RyGorrTaking, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_037.mp3", "", "", 3945219846, 2009013253, Spawn) + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "I'm beginning to think so, too.") + StartConversation(conversation, NPC, Spawn, "That is excellent, my friend! I am more certain today that your arrival here was not just a roll of luck, but predestined by the gods.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_039.mp3", "", "", 1313157093, 2613440725, Spawn) + AddConversationOption(conversation, "I don't know, but they looked like it.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "They are made of velium?") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_040.mp3", "", "", 1326282045, 1993468470, Spawn) + AddConversationOption(conversation, "Oh, what are you thinking?", "Quest5Chat_3") + AddConversationOption(conversation, "That would be nice.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Amazing. If it isn't one threat to our struggling city, it's another! But just maybe there is something to be gained here.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_041.mp3", "", "", 513600053, 106599260, Spawn) + AddConversationOption(conversation, "I'll harvest some from within the Velinoid Catacombs for you.", "OfferWatchBelow") + AddConversationOption(conversation, "It's too dangerous. Count me out!") + StartConversation(conversation, NPC, Spawn, "Velium is a prized element, " .. GetName(Spawn) .. ". I am willing to bet that there's a hefty copper to be made from velium harvested at such a location. Velium steeped in such potent arcanum must be even more desirable!") +end + +function Quest5Chat_4(NPC, Spawn) + SetStepComplete(Spawn, WatchBelow, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_044.mp3", "", "", 4176364117, 3019596787, Spawn) + AddConversationOption(conversation, "You're welcome.", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Ah! Look how it gleams, " .. GetName(Spawn) .. "! I am sure it will help to bankroll our operation here. Thank you.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_045.mp3", "", "", 653096289, 4240580228, Spawn) + AddConversationOption(conversation, "Sure, I am!", "OfferWatchBelow") + AddConversationOption(conversation, "No. I am not.") + StartConversation(conversation, NPC, Spawn, "Are you willing to return to the Velinoid Catacombs in order to collect us more glimmering velium, " .. GetName(Spawn) .. "?") +end + +function OfferWhirlingTime(NPC, Spawn) + OfferQuest(NPC, Spawn, WhirlingTime) +end + +function OfferHighlyMaterials(NPC, Spawn) + OfferQuest(NPC, Spawn, HighlyMaterials) +end + +function OfferCampsideSpores(NPC, Spawn) + OfferQuest(NPC, Spawn, CampsideSpores) +end + +function OfferRyGorrTaking(NPC, Spawn) + OfferQuest(NPC, Spawn, RyGorrTaking) +end + +function OfferWatchBelow(NPC, Spawn) + OfferQuest(NPC, Spawn, WatchBelow) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OlgaMacleod.lua b/Lua/SpawnScripts/FrostfangSea/OlgaMacleod.lua new file mode 100755 index 000000000..d7685da10 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OlgaMacleod.lua @@ -0,0 +1,102 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OlgaMacleod.lua + Script Purpose : Olga Macleod + Script Author : theFoof + Script Date : 2013.09.01 + Script Notes : +--]] + +local FrozenChowder = 88 + +function spawn(NPC) + ProvidesQuest(NPC, FrozenChowder) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, FrozenChowder) and not HasQuest(Spawn, FrozenChowder) then + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_001.mp3", "", "", 183975505, 4113739209, Spawn) + AddConversationOption(conversation, "I'm " .. GetName(Spawn) .. ", pleased to meet you.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "I'm Olga MacLeod, and you are?") + elseif GetQuestStep(Spawn, FrozenChowder) == 1 or GetQuestStep(Spawn, FrozenChowder) == 2 then + AddConversationOption(conversation, "Where can I find the halasian reeds and the frozen pincers?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Did you collect the ingredients I asked for?") + elseif GetQuestStep(Spawn, FrozenChowder) == 3 then + AddConversationOption(conversation, "I did indeed.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Did you collect the ingredients I asked for?") + else + PlayFlavor(NPC, "", "Thanks for helping me with the chowder!", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_003.mp3", "", "", 2540192341, 2605234909, Spawn) + AddConversationOption(conversation, "Can I get you something.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye there. I'm on break from working at The Stone Hammer. It's a pity there isn't anything to eat.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_004.mp3", "", "", 902632382, 378214084, Spawn) + AddConversationOption(conversation, "Really?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "No, the only thing that hits the spot on a day like this is my recipe for frozen pincer chowder. It's very delicious, I'm going to make it for the New Halas City Festival.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_005.mp3", "", "", 2856769449, 2240854922, Spawn) + AddConversationOption(conversation, "I could gather them for you.", "OfferFrozenChowder") + AddConversationOption(conversation, "What a pity.") + StartConversation(conversation, NPC, Spawn, "Yes. I'd make it now, but I don't have time to go and gather the ingredients myself.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks again, sometimes I forget these things!") + StartConversation(conversation, NPC, Spawn, "The halasian reeds and the frozen pincers are down near the water's edge at the Erollis Dock, east of New Halas.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Here you go.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Great, hand them over and I'll get to cooking!") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It smells delicious", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Thank Marr this cooks up fast. I'll be able to have a bowl before I must get back to work.") +end + +function Quest1Chat_7(NPC, Spawn) + SetStepComplete(Spawn, FrozenChowder, 3) + AddSpawnAccess(GetSpawn(NPC, 4701842), Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, NPC, Spawn, "Thanks Olga!") + StartConversation(conversation, NPC, Spawn, "There! Go ahead, ladle yourself some chowder.") +end + +function OfferFrozenChowder(NPC, Spawn) + OfferQuest(NPC, Spawn, FrozenChowder) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OlioSaphatho.lua b/Lua/SpawnScripts/FrostfangSea/OlioSaphatho.lua new file mode 100755 index 000000000..9d1a964d9 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OlioSaphatho.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OlioSaphatho.lua + Script Purpose : coercer trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local COERCER = 27 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == COERCER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow coercer?", "CoecChat1") + AddConversationOption(conversation, "It certainly is! Good day.") + StartConversation(conversation, NPC, Spawn, "I see you have chosen the path of a coercer. It is a challenging path, for sure.") + else + PlayFlavor(NPC, "", "Bending the will of your opponent means lending their strength to your own.", "hello", 0, 0, Spawn) + end +end + +function CoecChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "CoecChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function CoecChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "CoecChat3") + StartConversation(conversation, NPC, Spawn, "Do not underestimate your ability to dominate the minds of your foes, charming them to carry out your will. There is no need to conjure a pet, when you can force the enemy to fight amongst themselves!") +end + +function CoecChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "But do not rely solely on your charmed slaves. You must also hone your offensive and defensive spells! You can inflict magical and mental damage upon your targets through spells, while defending yourself by mesmerizing or stunning them.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot.lua b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot.lua new file mode 100755 index 000000000..b0b1085c3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfoot.lua + Script Purpose : Ordin Sleetfoot + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local BelowWaves = 59 + +local GoodDistraction = 61 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, GoodDistraction) then + if GetQuestStep(Spawn, GoodDistraction) == 1 then + AddSpawnAccess(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, GoodDistraction) then + + elseif HasCompletedQuest(Spawn, BelowWaves) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, GoodDistraction) == 1 then + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot001.mp3", "", "", 346156027, 2620260101, Spawn) + AddConversationOption(conversation, "I am. Slip into the shadows. I'll ensure no one realizes you're there.", "Quest1Chat_1") + AddConversationOption(conversation, "No, I am not ready yet.") + StartConversation(conversation, NPC, Spawn, "So yer the one who's to be the distraction so I can slip past these creatures, are ye? Well normally I don't trust strangers, but if Thirin trusts you, then I will as well. Are ye ready to go?") + else + PlayFlavor(NPC, "", "Shh! Quiet. I'm trying to watch for patterns in the orcs' patrols.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + AddTimer(NPC, 2000, "Step1", 1, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot002.mp3", "", "", 4202537039, 1639978352, Spawn) + AddConversationOption(conversation, "Be safe.") + StartConversation(conversation, NPC, Spawn, "Good, I'll meet you in the Velinoids' cave. Don't worry about finding me, you'll see me. Just keep on heading further into the cave.") +end + +function Step1(NPC, Spawn) + SetStepComplete(Spawn, GoodDistraction, 1) + RemoveSpawnAccess(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua new file mode 100755 index 000000000..3aabcbaa9 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua + Script Purpose : Ordin Sleetfoot + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local GoodDistraction = 61 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 15, "Ambush", "Ambush") +end + +function respawn(NPC) + spawn(NPC) +end + +function Ambush(NPC, Spawn) + if HasQuest(Spawn, GoodDistraction) then + if GetQuestStep(Spawn, GoodDistraction) == 2 then + AddSpawnAccess(NPC, Spawn) + local mob1 = SpawnByLocationID(GetZone(Spawn), 572712) + local mob2 = SpawnByLocationID(GetZone(Spawn), 34004) + SetTempVariable(mob1, "linked", mob2) + SetTempVariable(mob2, "linked", mob1) + Attack(mob1, Spawn) + Attack(mob2, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 3 then + AddSpawnAccess(NPC, Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, GoodDistraction) == 2 then + PlayFlavor(NPC, "", "Help me, please!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 3 then + AddTimer(NPC, 2000, "HideSpawn", 1, Spawn) + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot_one001.mp3", "", "", 678640011, 1694488257, Spawn) + AddConversationOption(conversation, "Be more careful next time.") + AddConversationOption(conversation, "I will protect you no matter what.") + StartConversation(conversation, NPC, Spawn, "Thanks for the back up there, I thought this was a good spot to hide. Well, shall we continue on? I'll meet you further into the cavern. Keep up the good work, and I'll be able to scout around undetected.") + end +end + +function HideSpawn(NPC, Spawn) + SetStepComplete(Spawn, GoodDistraction, 3) + RemoveSpawnAccess(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua new file mode 100755 index 000000000..825d30eda --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua + Script Purpose : Ordin Sleetfoot + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local GoodDistraction = 61 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 15, "Ambush", "Ambush") +end + +function respawn(NPC) + spawn(NPC) +end + +function Ambush(NPC, Spawn) + if HasQuest(Spawn, GoodDistraction) then + if GetQuestStep(Spawn, GoodDistraction) == 4 then + AddSpawnAccess(NPC, Spawn) + local mob1 = SpawnByLocationID(GetZone(Spawn), 572713) + local mob2 = SpawnByLocationID(GetZone(Spawn), 572714) + SetTempVariable(mob1, "linked", mob2) + SetTempVariable(mob2, "linked", mob1) + Attack(mob1, Spawn) + Attack(mob2, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 5 then + AddSpawnAccess(NPC, Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, GoodDistraction) == 4 then + PlayFlavor(NPC, "", "Help me, please!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 5 then + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot_two001.mp3", "", "", 70062741, 2568038023, Spawn) + AddConversationOption(conversation, "If you are done, we should head back. Thirin will want a report of what's in these caves.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Thank you again. Thirin is right, ye are dependable and I couldn't have done this without ye.") + end +end + +function Quest1Chat_1(NPC, Spawn) + AddTimer(NPC, 2000, "HideSpawn", 1, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot_two002.mp3", "", "", 2823426244, 1105831845, Spawn) + AddConversationOption(conversation, "Very well. Good luck.") + StartConversation(conversation, NPC, Spawn, "Of course. Ye head back without me. I want to check out what's up ahead. I'll meet ye back with Thirin when I'm done here. ") +end + +function HideSpawn(NPC, Spawn) + SetStepComplete(Spawn, GoodDistraction, 5) + RemoveSpawnAccess(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua new file mode 100755 index 000000000..0f0216921 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua + Script Purpose : for the spawn "Ordin Sleetfoot's Corpse" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local SleetfootParty = 62 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, SleetfootParty) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OreColdstein.lua b/Lua/SpawnScripts/FrostfangSea/OreColdstein.lua new file mode 100755 index 000000000..fc68bc677 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OreColdstein.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OreColdstein.lua + Script Purpose : movement path for ore coldstein + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 5, "InRange") + MovementLoopAddLocation(NPC, -163.4, 148.64, 7.9, 2, 0) + MovementLoopAddLocation(NPC, -166.86, 148.52, 33.36, 2, 0) + MovementLoopAddLocation(NPC, -141.97, 147.09, 45.75, 2, 0) + MovementLoopAddLocation(NPC, -111.31, 146.5, 17.37, 2, 0) + MovementLoopAddLocation(NPC, -84.11, 146.36, 25.1, 2, 0) + MovementLoopAddLocation(NPC, -77.74, 146.44, 19.53, 2, 0) + MovementLoopAddLocation(NPC, -91.21, 146.53, -2.92, 2, 0) + MovementLoopAddLocation(NPC, -67.78, 146.96, -21.08, 2, 0) + MovementLoopAddLocation(NPC, -17.86, 146.43, -20.44, 2, 0) + MovementLoopAddLocation(NPC, -6.99, 146.23, -50.87, 2, 0) + MovementLoopAddLocation(NPC, -76.01, 146.74, -69.34, 2, 0) + MovementLoopAddLocation(NPC, -76.38, 152.58, -103.59, 2, 0) + MovementLoopAddLocation(NPC, -58.53, 153.69, -121.51, 2, 0) + MovementLoopAddLocation(NPC, -39.7, 153.11, -115.98, 2, 3) + MovementLoopAddLocation(NPC, -46.91, 153.78, -132.33, 2, 0) + MovementLoopAddLocation(NPC, -63.83, 153.06, -144.21, 2, 0) + MovementLoopAddLocation(NPC, -109.03, 150.91, -145.99, 2, 0) + MovementLoopAddLocation(NPC, -109.43, 152.32, -121.26, 2, 0) + MovementLoopAddLocation(NPC, -76.97, 152.54, -102.32, 2, 0) + MovementLoopAddLocation(NPC, -80.46, 146.45, -75.78, 2, 0) + MovementLoopAddLocation(NPC, -109.02, 147.1, -63.48, 2, 0) + MovementLoopAddLocation(NPC, -94.14, 145.53, -33.29, 2, 0) + MovementLoopAddLocation(NPC, -109.89, 146.24, -12.32, 2, 0) + MovementLoopAddLocation(NPC, -129.26, 147.06, 3.77, 2, 0) + MovementLoopAddLocation(NPC, -142.7, 148.73, 4.83, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC) + if GetTempVariable(NPC, "chat_timer") == nil then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "", "Comin' through!", "nod", 1689589577, 4560189) + elseif choice == 2 then + PlayFlavor(NPC, "", "Coldain with a purpose!", "hello", 0, 0) + elseif choice == 3 then + PlayFlavor(NPC, "", "Juss passin' through!", "hello", 0, 0) + elseif choice == 4 then + PlayFlavor(NPC, "", "BURP! 'Scuse me!", "hello", 0, 0) + end + SetTempVariable(NPC, "chat_timer", "1") + AddTimer(NPC, 30000, "ChatTimer") + end +end + +function hailed(NPC) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function ChatTimer(NPC) + SetTempVariable(NPC, "chat_timer", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OricaDeadshot.lua b/Lua/SpawnScripts/FrostfangSea/OricaDeadshot.lua new file mode 100755 index 000000000..334ebc0ff --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OricaDeadshot.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OricaDeadshot.lua + Script Purpose : Orica Deadshot + Script Author : theFoof + Script Date : 2013.06.01 + Script Notes : +--]] +local DemandSupplies = 45 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, DemandSupplies) and GetQuestStep(Spawn, DemandSupplies) < 3 then + conversation = CreateConversation() + + PlayFlavor(NPC, "orica_deadshot/halas/great_shelf/orica_deadshot/orica_deadshot001.mp3", "", "", 3100922751, 3756102154, Spawn) + AddConversationOption(conversation, "Yes. Here you go.", "Chat") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Are those the supplies we've been waiting for?") + end +end + +function Chat(NPC, Spawn) + SetStepComplete(Spawn, DemandSupplies, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "orica_deadshot/halas/great_shelf/orica_deadshot/orica_deadshot002.mp3", "", "", 17831415, 4241254330, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Thank goodness! We need these glimmer visors to reliably see the orcs that have been trying to flank us. Yer a life-saver, " .. GetName(Spawn) .. "!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/OrnIceheart.lua b/Lua/SpawnScripts/FrostfangSea/OrnIceheart.lua new file mode 100755 index 000000000..caf8222b0 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/OrnIceheart.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrnIceheart.lua + Script Purpose : warlock trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local WARLOCK = 24 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == WARLOCK then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow warlock then?", "LockChat1") + AddConversationOption(conversation, "Well, you should. Good bye.") + StartConversation(conversation, NPC, Spawn, "My, my! Another warlock within our midst. Do not worry; I do not consider you a threat.") + else + PlayFlavor(NPC, "", "Well met!", "hello", 0, 0, Spawn) + end +end + +function LockChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "LockChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function LockChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "LockChat3") + StartConversation(conversation, NPC, Spawn, "We are masters of death and decay, inflicting poison and disease upon those that dare to challenge us, particularly on groups of opponents.") +end + +function LockChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "There are other adventuring classes that must rely on strong defenses to survive, but we focus on the offense. No need to defend yourself from a foe who is writhing in pain, plagued with disease!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/PadraigMcDougal.lua b/Lua/SpawnScripts/FrostfangSea/PadraigMcDougal.lua new file mode 100755 index 000000000..ab654c16e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/PadraigMcDougal.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PadraigMcDougal.lua + Script Purpose : Padraig McDougal + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I'm sorry, my services are only available to those more advanced in the arts.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua b/Lua/SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua new file mode 100755 index 000000000..0372cf260 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua + Script Purpose : Padraig McDougal + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello",0, 0, Spawn) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/PlurppBogthumb.lua b/Lua/SpawnScripts/FrostfangSea/PlurppBogthumb.lua new file mode 100755 index 000000000..52782c24a --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/PlurppBogthumb.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PlurppBogthumb.lua + Script Purpose : Plurpp Bogthumb + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "", "", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Please spare me your 'green thumb' jokes.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "A little love is all this sapling requires.", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1017.mp3", "", "", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/PretchonIronstein.lua b/Lua/SpawnScripts/FrostfangSea/PretchonIronstein.lua new file mode 100755 index 000000000..425d74c48 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/PretchonIronstein.lua @@ -0,0 +1,84 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PretchonIronstein.lua + Script Purpose : Pretchon Ironstein + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 4) then + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein001.mp3", "", "", 1138921900, 154999598, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "Can you tell me what you're doing here?", "Quest1Chat_1") + AddConversationOption(conversation, "Greetings, Pretch!", "Quest1Chat_5") + AddConversationOption(conversation, "Maybe this wasn't such a good idea. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Have we met before? My friends call me Pretch, but ye can call me Pretchon Ironstein.") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "Ye got yer answers. What do ye want now?", "hello", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "May yer ore be rich, and yer stein be full.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein003.mp3", "", "", 3031154636, 3454544430, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis?", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_3") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Sure, so long as ye make it quick. What would ye like to know?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein004.mp3", "", "", 2078038730, 2967258030, Spawn) + AddConversationOption(conversation, "Ah, I see. Well, why don't you leave?", "Quest1Chat_3") + AddConversationOption(conversation, "This can only go downhill from here. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Seeing as how this floating rock is a chunk of my homeland, I've always been here. Yer the newcomer, " .. GetName(Spawn) .. ".") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein005.mp3", "", "", 2277034168, 2486010941, Spawn) + AddConversationOption(conversation, "Can you explain that further?", "Quest1Chat_4") + AddConversationOption(conversation, "Sorry for your misfortune. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Where would we go? This is all that we have left of Velious, and now we're making the best of an awful situation.") +end + +function Quest1Chat_4(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein006.mp3", "", "", 28333391, 3841310148, Spawn) + AddConversationOption(conversation, "Good day and goodbye.") + StartConversation(conversation, NPC, Spawn, "Look. I intend to smash the Ry'Gorr, drink ale, and sail this floating isle until it sinks. Good day.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein002.mp3", "", "", 524764574, 2567502776, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "This can only go downhill from here. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Ah, yer a prankster, I see. Well, I'll be calling ye Wolfmeat. What can I do for ye, Wolfmeat?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua b/Lua/SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua new file mode 100755 index 000000000..fd19cdc02 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua + Script Purpose : Priest Aaronolis Swornlove + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if GetTempVariable(NPC, "chat_timer") == nil then + SetTempVariable(NPC, "chat_timer", "1") + AddTimer(NPC, 25000, "chat_timer") + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Were she still with us, Erollisi would have wanted you to spread love and friendship on this day.", "agree", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "", "The Fanthom Lord, The Truthbringer, and The Forge Lord all had their hand in establishing this holy place. It is awe inspiring!", "nod", 0, 0) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is that a statue of her?", "Chat1") + StartConversation(conversation, NPC, Spawn, "Welcome to the Cairn of The Huntress, " .. GetName(Spawn) .. "! Here we remember The Goddess of Love, Erollisi Marr, The Loving Huntress, The Queen of Love, Sister of Light.") +end + +function Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "It is not what I would have expected her to look like.", "Chat2") + AddConversationOption(conversation, "It is pretty.", "Chat4") + StartConversation(conversation, NPC, Spawn, "It is! It was sculpted by the Forge Lord, Varig Ro, and presented to Mithaniel Marr prior to Erollisi's self sacrifice. Varig truly captured her loving presence while still honoring her skill for hunting.") +end + +function Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How did it end up here?", "Chat3") + AddConversationOption(conversation, "I see what you mean. Good day.") + StartConversation(conversation, NPC, Spawn, "The deities of Norrath have often shown themselves in different forms, but what's important is that it captured her essence quite well.") +end + +function Chat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for sharing this with me.") + StartConversation(conversation, NPC, Spawn, "Mithaniel blessed us! He placed it here to share it with the world to serve as a reminder and spiritual inspiration to all. It reminds us of what she stood for and what there is to continue fighting for.") +end + +function Chat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Good day, Priest Swornlove.") + StartConversation(conversation, NPC, Spawn, "I am glad you think so, too.") +end + +function chat_timer(NPC) + SetTempVariable(NPC, "chat_timer", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/RakanRockbreaker.lua b/Lua/SpawnScripts/FrostfangSea/RakanRockbreaker.lua new file mode 100755 index 000000000..74c3d53db --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/RakanRockbreaker.lua @@ -0,0 +1,141 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RakanRockbreaker.lua + Script Purpose : Rakan Rockbreaker + Script Author : theFoof + Script Date : 2013.06.01 + Script Notes : +--]] + + +-- add in repeatable quest dialogue when available + +local DemandSupplies = 45 + +local FoilingFlank = 46 + +function spawn(NPC) + ProvidesQuest(NPC, DemandSupplies) + ProvidesQuest(NPC, FoilingFlank) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, DemandSupplies) and not HasQuest(Spawn, DemandSupplies) then + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker001.mp3", "", "", 2002637275, 536344722, Spawn) + AddConversationOption(conversation, "What supplies?", "Quest1Chat_1") + AddConversationOption(conversation, "I'm busy at the moment. Goodbye.") + StartConversation(conversation, NPC, Spawn, "We've got to hurry! These supplies need to be delivered to the front lines, and quickly.") + elseif HasQuest(Spawn, DemandSupplies) and GetQuestStep(Spawn, DemandSupplies) < 3 then + PlayFlavor(NPC, "", "Ye've got to hurry! They need those supplies and they need em now!", "threaten", 0, 0, Spawn) + elseif GetQuestStep(Spawn, DemandSupplies) == 3 then + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker006.mp3", "", "", 3102394371, 3200634636, Spawn) + AddConversationOption(conversation, "I went as quickly as I could.", "Quest1Chat_4") + AddConversationOption(conversation, "They have the supplies they needed.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Yer back! I trust ye delivered the supplies to the coldain soldiers.") + elseif HasCompletedQuest(Spawn, DemandSupplies) and not HasQuest(Spawn, FoilingFlank) then + Quest2Chat_2(NPC, Spawn) + elseif HasQuest(Spawn, FoilingFlank) and GetQuestStep(Spawn, FoilingFlank) ~= 3 then + PlayFlavor(NPC, "", "As we speak, those snow glimmered runners are making their way up the choke!", "tap foot", 0, 0, Spawn) + elseif GetQuestStep(Spawn, FoilingFlank) == 3 then + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker015.mp3", "", "", 26313219, 1364697377, Spawn) + AddConversationOption(conversation, "Of course.", "Quest2Chat_4") + AddConversationOption(conversation, "It wasn't easy, but I took care of them.", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "Yer back, and in one piece. Were ye successful in yer task? Did ye take care of the orcs?") + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker002.mp3", "", "", 2334563481, 118587127, Spawn) + AddConversationOption(conversation, "What are glimmer visors?", "Quest1Chat_2") + AddConversationOption(conversation, "I'll deliver the supplies for you.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm busy at the moment. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Reforged weapons for the soldiers, and glimmer visors for the archers.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker003.mp3", "", "", 2462675267, 3917758225, Spawn) + AddConversationOption(conversation, "I'll deliver the supplies for you.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm busy at the moment. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The visors allow our archers to see the Ry'Gorr orcs that have been camouflaged by a snow glimmer. Otherwise they'll get through and flank our forces.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker004.mp3", "", "", 3607684996, 3048983099, Spawn) + AddConversationOption(conversation, "I'll do just that.", "OfferDemandSupplies") + AddConversationOption(conversation, "You can count on me.", "OfferDemandSupplies") + StartConversation(conversation, NPC, Spawn, "Perfect. Bring these supplies to our defenders perched at the peak of Herga's Choke. The leaders will take the goods off your hands and distribute them to the coldain.") +end + +function Quest1Chat_4(NPC, Spawn) + SetStepComplete(Spawn, DemandSupplies, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker007.mp3", "", "", 84500025, 397416081, Spawn) + AddConversationOption(conversation, "Was there something else you needed?", "Quest2Chat_1") + AddConversationOption(conversation, "I'm afraid I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Phew! That's a relief. We just might be able to stop them for awhile longer.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker008.mp3", "", "", 3124701734, 1733764756, Spawn) + AddConversationOption(conversation, "So you need me to deal with them?", "Quest2Chat_3") + AddConversationOption(conversation, "This is too much for me to handle. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr have figured out a way to make themselves all but invisible, and are charging up the choke. ") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker010.mp3", "", "", 3359211699, 295105343, Spawn) + AddConversationOption(conversation, "Was there something else you needed?", "Quest2Chat_1") + AddConversationOption(conversation, "I'm afraid I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yer a fine sort fer delivering those supplies, " .. GetName(Spawn) .. ". Unfortunately, our troubles are far from over.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker011.mp3", "", "", 268182012, 816884804, Spawn) + AddConversationOption(conversation, "I'd be happy to try.", "OfferFoilingFlank") + AddConversationOption(conversation, "This is too much for me to handle. Goodbye.") + StartConversation(conversation, NPC, Spawn, "We need to deal with them, as well as the orcs that are maintaining the portal at the pinnacle of Herga's Choke. Our coldain forces are barely able to keep up with the unending onslaught, but perhaps ye can break the stalemate.") +end + +function Quest2Chat_4(NPC, Spawn) + SetStepComplete(Spawn, FoilingFlank, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker017.mp3", "", "", 101832850, 1600602204, Spawn) + AddConversationOption(conversation, "Victory is certain.") + AddConversationOption(conversation, "I'm happy to have helped.") + StartConversation(conversation, NPC, Spawn, "I knew we could count on ye," .. GetName(Spawn) .. "! The battle for the portal is surely ours now.") +end + +function OfferDemandSupplies(NPC, Spawn) + OfferQuest(NPC, Spawn, DemandSupplies) +end + +function OfferFoilingFlank(NPC, Spawn) + OfferQuest(NPC, Spawn, FoilingFlank) +end diff --git a/Lua/SpawnScripts/FrostfangSea/RibbitHopson.lua b/Lua/SpawnScripts/FrostfangSea/RibbitHopson.lua new file mode 100755 index 000000000..14b5c8e43 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/RibbitHopson.lua @@ -0,0 +1,110 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RibbitHopson.lua + Script Purpose : Ribbit Hopson + Script Author : theFoof + Script Date : 2013.08.27 + Script Notes : +--]] + +local SpiderPuffs = 87 + +function spawn(NPC) + ProvidesQuest(NPC, SpiderPuffs) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + PlayFlavor(NPC, "", "Come on in, the door's open!", "beckon", 1689589577, 4560189, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, SpiderPuffs) and not HasQuest(Spawn, SpiderPuffs) then + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_001.mp3", "", "", 2788145631, 3173619593, Spawn) + AddConversationOption(conversation, "Hello, Ribbit. I am " .. GetName(Spawn) .. ".", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello! I haven't seen you around before. I am Ribbit Hopson, an immigrant from Qeynos.") + elseif GetQuestStep(Spawn, SpiderPuffs) == 1 or GetQuestStep(Spawn, SpiderPuffs) == 2 then + AddConversationOption(conversation, "Where can I find the dame's rocket and wooly silkspinners?", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you collected the ingredients I asked for?") + elseif GetQuestStep(Spawn, SpiderPuffs) == 3 then + AddConversationOption(conversation, "I have the dame's rockets and the woolly silkspinner meat.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the ingredients I asked for?") + elseif GetQuestStep(Spawn, SpiderPuffs) == 4 then + PlayFlavor(NPC, "", "Go ahead, try one!", "beckon", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, SpiderPuffs) then + PlayFlavor(NPC, "", "Thanks for your help. The spider puffs are pretty good, huh?", "thanks", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_003.mp3", "", "", 3519293872, 2814938385, Spawn) + AddConversationOption(conversation, "Is there anything with which I can help you?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "It is nice to meet you. I am busy preparing for the New Halas City Festival! Many people will come from all over Norrath to New Halas during the festival, so it is important that we put our best flipper forward.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_004.mp3", "", "", 776305400, 980133477, Spawn) + AddConversationOption(conversation, "So?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I am going to make my family's secret recipe for spider puffs for the festival, but I do not know how it will taste with the spiders native to New Halas. I've been growing the dame's rocket seedlings that I brought with me to New Halas, and they are just now ripening.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_005.mp3", "", "", 1928136735, 1280650233, Spawn) + AddConversationOption(conversation, "I could do that!", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Well, I'm no fighter and usually I'd pay someone to collect spider meat for me.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_006.mp3", "", "", 2761139077, 596680396, Spawn) + AddConversationOption(conversation, "That would be fine.", "OfferSpiderPuffs") + AddConversationOption(conversation, "I'm not mucking about some cave for some disgusting puffs. No thank you.") + StartConversation(conversation, NPC, Spawn, "I warn you, I do not have much money left over. As it turns out, pilgrimages are much more expensive than you would suppose! But I could give you some of the baked spider puffs, they are most delicious.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, Ribbit. I shall return with the ingredients.") + StartConversation(conversation, NPC, Spawn, "The dame's rocket is right outside my door and the woolly silkspinners are in the cave leading to the Erollis Dock.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can rest a bit.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Splendid! If you will rest for a moment, I can have the spider puff batter whipped up and baked in no time!") +end + +function Quest1Chat_7(NPC, Spawn) + AddSpawnAccess(GetSpawn(NPC, 4701841), Spawn) + SetStepComplete(Spawn, SpiderPuffs, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, Ribbit!") + StartConversation(conversation, "There, finished! Please take some puffs for yourself.") +end + +function OfferSpiderPuffs(NPC, Spawn) + OfferQuest(NPC, Spawn, SpiderPuffs) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/RickaStonehide.lua b/Lua/SpawnScripts/FrostfangSea/RickaStonehide.lua new file mode 100755 index 000000000..8c862c103 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/RickaStonehide.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RickaStonehide.lua + Script Purpose : Ricka Stonehide + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks for the information, I just might do that.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Search for the relics of the past Age of Turmoil. Their discovery will gain you great power and prestige!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua b/Lua/SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua new file mode 100755 index 000000000..1e9900721 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua + Script Purpose : to make the mining barrel die and create an explosion/hide the rock widget + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 500, "destroy_barrel") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function destroy_barrel(NPC) + player = GetTempVariable(NPC, "player") + KillSpawn(NPC, player, 0) + anim = SpawnByLocationID(GetZone(player), 441170) + AddSpawnAccess(anim, player) + SetTempVariable(anim, "player", player) + SetTempVariable(NPC, "player", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua b/Lua/SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua new file mode 100755 index 000000000..c3011918b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua + Script Purpose : for the spawn "Ry'Gorr firepit torch" + Script Author : theFoof + Script Date : 2013.6.20 + Script Notes : +--]] + +local HighlyMaterials = 74 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SetRequiredQuest(NPC, HighlyMaterials, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, HighlyMaterials) and not HasItem(Spawn, 47882) then + AddSpawnAccess(NPC, Spawn) + end +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up' then + if HasQuest(Spawn, HighlyMaterials) and not HasItem(Spawn, 47882) then + Despawn(NPC) + SummonItem(Spawn, 47882) + if HasQuest(Spawn, HighlyMaterials) and GetQuestStep(Spawn, HighlyMaterials) == 1 then + SetStepComplete(Spawn, HighlyMaterials, 1) + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/RyGorrweaponrack.lua b/Lua/SpawnScripts/FrostfangSea/RyGorrweaponrack.lua new file mode 100755 index 000000000..ca99d8b14 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/RyGorrweaponrack.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RyGorrweaponrack.lua + Script Purpose : for the ry'gorr weapon racks (unnamed spawn) + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : +--]] + +local RoughingReinforcements = 57 + +function spawn(NPC) + SetRequiredQuest(NPC, RoughingReinforcements, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Destroy Ry'Gorr Weapons" then + if HasQuest(Spawn, RoughingReinforcements) then + if not QuestStepIsComplete(Spawn, RoughingReinforcements, 3) then + AddStepProgress(Spawn, RoughingReinforcements, 3, 1) + Despawn(NPC) + end + end + end +end diff --git a/Lua/SpawnScripts/FrostfangSea/SanaStrongbellow.lua b/Lua/SpawnScripts/FrostfangSea/SanaStrongbellow.lua new file mode 100755 index 000000000..be1945296 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SanaStrongbellow.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SanaStrongbellow.lua + Script Purpose : Sana Strongbellow + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "I'll work towards that end then.") + StartConversation(conversation, NPC, Spawn, "I'm sorry, until you have chosen a specialty in your craft I do not have any work orders for you. Come see me when you're more practiced in your trade.") +end + diff --git a/Lua/SpawnScripts/FrostfangSea/ScionofDiscord.lua b/Lua/SpawnScripts/FrostfangSea/ScionofDiscord.lua new file mode 100755 index 000000000..3fdf8606d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ScionofDiscord.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ScionofDiscord.lua + Script Purpose : Scion of Discord + Script Author : Foof + Script Date : 2013.10.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1023.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Quite so.", "dlg_30_1") + AddConversationOption(conversation, "I am not ready yet.") + StartConversation(conversation, NPC, Spawn, "The will of Discord is to let your skill distinguish you from others. It is not just how you fight, but how often you are the source of death. Are you skilled enough to be considered among the elite?") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I show you? ", "dlg_30_2") + AddConversationOption(conversation, "On second thought, I am not ready. Farewell. ") + StartConversation(conversation, NPC, Spawn, "I bring favor to those that can back up their words, though your skill is yet to be seen. Consider your words or they will bring you shame! ") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin! ", "dlg_30_3") + AddConversationOption(conversation, "I am not sure I can do that right now. Farewell. ") + StartConversation(conversation, NPC, Spawn, "The test is simple: kill or be killed. Plenty of would-be slayers roam the battlefield as we speak. You must deliver death in order to be given rewards. Are you ready to back your words? ") +end + +function dlg_30_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "Discord be with you!") +end +--]] +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1023.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/Lua/SpawnScripts/FrostfangSea/ScionofDiscord_(victory).lua b/Lua/SpawnScripts/FrostfangSea/ScionofDiscord_(victory).lua new file mode 100755 index 000000000..fecf94d1b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ScionofDiscord_(victory).lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ScionofDiscord.lua + Script Purpose : Scion of Discord + Script Author : Foof + Script Date : 2013.10.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1026.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Victory! ", "dlg_31_1") + AddConversationOption(conversation, "I am not interested in what you offer...") + StartConversation(conversation, NPC, Spawn, "The will of Discord is to raise leaders among the masses. You can fight aimlessly in battle, or you can lead your team to victory! The choice is yours.") +end + +function dlg_31_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is there for me to do? ", "dlg_31_2") + AddConversationOption(conversation, "On second thought, I can't at this time. Farewell. ") + StartConversation(conversation, NPC, Spawn, "Great choice! You are a fine specimen, fine indeed. I can sense that you are not someone that likes to fail. That is good for you and me. ") +end + +function dlg_31_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Discord will be honored with a victory! ", "dlg_31_3") + AddConversationOption(conversation, "I am not sure I can do that right now. Farewell. ") + StartConversation(conversation, NPC, Spawn, "It is simple, win! You must make your way through the battle and lead your team to victory. Each day will bring a different challenge. Are you ready to begin? ") +end + +function dlg_31_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "Discord be with you!") +end +--]] +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1026.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/Lua/SpawnScripts/FrostfangSea/Scourgesonarrow.lua b/Lua/SpawnScripts/FrostfangSea/Scourgesonarrow.lua new file mode 100755 index 000000000..ad2a5efcc --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/Scourgesonarrow.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/Scourgesonarrow.lua + Script Purpose : for the spawn "Scourgeson arrow" + Script Author : theFoof + Script Date : 2013.6.16 + Script Notes : +--]] + +local WhirlingTime = 70 + +function spawn(NPC) + SetRequiredQuest(NPC, WhirlingTime, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'apply draught' then + if GetQuestStep(Spawn, WhirlingTime) == 1 then + if HasItem(Spawn, 6556) then + SpawnMob(GetZone(Spawn), 4701138, 0, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + AddStepProgress(Spawn, WhirlingTime, 1, 1) + Despawn(NPC) + else + SendMessage(Spawn, "You must have the Draught of Whirling Ice to use it!", "yellow") + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SigbrithMacInnes.lua b/Lua/SpawnScripts/FrostfangSea/SigbrithMacInnes.lua new file mode 100755 index 000000000..be85d90c5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SigbrithMacInnes.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SigbrithMacInnes.lua + Script Purpose : Sigbrith MacInnes + Script Author : Foof + Script Date : 2013.05.21 + Script Notes : +--]] + +local LostFroglok = 26 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if GetQuestStep(Spawn, LostFroglok) == 1 then + conversation = CreateConversation() + + PlayFlavor(NPC, "sigbrith_macinnes/halas/gwenevyns_cove/sigbrith_macinnes/sigbrith_macinnes_001.mp3", "", "", 3335073691, 1240095725, Spawn) + AddConversationOption(conversation, "Excuse me, Sigbrith MacInnes?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Yes?") + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sigbrith_macinnes/halas/gwenevyns_cove/sigbrith_macinnes/sigbrith_macinnes_003.mp3", "", "", 4092947662, 401427635, Spawn) + AddConversationOption(conversation, "That's where the grizzlies are!", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I saw little Splorpy run off and play with the other children. They went over the hill, to the southwest.") +end + +function Quest1Chat_3(NPC, Spawn) + SetStepComplete(Spawn, LostFroglok, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sigbrith_macinnes/halas/gwenevyns_cove/sigbrith_macinnes/sigbrith_macinnes_004.mp3", "", "", 3124673910, 3802002199, Spawn) + AddConversationOption(conversation, "Thank you for the information. I must now go and search for Splorpy.") + StartConversation(conversation, NPC, Spawn, "Yes, and if the children were chased by them they may have run even further away from our camp. I'm sure Splorpy is fine, but it's nice for you to have concern for these poor pilgrims.") +end diff --git a/Lua/SpawnScripts/FrostfangSea/SisterAalarya.lua b/Lua/SpawnScripts/FrostfangSea/SisterAalarya.lua new file mode 100755 index 000000000..255e28f43 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SisterAalarya.lua @@ -0,0 +1,136 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterAalarya.lua + Script Purpose : Sister Aalarya + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 3) then + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya001.mp3", "", "", 2119732267, 2070285157, Spawn) + AddConversationOption(conversation, "Is this a good time?", "Quest1Chat_1") + AddConversationOption(conversation, "I have a few questions about the Sisterhood.", "Quest1Chat_7") + AddConversationOption(conversation, "Brogan MacLellan sent me to speak with you.", "Quest1Chat_6") + AddConversationOption(conversation, "I can already tell this is going to be painful. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Hello there, friend. Blessings of Erollisi to you.") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "Hello again, " .. GetName(Spawn) .. ". Blessings of Erollisi to you.", "hello", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Blessings of Erollisi to you.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya002.mp3", "", "", 778240445, 1265640341, Spawn) + AddConversationOption(conversation, "Perfect.", "Quest1Chat_7") + AddConversationOption(conversation, "On second thought, I have somewhere to be.") + StartConversation(conversation, NPC, Spawn, "Of course. I was looking forward to some stimulating conversation. Sometimes the quiet life of a Sister, while spiritually fulfilling, is dreadfully dull. Ho hum.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya005.mp3", "", "", 2831123605, 2891513253, Spawn) + AddConversationOption(conversation, "What did he do?", "Quest1Chat_3") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Mithaniel Marr smiled upon this forsaken land when He saw the plight of the coldain. They were lost, forgotten, and locked in an endless and hopelessly futile battle with the Ry'Gorr. ") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya006.mp3", "", "", 839696070, 368595826, Spawn) + AddConversationOption(conversation, "So how does Erollisi fit in?", "Quest1Chat_4") + AddConversationOption(conversation, "Isn't that a bit Deus Ex Machina?", "Quest1Chat_8") + AddConversationOption(conversation, "I can't stand the preaching of a religious zealot. Goodbye.") + StartConversation(conversation, NPC, Spawn, "He blessed the isle, and showed pilgrims the way here. Since His intervention, this land has flourished.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya009.mp3", "", "", 3023080955, 3940179989, Spawn) + AddConversationOption(conversation, "And you are followers of Erollisi Marr.", "Quest1Chat_5") + AddConversationOption(conversation, "Hence the name: Erollis.", "Quest1Chat_5") + AddConversationOption(conversation, "I can't stand the preaching of a religious zealot. Goodbye.") + StartConversation(conversation, NPC, Spawn, "He left us this statue of His sister. This isle is named in Her honor.") +end + +function Quest1Chat_5(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya010.mp3", "", "", 2543843692, 2274240039, Spawn) + AddConversationOption(conversation, "Thank you, Sister Aalarya.") + AddConversationOption(conversation, "I can understand why followers would come here.") + StartConversation(conversation, NPC, Spawn, "This place has become a sacred meeting place for devoted followers of Marr. All who worship Mithaniel or Erollisi are welcome to join us and pay Them tribute.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya004.mp3", "", "", 2080247973, 2428888366, Spawn) + AddConversationOption(conversation, "Okay, okay, I'm leaving!") + StartConversation(conversation, NPC, Spawn, "Brogan? Brogan MacLellan?! Again? So now that we stopped acknowledging him, he's sending others to harass us! I refuse to honor his inane, vapid, fever-mad, unfounded accusations with a response. Get out of here, NOW!") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya003.mp3", "", "", 3370074263, 1372386631, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis?", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_9") + AddConversationOption(conversation, "Is it true what they say about the Sisterhood?", "Quest1Chat_10") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "It is my duty to speak to travelers about our order. What would you like to know?") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya011.mp3", "", "", 735077916, 1256331838, Spawn) + AddConversationOption(conversation, "So how does Erollisi fit in?", "Quest1Chat_4") + AddConversationOption(conversation, "I can't stand the preaching of a religious zealot. Goodbye.") + StartConversation(conversation, NPC, Spawn, "One cannot claim to understand the machinations or motivations of the gods. They can drastically change our world or they can leave us to our own designs. The faithful will not question Their actions.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see what you mean.", "Quest1Chat_3") + AddConversationOption(conversation, "Tell me about your arrival.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "This land is holy, blessed by the gods we revere. I'll answer your question with a question: why would be anywhere else?") +end + +function Quest1Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sorry to offend. Tell me about your arrival.", "Quest1Chat_3") + AddConversationOption(conversation, "You wouldn't be so defensive if you weren't hiding something!") + StartConversation(conversation, NPC, Spawn, 'That depends on what "they" say. And I would suggest that unless you are genuinely interested in becoming a member of the Sisterhood, that you ' .. "don't make a cad of yourself by questioning our customs.") +end diff --git a/Lua/SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua b/Lua/SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua new file mode 100755 index 000000000..ab30cd16d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua + Script Purpose : chat with Sister Katey Dalwynn + Script Author : theFoof + Script Date : 2013.9.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Varig Ro's handiwork is amazin! He outdid himself with this statue of the Loving Huntress.", "hello", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "We must continue to hold charity, truth, honor and valor within our lives, in her memory.", "hello", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "In the name or Erollisi we must not give up on love, compassion, devotion, or sacrifice.", "hello", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua b/Lua/SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua new file mode 100755 index 000000000..730d3dd06 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua + Script Purpose : Sister Leela Prendyn + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "I miss Tearfall whenever I must be away, but this place soothes my soul.", "agree", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "The Loving Huntress will never be forgotten.", "no", 0, 0, Spawn) + end + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SisterThogMacGilly.lua b/Lua/SpawnScripts/FrostfangSea/SisterThogMacGilly.lua new file mode 100755 index 000000000..3ab30bf9c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SisterThogMacGilly.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterThogMacGilly.lua + Script Purpose : Sister Thog MacGilly + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "I can feel the influence of love here, in a way that I haven't in years!", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Mithaniel himself was the one to plant the statue of Erollisi here.", "hello", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "We must honor Erollisi, and spread her virtues to the corners of this world.", "hello", 0, 0, Spawn) + end +end + diff --git a/Lua/SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua b/Lua/SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua new file mode 100755 index 000000000..df0922a69 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua + Script Purpose : Skjolrandr Halculloch + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : movement loop for random npc in halas +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -61.57, 146.11, -50.21, 2, 0) + MovementLoopAddLocation(NPC, -16.67, 146.19, -58.03, 2, 0) + MovementLoopAddLocation(NPC, 12.94, 147.61, -96.37, 2, 0) + MovementLoopAddLocation(NPC, 72.31, 148.34, -88.88, 2, 0) + MovementLoopAddLocation(NPC, 109.63, 155.62, -137.94, 2, 0) + MovementLoopAddLocation(NPC, 72.31, 148.34, -88.88, 2, 0) + MovementLoopAddLocation(NPC, 12.94, 147.61, -96.37, 2, 0) + MovementLoopAddLocation(NPC, -16.67, 146.19, -58.03, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua new file mode 100755 index 000000000..923bc3633 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua + Script Purpose : Splorpy Quagmarr spawn at the pilgrim camp + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +local UnbearableProblem = 25 + +local LostFroglok = 26 + +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasCompletedQuest(Spawn, LostFroglok) == false then + PlayFlavor(NPC, "", "Dad says I'm not to talk to strangers.", "sad", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Hello again!", "wave", 1689589577, 4560189, Spawn) + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, UnbearableProblem) then + if GetQuestStep(Spawn, UnbearableProblem) == 2 then + + else + AddSpawnAccess(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, UnbearableProblem) and HasCompletedQuest(Spawn, LostFroglok) == false then + + elseif GetQuestStep(Spawn, GreatShelf) > 1 or HasCompletedQuest(Spawn, GreatShelf) then + + else + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua new file mode 100755 index 000000000..a63d79bc3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua + Script Purpose : hides flibbit until quest series is finished + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, 30) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua new file mode 100755 index 000000000..3ad312710 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua + Script Purpose : Splorpy Quagmarr lost during the quest Little LostFroglok + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +local LostFroglok = 26 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, LostFroglok) == 2 then + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_001.mp3", "", "", 3711049527, 3895860763, Spawn) + AddConversationOption(conversation, "Splorpy! It's me, " .. GetName(Spawn) .. ". I'm a friend of your dad's.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello? Who's there?") + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_002.mp3", "", "", 4266619341, 398836584, Spawn) + AddConversationOption(conversation, "That I did. How did you get out here?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "I remember you! You killed the bad bears!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_003.mp3", "", "", 3146179411, 3806044983, Spawn) + AddConversationOption(conversation, "You were frightened by a barbarian?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I was playing hide and seek with the other kids when a huge man jumped out at us! We screamed and I hopped away as fast as I could!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_004.mp3", "", "", 2435575866, 3227047552, Spawn) + AddConversationOption(conversation, "Well, I'm here to take you back to your dad. I think we should get going before you get any colder.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "No, " .. GetName(Spawn) .. "! His whole body was a beard! I know what a barbarian looks like and this was not a barbarian.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_005.mp3", "", "", 3060792386, 2313305125, Spawn) + AddConversationOption(conversation, "Maybe.", "FollowPlayer") + StartConversation(conversation, NPC, Spawn, "Okay! Maybe dad will have some hot stew ready!") +end + +function FollowPlayer(NPC, Spawn) + SetStepComplete(Spawn, LostFroglok, 2) + RemoveSpawnAccess(NPC, Spawn) + local pet = SpawnMob(GetZone(NPC), 4701835, 0, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + SetTempVariable(Spawn, "splorp", pet) + SetFollowTarget(pet, Spawn) + ToggleFollow(pet) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, LostFroglok) == 2 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua new file mode 100755 index 000000000..f59d829e7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua + Script Purpose : the Splorply Quagmarr pet from the quest "Little Lost Froglok" + Script Author : theFoof + Script Date : 2013.05.22 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 5000, "chatswitch") + AddTimer(NPC, 600000, "depop") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function chatswitch(NPC) + choice = math.random(1,6) + if choice == 1 then + Say(NPC, "Did you fight those with your bare hands?") + elseif choice == 2 then + Say(NPC, "It's cold out here!") + elseif choice == 3 then + Say(NPC, "I have to go to the bathroom.") + elseif choice == 4 then + Say(NPC, "Do you know where you are going?") + elseif choice == 5 then + Say(NPC, "I wonder if I'll get to see Mithaniel Marr!") + elseif choice == 6 then + Say(NPC, "That bear was eating a dead pilgrim!") + end + AddTimer(NPC, math.random(15000,30000), "chatswitch") +end + +function depop(NPC, Spawn) + Despawn(NPC) +end + \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua new file mode 100755 index 000000000..6e860b418 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua + Script Purpose : for the spawn "Splorpy Quagmarr" located in the great shelf cave. + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "Hello again!", "wave", 1689589577, 4560189, Spawn) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/SuhubaVankedisi.lua b/Lua/SpawnScripts/FrostfangSea/SuhubaVankedisi.lua new file mode 100755 index 000000000..c0a81c5e9 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/SuhubaVankedisi.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SuhubaVankedisi.lua + Script Purpose : berserker trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local BERSERKER = 4 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == BERSERKER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice can you give to another berserker?", "ZerkChat1") + AddConversationOption(conversation, "It does, doesn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "I see a familiar fire in your eyes, warrior. The same burning rage that resides within all berserkers!") + else + PlayFlavor(NPC, "", "This land is full of battle. I like it!", 0, 0, Spawn) + end +end + +function ZerkChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "ZerkChat2") + StartConversation(conversation, NPC, Spawn, "Let that rage consume you! It makes you stronger and fuels your unbridled aggression and fury. This is especially useful when facing many foes at once, inflicting damage on the highest amount of enemies with our wild swings.") +end + +function ZerkChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's interesting.", "ZerkChat3") + StartConversation(conversation, NPC, Spawn, "But it is not just an offensive power. It also helps reduce the amount of damage inflicted upon you, and can help you regain your health when you have been injured.") +end + +function ZerkChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's useful to know!", "ZerkChat4") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affets your health. This is crucial.") +end + +function ZerkChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor would be considered too heavy by others, but with your focus on strength such highly protective armor has no downside.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TadHopson.lua b/Lua/SpawnScripts/FrostfangSea/TadHopson.lua new file mode 100755 index 000000000..78b1a7193 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TadHopson.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TadHopson.lua + Script Purpose : Tad Hopson + Script Author : theFoof + Script Date : 2013.09.13 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "My parents say I'm not supposed to talk to strangers.", "speaknoevil", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/TadIronstein.lua b/Lua/SpawnScripts/FrostfangSea/TadIronstein.lua new file mode 100755 index 000000000..976910ccd --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TadIronstein.lua @@ -0,0 +1,101 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TadIronstein.lua + Script Purpose : Tad Ironstein + Script Author : theFoof + Script Date : 2013.06.09 + Script Notes : +--]] + +local ReportSpine = 44 + +local NightmareOver = 73 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, ReportSpine) == 1 or GetQuestStep(Spawn, NightmareOver) == 1 then + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_001.mp3", "", "", 159212760, 893738328, Spawn) + AddConversationOption(conversation, GetName(Spawn) .. ", reporting for duty!", "Quest1Chat_1") + AddConversationOption(conversation, "Belka sent me.", "Quest1Chat_1") + AddConversationOption(conversation, "What can I do to help?", "Quest1Chat_1") + AddConversationOption(conversation, "I'm going to have a look around, first. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Oi! We're in a heap of trouble. It's about time we got some fresh blood to help stave off the Ry'Gorr offensive.") + elseif HasCompletedQuest(Spawn, ReportSpine) then + Quest1Chat_2(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_002.mp3", "", "", 767750494, 124592983, Spawn) + AddConversationOption(conversation, "I prefer to stand. What's going on?", "Quest1Chat_2") + AddConversationOption(conversation, "Go ahead. I'm listening.", "Quest1Chat_2") + AddConversationOption(conversation, "I'm going to have a look around, first. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I've heard good things about ye, " .. GetName(Spawn) .. ". Cop a squat and let me fill ye in on the details of our predicament.") +end + +function Quest1Chat_2(NPC, Spawn) + if not HasCompletedQuest(Spawn, NightmareOver) then + SetStepComplete(Spawn, NightmareOver, 1) + end + if not HasCompletedQuest(Spawn, ReportSpine) then + SetStepComplete(Spawn, ReportSpine, 1) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_003.mp3", "", "", 4232630025, 1474295833, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_3") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Hillfred Kinlock is the lass to talk to for your next assignment in tackling the Ry'Gorr that have been assaulting our camp.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_004.mp3", "", "", 2381720580, 2582728568, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_4") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "We're under siege from not just orcs, but blasted imps as well. I understand Knut Orcbane is lookin' for adventurers willing to deal with the mischievous monsters. He's looking for his sanity as well, so maybe ye can help him find that too.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_005.mp3", "", "", 520233498, 1846378100, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_5") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Thirin Veliumdelver is worried about the current state of our equipment, and I don't blame him. Our gear is falling apart from extended use, so there's real reason to be worried.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_006.mp3", "", "", 678304878, 2445816043, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_6") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Lastly, Odon Scourgeson thinks he's come up with a way to shroud the beach front in a whorl of mist to confuse the Ry'Gorr. Sounds crazy to me, but I've always been a fan of the more direct hands-on approach.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_007.mp3", "", "", 3904075644, 3425628781, Spawn) + AddConversationOption(conversation, "Glad to be here.") + AddConversationOption(conversation, "I'll see what I can do to help.") + StartConversation(conversation, NPC, Spawn, "That'll do, for starters. Glad to have ye aboard, " .. GetName(Spawn) .. ".") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TarynHighsea.lua b/Lua/SpawnScripts/FrostfangSea/TarynHighsea.lua new file mode 100755 index 000000000..5ee748032 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TarynHighsea.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TarynHighsea.lua + Script Purpose : Taryn Highsea + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + Chat(NPC) +end + +function hailed(NPC, Spawn) + Chat(NPC) +end + +function Chat(NPC) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "I can help! Come closer for a consultation!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "A new look for a new town, that's what I always say!", "smile", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Hm...I'm pretty sure that look is bad luck.", "beckon", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TergjerdGoreblade.lua b/Lua/SpawnScripts/FrostfangSea/TergjerdGoreblade.lua new file mode 100755 index 000000000..f720fb0ba --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TergjerdGoreblade.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TergjerdGoreblade.lua + Script Purpose : paladin trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local PALADIN = 10 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == PALADIN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a another paladin?", "PalChat1") + AddConversationOption(conversation, "They do, don't they? Good day.") + StartConversation(conversation, NPC, Spawn, "I see a familiar fire in your eyes, warrior. The same flames of righteousness rside within all paladins!") + else + PlayFlavor(NPC, "", "I'm here to whup folks like you into shape!", "hello", 0, 0, Spawn) + end +end + +function PalChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "PalChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function PalChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's reassuring.", "PalChat3") + StartConversation(conversation, NPC, Spawn, "Know the power you wield. You have been called into this service, to become a sword of valor, a servant to the divine, smiting oppressors and followers of the dark no matter if they attack one at a time or as a horde.") +end + +function PalChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "PalChat4") + StartConversation(conversation, NPC, Spawn, "The divine powers can also be used to grant us health in moments of need, as wlel as increase our allies' ability to heal. It can also be used to lend them some invaluable aid in the form of damage mitigation, reducing the amount of damage they receive.") +end + +function PalChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "PalChat5") + StartConversation(conversation, NPC, Spawn, "As is oura bility to take the blame for the damage an ally may inflict. This may sound bad, but when you are battling beside a powerful friend who does not have much protection anything that can keep the foe's attention on you is saving your friend.") +end + +function PalChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor may be weighty, but you can handle it, and its protective properties will be necessary, as it takes time to beseech our divine powers.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua b/Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua new file mode 100755 index 000000000..b20facc53 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua @@ -0,0 +1,189 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua + Script Purpose : Thirin Veliumdelver + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local BelowWaves = 59 + +local RyGorrOperations = 60 + +local GoodDistraction = 61 + +local SleetfootParty = 62 + +local SeekingEducation = 63 + +local NapEvigis = 64 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, RyGorrOperations) + ProvidesQuest(NPC, GoodDistraction) + ProvidesQuest(NPC, SleetfootParty) + ProvidesQuest(NPC, SeekingEducation) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, RyGorrOperations) and not HasQuest(Spawn, RyGorrOperations) then + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave001.mp3", "", "", 2709713344, 2359332874, Spawn) + AddConversationOption(conversation, "Agreed. We must act quickly.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "This is most impressive. I never knew the Ry'Gorr could be so devious.") + elseif GetQuestStep(Spawn, RyGorrOperations) == 1 or GetQuestStep(Spawn, RyGorrOperations) == 2 then + PlayFlavor(NPC, "", "The explosives should be around this area, " .. GetName(Spawn) .. ".", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, RyGorrOperations) == 3 then + SetStepComplete(Spawn, RyGorrOperations, 3) + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave006.mp3", "", "", 2990250717, 1905406099, Spawn) + AddConversationOption(conversation, "You were right, they were keeping something imprisoned beyond the cave-in, though I fear what I've found will be of no use to us.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "That was a magnificent display of destruction on your part, adventurer. Did ye find anything? What are those scoundrels hiding?") + elseif HasCompletedQuest(Spawn, RyGorrOperations) and not HasCompletedQuest(Spawn, GoodDistraction) and not HasQuest(Spawn, GoodDistraction) then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, GoodDistraction) and GetQuestStep(Spawn, GoodDistraction) < 6 then + PlayFlavor(NPC, "", "Protect my man, " .. GetName(Spawn) .. ".", "", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 6 then + SetStepComplete(Spawn, GoodDistraction, 6) + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave011.mp3", "", "", 1460125884, 1686109939, Spawn) + AddConversationOption(conversation, "I have. He told me he was going to search further into the Velinoid Catacombs and wouldn't need any further assistance.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Hmm, you've returned without Ordin?") + elseif HasCompletedQuest(Spawn, GoodDistraction) and not HasCompletedQuest(Spawn, SleetfootParty) and not HasQuest(Spawn, SleetfootParty) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, SleetfootParty) == 1 then + PlayFlavor(NPC, "", "By Brell, I pray my man is ok.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SleetfootParty) == 2 then + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 34036), Spawn) + SetStepComplete(Spawn, SleetfootParty, 2) + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave015.mp3", "", "", 1359546210, 1807793457, Spawn) + AddConversationOption(conversation, "I... I found him dead. He seemed to have discovered a large ice and velium elemental. A monstrous creature.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "You return alone? Is... is he gone?") + elseif HasCompletedQuest(Spawn, SleetfootParty) and not HasCompletedQuest(Spawn, SeekingEducation) and not HasQuest(Spawn, SeekingEducation) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, SleetfootParty) == 1 then + PlayFlavor(NPC, "", "Make haste for the White Lodge. Seek out Toril Blackbow.", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Hello my friend. It is good to see you.", "hello", 0, 0, Spawn) + end +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, BelowWaves) and not HasCompletedQuest(Spawn, NapEvigis) then + AddSpawnAccess(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave002.mp3", "", "", 3505397088, 1978736216, Spawn) + AddConversationOption(conversation, "I would agree. This wall is an unnecessary risk, even for them.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye. I saw this wall ye spoke of. Whoever caused this cave-in did not do so thoughtfully. Meaning it was done with haste. It seems as though it was meant to keep something trapped. What could scare the Ry'Gorr so much they would risk such a dangerous explosion?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave003.mp3", "", "", 2117741125, 3692044901, Spawn) + AddConversationOption(conversation, "You intend to re-open the tunnel entrance then?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Whatever they are hiding or keeping imprisoned may be used to give us an advantage. Whatever they fear would surely give us an upper hand in stopping their impending invasion.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave004.mp3", "", "", 79469292, 3225324999, Spawn) + AddConversationOption(conversation, "Sounds like a blast. I'm in.", "OfferRyGorrOperations") + AddConversationOption(conversation, "I'm not really one for mining, so I'll be going.") + StartConversation(conversation, NPC, Spawn, "I do, though we have no mining equipment on hand. However, these orcs could not have made so much progress in so a little a time without some help. I imagine there are some explosive barrels about, if ye just follow yer nose. Look around where they are currently mining, they should leave them lying around. Once you've got the explosives use it on the cave-in. Find out what the Ry'Gorr were trying to imprison.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave007.mp3", "", "", 563381258, 467794942, Spawn) + AddConversationOption(conversation, "I found a race of beings that look as though they were birthed from the velium itself. There were orcish bodies among them as well. I was able to escape, but I don't believe they will side with us. We are all in danger.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "What are ye talking about? What was there?") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave008.mp3", "", "", 1682427027, 3451821464, Spawn) + AddConversationOption(conversation, "I cannot tell, but the blast has severely damaged the surrounding walls. I do not believe that a third blast will do any good in one area underground.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "This means there were caverns here before the orcs? They themselves must have discovered them. I know not what these creatures are, but if what ye say is true they may be more of a threat than those blasted Ry'Gorr. Is there any chance we can quickly re-build the wall, as the orcs did? Can we protect ourselves from these, what should they be called? Velinoids?") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave009.mp3", "", "", 494358718, 200929086, Spawn) + AddConversationOption(conversation, "You can count on me, Thirin.", "OfferGoodDistraction") + AddConversationOption(conversation, "That sounds way too dangerous.") + StartConversation(conversation, NPC, Spawn, "Blast! I fear we've made a grave mistake, adventurer, one we must rectify immediately. It is time we informed my good friend, Torli Blackbow. However, I intend to return with as much intelligence as possible. I am sending in one of my scouts to investigate the area. I'd like for you to act as a distraction of sorts so he can sneak in undetected. Speak with him when you are ready.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave012.mp3", "", "", 196969429, 3399805289, Spawn) + AddConversationOption(conversation, "Perhaps he just needs more time? It wasn't long ago that I left him.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Hmm, this is most troubling. I am worried, adventurer, he would have returned by now. I fear something may have happened to him.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave013.mp3", "", "", 516198965, 3758808523, Spawn) + AddConversationOption(conversation, "I shall search for him. It was my responsibility to protect him.", "OfferSleetfootParty") + AddConversationOption(conversation, "Good luck in your search.") + StartConversation(conversation, NPC, Spawn, "He was my best scout, and a good friend. He would have returned by now. No, I fear he may be stuck in the dark corners of this cavern, unable to return for some reason. I'll need to look for him. The coldain do not leave their brothers behind. I have far too many ales to share with him before his time is up.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave016.mp3", "", "", 3750387458, 3923287586, Spawn) + AddConversationOption(conversation, "I know very little, other than it appears to be very old and quite angry. I don't believe it enjoys visitors.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "Monstrous? I see. Tell me of this creature you speak of.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave017.mp3", "", "", 4283075830, 3738516832, Spawn) + AddConversationOption(conversation, "It's " .. GetName(Spawn) .. ".", "OfferSeekingEducation") + StartConversation(conversation, NPC, Spawn, "This is most troubling, my friend. We are not prepared for this. I was rash and quick to judge the situation. I regret venturing into these blasted caverns. What have we awakened? Ordin will not have died in vain, I swear it. We must speak with Torli, she will know what to do. Adventurer, what is yer name? You've done so much and I never had the time to ask.") +end + +function OfferRyGorrOperations(NPC, Spawn) + OfferQuest(NPC, Spawn, RyGorrOperations) +end + +function OfferGoodDistraction(NPC, Spawn) + OfferQuest(NPC, Spawn, GoodDistraction) +end + +function OfferSleetfootParty(NPC, Spawn) + OfferQuest(NPC, Spawn, SleetfootParty) +end + +function OfferSeekingEducation(NPC, Spawn) + OfferQuest(NPC, Spawn, SeekingEducation) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua b/Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua new file mode 100755 index 000000000..4ba1b5f43 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua @@ -0,0 +1,224 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua + Script Purpose : Thirin Veliumdelver + Script Author : theFoof + Script Date : 2013.06.09 + Script Notes : +--]] + +local NothingWaste = 56 + +local RoughingReinforcements = 57 + +local ThroughEyes = 58 + +local BelowWaves = 59 + +local RyGorrOperations = 60 + +local NapEvigis = 64 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, NothingWaste) + ProvidesQuest(NPC, RoughingReinforcements) + ProvidesQuest(NPC, ThroughEyes) + ProvidesQuest(NPC, BelowWaves) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, NapEvigis) then + AddSpawnAccess(NPC, Spawn) + elseif not HasCompletedQuest(Spawn, RyGorrOperations) and not HasQuest(Spawn, RyGorrOperations) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, NothingWaste) and not HasQuest(Spawn, NothingWaste) then + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver001.mp3", "", "", 3958889097, 419690768, Spawn) + AddConversationOption(conversation, "Would you happen to be Thirin? I heard you might need help here.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "What do ye want, whelp? Can't you see I'm a bit busy with defending the Cragged Spine!?") + elseif GetQuestStep(Spawn, NothingWaste) == 1 or GetQuestStep(Spawn, ThroughEyes) == 1 or GetQuestStep(Spawn, BelowWaves) == 1 or GetQuestStep(Spawn, BelowWaves) == 2 then + BrellConvo(NPC, Spawn) + elseif GetQuestStep(Spawn, NothingWaste) == 4 then + SetStepComplete(Spawn, NothingWaste, 4) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver008.mp3", "", "", 2278681822, 876133756, Spawn) + AddConversationOption(conversation, "I'm glad I could be of some use.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, you've succeeded. Perhaps ye're not all that useless after all, adventurer. These will do nicely. I'll have one of my men take a look at these, fix them up, and have them distributed among the forces.") + elseif HasCompletedQuest(Spawn, NothingWaste) and not HasCompletedQuest(Spawn, RoughingReinforcements) and not HasQuest(Spawn, RoughingReinforcements) then + Quest2Chat_2(NPC, Spawn) + elseif HasQuest(Spawn, RoughingReinforcements) and GetQuestStep(Spawn, RoughingReinforcements) ~= 6 then + BrellConvo(NPC, Spawn) + elseif GetQuestStep(Spawn, RoughingReinforcements) == 6 then + SetStepComplete(Spawn, RoughingReinforcements, 6) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver013.mp3", "", "", 1378985878, 3460156375, Spawn) + AddConversationOption(conversation, "Yes, and I found this scrying eye off of one of the war shamans. I thought it might be useful.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "You return. What news? Were yer skirmishes with the enemy successful?") + elseif HasCompletedQuest(Spawn, RoughingReinforcements) and not HasCompletedQuest(Spawn, ThroughEyes) and not HasQuest(Spawn, ThroughEyes) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ThroughEyes) == 2 then + SetStepComplete(Spawn, ThroughEyes, 2) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver017.mp3", "", "", 4179496210, 3494173244, Spawn) + AddConversationOption(conversation, "I was. I saw through an orc who swam beneath the waves. He entered an underwater tunnel leading to the center of Erollis. Beyond that I do not know. It seems the spell is restricted by distance.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "You've survived? I had heard reports that an adventurer fell to the Ry'Gorr not long ago. I'm glad to see my spy survived to tell what he's found. Were you successful in using the eye?") + elseif HasCompletedQuest(Spawn, ThroughEyes) and not HasCompletedQuest(Spawn, BelowWaves) and not HasQuest(Spawn, BelowWaves) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, BelowWaves) == 3 then + SetStepComplete(Spawn, BelowWaves, 3) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver021.mp3", "", "", 3523614178, 2692776069, Spawn) + AddConversationOption(conversation, "They have dug a series of mining tunnels throughout the interior of Erollis, many in the direction of New Halas. I fear they mean to attack from below.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "What have you found? What are they doing below my lands?") + elseif HasCompletedQuest(Spawn, BelowWaves) and not HasCompletedQuest(Spawn, NapEvigis) then + Quest5Chat_1(NPC, Spawn) + else + PlayFlavor(NPC, "", "Hello my friend. It is good to see you.", "hello", 0, 0, Spawn) + end +end + +function BrellConvo(NPC, Spawn) + PlayFlavor(NPC, "", "May Brell protect you and ensure your return.", "", 1689589577, 4560189, Spawn) +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver002.mp3", "", "", 1122391828, 935093555, Spawn) + AddConversationOption(conversation, "Do you have work for me or not?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Oh, you want to help, do ye? Want to be some great hero now, huh? Well isn't that just grand.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver003.mp3", "", "", 1628251409, 1305821623, Spawn) + AddConversationOption(conversation, "Good, just tell me what needs to be done.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Fine, fine, I can come up with something for ye to help with.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver004.mp3", "", "", 1710386030, 2555471318, Spawn) + AddConversationOption(conversation, "So I am to return to The Great Shelf for weapons and armor?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Well, we've been holding the Cragged Spine for some time now. So long in fact our equipment is starting to wear, rust or break. Broken bows, snapped swords, destroyed chainmail, it's getting worse by the hour.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver006.mp3", "", "", 807741417, 1254276267, Spawn) + AddConversationOption(conversation, "Alright, Thirin. I'll help you.", "OfferNothingWaste") + AddConversationOption(conversation, "I'm sorry, but there are more important things I could be doing.") + StartConversation(conversation, NPC, Spawn, "No, you won't be returning. That would take too long. We will be taking the armor off the backs of those we've slain. It sounds crude, but it will be effective. I hate to have my men wearing orcish armor, but no battle was ever won by looking fancy or wearing equipment that fit you.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver009.mp3", "", "", 3384327104, 2564907110, Spawn) + AddConversationOption(conversation, "Surely you can hold them here, now that you are better equipped.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Watching those orcs realize we are using their equipment in our defenses will be entertaining. For that I thank ye adventurer. With my troops now reinforced I can turn my eyes to the larger threat. The Ry'Gorr, as they call themselves, have been attacking from the Jagged Daggers Isle, across the waves to the south. I fear their re-enforcements will arrive swiftly and with renewed purpose.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver010.mp3", "", "", 684443689, 2994100029, Spawn) + AddConversationOption(conversation, "Thirin, your troops need you here. Morale is often frail, supported by a strong foundation. You are that foundation. ", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "I think not. What we've seen thus far is only a small part of their forces. They underestimated us, but now they know to send more orcs if they are to take the beach. No, in this situation there is only one thing we can do. Take the fight to them. Come, we leave at once for the Jagged Daggers Isle. I'm tired of sitting about in waiting. I was never one for defense.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver011.mp3", "", "", 4204960887, 1557606971, Spawn) + AddConversationOption(conversation, "I will leave at once for the isle. I won't let them take the beach.", "OfferRoughingReinforcements") + AddConversationOption(conversation, "I am sorry, but there is something more important I must take care of first.") + StartConversation(conversation, NPC, Spawn, "Hmm, well said, adventurer. Very well, I shall send you in my stead, as you've proven you can be somewhat dependable. Travel to the Jagged Daggers Isle, across the waves to the south and show them we are not to be underestimated. Destroy what forces and equipment you can and keep an eye out for their war shamans. They have the ability to scry our encampment. If you happen to combat them it will help conceal our positioning.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver014.mp3", "", "", 6970253, 3066757715, Spawn) + AddConversationOption(conversation, "There you are, I hope it will be useful.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "A scrying eye you say. That's what they use to spy on our forces. I can't believe you were able to get one. Let me have a look. If we're lucky it will have already been imbued with their scrying magics.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver015.mp3", "", "", 3051702043, 2201190917, Spawn) + AddConversationOption(conversation, "It's good we are in possession of this then. I am sure I can find a Ry'Gorr to use this on.", "OfferThroughEyes") + AddConversationOption(conversation, "Spying and magic aren't really my thing.") + StartConversation(conversation, NPC, Spawn, "Hmm. We are in luck adventurer. This has already been imbued with the magics that allow the Ry'Gorr to spy on us. Meaning we can use it against them and maybe learn something new to aid us. All ye need do is find a Ry'Gorr to use the eye on and you'll be able to see what he sees. That's how it works, you see? It allows you to see through the eyes of another, just by pressing the eye against the skin.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver018.mp3", "", "", 3389054723, 425793469, Spawn) + AddConversationOption(conversation, "I haven't a clue, but I intend to find out.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "They are below us? This is quite unexpected. What are they doing down there? What are they planning?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver020.mp3", "", "", 3456248509, 1625770921, Spawn) + AddConversationOption(conversation, "That's awesome!", "OfferBelowWaves") + StartConversation(conversation, NPC, Spawn, "Don't go just yet, " .. GetName(Spawn) .. ". I have something to help ye! It's a Totem of the Iceclad Manta. It will grant ye the shape of an Iceclad manta and the gills and vision of one, to boot!") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver022.mp3", "", "", 4095447714, 560323533, Spawn) + AddConversationOption(conversation, "Before we travel below, know I have found some sort of cave-in. It looks to have been recently built by the orcs, though I know not for what purpose. It's very strange.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "Confound it! This is what I was afraid of. There may not be enough time to warn the city before they attack, we're going to have to go down there and stop the Ry'Gorr ourselves. ") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver023.mp3", "", "", 1522066613, 3536237484, Spawn) + AddConversationOption(conversation, "See you below then.") + StartConversation(conversation, NPC, Spawn, "A cave-in you say? I'll take a look once I've reached the inside. This time I go; my men will be able to handle things here, thanks to ye. Meet me at the cave's entrance, adventurer. I'll have inspected this cave-in ye speak of by then.") +end + +function OfferNothingWaste(NPC, Spawn) + OfferQuest(NPC, Spawn, NothingWaste) +end + +function OfferRoughingReinforcements(NPC, Spawn) + OfferQuest(NPC, Spawn, RoughingReinforcements) +end + +function OfferThroughEyes(NPC, Spawn) + OfferQuest(NPC, Spawn, ThroughEyes) +end + +function OfferBelowWaves(NPC, Spawn) + OfferQuest(NPC, Spawn, BelowWaves) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TimelessChronomage.lua b/Lua/SpawnScripts/FrostfangSea/TimelessChronomage.lua new file mode 100755 index 000000000..dd6508b99 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TimelessChronomage.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TimelessChronomage.lua + Script Purpose : Timeless Chronomage + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Greetings! Would you like me to chronolock you? For a small fee of course...", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TorliBlackbow.lua b/Lua/SpawnScripts/FrostfangSea/TorliBlackbow.lua new file mode 100755 index 000000000..8547e38e3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TorliBlackbow.lua @@ -0,0 +1,158 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TorliBlackbow.lua + Script Purpose : Torli Blackbow + Script Author : theFoof + Script Date : 2013.06.13 + Script Notes : +--]] + +local SeekingEducation = 63 + +local NapEvigis = 64 + +function spawn(NPC) + ProvidesQuest(NPC, NapEvigis) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, SeekingEducation) == 1 then + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_001.mp3", "", "", 3560007019, 2375962342, Spawn) + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". I was sent by Thirin Veliumdelver.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Who have we here?") + elseif GetQuestStep(Spawn, SeekingEducation) == 2 then + PlayFlavor(NPC, "", "Speak with Gerla Meltwater. She is our wisest spellweaver. You'll find her in Glacierbane's Vault, in New Halas.", "nod", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SeekingEducation) == 3 then + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_008.mp3", "", "", 3421952794, 3873415326, Spawn) + AddConversationOption(conversation, "She sent me back with this satchel for you.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Ye return, " .. GetName(Spawn) .. "! Tell me, what did Spellweaver Meltwater advise?") + elseif HasCompletedQuest(Spawn, SeekingEducation) and not HasCompletedQuest(Spawn, NapEvigis) and not HasQuest(Spawn, NapEvigis) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, NapEvigis) == 1 then + PlayFlavor(NPC, "", "Brell's blessings upon ye as ye face Evigis, brave one!", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, NapEvigis) == 2 then + AddConversationOption(conversation, "I did. Evigis the Ancient slumbers, once more.", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "Ye return and such a sight ye are! Did you succeed, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, NapEvigis) then + PlayFlavor(NPC, "", "My, look what drifted in with the snow! Welcome back, brave one!", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_002.mp3", "", "", 1601353175, 2170594653, Spawn) + AddConversationOption(conversation, "We found a large ice and velium elemental living below New Halas!", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Veliumdelver? That stubborn stone's stationed at Cragged Spine. Why would he send ye to me?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_003.mp3", "", "", 3538220054, 491792113, Spawn) + AddConversationOption(conversation, "It killed Ordin Sleetfoot.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Are you certain, " .. GetName(Spawn) .. "?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_004.mp3", "", "", 1850979310, 1092709933, Spawn) + AddConversationOption(conversation, "We could go in and kill it.", "Quest1Chat_4") + AddConversationOption(conversation, "Me too.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Brell damn it! If the ongoing struggle with the brutal Ry'Gorr wasn't enough. I am glad ye told me. I just wish I knew what to do.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_005.mp3", "", "", 2755216840, 3266695694, Spawn) + AddConversationOption(conversation, "I know.", "Quest1Chat_5") + AddConversationOption(conversation, "It was worth a shot.", "Quest1Chat_5") + AddConversationOption(conversation, "Says you.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Ha! Violence is an answer, but not necessarily THE answer, brave one.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_006.mp3", "", "", 2649012761, 1864543312, Spawn) + AddConversationOption(conversation, "Glacierbane's Vault?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Speak with Gerla Meltwater. She is our wisest spellweaver. You'll find her in Glacierbane's Vault, in New Halas.") +end + +function Quest1Chat_6(NPC, Spawn) + SetStepComplete(Spawn, SeekingEducation, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_007.mp3", "", "", 1644016563, 4176143932, Spawn) + AddConversationOption(conversation, "I'll speak with her.") + StartConversation(conversation, NPC, Spawn, "It is our house of arcane knowledge and library to the Spear of the Spellweavers, our battle hardened mages. She'll know what to do.") +end + +function Quest1Chat_7(NPC, Spawn) + if HasItem(Spawn, 7666) then + RemoveItem(Spawn, 7666) + end + SetStepComplete(Spawn, SeekingEducation, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_009.mp3", "", "", 2780367632, 539709516, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Thank ye, and take this. I got a feeling it will be useful.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_010.mp3", "", "", 1175740555, 3997329463, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Once more it seems we must lean on you, brave one.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_011.mp3", "", "", 772395501, 910422100, Spawn) + AddConversationOption(conversation, "What did it say?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "Gerla's satchel contained a potion and a note.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_012.mp3", "", "", 1978800607, 2542267623, Spawn) + AddConversationOption(conversation, "I can do that!", "OfferNapEvigis") + AddConversationOption(conversation, "I am not going back down there. No way!") + StartConversation(conversation, NPC, Spawn, "We must induce slumber, once more! Cast this spell upon the elemental, but first ye must be sure to tire it out. Inflict upon it great harm thus making it susceptible to the potion's magick.") +end + +function Quest2Chat_4(NPC, Spawn) + SetStepComplete(Spawn, NapEvigis, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "I did what I could.") + AddConversationOption(conversation, "They had better!") + StartConversation(conversation, NPC, Spawn, "That is a relief to one and all! Ye've accomplished great things on our floating land. No doubt songs of your success will be sung at The Ice Breaker this night!") +end + +function OfferNapEvigis(NPC, Spawn) + OfferQuest(NPC, Spawn, NapEvigis) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TornalHaymaker.lua b/Lua/SpawnScripts/FrostfangSea/TornalHaymaker.lua new file mode 100755 index 000000000..030020668 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TornalHaymaker.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TornalHaymaker.lua + Script Purpose : bruiser trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local BRUISER = 7 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == BRUISER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a another bruiser?", "BruisChat1") + AddConversationOption(conversation, "It does, doesn't it? Good bye.") + StartConversation(conversation, NPC, Spawn, "You need not tell me that you are a fellow. bruiser. Your intimidating presence made that clear, my friend.") + else + PlayFlavor(NPC, "", "Idle chat is useless. If you are not here to train, then leave.", "hello", 0, 0, Spawn) + end +end + +function BruisChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "BruisChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function BruisChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's good to know.", "BruisChat3") + StartConversation(conversation, NPC, Spawn, "But first and foremost, you should know the power that flows through you. We focus our minds and bodies through sheer force of will in order to withstand attacks and reduce the amount of damage inflicted upon us.") +end + +function BruisChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "BruisChat4") + StartConversation(conversation, NPC, Spawn, "But our discipline offers a great deal more than just defense. We are masters of physical combat! We have transformed our bodies into vicious weapons to inflict pain and suffering upon any who dare to oppose us! This allows us to often hold a foe's attention, giving our allies a chance to attack it, too.") +end + +function BruisChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "BruisChat5") + StartConversation(conversation, NPC, Spawn, "And although we excel at hand to hand combat, some bruisers wield staves or hammers. Such weapons are simply an extension of yourself and can be equally effective at inflicting damage or deflecting an attacker's blade.") +end + +function BruisChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". An encumbering suit of armor would only get in your way while you brutalize your foes with your relentless attacks.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TorvilBeastamer.lua b/Lua/SpawnScripts/FrostfangSea/TorvilBeastamer.lua new file mode 100755 index 000000000..3d83cbaf5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TorvilBeastamer.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TorvilBeastamer.lua + Script Purpose : Torvil Beastamer + Script Author : theFoof + Script Date : 2013.10.29 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Tail or beak, I got what ye seek!", "wink", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Haven't a friend in the world? Buy one from me!", "nod", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Warm up yer house with a pet, my friend!", "hello", 0, 0, Spawn) + end +end + diff --git a/Lua/SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua b/Lua/SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua new file mode 100755 index 000000000..ad24966da --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua + Script Purpose : for the totem of the iceclad manta spawn + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local BelowWaves = 59 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, BelowWaves) or HasQuest(Spawn, BelowWaves) then + if not HasItem(Spawn, 48603) then + AddSpawnAccess(NPC, Spawn) + end + end +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Gather Totem of the Iceclad Manta' then + if not HasItem(Spawn, 48603) then + SummonItem(Spawn, 48603, 1) + RemoveSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TovaGilbride.lua b/Lua/SpawnScripts/FrostfangSea/TovaGilbride.lua new file mode 100755 index 000000000..195a1ba8c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TovaGilbride.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TovaGillbride.lua + Script Purpose : wizard trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local WIZARD = 23 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == WIZARD then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow wizard?", "WizChat1") + AddConversationOption(conversation, "It is, isn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "Good day to you, fellow student of wizardry. It's amazing to see how many of us have talents for the arcane.") + else + PlayFlavor(NPC, "", "Hmm! Hmm! Hmm!", "hello", 0, 0, Spawn) + end +end + +function WizChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "WizChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function WizChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "WizChat3") + StartConversation(conversation, NPC, Spawn, "Know your strengths and hone them! We can unleash the purest forms of destruction upon our foes by harnessing the arcane powers of fire and ice. This is true whether you are battling a single opponent or a group.") +end + +function WizChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Rely not on your defenses. You are stronger than that! There is no need to concern yourself with defenses when your foe has been slain by the devastating elements!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua b/Lua/SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua new file mode 100755 index 000000000..6e5868da3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua @@ -0,0 +1,212 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua + Script Purpose : Trainer Aleks Silverhelm + Script Author : theFoof + Script Date : 2013.5.18 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_7_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_7_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_7_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + end +end +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_7_2") + AddConversationOption(conversation, "Tell me about Combat Arts.", "dlg_7_5") + AddConversationOption(conversation, "Tell me about Abilities.", "dlg_7_8") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?", "dlg_7_11") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?", "dlg_7_14") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Spells?", "dlg_7_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A Spell is a magical ability, and spells have a variety of uses. Some allow you to damage an enemy, while others might provide benefits to yourself or an ally. You can hold your mouse pointer over a Spell's icon to see a description of what it does, or right-click on it and select 'Examine.'") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Mages, priests, paladins, shadowknights, troubadors, and dirges all cast Spells. Each class has a list of Spells that's unique. While other classes may have similar Spells, no one has capabilities exactly like that of another class. Also, certain magical items may be imbued with Spell effects that can be cast or that activate on their own.") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.", "dlg_7_6") + StartConversation(conversation, NPC, Spawn, "Combat Arts are a lot like Spells, but they usually take less time to cast and cannot be interrupted. As their name implies, many Combat Arts focus on some aspect of battle.") +end + +function dlg_7_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All fighters and scouts use Combat Arts. Each of these classes has unique Combat Arts that help distinguish them from other classes. Combat Arts have names and effects that fit the class that uses them.") +end + +function dlg_7_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How are Abilities different from Spells and Combat Arts?", "dlg_7_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Abilities are general things your character can do, along with certain capabilities specific to your race. Some of your Abilities are extremely useful, such as Sprint, which allows you to run very fast for a short period of time. You can also Call for Help when you're in danger, or launch a Ranged Attack if you have a ranged weapon and, of course, ammo.") +end + +function dlg_7_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Unlike Spells and Combat Arts, Abilities cannot be upgraded. Most of your Abilities are received when you first begin your adventures in Norrath, although certain new ones can be granted as you become more experienced.") +end + +function dlg_7_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I use my Spells, Combat Arts, and Abilities?", "dlg_7_12") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All your Spells and Combat Arts, as well as other Abilities, are found in your Knowledge Book. Press the K key to open it at any time, and click the name of the tab you wish to view: Abilities, Spells, or Combat Arts.") +end + +function dlg_7_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To use a Spell, Combat Art, or Ability, drag its icon from your Knowledge Book onto your hotbar. Some have already been placed there for you. To use one, simply click its icon on your hotbar or press the key assigned to it. You can open additional hotbars by right-clicking on a hotbar and selecting 'Open New Hotbar.'") +end + +function dlg_7_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I judge the effectiveness of my Spells and Combat Arts?", "dlg_7_15") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels and will be automatically scribed in your Knowledge Book. Certain special Spells or Combat Arts can be obtained by doing quests.") +end + +function dlg_7_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "dlg_7_16") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "There are six ranks of Spells and Combat Arts: Apprentice, Journeyman, Adept, Expert, Master and Grandmaster. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function dlg_7_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "dlg_7_17") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "Spells gained through quests or racial abilities are usually at their highest level and cannot be upgraded. Grandmaster spells are only available from your class training choices every ten levels starting at 14. You can see the choices by selecting the L key on your keyboard. ") +end + +function dlg_7_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "dlg_7_18") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells and arts as you defeat opponents in battle. Many enemies will carry Adept versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master versions.") +end + +function dlg_7_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "dlg_7_19") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Journeyman quality spells, as well as valuable Expert scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function dlg_7_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I keep all these Spells and Arts straight in my Knowledge Book?", "dlg_7_20") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many completely new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The background colors of the spell icon tell you its type. Beneficial spells have a yellow, orange or purple color, while attack spells have a red, green or blue color. ") +end + +function dlg_7_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your individual, personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities that you wish to use.") +end + diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua b/Lua/SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua new file mode 100755 index 000000000..e2f9d7a13 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua @@ -0,0 +1,172 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua + Script Purpose : Trainer Cael Blackstock + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about items and equipment.", "equip_chat_1") + AddConversationOption(conversation, "Tell me about my inventory.", "inv_chat_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Well met. I'm here to teach our newest recruits about equipment and inventory space. Good equipment is one of the most important tools of any adventurer!") +end + +function equip_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do with the treasures I earn while adventuring?", "equip_chat_2") + StartConversation(conversation, NPC, Spawn, "Norrath is full of treasures for brave heroes like you. Sometimes the opponents you defeat in battle leave behind treasure chests with valuable loot. You can also buy items from other players, craft them as an artisan, or be awarded items for completing quests.") +end + +function equip_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the item information tell me?", "equip_chat_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items you obtain can be equipped on your person. If you find weapons, armor, jewelry, or certain other goodies, you may be able to use them. To look at a piece of equipment and determine if you can use it, move your mouse pointer over the item.") +end + +function equip_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are things like attribute bonuses important?", "equip_chat_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "For items that can be equipped, such as weapons and armor, mousing over it tells you which professions can use the item and at what level it can be equipped. You'll also see any benefits, such as attribute bonuses and resists, that the equipment provides.") +end + +function equip_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell which of two weapons is better?", "equip_chat_5") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A wise adventurer is always trying to improve his or her equipment. Whenever you see gear that provides an overall greater benefit than what you have, that item is an upgrade for you.") +end + +function equip_chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell which of two pieces of armor is better?", "equip_chat_6") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Weapons have a Damage Rating that shows the relative damage you can do with them. A higher Damage Rating is always better. Be sure you are comparing weapons of the same type, such as a two-handed weapon with another two-hander, or one dual-wield weapon with another.") +end + +function equip_chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about scouts and priests?", "equip_chat_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function equip_chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about scouts and priests?", "equip_chat_8") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function equip_chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are some items marked 'No Value' or 'No Trade'?", "equip_chat_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "An item can be sold to a non-player merchant for cash unless it has the 'No Value' flag on it. Items can be sold or traded to another player unless it has the 'No Trade' flag. If an item says it is 'Lore,' you can only have one of them on your character at a time.") +end + +function equip_chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, 'What does it mean when an item says it is "Attuneable"?', "equip_chat_10") + AddConversationOption(conversation, "I will return to instruction later.") + StartConversation(conversation, NPC, Spawn, 'Some items are marked "No Value" because they are easy to obtain, such as harvested goods. You have to work to earn wealth,' .. GetName(Spawn) .. '! Items are marked "No Trade" in order to ensure that you earn them yourself, such as defeating a very tough monster or completing a long quest.') +end + +function equip_chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I manage my inventory?", "inv_chat_1") + StartConversation(conversation, NPC, Spawn, "If an item is marked 'Attuneable,' you must attune it to yourself before it provides any benefits. You'll notice a message on screen when you are wearing an item that must be attuned. To attune it, right-click on the item and select 'Attune.' Once attuned, that item can no longer be traded or sold to another player.") +end + +function inv_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can I put bags inside of bags?", "inv_chat_2") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Press the C key to open your character window. Beneath your portrait are six slots that can hold items. You can place bags or other containers in those slots, which will give you even more storage space. Press the B key to open all your bags at once.") +end + +function inv_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So one item takes up one bag slot?", "inv_chat_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function inv_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So one item takes up one bag slot?", "inv_chat_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function inv_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back if I need to refresh my memory on this.") + StartConversation(conversation, NPC, Spawn, "Certain items, such as ammunition or harvested resources, can be stacked up to 200 at a time, depending on the item. Many goods, such as armor and clothing, cannot be stacked at all.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua b/Lua/SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua new file mode 100755 index 000000000..dbbf8fee5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua @@ -0,0 +1,102 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua + Script Purpose : Trainer Gani Maccusson + Script Author :theFoof + Script Date : 2013.5.19 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "bank_1") + AddConversationOption(conversation, "Tell me about mending items.", "mend_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can explain the finer points of banking and mending to you if you like, " .. GetName(Spawn) .. ". Would you care to hear about either?") + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "bank_1") + AddConversationOption(conversation, "Tell me about mending items.", "mend_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can explain the finer points of banking and mending to you if you like, " .. GetName(Spawn) .. ". Would you care to hear about either?") + end +end + +function bank_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I open my bank?", "bank_2") + StartConversation(conversation, NPC, Spawn, "You may already have an account set up. Speak with Norfryd Brisbane to access your account. You can access your bank account from cities allied with New Halas as well.") +end + +function bank_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "bank_3") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") +end + +function bank_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, 'What are "shared" bank slots?', "bank_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") +end + +function bank_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other banking facts I should know?", "bank_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coin) placed in your shared slots can be accessed by other characters on your account that are of the same alignment. Lore and No-Trade items cannot be put into the shared slots.") +end + +function bank_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I want to learn about mending items.", "mend_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") +end + +function mend_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "bank_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender to get them repaired. Luckily, Bull the Crafty has set up his work station for mending here, on Pilgrims' Landing.") +end diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua b/Lua/SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua new file mode 100755 index 000000000..b8bc914e7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua @@ -0,0 +1,122 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua + Script Purpose : Trainer Hawk Dunlop + Script Author : Foof + Script Date : 2013.5.15 + Script Notes : +--]] + +local HarvestTutorial = 11 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, HarvestTutorial) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetQuestStep(Spawn, HarvestTutorial) == 8 then + SetStepComplete(Spawn, HarvestTutorial, 8) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Excellent work learning about harvesting! As a reward, allow me to offer you this box for storing harvested items. It's quite heavy, so I suggest you put it in your bank rather than carrying it, but it has plenty of storage room for harvests.") + else + BaseChat(NPC, Spawn) + end +end + +function collections_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens next?", "collections_chat_2") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select 'harvest.' The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function collections_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I complete the collection?", "collections_chat_3") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function collections_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "harvests_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +function harvests_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are harvestables used for?", "harvests_chat_2") + StartConversation(conversation, NPC, Spawn, "Harvestables are natural resources that can be found around most parts of the outdoors. You have harvesting skills that allow you collect them. These can be seen by opening your Character window (C), clicking on the Skills tab, and selecting the General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and shrubs increase gathering.") +end + +function harvests_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "OfferHarvesttutorial") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function harvests_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections now.", "collections_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end + +function elemental_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh... Well you were talking about collections?", "BaseChat") + StartConversation(conversation, NPC, Spawn, "It is bothersome, but I have seen worse. That is why I love collections so much. It helps me to forget...") +end + +function BaseChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "collections_chat_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.", "harvests_chat_1") + AddConversationOption(conversation, "Aren't you worried about the elemental attacks?", "elemental_chat_1") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "I am able to answer any questions you have about collections or harvesting.") +end + +function OfferHarvesttutorial(NPC, Spawn) + if HasCompletedQuest(Spawn, HarvestTutorial) == false and HasQuest(Spawn, HarvestTutorial) == false then + OfferQuest(NPC, Spawn, HarvestTutorial) + end + harvests_chat_3(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua b/Lua/SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua new file mode 100755 index 000000000..cd1fe014e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua @@ -0,0 +1,169 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua + Script Purpose : Trainer Levka Foeblade + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are Heroic Opportunities?", "opp_chat_1") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "I look at you and see someone eager to defend Neriak by facing fierce opponents in battle. Well, I can teach you about Heroic Opportunities, a way for you and your allies to accomplish great feats of combat prowess.") +end + +function opp_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities complicated?", "opp_chat_2") + AddConversationOption(conversation, "I need to finish another task.") + StartConversation(conversation, NPC, Spawn, "Beginning at level 5, Heroic Opportunities can be triggered in combat. They allow both lone adventurers and groups of allies to combine their attacks into a series of spells or combat arts performed in a specific order. When successful, Heroic Opportunities give beneficial effects such as extra attacks against your foes or beneficial magic to heal or enhance your abilities.") +end + +function opp_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how does a Heroic Opportunity arise?", "opp_chat_3") + StartConversation(conversation, NPC, Spawn, "Rest assured, someone with battle skills will find them easy! Once you start using them, you'll wonder how you ever got along without them.") +end + +function opp_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay, that does sound easy. How do I begin a Heroic Opportunity?", "opp_chat_4") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Let me tell you the short and simple version first so that you can see how easy Heroic Opportunities are to use. All you need to do is use your ability that triggers the Heroic Opportunity, then use the spells or combat arts that are blinking on your hotbar or in your Knowledge Book. Easy, isn't it?") +end + +function opp_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can I trigger a Starter Chain whenever I want?", "opp_chat_5") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities have two parts called the Starter Chain and the Combat Wheel. At level 5, every adventure class gains an ability that triggers a Starter Chain: Fighting Chance, Divine Providence, Arcane Augur, or Lucky Break. Open your Knowledge book by pressing K and click the Abilities tab to see it. You can drag its icon to your hotbar to use it.") +end + +function opp_chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens when I trigger a Starter Chain?", "opp_chat_7") + StartConversation(conversation, NPC, Spawn, "Starter Chains can only be triggered while in battle with an enemy. After all, Heroic Opportunities are all about becoming great in combat! When you or an ally triggers a Starter Chain, you will see it appear in the corner of your screen.") +end + +function opp_chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities only usable in groups?", "opp_chat_7") + AddConversationOption(conversation, "I'll need to continue this later.") + StartConversation(conversation, NPC, Spawn, "Once a Starter Chain is initiated, it shows different ability icons flashing on the screen. A Starter Chain will generally display four different icons that indicate which spells or combat arts advance the Heroic Opportunity to the next stage. Icons will be blue, yellow, red, or green, depending on which class has the ability.") +end + +function opp_chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Use the spell or art that is blinking. That's all there is to it?", "opp_chat_8") + AddConversationOption(conversation, "I'll be back later.") + StartConversation(conversation, NPC, Spawn, "Any spells or combat arts that can advance the Heroic Opportunity will flash on your hotbar and in your Knowledge Book. You have 10 seconds to complete the Starter Chain and advance to the Combat Wheel. See, it's easy: just use the spell or art that blinks!") +end + +function opp_chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why does it trigger one of three?", "opp_chat_9") + StartConversation(conversation, NPC, Spawn, "It's quite simple. After you've advanced the Starter Chain, the bright and colorful Combat Wheel appears. The Combat Wheel shows a series of icons and displays the name of the Heroic Opportunity you have triggered. A Starter Chain will initiate one of three different Heroic Opportunities.") +end + +function opp_chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the Combat Wheel tell me?", "opp_chat_10") + AddConversationOption(conversation, "I'll be back another time.") + StartConversation(conversation, NPC, Spawn, "There are three potential Heroic Opportunities: common, uncommon and rare. Each provides a different benefit. Though even the common ones are valuable, the rare event can sometimes turn the tide of battle in your favor!") +end + +function opp_chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell the difference?", "opp_chat_11") + StartConversation(conversation, NPC, Spawn, "As with the Starter Chain, the Combat Wheel indicates which spells or arts must be performed to advance and eventually complete the heroic event. Sometimes these spells or abilities must be performed in a particular order. Other times there is no order.") +end + +function opp_chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How long do I have to complete the Heroic Opportunity?", "opp_chat_12") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "In the very center of the Wheel, you'll see either a clockwise-pointing arrow or arrows pointing in different directions. The clockwise arrow indicates that the abilities must be completed in order. The other types of arrows mean that the abilities can be completed in any order.") +end + +function opp_chat_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That sounds easy!", "opp_chat_13") + StartConversation(conversation, NPC, Spawn, "The Combat Wheel must be completed within 10 seconds or the Opportunity will fail. The blue bar that appears around the outside of the Wheel is a timer. When the blue bar is gone, this indicates that time has run out to complete the Heroic Opportunity.") +end + +function opp_chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other tricks I should know?", "opp_chat_14") + AddConversationOption(conversation, "I must go now.") + StartConversation(conversation, NPC, Spawn, "It really is! As you become more familiar with using Heroic Opportunities, you can take note of the members of your group and plan out ahead of time which Opportunities will provide you the greatest benefit.") +end + +function opp_chat_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you for the information. I'll try Heroic Opportunities as soon as I can!") + StartConversation(conversation, NPC, Spawn, "Scout classes have a little something extra. By using their Coin icon, the Scout can shift to another Heroic Opportunity. This shift can only happen once per Combat Wheel. This ability must also be used before any other spell or combat art has been used to advance the Wheel.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua b/Lua/SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua new file mode 100755 index 000000000..c6953b91b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua + Script Purpose : Trainer Lillgard Thunderrider + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I have many types of mounts. One is bound to suit your style!", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua b/Lua/SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua new file mode 100755 index 000000000..b62e8dc0e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua @@ -0,0 +1,128 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua + Script Purpose : Trainer Naldur Fursythe + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1062.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "what_chat_1") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Hello there. You look like you keep both your body and mind in good shape. Even so, I bet you could use more information on your physical attributes: Strength, Agility, Stamina, Intelligence, and Wisdom. That's what I'm here to teach you!") +end + +function what_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "what_chat_2") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength the fighter has, the more physical damage they can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Bruisers, Monks, Paladins and Shadowknights have.") +end + +function what_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Stamina.", "what_chat_3") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Agility helps you avoid physical attacks. The more Agility you have, the higher your Avoidance ability. Agility also determines the maximum amount of power Brigands, Swashbucklers, Assassins, Rangers, Troubadors and Dirges have and the damage they can inflict.") +end + +function what_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Intelligence.", "what_chat_4") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Stamina gives you more Health points. The more Health you have, the longer you can survive in battle. Stamina is a useful attribute for every class.") +end + +function what_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Wisdom.", "dlg_43_5") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Intelligence is more than just a sign of how smart you are. The more Intelligence you have, the more damage mages do with spells in combat. Intelligence also determines the maximum amount of power Wizards, Warlocks, Coercers, Illusionists, Necromancers, Conjurers, Troubadors and Dirges have.") +end + +function what_chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Wisdom increases your resistances to magical types of attacks: Heat, Cold, Disease, Poison, Magic, Mental and Divine. Wisdom also determines the maximum amount of power Inquisitors, Templars, Defilers, Mystics, Furies and Wardens have and the damage they can inflict.") +end + +function view_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "what_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your character window. Just press the C key to open your character window.") +end + +function impr_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways?", "impr_chat_2") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Your physical attributes, as well as other aspects of your character, can be improved in a number of ways. Many items add points to your attributes, resistances, Health, or Power. Hold your mouse pointer over your items to see what benefits they provide.") +end + +function impr_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "what_chat_1") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Many spells and combat arts enhance your attributes. Some of these can be cast on yourself, while others can improve other player characters that you group with. Grouping with other classes provides a wider variety of ways to improve your attributes.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua b/Lua/SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua new file mode 100755 index 000000000..fe8d1301f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua @@ -0,0 +1,306 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua + Script Purpose : Trainer Ragnhild Stonefist + Script Author : theFoof + Script Date : 2013.5.3 + Script Notes : +--]] +local StoneCombat = 2 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, StoneCombat) and GetQuestStep(Spawn, StoneCombat) == 1 then + first_chat(NPC, Spawn) + SetStepComplete(Spawn, StoneCombat, 1) + elseif GetQuestStep(Spawn, StoneCombat) == 2 then + AddConversationOption(conversation, "Not yet, but I will soon.") + StartConversation(conversation, "So, did you defeat the sparring partner like I asked?") + elseif GetQuestStep(Spawn, StoneCombat) == 3 then + AddConversationOption(conversation, "I was victorious!", "complete_step3") + AddConversationOption(conversation, "Not yet, but I will soon.") + StartConversation(conversation, NPC, Spawn, "So, did you defeat the sparring partner like I asked?") + else + first_chat(NPC, Spawn) + end +end + +function complete_step3(NPC, Spawn) + SetStepComplete(Spawn, StoneCombat, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I'll report back to Yasha Redblade.") + StartConversation(conversation, NPC, Spawn, "Great work! You've Proven your worth and are ready for greater challenges. If you want futher instruction later, just come see me. But right now you must report back to Yasha so that you can defend Pilgrims' Landing.") +end + +function first_chat(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". I'm here to teach folks the finer points of combat. I don't like to get into a fight, but if I do, I prefer to win. Know what I mean?") +end + +function adv_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "adv_1_1") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "adv_1_3_1") + AddConversationOption(conversation, "Tell me about using my abilities.", "adv_2_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many advanced combat techniques that you will learn over time. There's no substitute for experience, " .. GetName(Spawn) .. "! I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.") +end + +function adv_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "adv_1_2") + StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.") +end + +function adv_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What resources should I be keeping an eye on?", "adv_1_3") + StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names.") +end + +function adv_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "adv_1_3_1") + AddConversationOption(conversation, "Tell me about using my abilities.", "adv_2_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.") +end + +function adv_1_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Anything else I should watch out for?", "adv_1_3_1_2") + StartConversation(conversation, NPC, Spawn, "Keeping your surroundings in mind is crucial to victory. Fighting in areas with lots of aggressive creatures is a bad idea, because they won't hesitate to gang up on you.") +end + +function adv_1_3_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other tips?", "adv_1_3_1_3") + StartConversation(conversation, NPC, Spawn, "Staying too long on the exact spot where you just defeated a foe can be dangerous. Another enemy is likely to show up there soon after, which can be an unpleasant surprise if you're already in another battle.") +end + +function adv_1_3_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "adv_1_1") + AddConversationOption(conversation, "Tell me about using my abilities.", "adv_2_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You should be aware of what's going on around you. Using your mouse wheel to scroll out into third person and holding down the left mouse button allows you to move the camera around your character. It's a good idea to do this when fighting in dangerous areas to make sure nothing sneaks up on you.") +end + +function adv_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "adv_2_2") + StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you are well-prepared and are active during combat. You should use every spell or combat art that has a positive effect on your chances to win.") +end + +function adv_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about during battle?", "adv_2_3") + StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs,' so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.") +end + +function adv_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else should I know about spells and arts?", "adv_2_4") + StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select 'Examine' to see details on their effects.") +end + +function adv_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "adv_1_1") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "adv_1_3_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Yasna V'Vath.") +end + +function basic_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.") +end + +function bsc_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I begin the battle?", "bsc_1_2") + StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.") +end + +function bsc_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So I can fight anyone or anything I want?", "bsc_1_3") + StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.") +end + +function bsc_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help you or give quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.") +end + +function bsc_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What classes specialize in melee combat?", "bsc_2_2") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function bsc_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Bruisers, and Shadowknights stand at the front lines of battle facing the enemy. Crafty scouts such as Brigands, Assassins, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function bsc_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I launch a ranged attack?", "bsc_3_2") + StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.") +end + +function bsc_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What classes specialize in ranged combat?", "bsc_3_3") + StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.") +end + +function bsc_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "bsc_3_4") + StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Brigands, Troubadors, Dirges, and Assassins specialize in ranged physical attacks. Mages, priests, and Shadowknights have spells that do damage to their foes from a distance.") +end + +function bsc_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.") +end + +function bsc_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?", "bsc_4_2") + StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.") +end + +function bsc_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are certain types of targets more rewarding than others?") + StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it.") +end + +function bsc_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.") +end diff --git a/Lua/SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua b/Lua/SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua new file mode 100755 index 000000000..5154d17a7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua @@ -0,0 +1,179 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua + Script Purpose : Trainer Thorir Wolfskinner + Script Author : theFoof + Script Date : 2013.05.17 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_1_2") + AddConversationOption(conversation, "I'll return later.") + StartConversation(conversation, NPC, Spawn, "Greetings. I sense that you will fight many battles and that you will one day be known as a great hero. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I target an opponent?", "dlg_1_4") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_1_5") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_1_6") + StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the level indicate?", "dlg_1_7") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.") +end + +function dlg_1_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_1_8") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") +end + +function dlg_1_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_1_9") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") +end + +function dlg_1_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the colors?", "dlg_1_10") + StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger it's color indicates, the greater the threat it represents.") +end + +function dlg_1_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_1_11") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") +end + +function dlg_1_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_1_12") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") +end + +function dlg_1_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do up arrows mean?", "dlg_1_13") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") +end + +function dlg_1_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_1_14") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") +end + +function dlg_1_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_1_15") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") +end + +function dlg_1_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_1_16") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") +end + +function dlg_1_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, instructor.") + StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/TundraBeet.lua b/Lua/SpawnScripts/FrostfangSea/TundraBeet.lua new file mode 100755 index 000000000..ce09dba22 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/TundraBeet.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TundraBeet.lua + Script Purpose : for the spawn signs named "tundra beet" + Script Author : theFoof + Script Date : 2013.5.18 + Script Notes : +--]] +local BeetsAlternative = 13 + +function spawn(NPC) + SetRequiredQuest(NPC, BeetsAlternative, 1) + SetRequiredQuest(NPC, BeetsAlternative, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "gather tundra beet" then + if GetQuestStep(Caster, BeetsAlternative) == 1 then + AddStepProgress(Caster, BeetsAlternative, 1, 1) + Despawn(Target) + elseif GetQuestStep(Caster, BeetsAlternative) == 2 then + SetStepComplete(Caster, BeetsAlternative, 2) + footprints = GetSpawn(Target, 4701753) + AddSpawnAccess(footprints, Caster) + Despawn(Target) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua b/Lua/SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua new file mode 100755 index 000000000..2922d70f5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua + Script Purpose : Ulfgjerd Primloch + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : movement loop for random npc in halas +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -67.35, 147.09, -19.74, 2, 0) + MovementLoopAddLocation(NPC, -87.36, 146.89, -9.17, 2, 0) + MovementLoopAddLocation(NPC, -96.48, 146.24, 18.45, 2, 0) + MovementLoopAddLocation(NPC, -122.15, 146.3, 16.75, 2, 0) + MovementLoopAddLocation(NPC, -135.78, 146.49, 55.33, 2, 0) + MovementLoopAddLocation(NPC, -131.98, 146.7, 26.02, 2, 0) + MovementLoopAddLocation(NPC, -113.06, 146, 2.94, 2, 0) + MovementLoopAddLocation(NPC, -112.37, 144.96, -22.06, 2, 0) + MovementLoopAddLocation(NPC, -95.54, 145.71, -38.41, 2, 0) + MovementLoopAddLocation(NPC, -112.25, 146.75, -56.73, 2, 0) + MovementLoopAddLocation(NPC, -165.18, 148.54, -49.67, 2, 0) + MovementLoopAddLocation(NPC, -197.51, 149.65, -79.5, 2, 0) + MovementLoopAddLocation(NPC, -165.18, 148.54, -49.67, 2, 0) + MovementLoopAddLocation(NPC, -112.25, 146.75, -56.73, 2, 0) + MovementLoopAddLocation(NPC, -88.93, 145.74, -39.28, 2, 0) + MovementLoopAddLocation(NPC, -20.19, 145.93, -53.38, 2, 0) + MovementLoopAddLocation(NPC, -19.78, 146.3, -21.45, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/ValdJerngard.lua b/Lua/SpawnScripts/FrostfangSea/ValdJerngard.lua new file mode 100755 index 000000000..23699290f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ValdJerngard.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ValdJerngard.lua + Script Purpose : Vald Jerngard + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Come on over! You won't find better deals elsewhere!", "beckon", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Let's check what's available, shall we?", "nod", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "All right here's all the goods listed. If you find anything you want, let me know.", "hello", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/VerienSkysigh.lua b/Lua/SpawnScripts/FrostfangSea/VerienSkysigh.lua new file mode 100755 index 000000000..b91c06f29 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/VerienSkysigh.lua @@ -0,0 +1,359 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/VerienSkysigh.lua + Script Purpose : Verien Skysigh + Script Author : theFoof + Script Date : 2013.05.18 + Script Notes : +--]] +local BeetsAlternative = 13 + +local SiftingGarbage = 14 + +local PilgrimPathfinder = 15 + +local PilgrimScout = 16 + +local PilgrimPelts = 17 + +local IcemanesCometh = 18 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") + ProvidesQuest(NPC, SiftingGarbage) + ProvidesQuest(NPC, PilgrimPathfinder) + ProvidesQuest(NPC, PilgrimScout) + ProvidesQuest(NPC, PilgrimPelts) + ProvidesQuest(NPC, IcemanesCometh) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if GetQuestStep(Spawn, BeetsAlternative) == 3 then + hailed(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, BeetsAlternative) == 3 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_001.mp3", "", "", 144081749, 1511716196, Spawn) + AddConversationOption(conversation, "Are you sure it wasn't an orc?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", it was horrible! A blizzard grizzly attacked Wregan!") + elseif HasCompletedQuest(Spawn, BeetsAlternative) and HasQuest(Spawn, SiftingGarbage) == false and HasCompletedQuest(Spawn, SiftingGarbage) == false then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_001.mp3", "", "", 144081749, 1511716196, Spawn) + AddConversationOption(conversation, "Are you sure it wasn't an orc?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", it was horrible! A blizzard grizzly attacked Wregan!") + elseif GetQuestStep(Spawn, SiftingGarbage) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_006.mp3", "", "", 3934649254, 1217703045, Spawn) + AddConversationOption(conversation, "Not that I know of. There were plenty of bones and discarded items but nothing that seemed orcish.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Did you find any sign of orcs within the blizzard grizzly den?") + elseif HasCompletedQuest(Spawn, SiftingGarbage) and HasQuest(Spawn, PilgrimPathfinder) == false and HasCompletedQuest(Spawn, PilgrimPathfinder) == false then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_008.mp3", "", "", 3063047585, 4165639354, Spawn) + AddConversationOption(conversation, "That makes sense.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "Ah, I think I have figured out our next step, " .. GetName(Spawn) .. ". We do not know the safest way to New Halas! We were relying on Wregan Firebeard for that knowledge. And we do not know where the orcs may have gone. We need to get the lay of the land.") + elseif GetQuestStep(Spawn, PilgrimPathfinder) == 1 then + PlayFlavor(NPC, "", "Atop the grizzly den you should be able to spot our best path across the land, and it may offer you some knowledge into where the orcs went.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PilgrimPathfinder) == 2 then + Quest3Chat_4(NPC, Spawn) + elseif HasCompletedQuest(Spawn, PilgrimPathfinder) and HasQuest(Spawn, PilgrimScout) == false and HasCompletedQuest(Spawn, PilgrimScout) == false then + Quest4Chat_2(NPC, Spawn) + elseif GetQuestStep(Spawn, PilgrimScout) == 1 then + PlayFlavor(NPC, "", "Return to me as soon as you have confirmed that we can traverse the western side of the isle by taking the path that hugs the wall of ice and rock.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PilgrimScout) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_016.mp3", "", "", 1416497004, 1412694978, Spawn) + AddConversationOption(conversation, "No. Unfortunately, there is no way through. It is a dead end.", "Quest4Chat_4") + StartConversation(conversation, NPC, Spawn, "What did you find, " .. GetName(Spawn) .. "? Is the path clear for us to take?") + elseif HasCompletedQuest(Spawn, PilgrimScout) and HasQuest(Spawn, PilgrimPelts) == false and HasCompletedQuest(Spawn, PilgrimPelts) == false then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, PilgrimPelts) == 1 then + PlayFlavor(NPC, "", "I hope that you are able to find the big icemane cats Wregan spoke of. We need those pelts.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PilgrimPelts) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_024.mp3", "", "", 1000859746, 2735177816, Spawn) + AddConversationOption(conversation, "I do!", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you the icemane cat pelts necessary for the frogloks, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, PilgrimPelts) and HasQuest(Spawn, IcemanesCometh) == false and HasCompletedQuest(Spawn, IcemanesCometh) == false then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, IcemanesCometh) == 1 then + AddConversationOption(conversation, "No. I'll be back with one.") + StartConversation(conversation, NPC, Spawn, "Do you have a cub trailing behind?") + elseif GetQuestStep(Spawn, IcemanesCometh) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_034.mp3", "", "", 1379708225, 648722209, Spawn) + AddConversationOption(conversation, "Gladly!", "Quest6Chat_5") + AddConversationOption(conversation, "It would be rude of me not to accept this gift.", "Quest6Chat_5") + StartConversation(conversation, NPC, Spawn, "You have provided us with enough icemane cubs, " .. GetName(Spawn) .. ". Please take this as a token of our appreciation. We are all very grateful for what you have done.") + elseif HasCompleteQuest(Spawn, IcemanesCometh) then + PlayFlavor(NPC, "", "I have alerted Pilgrims' Landing of all that transpired here, and of the orc prints you found.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_002.mp3", "", "", 3370476937, 2935818226, Spawn) + AddConversationOption(conversation, "I found orc footprints when I was harvesting the tundra beets.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Oh, yes! The bear was still standing over him when the guard here spotted... Wait! Why would you think it was an orc?!") +end + +function Quest1Chat_3(NPC, Spawn) + if GetQuestStep(Spawn, BeetsAlternative) == 3 then + SetStepComplete(Spawn, BeetsAlternative, 3) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_003.mp3", "", "", 490895384, 2888964692, Spawn) + AddConversationOption(conversation, "That sounds plausible.", "Quest2Chat_1") + AddConversationOption(conversation, "I'm not staying here to find out. Good bye.") + StartConversation(conversation, NPC, Spawn, "Ack! That is not good. No, not at all. That may even explain the grizzly attack! Perhaps they have been displaced from their den or pushed into attacking, whipped into a frenzy, if you would, by the orcs' presence?") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_004.mp3", "", "", 788435827, 360271773, Spawn) + AddConversationOption(conversation, "I'll do that.", "OfferSiftingGarbage") + AddConversationOption(conversation, "The guard here can do it.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Then someone must delve into the blizzard grizzly den in search for any sign of the orcs in there.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_005.mp3", "", "", 1213684046, 759187296, Spawn) + AddConversationOption(conversation, "Since you put it that way, I'll do it.", "OfferSiftingGarbage") + AddConversationOption(conversation, "I can't agree to this. Good bye.") + StartConversation(conversation, NPC, Spawn, "Oh, no. We cannot afford to give up our guard here. We will be at the mercy of the wilds if that were the case. We are depending on you, Ocahao.") +end + +function Quest3Chat_1(NPC, Spawn) + SetStepComplete(Spawn, SiftingGarbage, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_007.mp3", "", "", 162612722, 573249743, Spawn) + AddConversationOption(conversation, "I do not know.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Then they must be somewhere else. But where?") +end + +function Quest3Chat_2(NPC, Spawn) + PlayFlavor(NPC, "", "Let me think on this a moment", "think", 0, 0, Spawn) +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_009.mp3", "", "", 4139445726, 3566440142, Spawn) + AddConversationOption(conversation, "I'll be sure to take in the view while I'm there.", "OfferPilgrimPathfinder") + AddConversationOption(conversation, "I am not going to scale the blizzard grizzly cave.") + StartConversation(conversation, NPC, Spawn, "Hike up to the top of the blizzard grizzly den. The higher vantage point should allow you to find our best path across the land, and may offer you some knowledge into where the orcs went.") +end + +function Quest3Chat_4(NPC, Spawn) + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_010.mp3", "", "", 649282566, 2245924889, Spawn) + AddConversationOption(conversation, "No. But I did see a path we may be able to take.", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Tell me, what did you find atop the blizzard grizzly den, " .. GetName(Spawn) .. "? Any sign of the orcs?") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_011.mp3", "", "", 3584109077, 3566409712, Spawn) + AddConversationOption(conversation, "The western shore leads into the dangerous plains ahead, but there seems to be a path leading into the hills above it.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Well, at least we have that. Where must we go?") +end + +function Quest4Chat_1(NPC, Spawn) + if GetQuestStep(Spawn, PilgrimPathfinder) == 2 then + SetStepComplete(Spawn, PilgrimPathfinder, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_012.mp3", "", "", 3213043201, 2009251303, Spawn) + AddConversationOption(conversation, "I hope so, Verien.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "If that is the case then we may just stand a better chance of surviving the trek to the city by taking that hill trail.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_013.mp3", "", "", 45193987, 852341503, Spawn) + AddConversationOption(conversation, "Yeah, that is true.", "Quest4Chat_3") + AddConversationOption(conversation, "We must take the chance.", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "Higher lands of snow are not necessarily the safest of conditions though, you know.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_014.mp3", "", "", 4224224424, 1811407629, Spawn) + AddConversationOption(conversation, "I can do that for us.", "OfferPilgrimScout") + AddConversationOption(conversation, "No. There are others that can do that.") + StartConversation(conversation, NPC, Spawn, "Will you please go scout out the path you spotted from atop the blizzard grizzly cave? Once you have confirmed that it is as clear as you suspect, then return to us and we will make our way.") +end + +function Quest4Chat_4(NPC, Spawn) + if GetQuestStep(Spawn, PilgrimScout) == 2 then + SetStepComplete(Spawn, PilgrimScout, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_017.mp3", "", "", 2885535176, 962895283, Spawn) + AddConversationOption(conversation, "It seems the only choice.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "As I had thought, it was too good to be true. Then we have only one choice. We must go west through the dangerous plains if we hope to reach the city of New Halas.") +end + +function Quest5Chat_1(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_018.mp3", "", "", 4165854, 1367268200, Spawn) + AddConversationOption(conversation, "I don't know either.", "Quest5Chat_2") + AddConversationOption(conversation, "I have made it deep into their cave.", "Quest5Chat_5") + AddConversationOption(conversation, "You need to face your own fears.") + StartConversation(conversation, NPC, Spawn, "But I do not know how we are going to make it past the grizzlies. Their hunger seems insatiable!") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_019.mp3", "", "", 655764296, 405564965, Spawn) + AddConversationOption(conversation, "But that's just me. That's not all of you, too.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "But wait, you must know something about it. You made it deep into their cave! You have obviously learned how to fight them and how to navigate around them when possible.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_021.mp3", "", "", 4164608708, 1805231816, Spawn) + AddConversationOption(conversation, "This is nothing like a swamp.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Good point. I will have to think on this a while. In the mean time, the froglok pilgrims are becoming cold. Their amphibious bodies were not blessed by Marr with much protection from the elements.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_022.mp3", "", "", 208330103, 1632388719, Spawn) + AddConversationOption(conversation, "I'm your lion hunter!", "OfferPilgrimPelts") + AddConversationOption(conversation, "I am no lion hunter.") + StartConversation(conversation, NPC, Spawn, "Exactly. Wregan had promised to hunt them up some lion pelts to keep them warm. He had said that they were not far from here, but we have never seen any. Will you journey ahead and slay any of the big icemane cats you find?") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_020.mp3", "", "", 1987107371, 160133318, Spawn) + AddConversationOption(conversation, "But that's just me. That's not all of you, too.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "That's right, you have. And you have survived the hike atop of their cave. You have obviously learned how to fight them and how to navigate around them when possible.") +end + +function Quest5Chat_6(NPC, Spawn) + SetStepComplete(Spawn, PilgrimPelts, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_025.mp3", "", "", 555682283, 4098507949, Spawn) + AddConversationOption(conversation, "That would be nice.", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, this is wonderful! In fact, you may have returned with enough fur for us to craft you something, too.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_026.mp3", "", "", 3888781085, 2569289661, Spawn) + AddConversationOption(conversation, "No. Why?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "Did you see any of the ferocious grizzlies amongst the icemane cats?") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_027.mp3", "", "", 2243105575, 903335403, Spawn) + AddConversationOption(conversation, "It would seem so.", "Quest6Chat_3") + AddConversationOption(conversation, "If you say so.", "Quest6Chat_3") + StartConversation(conversation, NPC, Spawn, "I have been giving some thought to how we may increase our safety while we journey past the grizzlies. The bears have learned to steer clear of the icemane cats, as you can attest.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_028.mp3", "", "", 3038823377, 2150811874, Spawn) + AddConversationOption(conversation, "How are we to fool the cats into doing that?", "Quest6Chat_4") + AddConversationOption(conversation, "I do not like the sound of this plan. Goodbye.") + StartConversation(conversation, NPC, Spawn, "So, if we have some of the cats working as our chaperones, then we should make it past the grizzlies.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_029.mp3", "", "", 1710780263, 712522304, Spawn) + AddConversationOption(conversation, "I'll do that.", "OfferIcemanesCometh") + AddConversationOption(conversation, "Oh, no way! I am not agreeing to this one.") + StartConversation(conversation, NPC, Spawn, "There is no fooling them. I'm suggesting you take this binding tether and leash icemane cubs with it. ") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_035.mp3", "", "", 1914930424, 1171502027, Spawn) + AddConversationOption(conversation, "I can do it.", "Quest6Chat_6") + AddConversationOption(conversation, "Then I wish you good luck.", "CompleteIcemanesCometh") + StartConversation(conversation, NPC, Spawn, "And now that I know that these pilgrims will be in safe hands, I must venture back to Pilgrims' Landing. Someone must alert them of all that has transpired here, and of the orc prints you found.") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_036.mp3", "", "", 491269098, 2938508945, Spawn) + AddConversationOption(conversation, "Then I wish you good luck.", "CompleteIcemanesCometh") + StartConversation(conversation, NPC, Spawn, "No. I will not stand in the way of your travels any further.") +end + +function CompleteIcemanesCometh(NPC, Spawn) + SetStepComplete(Spawn, IcemanesCometh, 2) + RemoveSpawnAccess(NPC, Spawn) +end + +function OfferSiftingGarbage(NPC, Spawn) + OfferQuest(NPC, Spawn, SiftingGarbage) +end + +function OfferPilgrimPathfinder(NPC, Spawn) + OfferQuest(NPC, Spawn, PilgrimPathfinder) +end + +function OfferPilgrimScout(NPC, Spawn) + OfferQuest(NPC, Spawn, PilgrimScout) +end + +function OfferPilgrimPelts(NPC, Spawn) + OfferQuest(NPC, Spawn, PilgrimPelts) +end + +function OfferIcemanesCometh(NPC, Spawn) + OfferQuest(NPC, Spawn, IcemanesCometh) +end diff --git a/Lua/SpawnScripts/FrostfangSea/VillgerdGregorson.lua b/Lua/SpawnScripts/FrostfangSea/VillgerdGregorson.lua new file mode 100755 index 000000000..cd2b11dcb --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/VillgerdGregorson.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/VillgerdGregorson.lua + Script Purpose : Morag McMarrin + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/WardenBretta.lua b/Lua/SpawnScripts/FrostfangSea/WardenBretta.lua new file mode 100755 index 000000000..bcdf0e448 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/WardenBretta.lua @@ -0,0 +1,217 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WardenBretta.lua + Script Purpose : Warden Bretta + Script Author : theFoof + Script Date : 2013.10.29 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I apologize, but my services are only for those who claim New Halas as their home.", "no", 0, 0, Spawn) +end + +--[[ Need to script the rest out along with her housing quest +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, there are a few things I would like to know.", "dlg_5_1") + AddConversationOption(conversation, "No, I think I have it covered. May I see my room, please?") + AddConversationOption(conversation, "I don't have time for this right now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Greetings, Iwkaat. I am Warden Bretta, and I am responsible for showing you to your first home here in New Halas. Before I do so, do you have any questions for me about housing?") + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_15_1") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Ah, you have returned. Did you have any questions for me?") + end + + if convo==24 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, there are a few things I would like to know.", "dlg_24_1") + AddConversationOption(conversation, "No, I think I have it covered. May I see my room, please?") + AddConversationOption(conversation, "I don't have time for this right now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Greetings, Tuce. I am Warden Bretta, and I am responsible for showing you to your first home here in New Halas. Before I do so, do you have any questions for me about housing?") + end + +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_5_2") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Excellent, I am here to help. What is it you would like to know?") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_5_3") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My thanks to you for your help! I will return if I have any other questions.") + StartConversation(conversation, NPC, Spawn, "Then I will show you to your room. Behind me is the Valor Homesteads, which is often the first housing the citizens of New Halas will own. Due to your assistance, we've agreed to waive the initial fee for you, as thanks for your help to the city. Please left-click on the door behind me and select 'buy'. Once you are inside, you will find some basic necessities for your home - feel free to place them as you see fit. Farewell to you!") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So if I want something larger, what is available to me?") + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_15_2") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "New Halas has several floor plans to choose from. This here is the basic one-room homestead, which should suit your needs for now. You may find someday that this room is no longer comfortable or spacious enough for you, and might desire to move to something larger.") +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_24_2") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Excellent, I am here to help. What is it you would like to know?") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_24_3") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So if I want something larger, what is available to me?", "dlg_24_4") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "New Halas has several floor plans to choose from. This here is the basic one-room homestead, which should suit your needs for now. You may find someday that this room is no longer comfortable or spacious enough for you, and might desire to move to something larger.") +end + +function dlg_24_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I use the marketboard?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_24_5") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "The marketboard is a house item, not unlike regular furniture. What sets the marketboard apart from the rest however is that once your marketboard is mounted on a wall in your home you can use it to sell items to other citizens of New Halas. These items can be purchased by your fellow citizens at our Broker, who is based here in the city.") +end + +function dlg_24_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_24_6") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_24_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So if I want something larger, what is available to me?", "dlg_24_7") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "New Halas has several floor plans to choose from. This here is the basic one-room homestead, which should suit your needs for now. You may find someday that this room is no longer comfortable or spacious enough for you, and might desire to move to something larger.") +end + +function dlg_24_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_24_8") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Along with the one room model, New Halas also has a three room and five room house available for purchase. Those houses are quite spacious, and the largest of them are very luxurious and expensive.") +end + +function dlg_24_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else can you tell me?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_24_9") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You will find that your house has many uses, the first of which is the ability to store house items. Each house has a limit to the number of house items you can place in it, so as you gain more possessions you wish to display you will need larger houses to do so.") +end + +function dlg_24_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My thanks to you for your help! I will return if I have any other questions.") + StartConversation(conversation, NPC, Spawn, "Then I will show you to your room. Behind me is the Valor Homesteads, which is often the first housing the citizens of New Halas will own. Due to your assistance, we've agreed to waive the initial fee for you, as thanks for your help to the city. Please left-click on the door behind me and select 'buy'. Once you are inside, you will find some basic necessities for your home - feel free to place them as you see fit. Farewell to you!") +end +--]] diff --git a/Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.lua b/Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.lua new file mode 100755 index 000000000..03ac28947 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScriptsFrostfangSeaWidgetRedbladeSignalFireSwitch.lua + Script Purpose : for the spawn "redblade_x4_signal_fire_switch" + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) + SetRequiredQuest(NPC, FlameOn, 1) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if GetQuestStep(Caster, FlameOn) == 1 and SpellName == "Light Signal Fire" then + AddSpawnAccess(GetSpawn(Target, 4701733), Caster) + SetStepComplete(Caster, FlameOn, 1) + local zone = GetZone(Target) + local orc1 = SpawnByLocationID(zone, 1032806) + local orc2 = SpawnByLocationID(zone, 1032810) + SetTempVariable(orc1, "other_orc", orc2) + SetTempVariable(orc2, "other_orc", orc1) + Attack(orc1, Caster) + Attack(orc2, Caster) + SetRequiredQuest(Target, FlameOn, 5) + end +end + +function InRange(NPC, Player) + if GetQuestStep(Player, FlameOn) == 2 then + local zone = GetZone(Player) + local orc1 = SpawnByLocationID(zone, 1032806) + local orc2 = SpawnByLocationID(zone, 1032810) + SetTempVariable(orc1, "other_orc", orc2) + SetTempVariable(orc2, "other_orc", orc1) + Attack(orc1, Player) + Attack(orc2, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.luaa b/Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.luaa new file mode 100755 index 000000000..39f5ccd07 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.luaa @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScriptsFrostfangSeaWidgetRedbladeSignalFireSwitch.lua + Script Purpose : for the spawn "redblade_x4_signal_fire_switch" + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) + SetRequiredQuest(NPC, FlameOn, 1) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if GetQuestStep(Caster, FlameOn) == 1 and SpellName == "Light Signal Fire" then + AddSpawnAccess(GetSpawn(Target, 4701733), Caster) + SetStepComplete(Caster, FlameOn, 1) + local zone = GetZone(Target) + SpawnByLocationID(zone, 32806) + SpawnByLocationID(zone, 32810) + Attack(GetSpawnByLocationID(zone, 32806), Caster) + Attack(GetSpawnByLocationID(zone, 32810), Caster) + SetRequiredQuest(Target, FlameOn, 5) + end +end + +function InRange(NPC, Player) + if GetQuestStep(Player, FlameOn) == 2 then + local zone = GetZone(Player) + SpawnByLocationID(zone, 32806) + SpawnByLocationID(zone, 32810) + Attack(GetSpawnByLocationID(zone, 32806), Caster) + Attack(GetSpawnByLocationID(zone, 32810), Caster) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/WolcottChillborn.lua b/Lua/SpawnScripts/FrostfangSea/WolcottChillborn.lua new file mode 100755 index 000000000..cc8dab38d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/WolcottChillborn.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WolcottChillborn.lua + Script Purpose : inquis trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local INQUISITOR = 14 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == INSQUISITOR then + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "What advice do you have for a fellow inquisitor?", "InqChat1") + AddConversationOption(conversation, "That I did! But I have no time to chat about it.") + StartConversation(conversation, NPC, Spawn, "Ah, another who has refused to ignore their convictions. Welcome, my fellow inquisitor!") + else + PlayFlavor(NPC, "", "Tapping into divine power does not require giving yourself to a petty god. Tapping into that power merely requires proper training and understanding, just like any discipline.", "hello", 0, 0, Spawn) + end +end + +function InqChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's useful to know!", "InqChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function InqChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's interesting.", "InqChat3") + StartConversation(conversation, NPC, Spawn, "We are known for protecting ourselves and our allies with reactive heals. These are spells cast on an individual that lay in wait until they have damage inflicted upon them. At which time the spell responds and a heal is given to the individual.") +end + +function InqChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That will be useful!", "InqChat4") + StartConversation(conversation, NPC, Spawn, "But the divine power, demanded by our fervent faith, is not limited to mending the wounded or purging ailments from the suffering. It can also be called upon to increase the amount of damage your spells or your ally's spells will inflict upon our enemies.") +end + +function InqChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor may be cumbersome, but its protective properties will be necessary, as it takes time to call forth our divine powers.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/WolfomBonetooth.lua b/Lua/SpawnScripts/FrostfangSea/WolfomBonetooth.lua new file mode 100755 index 000000000..d2f77f07f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/WolfomBonetooth.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WolfomBonetooth.lua + Script Purpose : Wolfom Bonetooth + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Do not be in such a rush young one. You will be strong enough one day to take on my noble tasks. ", "no", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/WreganFirebeard.lua b/Lua/SpawnScripts/FrostfangSea/WreganFirebeard.lua new file mode 100755 index 000000000..c601fe475 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/WreganFirebeard.lua @@ -0,0 +1,120 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WreganFirebeard.lua + Script Purpose : Wregan Firebeard + Script Author : theFoof + Script Date : 2013.05.14 + Script Notes : +--]] + +local RideGwenevyn = 8 + +local BeetsAlternative = 13 + +local SiftingGarbage = 14 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, BeetsAlternative) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, BeetsAlternative) or GetQuestStep(Spawn, BeetsAlternative) == 3 then + if HasCompletedQuest(Spawn, SiftingGarbage) == false and GetQuestStep(Spawn, SiftingGarbage) ~= 2 then + AddSpawnAccess(GetSpawn(NPC, 4701834), Spawn) + end + else + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, BeetsAlternative) == false and HasCompletedQuest(Spawn, BeetsAlternative) == false then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, RideGwenevyn) == 1 then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, BeetsAlternative) == 1 then + PlayFlavor(NPC, "", "As soon as you get those tundra beets we'll be able to embark on our journey.", "tapfoot", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + if GetQuestStep(Spawn, RideGwenevyn) == 1 then + SetStepComplete(Spawn, RideGwenevyn, 1) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_001.mp3", "", "", 1553579040, 3434703804, Spawn) + AddConversationOption(conversation, "Yes.", "Quest1Chat_2") + AddConversationOption(conversation, "You could say that.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Another pilgrim, I take it?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_002.mp3", "", "", 1986724829, 1256857659, Spawn) + AddConversationOption(conversation, "Why's that?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Well, you're lucky you arrived when you did.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_003.mp3", "", "", 931801191, 1464668700, Spawn) + AddConversationOption(conversation, "You were going to leave without enough provisions?", "Quest1Chat_4") + AddConversationOption(conversation, "Why didn't you have the others gather what is needed?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "We were about ready to set out for our treacherous pilgrimage to the city of New Halas. Unfortunately, if your plans were to join us then you need to help us fill our packs with provisions for the trip.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_005.mp3", "", "", 3666066743, 675613480, Spawn) + AddConversationOption(conversation, "Oh, so I'll be gathering the stuff I need for this trip?", "OfferBeetsAlternative") + AddConversationOption(conversation, "I am here to hunt not gather!", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "No. We already have enough provisions for those that were already here, but you are another mouth to feed.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_006.mp3", "", "", 3776727269, 3608373686, Spawn) + AddConversationOption(conversation, "Oh, so I'll be gathering the stuff I need for this trip?", "OfferBeetsAlternative") + AddConversationOption(conversation, "I am still not convinced. I'm going to go now.") + StartConversation(conversation, NPC, Spawn, "There will be plenty of opportunity for hunting and fighting, eager one. The journey to the city is dangersome, full of wild beasts and harsh elements. That is why we must prepare ourselves now.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_004.mp3", "", "", 2820759679, 594607724, Spawn) + AddConversationOption(conversation, "Oh, so I'll be gathering the stuff I need for this trip?", "OfferBeetsAlternative") + AddConversationOption(conversation, "I am here to hunt not gather!", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "I did. They gathered the provisions that they will need for the journey, but you are another mouth to feed.") +end + +function OfferBeetsAlternative(NPC, Spawn) + if HasQuest(Spawn, BeetsAlternative) == false and HasCompletedQuest(Spawn, BeetsAlternative) == false then + OfferQuest(NPC, Spawn, BeetsAlternative) + end +end diff --git a/Lua/SpawnScripts/FrostfangSea/YashaRedblade.lua b/Lua/SpawnScripts/FrostfangSea/YashaRedblade.lua new file mode 100755 index 000000000..fb4a972f3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/YashaRedblade.lua @@ -0,0 +1,379 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/YashaRedblade.lua + Script Purpose : Yasha Redblade + Script Author : theFoof + Script Date : 2013.03.16 + Script Notes :Ememjr 2017.10.21 add code, to give item if missing from your inventory on hail +--]] + +local HalasianWelcome = 1 + +local StoneCombat = 2 + +local CallArms = 3 + +local BoatloadWork = 4 + +local FlameOn = 5 + +local RideGwenevyn = 8 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, StoneCombat) + ProvidesQuest(NPC, CallArms) + ProvidesQuest(NPC, BoatloadWork) + ProvidesQuest(NPC, FlameOn) + ProvidesQuest(NPC, RideGwenevyn) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, HalasianWelcome) then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_001.mp3", "", "", 1052109202, 2650157895, Spawn) + AddConversationOption(conversation, "Yes, and my muscles are a bit stiff.", "CompleteHalasianWelcome1") + AddConversationOption(conversation, "Yes, and I heard you could use some help.", "CompleteHalasianWelcome2") + StartConversation(conversation, NPC, Spawn, "Whoa! You finally woke, eh?") + elseif HasCompletedQuest(Spawn, HalasianWelcome) and HasCompletedQuest(Spawn, StoneCombat) == false and HasQuest(Spawn, StoneCombat) == false then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_001.mp3", "", "", 1052109202, 2650157895, Spawn) + AddConversationOption(conversation, "Yes, and my muscles are a bit stiff.", "Quest2Chat_0_1") + AddConversationOption(conversation, "Yes, and I heard you could use some help.", "Quest2Chat_1_1") + StartConversation(conversation, NPC, Spawn, "Whoa! You finally woke, eh?") + elseif GetQuestStep(Spawn, StoneCombat) == 4 then + AddConversationOption(conversation, "Yes. I defeated my opponent.", "CompleteStoneCombat") + StartConversation(conversation, NPC, Spawn, "Have you passed the test that Trainer Ragnhild Stonefist set before you?") + elseif HasCompletedQuest(Spawn, StoneCombat) and HasCompletedQuest(Spawn, CallArms) == false and HasQuest(Spawn, CallArms) == false then + Quest3Chat_0_1(NPC, Spawn) + elseif GetQuestStep(Spawn, CallArms) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I killed many of the attacking orcs.", "FinishedCallArms") + StartConversation(conversation, NPC, Spawn, "How did you fare, " .. GetName(Spawn) .. "? Have the attacking orcs been defeated?") + elseif HasCompletedQuest(Spawn, CallArms) and HasCompletedQuest(Spawn, BoatloadWork) == false and HasQuest(Spawn, BoatloadWork) == false then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, BoatloadWork) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I hope so.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Thank Marr you have returned with the planks of wood, " .. GetName(Spawn) .. "! This new barricade will certainly help us keep the orcs at bay.") + elseif GetQuestStep(Spawn, BoatloadWork) == 3 then + if HasItem(Spawn, 46842) == false then + StartConversation(conversation, NPC, Spawn, "Set the new barricade down south of me where the break in the barricade is lit by two torches.") + SummonItem(Spawn, 46842, 1) + else + StartConversation(conversation, NPC, Spawn, "Set the new barricade down south of me where the break in the barricade is lit by two torches.") + end + elseif GetQuestStep(Spawn, BoatloadWork) == 4 then + SetStepComplete(Spawn, BoatloadWork, 4) + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I have been glad to help.", "Quest5Chat_1") + AddConversationOption(conversation, "It has been rewarding.") + StartConversation(conversation, NPC, Spawn, "You really are a blessing from Marr, " .. GetName(Spawn) .. "! We cannot thank you enough for all that you have done to provide for us and keep us safe.") + elseif HasCompletedQuest(Spawn, BoatloadWork) and HasCompletedQuest(Spawn, FlameOn) == false and HasQuest(Spawn, FlameOn) == false then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, FlameOn) == 1 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_028.mp3", "", "", 3869056834, 2852458001, Spawn) + AddConversationOption(conversation, "Where is it again?", "Quest5Chat_3") + AddConversationOption(conversation, "How do I climb up to it?", "Quest5Chat_4") + AddConversationOption(conversation, "I'll light it, Yasha.") + StartConversation(conversation, NPC, Spawn, "We are counting on you to light the signal fire!") + elseif GetQuestStep(Spawn, FlameOn) == 3 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_030.mp3", "", "", 1552005531, 3390176496, Spawn) + AddConversationOption(conversation, "I encountered some of the orcs up there!", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "The signal fire burns bright, " .. GetName(Spawn) .. ". But what took so long? I was growing concerned.") + elseif HasCompletedQuest(Spawn, FlameOn) and HasQuest(Spawn, RideGwenevyn) == false and HasCompletedQuest(Spawn, RideGwenevyn) == false then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, RideGwenevyn) == 1 then + PlayFlavor(NPC, "", "You'll find the Gwenavyne II at the southern most tip of Pilgrims' Landing. It will take you over to Erollis.", "nod", 1689589577, 4560189, Spawn) + elseif HasCompletedQuest(Spawn, RideGwenevyn) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "I have no doubt the fates have something great in store for you!", "", 0, 0, Spawn) + else + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1041.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn) + end + end +end + +function CompleteHalasianWelcome1(NPC, Spawn) + SetStepComplete(Spawn, HalasianWelcome, 1) + Quest2Chat_0_1(NPC, Spawn) +end + +function CompleteHalasianWelcome2(NPC, Spawn) + SetStepComplete(Spawn, HalasianWelcome, 1) + Quest2Chat_1_1(NPC, Spawn) +end + +function CompleteStoneCombat(NPC, Spawn) + SetStepComplete(Spawn, StoneCombat, 4) + Quest3Chat_0_1(NPC, Spawn) +end + +function Quest2Chat_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_002.mp3", "", "", 395241080, 1989878493, Spawn) + AddConversationOption(conversation, "That would be great!", "Quest2Chat_1_1") + AddConversationOption(conversation, "Not quite yet.") + StartConversation(conversation, NPC, Spawn, "That's no surprise considering the work out that they must have endured swimming and dragging those others ashore the way you did. You looking to work 'em out a bit?") +end + +function Quest2Chat_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_005.mp3", "", "", 3031703897, 849787882, Spawn) + AddConversationOption(conversation, "I'll go speak with her, right now.", "OfferStoneCombat") + AddConversationOption(conversation, "I don't think I'm up for this. Good bye.") + StartConversation(conversation, NPC, Spawn, "You heard correctly. But first I need to ensure that you are ready to enter the fray. Go speak to Trainer Ragnhild Stonefist. She's east of me at the other end of the ship's hull. She'll teach you the basics of combat.") +end + +function Quest3Chat_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_009.mp3", "", "", 3426547133, 152454946, Spawn) + AddConversationOption(conversation, "That's true.", "Quest3Chat_1_1") + AddConversationOption(conversation, "I am more than warmed up.", "Quest3Chat_1_1") + StartConversation(conversation, NPC, Spawn, "I bet your muscles aren't so stiff after that warm up.") +end + +function Quest3Chat_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_010.mp3", "", "", 1856638395, 3517818586, Spawn) + AddConversationOption(conversation, "Is it orcs?", "Quest3Chat_2_1") + AddConversationOption(conversation, "Perfect! Who is it?", "Quest3Chat_2_2") + StartConversation(conversation, NPC, Spawn, "Good, 'cause there's a real foe around here for you to face.") +end + +function Quest3Chat_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_012.mp3", "", "", 1278159585, 3525975110, Spawn) + AddConversationOption(conversation, "There are orcs attacking?!", "Quest3Chat_3_1") + AddConversationOption(conversation, "I am not ready to face orcs!") + StartConversation(conversation, NPC, Spawn, "The tenacious orcs! The mangy beasts started rushing our shore shortly after you swam ashore carrying the others. They must have realized how strong this outpost was becoming.") +end + + +function Quest3Chat_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_011.mp3", "", "", 1164815048, 3310979023, Spawn) + AddConversationOption(conversation, "Then we must face them!", "Quest3Chat_3_1") + AddConversationOption(conversation, "I am not ready to face orcs.") + StartConversation(conversation, NPC, Spawn, "Yes! The mangy beasts started rushing our shore shortly after you swam ashore carrying the others. They must have realized how strong this outpost was becoming.") +end + +function Quest3Chat_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_013.mp3", "", "", 4060266194, 2101228978, Spawn) + AddConversationOption(conversation, "Right away!", "OfferCallArms") + StartConversation(conversation, NPC, Spawn, "Yes, indeed! Fall upon the Ry'Gorr centurions that are rushing the barricades southeast of me. Return to me when you have done this.") +end + +function FinishedCallArms(NPC, Spawn) + if GetQuestStep(Spawn, CallArms) == 2 then + SetStepComplete(Spawn, CallArms, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I did.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, I wish I would have seen it! You must have unleashed an impressive fury upon those murderous meat slabs.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "You want me to kill some more?", "Quest4Chat_2") + AddConversationOption(conversation, "What can we do about it?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "But I am afraid that is not the last we will see of them. Even now, another wave of them may be crashing upon our shores!") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I can do that.", "Quest4Chat_4") + AddConversationOption(conversation, "I am not interested in crafting.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "I had something else in mind, " .. GetName(Spawn) .. ". The barricades that are holding back the orcs were frantically crafted out of debris and boat wreckage. There are several of them that need to be replaced.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I can do that.", "Quest4Chat_4") + AddConversationOption(conversation, "I am not interested in crafting.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "We must fortify our defenses! The barricades that are holding back the orcs were frantically crafted out of debris and boat wreckage. There are several of them that need to be replaced.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "Right away!", "OfferBoatloadWork") + AddConversationOption(conversation, "Maybe later, Yasha.") + StartConversation(conversation, NPC, Spawn, "I am relieved to hear you say that, " .. GetName(Spawn) .. ". Gather planks of wood from the bow of the old boat wreckage west of me. I'll make them into a makeshift barricade.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "Right away!", "OfferBoatloadWork") + AddConversationOption(conversation, "Maybe later, Yasha.") + StartConversation(conversation, NPC, Spawn, "That's fine, " .. GetName(Spawn) .. ". I'll craft the makeshift barricade. I just need you to gather planks of wood from the bow of the old boat wreckage west of me.") +end + +function Quest4Chat_6(NPC, Spawn) + SetStepComplete(Spawn, BoatloadWork, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "Will do!") + StartConversation(conversation, NPC, Spawn, "Take this makeshift barricade piece and set it in the frozen tundra south of me where the break in the barricade line is lit by two torches.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_025.mp3", "", "", 1803586212, 1797757498, Spawn) + AddConversationOption(conversation, "What for?", "Quest5Chat_2") + AddConversationOption(conversation, "Sounds easy. I'll do it.", "Quest5Chat_3") + AddConversationOption(conversation, "I am not able to help you right now.") + StartConversation(conversation, NPC, Spawn, "Wait a moment! Your timing is perfect, " .. GetName(Spawn) .. ". We need someone to light the signal fire atop the cliff to the east.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_026.mp3", "", "", 3324242342, 3751082906, Spawn) + AddConversationOption(conversation, "To warn them.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "It is to alert the fledgling city of New Halas of the orcs that have been attacking our outpost.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_028.mp3", "", "", 3869056834, 2852458001, Spawn) + AddConversationOption(conversation, "I'll light it, Yasha.", "OfferFlameOn") + AddConversationOption(conversation, "How do I climb?", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Venture east and you will find an imposing wall of ice with a rope ladder scaling it. Climb the ladder to the ice shelf above. The signal fire is up there.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_029.mp3", "", "", 476266339, 1999686318, Spawn) + AddConversationOption(conversation, "That's good to know.", "OfferFlameOn") + StartConversation(conversation, NPC, Spawn, "That's easy! If a vertical surface can be climbed all you need to do is approach it. You will find that you are a natural at it and that you have just as much control over what direction you wish to travel on the vertical surfaces as you do over horizontal ones.") +end + +function Quest5Chat_5(NPC, Spawn) + SetStepComplete(Spawn, FlameOn, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_031.mp3", "", "", 517725875, 2427954496, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest6Chat_1") + AddConversationOption(conversation, "I'm not sure that's true.", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "Holy Twins! You killed them, didn't you?! I knew you were brought to this floating island by the fates and now you have proven it!") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_032.mp3", "", "", 4231067263, 531833046, Spawn) + AddConversationOption(conversation, "How do I get there?", "Quest6Chat_2") + AddConversationOption(conversation, "Thank you, again.", "OfferRidegwenevyn") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Report to Wregan Firebeard. He is at a small camp site at Gwenevyn's Cove, preparing to guide the latest group of pilgrims to the city. If you hurry, you should be able to catch him before they embark on their trek.") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_033.mp3", "", "", 1250945947, 234141592, Spawn) + AddConversationOption(conversation, "Thank you, again.", "OfferRidegwenevyn") + AddConversationOption(conversation, "Can't I swim over there?", "OfferRidegwenevynTwo") + StartConversation(conversation, NPC, Spawn, "Get aboard the small ferry craft that we have pieced together at the southern most tip of Pilgrims' Landing. It will take you over to Erollis. The camp site's fire should be noticeable from the beach.") +end + +function OfferStoneCombat(NPC, Spawn) + if HasCompletedQuest(Spawn, HalasianWelcome) then + OfferQuest(NPC, Spawn, StoneCombat) + end +end + +function OfferCallArms(NPC, Spawn) + if HasCompletedQuest(Spawn, StoneCombat) then + OfferQuest(NPC, Spawn, CallArms) + end +end + +function OfferBoatloadWork(NPC, Spawn) + if HasCompletedQuest(Spawn, CallArms) then + OfferQuest(NPC, Spawn, BoatloadWork) + end +end + +function OfferFlameOn(NPC, Spawn) + if HasCompletedQuest(Spawn, BoatloadWork) and HasQuest(Spawn, FlameOn) == false then + OfferQuest(NPC, Spawn, FlameOn) + end +end + +function OfferRidegwenevyn(NPC, Spawn) + if HasCompletedQuest(Spawn, FlameOn) then + OfferQuest(NPC, Spawn, RideGwenevyn) + end +end + +function OfferRidegwenevynTwo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, FlameOn) then + OfferQuest(NPC, Spawn, RideGwenevyn) + end + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_034.mp3", "", "", 4096485687, 3591012782, Spawn) + AddConversationOption(conversation, "Oh, okay.") + StartConversation(conversation, NPC, Spawn, "You can, sure. But I wouldn't suggest it. The water is freezing.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aBlizzardGrizzly_(572511).lua b/Lua/SpawnScripts/FrostfangSea/aBlizzardGrizzly_(572511).lua new file mode 100755 index 000000000..b4cc43685 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aBlizzardGrizzly_(572511).lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Quests/FrostfangSea/aBlizzardGrizzly_(572511).lua + Script Purpose : movement loop for a bear at loc id 572511 + Script Author : theFoof + Script Date : 2013.5.22 +--]] +function spawn(NPC) + X = GetX(NPC) + Y = GetY(NPC) + Z = GetZ(NPC) + + MovementLoopAddLocation(NPC, 87.5, 35.93, -497.63, 2, 0) + MovementLoopAddLocation(NPC, 83.06, 36.29, -503.23, 2, 0) + MovementLoopAddLocation(NPC, 81.31, 40.11, -522.55, 2, 0) + MovementLoopAddLocation(NPC, 79.99, 45.27, -542.14, 2, math.random(3,7)) + MovementLoopAddLocation(NPC, 76.11, 40.43, -526.41, 2, 0) + MovementLoopAddLocation(NPC, 83.06, 36.29, -503.23, 2, 0) + MovementLoopAddLocation(NPC, 87.5, 35.93, -497.63, 2, 0) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(3,7)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aFarSeasdockhand.lua b/Lua/SpawnScripts/FrostfangSea/aFarSeasdockhand.lua new file mode 100755 index 000000000..30dc88bad --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aFarSeasdockhand.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aFarSeasdockhand.lua + Script Purpose : a Far Seas dockhand + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") + MovementLoopAddLocation(NPC, -356.89, 30.06, 221.89, 2, 5) + MovementLoopAddLocation(NPC, -340.84, 30.68, 213.38, 2, 0) + MovementLoopAddLocation(NPC, -346.85, 30.68, 190.74, 2, 0) + MovementLoopAddLocation(NPC, -372.11, 29.19, 188.43, 2, 0) + MovementLoopAddLocation(NPC, -382, 27.92, 172.56, 2, 0) + MovementLoopAddLocation(NPC, -396.69, 22.43, 139.94, 2, 0) + MovementLoopAddLocation(NPC, -413.74, 24.45, 117.98, 2, 0) + MovementLoopAddLocation(NPC, -407.96, 26.02, 96.43, 2, 0) + MovementLoopAddLocation(NPC, -385.31, 38.69, 59.85, 2, 0) + MovementLoopAddLocation(NPC, -388.58, 41.35, 48.87, 2, 0) + MovementLoopAddLocation(NPC, -423.39, 52.31, 54.65, 2, 0) + MovementLoopAddLocation(NPC, -422.64, 52.79, 47.93, 2, 0) + MovementLoopAddLocation(NPC, -401.55, 52.79, 27.18, 2, 0) + MovementLoopAddLocation(NPC, -438.03, 53.19, 25.34, 2, 0) + MovementLoopAddLocation(NPC, -438.31, 52.31, 42.13, 2, 0) + MovementLoopAddLocation(NPC, -423.39, 52.31, 54.65, 2, 0) + MovementLoopAddLocation(NPC, -388.58, 41.35, 48.87, 2, 0) + MovementLoopAddLocation(NPC, -385.31, 38.69, 59.85, 2, 0) + MovementLoopAddLocation(NPC, -407.96, 26.02, 96.43, 2, 0) + MovementLoopAddLocation(NPC, -413.74, 24.45, 117.98, 2, 0) + MovementLoopAddLocation(NPC, -396.69, 22.43, 139.94, 2, 0) + MovementLoopAddLocation(NPC, -382, 27.92, 172.56, 2, 0) + MovementLoopAddLocation(NPC, -372.11, 29.19, 188.43, 2, 0) + MovementLoopAddLocation(NPC, -346.85, 30.68, 190.74, 2, 0) + MovementLoopAddLocation(NPC, -340.84, 30.68, 213.38, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "The Far Seas Trading Company is always looking for a few strong backs and brave souls.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Watch your step around these parts, traveler.", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Safe travels to you.", "", 0, 0, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrambusher.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrambusher.lua new file mode 100755 index 000000000..7929de2e1 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrambusher.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrambusher.lua + Script Purpose : for the spawns "a RyGorr ambusher" + Script Author : theFoof + Script Date : 2013.5.10 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) +end + +function death(NPC, Spawn) -- updates step 2 of "Flame On!" when the encounter is killed. + if not IsAlive(GetTempVariable(NPC, "other_orc")) then + SetStepComplete(Spawn, FlameOn, 2) + end + SetTempVariable(NPC, "other_orc", nil) +end + +function CombatReset(NPC) + Despawn(NPC) + SetTempVariable(NPC, "other_orc", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrcenturion.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrcenturion.lua new file mode 100755 index 000000000..bd44af54e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrcenturion.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : Quests/FrostfangSea/arygorrcenturion.lua + Script Purpose : the spawn "a Ry'Gorr centurion" + Script Author : theFoof + Script Date : 2013.5.16 +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -304.78 + math.random(-7,7), 18.51, -611.98, 3, math.random(2,6)) + MovementLoopAddLocation(NPC, -321.28 + math.random(-7,7), 27.91, -659.17 + math.random(-7,7), 4, math.random(2,6)) + if GetSpawnLocationID(NPC) == 572680 or GetSpawnLocationID(NPC) == 572681 then + MovementLoopAddLocation(NPC, -319.99, 33.45, -703.09, 7, math.random(3,4)) + MovementLoopAddLocation(NPC, -312.91, 33.33, -707.07, 3, math.random(1,2)) + MovementLoopAddLocation(NPC, -324.50, 33.89, -702.57, 3, math.random(4,7)) + MovementLoopAddLocation(NPC, -312.91, 33.33, -707.07, 3, math.random(4,7)) + elseif GetSpawnLocationID(NPC) == 572682 or GetSpawnLocationID(NPC) == 572683 then + MovementLoopAddLocation(NPC, -344.56, 33.45, -699.75, 7, math.random(3,4)) + MovementLoopAddLocation(NPC, -338.27, 34.1, -701.33, 3, math.random(1,2)) + MovementLoopAddLocation(NPC, -347.24, 32.61, -697.9, 3, math.random(4,7)) + MovementLoopAddLocation(NPC, -360.37, 34.7, -702.44, 7, math.random(5,10)) + MovementLoopAddLocation(NPC, -338.27, 34.1, -701.33, 3, math.random(4,7)) + elseif GetSpawnLocationID(NPC) == 572684 then + MovementLoopAddLocation(NPC, -360.37, 34.7, -702.44, 7, math.random(5,20)) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function death(NPC) + SpawnByLocationID(GetZone(NPC), GetSpawnLocationID(NPC)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader.lua new file mode 100755 index 000000000..149dd2eb1 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrinvader.lua + Script Purpose : for the Ry'Gorr invaders + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] +require"SpawnScripts/Generic/random_pattern_small" + +local NothingWaste = 56 + +function spawn(NPC) + ChooseMovement(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function death(NPC, Spawn) + if HasQuest(Spawn, NothingWaste) then + if GetQuestStep(Spawn, NothingWaste) < 4 then + if not QuestStepIsComplete(Spawn, NothingWaste, 1) then + local HelmetChance = math.random(1, 100) + if HelmetChance >= 50 then + AddLootItem(NPC, 11818) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 2) then + local ChestguardChance = math.random(1,100) + if ChestguardChance >= 50 then + AddLootItem(NPC, 11817) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 3) then + local WarhammerChance = math.random(1,100) + if WarhammerChance >= 50 then + AddLootItem(NPC, 11824) + end + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader2.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader2.lua new file mode 100755 index 000000000..7ba6967ca --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader2.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrinvader2.lua + Script Purpose : for the Ry'Gorr invaders + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local NothingWaste = 56 + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,4) + local emote + if choice == 1 then + emote = "flex" + elseif choice == 2 then + emote = "stretch" + elseif choice == 3 then + emote = "point" + elseif choice == 4 then + emote = "peer" + end + PlayFlavor(NPC, "", "", emote, 0, 0) + AddTimer(NPC, math.random(15000,45000), "EmoteLoop") +end + +function death(NPC, Spawn) + if HasQuest(Spawn, NothingWaste) then + if GetQuestStep(Spawn, NothingWaste) < 4 then + if not QuestStepIsComplete(Spawn, NothingWaste, 1) then + local HelmetChance = math.random(1, 100) + if HelmetChance >= 50 then + AddLootItem(NPC, 11818) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 2) then + local ChestguardChance = math.random(1,100) + if ChestguardChance >= 50 then + AddLootItem(NPC, 11817) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 3) then + local WarhammerChance = math.random(1,100) + if WarhammerChance >= 50 then + AddLootItem(NPC, 11824) + end + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader3.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader3.lua new file mode 100755 index 000000000..fbc59836f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrinvader3.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrinvader3.lua + Script Purpose : Ry'Gorr invaders charging the beach + Script Author : theFoof + Script Date : 2013.9.11 + Script Notes : +--]] + +function spawn(NPC) + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SpawnSet(NPC, "show_command_icon", "0") + SpawnSet(NPC, "visual_state", "0") + SpawnSet(NPC, "action_state", "0") + SpawnSet(NPC, "faction", "0") + AddTimer(NPC, math.random(12000,16000), "DeathTimer") + ChargeBeach(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function ChargeBeach(NPC) + MovementLoopAddLocation(NPC, 263 + math.random(-10,10), 23.43, 224.5, 5, 0) + MovementLoopAddLocation(NPC, 195.25, 32, 212.90 + math.random(-10,10), 5, 0) +end + +function DeathTimer(NPC) -- the closest archer will kill this orc + KillSpawn(NPC, GetSpawn(NPC, 4700114), 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua new file mode 100755 index 000000000..6ad492f1a --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua + Script Purpose : for the spawn "a Ry'Gorr necromancer" + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC) + SpawnSet(NPC, "action_state", "0") +end + +function CombatReset(NPC) + SpawnSet(NPC, "action_state", "10974") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrpatroller.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrpatroller.lua new file mode 100755 index 000000000..21e8f6478 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrpatroller.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrpatroller.lua + Script Purpose : the ry'gorr patrollers + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : +--]] + +function spawn(NPC) +end + +function CombatReset(NPC) + Despawn(NPC) +end diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua new file mode 100755 index 000000000..8dd7a1a80 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 523.46, 34.72, 592.13, 2, 5) + MovementLoopAddLocation(NPC, 466.78, 30.97, 621.01, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua new file mode 100755 index 000000000..8b8f5d320 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 397.67, 32, 655, 2, 5) + MovementLoopAddLocation(NPC, 483.85, 32.18, 627.03, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua new file mode 100755 index 000000000..175470508 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 601.15, 62.48, 696.65, 2, 5) + MovementLoopAddLocation(NPC, 585.57, 49.59, 628.77, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua new file mode 100755 index 000000000..81239b493 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 609.33, 44.91, 572.85, 2, 5) + MovementLoopAddLocation(NPC, 639.5, 49.82, 550.36, 2, 0) + MovementLoopAddLocation(NPC, 721.12, 58.23, 601.73, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua new file mode 100755 index 000000000..fac83e4b9 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 623.80, 71.44, 837.76, 2, 5) + MovementLoopAddLocation(NPC, 723.5, 61.4, 761.85, 2, 0) + MovementLoopAddLocation(NPC, 707.23, 59.23, 684.89, 2, 0) + MovementLoopAddLocation(NPC, 736.63, 61.42, 669.56, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrtunneler.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrtunneler.lua new file mode 100755 index 000000000..4403e5c4c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrtunneler.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : FrostfangSea/SpawnScripts/aRyGorrtunneler.lua + Script Purpose : Ry'Gorr tunnelers + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : +--]] + +local BecomingOrcbane = 81 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "cadaver's dram" then + if GetQuestStep(Spawn, BecomingOrcbane) == 1 then + AddStepProgress(Spawn, BecomingOrcbane, 1, 1) + KillSpawn(NPC, Spawn, 1) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua new file mode 100755 index 000000000..043ac4ea3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua + Script Purpose : for the ry'gorr war shamans + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local RoughingReinforcements = 57 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function death(NPC, Spawn) + if GetQuestStep(Spawn, RoughingReinforcements) == 4 or GetQuestStep(Spawn, RoughingReinforcements) == 5 then + AddLootItem(NPC, 11820) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aRyGorrweapon.lua b/Lua/SpawnScripts/FrostfangSea/aRyGorrweapon.lua new file mode 100755 index 000000000..6c06bad88 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aRyGorrweapon.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrweapon.lua + Script Purpose : for the spawn "a Ry'Gorr weapon" + Script Author : theFoof + Script Date : 2013.06.3 + Script Notes : +--]] +local DisarmingRyGorr = 48 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Poultice' then + if GetQuestStep(Spawn, DisarmingRyGorr) == 1 then + SpawnSet(NPC, "action_state", "2602") + AddStepProgress(Spawn, DisarmingRyGorr, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, DisarmingRyGorr) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/a_necromancer_totem.lua b/Lua/SpawnScripts/FrostfangSea/a_necromancer_totem.lua new file mode 100755 index 000000000..03cf7cfc6 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/a_necromancer_totem.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/a_necromancer_totem.lua + Script Purpose : the necromancer totem in frostfang + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : +--]] + +local SometimesKnut = 84 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") + SpawnSet(NPC, "action_state", "2623") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 3 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/acrudepitoncannon.lua b/Lua/SpawnScripts/FrostfangSea/acrudepitoncannon.lua new file mode 100755 index 000000000..13c909fa7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/acrudepitoncannon.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/acrudepitoncannon.lua + Script Purpose : for the spawn "a cude piton cannon" + Script Author : theFoof + Script Date : 2013.6.5 + Script Notes : +--]] + +local SiegeOver = 53 + +function spawn(NPC) + SetRequiredQuest(NPC, SiegeOver, 1) + LoadCannon(NPC) -- this starts the firing loop +end + +function respawn(NPC) + spawn(NPC) +end + +function LoadCannon(NPC) -- sets the cannon to load the harpooon and start a timer + SpawnSet(NPC, "visual_state", "20580") + AddTimer(NPC, math.random(2000,5000), "FireCannon") +end + +function FireCannon(NPC) -- fires the cannon and loops back to LoadCannon + SpawnSet(NPC, "visual_state", "20579") + AddTimer(NPC, 2000, "kill_fire") + AddTimer(NPC, math.random(6000,15000), "LoadCannon") +end + +function kill_fire(NPC) -- stops the firing animation from repeating + SpawnSet(NPC, "visual_state", "53347") +end +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'destroy the cannon' then + if GetQuestStep(Spawn, SiegeOver) == 1 then + SpawnSet(NPC, "action_state", "2018") + AddStepProgress(Spawn, SiegeOver, 1, 1) + AddTimer(NPC, 1000, "depop") + end + end +end + +function depop(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/acrustosesporetender.lua b/Lua/SpawnScripts/FrostfangSea/acrustosesporetender.lua new file mode 100755 index 000000000..e3de7dc1d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/acrustosesporetender.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/acrustosesporetender.lua + Script Purpose : handles the mob "a crustose sporetender" + Script Author : theFoof + Script Date : 2013.5.13 + Script Notes : +--]] +require"SpawnScripts/Generic/random_pattern_small" + +local RepellingCritters = 7 + +function spawn(NPC) + ChooseMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Spray" then + if GetQuestStep(Caster, RepellingCritters) == 1 then + AddStepProgress(Caster, RepellingCritters, 1, 1) + end + SetSpeed(Target, 13) + MoveToLocation(Target, -139.96, 36.90, -811.62) + AddTimer(Target, 5000, "Despawn") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/adamesrocket.lua b/Lua/SpawnScripts/FrostfangSea/adamesrocket.lua new file mode 100755 index 000000000..59f938799 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/adamesrocket.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/adamesrocket.lua + Script Purpose : the spawns named "a dame's rocket" + Script Author : theFoof + Script Date : 2013.8.27 + Script Notes : +--]] + +local SpiderPuffs = 87 + +function spawn(NPC) + SetRequiredQuest(NPC, SpiderPuffs, 1) + SpawnSet(NPC, "action_state", "1494") + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if GetQuestStep(Spawn, SpiderPuffs) == 1 then + if SpellName == "a dame's rocket" then + AddStepProgress(Spawn, SpiderPuffs, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, SpiderPuffs) or HasCompletedQuest(Spawn, SpiderPuffs) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/adisreputableboatman.lua b/Lua/SpawnScripts/FrostfangSea/adisreputableboatman.lua new file mode 100755 index 000000000..14aad6554 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/adisreputableboatman.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/adisreputableboatman.lua + Script Purpose : a disreputable boatman + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I've no business with you today.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aformidablesparringpartner.lua b/Lua/SpawnScripts/FrostfangSea/aformidablesparringpartner.lua new file mode 100755 index 000000000..dbe31f0ef --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aformidablesparringpartner.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aformidablesparringpartner.lua + Script Purpose : a formidable sparring partner + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua b/Lua/SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua new file mode 100755 index 000000000..241b816f8 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua + Script Purpose : makes a froglok citizen swim around in circles + Script Author : theFoof + Script Date : 2013.9.14 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 19, 146.01, -60, 1, 10) + MovementLoopAddLocation(NPC, 17.74, 146.01, -33.01, 1, 0) + MovementLoopAddLocation(NPC, 58.43, 146.12, -26.07, 1, 0) + MovementLoopAddLocation(NPC, 73.05, 146.12, -38.18, 1, 0) + MovementLoopAddLocation(NPC, 73.8, 146.12, -71.37, 1, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aguarddog.lua b/Lua/SpawnScripts/FrostfangSea/aguarddog.lua new file mode 100755 index 000000000..6221da95d --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aguarddog.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aguarddog.lua + Script Purpose : a guard dog + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "", "attack", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/FrostfangSea/ahalasianreedplant.lua b/Lua/SpawnScripts/FrostfangSea/ahalasianreedplant.lua new file mode 100755 index 000000000..63075df71 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ahalasianreedplant.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ahalasianreedplant.lua + Script Purpose : halasian reed plants + Script Author : theFoof + Script Date : 2013.9.2 + Script Notes : +--]] + +local FrozenChowder = 88 + +function spawn(NPC) + SetRequiredQuest(NPC, FrozenChowder, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'a sprig of halasian reed' then + if GetQuestStep(Spawn, FrozenChowder) == 1 then + Despawn(NPC) + SetStepComplete(Spawn, FrozenChowder, 1) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/alazyRyGorrorc.lua b/Lua/SpawnScripts/FrostfangSea/alazyRyGorrorc.lua new file mode 100755 index 000000000..d423626cb --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/alazyRyGorrorc.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/alazyRyGorrorc.lua + Script Purpose : for the lazy Ry'Gorr orc spawn + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : +--]] + +local ThroughEyes = 58 + +function spawn(NPC) + SetRequiredQuest(NPC, ThroughEyes, 1) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "the Ry'Gorr Scrying Eye" then + if GetQuestStep(Spawn, ThroughEyes) == 1 then + SetStepComplete(Spawn, ThroughEyes, 1) + RemoveSpawnAccess(NPC, Spawn) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, ThroughEyes) and GetQuestStep(Spawn, ThroughEyes) < 2 then + AddSpawnAccess(NPC, Spawn) + elseif not HasCompletedQuest(Spawn, ThroughEyes) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/anIcemaneCub.lua b/Lua/SpawnScripts/FrostfangSea/anIcemaneCub.lua new file mode 100755 index 000000000..9105b9e49 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anIcemaneCub.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anIcemaneCub.lua + Script Purpose : for the spawn "an icemane cub" + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] +require"SpawnScripts/Generic/tiny_movement_loop" +function spawn(NPC) + ChooseMovement(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +local IcemanesCometh = 18 +function casted_on(NPC, Caster, SpellName) + if SpellName == "Leash" then + if GetQuestStep(Caster, IcemanesCometh) == 1 then + if GetTempVariable(Caster, "cub1") == nil then + SetTempVariable(Caster, "cub1", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + elseif GetTempVariable(Caster, "cub2") == nil then + SetTempVariable(Caster, "cub2", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + elseif GetTempVariable(Caster, "cub3") == nil then + SetTempVariable(Caster, "cub3", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + elseif GetTempVariable(Caster, "cub4") == nil then + SetTempVariable(Caster, "cub4", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + end + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function depop(NPC, Spawn) + if NPC ~= nil then + Despawn(NPC) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/anaveragesparringpartner.lua b/Lua/SpawnScripts/FrostfangSea/anaveragesparringpartner.lua new file mode 100755 index 000000000..9f1a6315f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anaveragesparringpartner.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anaveragesparringpartner.lua + Script Purpose : an average sparring partner + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Nice.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Next!", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Well done!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Okay, who's next?", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/FrostfangSea/anicelily.lua b/Lua/SpawnScripts/FrostfangSea/anicelily.lua new file mode 100755 index 000000000..7eae633b3 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anicelily.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicelily.lua + Script Purpose : for the spawn "an ice lily" + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +local FieldTesting = 23 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SpawnSet(NPC, "action_state", "1494") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, FieldTesting) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == 'collect an ice lily' then + if GetQuestStep(Caster, FieldTesting) == 1 then + AddStepProgress(Caster, FieldTesting, 1, 1) + Despawn(NPC) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua b/Lua/SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua new file mode 100755 index 000000000..d283d4c69 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua + Script Purpose : the spawns leashed up at gwenevyn's cove named "an icemane cub" + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] +local IcemanesCometh = 18 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, IcemanesCometh) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua b/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua new file mode 100755 index 000000000..19c319c80 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua + Script Purpose : for an icemane patriarch with a unique path + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 604.57, 24.67, -350.41, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 586.88, 48.58, -408.83, 2, math.random(5,20)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).luandom_pattern_small.lua b/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).luandom_pattern_small.lua new file mode 100755 index 000000000..19c319c80 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).luandom_pattern_small.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua + Script Purpose : for an icemane patriarch with a unique path + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 604.57, 24.67, -350.41, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 586.88, 48.58, -408.83, 2, math.random(5,20)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua b/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua new file mode 100755 index 000000000..f53bac5e2 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua + Script Purpose : for an icemane patriarch with a unique path + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 571.74, 56.41, -405.34, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 582.2, 53.27, -400.71, 2, 0) + MovementLoopAddLocation(NPC, 586.1, 44.33, -372.47, 2, 0) + MovementLoopAddLocation(NPC, 590.7, 43.18, -359.4, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 586.1, 44.33, -372.47, 2, 0) + MovementLoopAddLocation(NPC, 582.2, 53.27, -400.71, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aniceshroom.lua b/Lua/SpawnScripts/FrostfangSea/aniceshroom.lua new file mode 100755 index 000000000..f052c5372 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aniceshroom.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aniceshroom.lua + Script Purpose : ice shrooms + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local KestrelPie = 90 + +function spawn(NPC) + SpawnSet(NPC, "action_state", "1494") + SetRequiredQuest(NPC, KestrelPie, 1, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'an ice shroom' then + if GetQuestStep(Spawn, KestrelPie) == 1 then + Despawn(NPC) + AddStepProgress(Spawn, KestrelPie, 1, 1) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/anicywhirlstorm.lua b/Lua/SpawnScripts/FrostfangSea/anicywhirlstorm.lua new file mode 100755 index 000000000..ed0e6596b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/anicywhirlstorm.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicywhirlstorm.lua + Script Purpose : for the spawn "an ice whirlstorm" + Script Author : theFoof + Script Date : 2013.6.16 + Script Notes : +--]] + +require"SpawnScripts/Generic/MovementCircleSmall" + +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + AddTimer(NPC, 20000, "Despawn") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aplankofwood.lua b/Lua/SpawnScripts/FrostfangSea/aplankofwood.lua new file mode 100755 index 000000000..a40f8e4bc --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aplankofwood.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScriptsFrostfangSeaaplankofwood.lua + Script Purpose : for the spawn "a plank of wood" + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local BoatloadWork = 4 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 40, "CheckQuest", "CheckQuest") +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BoatloadWork) and GetQuestStep(Caster, BoatloadWork) == 1 and SpellName == "gather " then + AddStepProgress(Caster, BoatloadWork, 1, 1) + Despawn(Target) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function CheckQuest(NPC, Player) + if GetQuestStep(Player, BoatloadWork) == 1 then + AddSpawnAccess(NPC, Player) + else + RemoveSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua b/Lua/SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua new file mode 100755 index 000000000..32c479919 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua + Script Purpose : for the raiders that pop out of the portal in frostfang + Script Author : theFoof + Script Date : 2013.6.8 + Script Notes : +--]] + +function spawn(NPC) + local choice = math.random(1,2) + SetSpeed(NPC, 7) + if choice == 1 then + MoveToLocation(NPC, 713.49 + math.random(-7,7), 100.34, -446.09 + math.random(-7,7)) + else + MoveToLocation(NPC, 692.41 + math.random(-7,7), 96.14, -466.44 + math.random(-7,7)) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/araidingsporetender.lua b/Lua/SpawnScripts/FrostfangSea/araidingsporetender.lua new file mode 100755 index 000000000..36cf9073b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/araidingsporetender.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Quests/FrostfangSea/araidingsporetender.lua + Script Purpose : the spawn "a raiding sporetender" + Script Author : theFoof + Script Date : 2013.5.14 +--]] + +local RepellingCritters = 7 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function SpawnAccess(NPC, Player) + if HasCompletedQuest(Player, RepellingCritters) == false then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/areanimatedRyGorr.lua b/Lua/SpawnScripts/FrostfangSea/areanimatedRyGorr.lua new file mode 100755 index 000000000..b597f4c29 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/areanimatedRyGorr.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/areanimatedRyGorr.lua + Script Purpose : for the spawn a reanimated Ry'Gorr + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 790.78, 31.46, 93.56, 2, math.random(5,15)) + MovementLoopAddLocation(NPC, 773.25, 36.43, 78.13, 2, 0) + MovementLoopAddLocation(NPC, 743.98, 41.91, 75.01, 2, 0) + MovementLoopAddLocation(NPC, 702.1, 48.18, 121.05, 2, 0) + MovementLoopAddLocation(NPC, 731.22, 41.6, 160.22, 2, math.random(5,15)) + MovementLoopAddLocation(NPC, 702.1, 48.18, 121.05, 2, 0) + MovementLoopAddLocation(NPC, 743.98, 41.91, 75.01, 2, 0) + MovementLoopAddLocation(NPC, 773.25, 36.43, 78.13, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arebelliousrockroller.lua b/Lua/SpawnScripts/FrostfangSea/arebelliousrockroller.lua new file mode 100755 index 000000000..d68cac4ca --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arebelliousrockroller.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arebelliousrockroller.lua + Script Purpose : a rebellious rock roller + Script Author : theFoof + Script Date : 2013.11.15 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "Chat") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function Chat(NPC, Spawn) + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "", "Hey, careful! I don't want my rock rolling to get you hurt, hah!", "threaten", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Look out below! Rolling stones are incoming!", "point", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I don't think the others can appreciate how much skill this takes. Someday...someday maybe we'll be able to rock roll in front of thousands of other dwarves! Can you imagine that?", "orate", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Just give up, you'll never be able to rock roll as fast as me. I am shredding this track!", "threaten", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "This is such a righteous track you found! Oh, hold your rock for a moment there's someone down there. Interrupting our rock rolling.", "orate", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arguing.lua b/Lua/SpawnScripts/FrostfangSea/arguing.lua new file mode 100755 index 000000000..89f1e77fb --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arguing.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arguing.lua + Script Purpose : for npcs arguing in halas + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0 , Spawn) + FaceTarget(NPC, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "", "", "no", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "", "", "heckno", 0, 0) + elseif choice == 3 then + PlayFlavor(NPC, "", "", "agree", 0, 0) + elseif choice == 4 then + PlayFlavor(NPC, "", "", "frustrated", 0, 0) + elseif choice == 5 then + PlayFlavor(NPC, "", "", "whome", 0, 0) + end + AddTimer(NPC, math.random(3000,15000), "EmoteLoop") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arisenRyGorr.lua b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr.lua new file mode 100755 index 000000000..f8aeca097 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr.lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 510.72, 24.45, -189.84, 7, 0) + MovementLoopAddLocation(NPC, 508.34, 27.58, -185.98, 7, 0) + MovementLoopAddLocation(NPC, 512.46, 27.67, -194.57, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua new file mode 100755 index 000000000..ad557da9b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 528.32, 28.07, -210.69 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 525.01, 28.19, -209.87, 7, 0) + MovementLoopAddLocation(NPC, 528.32, 28.07, -210.69 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 529.93, 27.87, -215.16, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua new file mode 100755 index 000000000..7842cf214 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 536.09, 27.54, -232.17, 7, 0) + MovementLoopAddLocation(NPC, 535.09, 27.55, -236.44, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua new file mode 100755 index 000000000..967a9f55c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 546.76, 27.94, -246.18 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 542.41, 27.77, -242.28, 7, 0) + MovementLoopAddLocation(NPC, 546.76, 27.94, -246.18 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 546.5, 28.19, -249.81, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arumblinggeode.lua b/Lua/SpawnScripts/FrostfangSea/arumblinggeode.lua new file mode 100755 index 000000000..aa76076d7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arumblinggeode.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arumblinggeode.lua + Script Purpose : for the spawn "a rumbling geode" + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local GeodeCaching = 69 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function death(NPC, Spawn) + if GetQuestStep(Spawn, GeodeCaching) == 1 then + SpawnMob(GetZone(Spawn), 4701682, 0, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/arustypiton.lua b/Lua/SpawnScripts/FrostfangSea/arustypiton.lua new file mode 100755 index 000000000..38d877cc7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/arustypiton.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arustypiton.lua + Script Purpose : for the spawn "a rusty piton" + Script Author : theFoof + Script Date : 2013.6.4 + Script Notes : +--]] + +local LooseningGrip = 51 + +function spawn(NPC) + SetRequiredQuest(NPC, LooseningGrip, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'cut the line' then + if GetQuestStep(Spawn, LooseningGrip) == 1 then + AddStepProgress(Spawn, LooseningGrip, 1, 1) + Despawn(NPC) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/ascragglyshrub.lua b/Lua/SpawnScripts/FrostfangSea/ascragglyshrub.lua new file mode 100755 index 000000000..c80ebe86c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ascragglyshrub.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ascragglyshrub.lua + Script Purpose : scraggly shrub + Script Author : theFoof + Script Date : 2013.05.15 + Script Notes : +--]] + +local ScragglyFoodstuffs = 9 + +function spawn(NPC) + SetRequiredQuest(NPC, ScragglyFoodstuffs, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "harvest " then + if GetQuestStep(Caster, ScragglyFoodstuffs) == 1 then + AddStepProgress(Caster, ScragglyFoodstuffs, 1, 1) + Despawn(Target) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aslaincoldain.lua b/Lua/SpawnScripts/FrostfangSea/aslaincoldain.lua new file mode 100755 index 000000000..4076cc1a2 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aslaincoldain.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aslaincoldain.lua + Script Purpose : for the spawn "a slain coldain" + Script Author : theFoof + Script Date : 2013.06.3 + Script Notes : +--]] + +local WeaponChoice = 47 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "the body" then + if GetQuestStep(Spawn, WeaponChoice) == 1 then + AddStepProgress(Spawn, WeaponChoice, 1, 1) + Despawn(NPC) + SendMessage(Spawn, "You found a functional coldain weapon.") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/asnowpack.lua b/Lua/SpawnScripts/FrostfangSea/asnowpack.lua new file mode 100755 index 000000000..22b23dbe1 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/asnowpack.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/asnowpack.lua + Script Purpose : for the spawns "a snowpack" and "an iceflow" + Script Author : theFoof + Script Date : 2013.05.20 + Script Notes : +--]] + +require"SpawnScripts/Generic/MovementCircleSmall" + +local EssentialIngredient = 22 + +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == "Bogchild's Iced Trap" then + if GetName(NPC) == "a snowpack" then + if QuestStepIsComplete(Caster, EssentialIngredient, 2) == false then + AddStepProgress(Caster, EssentialIngredient, 2, 1) + Despawn(NPC) + end + elseif GetName(NPC) == 'an iceflow' then + if QuestStepIsComplete(Caster, EssentialIngredient, 1) == false then + AddStepProgress(Caster, EssentialIngredient, 1, 1) + Despawn(NPC) + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aspiritward.lua b/Lua/SpawnScripts/FrostfangSea/aspiritward.lua new file mode 100755 index 000000000..6c8c917fe --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aspiritward.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aspiritward.lua + Script Purpose : for despawning a spirit ward + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 10000, "depop") +end + +function depop(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/asprintingRyGorrgatecaller.lua b/Lua/SpawnScripts/FrostfangSea/asprintingRyGorrgatecaller.lua new file mode 100755 index 000000000..319191c7a --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/asprintingRyGorrgatecaller.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/asprintingRyGorrgatecaller.lua + Script Purpose : for the sprinting gatecallers near the Great Shelf + Script Author : theFoof + Script Date : 2013.6.2 + Script Notes : +--]] + +function spawn(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 5, math.random(0,3)) + MovementLoopAddLocation(NPC, 665.67 + math.random(-7,7), 21.28, -250.8 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 648.25 + math.random(-7,7), 25.98, -272.83 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 638.87 + math.random(-7,7), 33.15, -301.59 + math.random(-7,7), 5, 0, "death_timer") + MovementLoopAddLocation(NPC, 644.30 + math.random(-7,7), 52.16, -344.42 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 661.05 + math.random(-7,7), 74.74, -399.58 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 668.04 + math.random(-7,7), 85.46, -435.57 + math.random(-7,7), 5, 0) + +end + +function hailed(NPC, Spawn) + FacetTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function death_timer(NPC) + AddTimer(NPC, math.random(2000, 23000), "die") -- sets the delay before death after NPC hits the ramp +end + +function die(NPC) -- this makes the closest "a vigilant gauntlet defender" kill the NPC + KillSpawn(NPC, GetSpawn(NPC, 4700076), 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/astrangeicecrystal.lua b/Lua/SpawnScripts/FrostfangSea/astrangeicecrystal.lua new file mode 100755 index 000000000..c83eb3ed5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/astrangeicecrystal.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/astrangeicecrystal.lua + Script Purpose : for the spawn "a strange ice crystal" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] + +local BarteringCrystals = 28 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a strange ice crystal' then + if GetQuestStep(Spawn, BarteringCrystals) == 1 then + AddStepProgress(Spawn, BarteringCrystals, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, BarteringCrystals) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua b/Lua/SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua new file mode 100755 index 000000000..f50f05e08 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua + Script Purpose : for the spawn "a summoned coldain spirit" + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function killed(NPC, Spawn) + PlayAnimation(NPC, 10893) + PlayAnimation(Spawn, 18414) + local choice = math.random(1,6) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gm_23b35126.mp3", "Where do ya think you're going?", "", 706272128, 909565004, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gm_9de55a3e.mp3", "There they are! Let's get em!", "", 3246206943, 366784514, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gm_ab9057d3.mp3", "Looking for me? ", "", 438949611, 3910736957, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gm_4a1ceaef.mp3", "Ha! I'm not done yet. Get back up!", "", 458619926, 239663782, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gm_d6c773c7.mp3", "I didn't think I hit em that hard.", "", 3680771732, 663911723, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gm_d6c773c7.mp3", "I didn't think I hit em that hard.", "", 3680771732, 663911723, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/avelinoidseeker.lua b/Lua/SpawnScripts/FrostfangSea/avelinoidseeker.lua new file mode 100755 index 000000000..763bb7553 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/avelinoidseeker.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/avelinoidseeker.lua + Script Purpose : for the spawn "a velinoid seeker" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local GoodDistraction = 61 + +function spawn(NPC) +end + +function death(NPC, Spawn) + if not IsAlive(GetTempVariable(NPC, "linked")) then + if GetQuestStep(Spawn, GoodDistraction) == 2 then + SetStepComplete(Spawn, GoodDistraction, 2) + elseif GetQuestStep(Spawn, GoodDistraction) == 4 then + SetStepComplete(Spawn, GoodDistraction, 4) + end + end + SetTempVariable(NPC, "linked", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/avigilantgauntletdefender_(archer).lua b/Lua/SpawnScripts/FrostfangSea/avigilantgauntletdefender_(archer).lua new file mode 100755 index 000000000..0e90dff4c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/avigilantgauntletdefender_(archer).lua @@ -0,0 +1,33 @@ +--[[ + Script Name : FrostfangSea/SpawnScripts/avigilantgauntletdefender_(archer).lua + Script Purpose : for the archer gauntlet defenders + Script Author : theFoof + Script Date : 2013.6.2 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function killed(NPC) + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gf_be4f625e.mp3", "Where do ya think you're going?", "", 152508601, 1517122703) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gf_ab9057d3.mp3", "Looking for me? ", "", 407706048, 337475746) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gf_4a1ceaef.mp3", "Ha! I'm not done yet. Get back up!", "", 1335528281, 2889456217) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gf_d6c773c7.mp3", "I didn't think I hit em that hard.", "", 4016088326, 632010394) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gf_ecd7fa6e.mp3", "An ale for the fallen!", "", 3223559996, 2677275600) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/aweaksparringpartner.lua b/Lua/SpawnScripts/FrostfangSea/aweaksparringpartner.lua new file mode 100755 index 000000000..9a700b424 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/aweaksparringpartner.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aweaksparringpartner.lua + Script Purpose : a weak sparring partner + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,6) + + if choice == 1 then + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Nice.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Who's next?", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Well done!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Next!", "", 1689589577, 4560189, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "", "Okay, who's next?", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/FrostfangSea/bar_fight.lua b/Lua/SpawnScripts/FrostfangSea/bar_fight.lua new file mode 100755 index 000000000..f3ea7bd64 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/bar_fight.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/bar_fight.lua + Script Purpose : makes an npc emote for a bar fight + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +require"SpawnScripts/Generic/hello_emote" + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + hello(NPC, Spawn) +end + +function EmoteLoop(NPC) + AddTimer(NPC, math.random(3000,15000), "EmoteLoop") + local choice = math.random(1,6) + if choice == 1 then + PlayFlavor(NPC, "", "", "shrug", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "", "", "peer", 0, 0) + elseif choice == 3 then + PlayFlavor(NPC, "", "", "stretch", 0, 0) + elseif choice == 4 then + PlayFlavor(NPC, "", "", "yawn", 0, 0) + elseif choice == 5 then + PlayFlavor(NPC, "", "", "tap foot", 0, 0) + elseif choice == 6 then + PlayFlavor(NPC, "", "", "sigh", 0, 0) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/beans.lua b/Lua/SpawnScripts/FrostfangSea/beans.lua new file mode 100755 index 000000000..d79782dfa --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/beans.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/beans.lua + Script Purpose : beans + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local HamBeans = 89 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'a handful of halasian beans' then + if GetQuestStep(Spawn, HamBeans) == 1 then + Despawn(NPC) + SetStepComplete(Spawn, HamBeans, 1) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, HamBeans) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/callingthembackcube.lua b/Lua/SpawnScripts/FrostfangSea/callingthembackcube.lua new file mode 100755 index 000000000..41eb6b8bd --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/callingthembackcube.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/callingthembackcube.lua + Script Purpose : spawn access for the runes in the quest "Calling Them Back" + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] + +local CallingBack = 35 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, CallingBack) then + local LocID = GetSpawnLocationID(NPC) + if LocID == 572693 then + if not QuestStepIsComplete(Spawn, CallingBack, 1) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572694 then + if not QuestStepIsComplete(Spawn, CallingBack, 2) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572695 then + if not QuestStepIsComplete(Spawn, CallingBack, 3) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572692 then + if not QuestStepIsComplete(Spawn, CallingBack, 4) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572696 then + if not QuestStepIsComplete(Spawn, CallingBack, 5) then + AddSpawnAccess(NPC, Spawn) + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/caverubbish.lua b/Lua/SpawnScripts/FrostfangSea/caverubbish.lua new file mode 100755 index 000000000..b9da391c7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/caverubbish.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/caverubbish.lua + Script Purpose : for the spawn "cave rubbish" + Script Author : theFoof + Script Date : 2013.05.19 + Script Notes : +--]] +local SiftingGarbage = 14 + +function spawn(NPC) + SetRequiredQuest(NPC, SiftingGarbage, 1) +end + +function respawn(NPC) +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == "search through the pile" and GetQuestStep(Caster, SiftingGarbage) == 1 then + AddStepProgress(Caster, SiftingGarbage, 1, 1) + Despawn(NPC) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua b/Lua/SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua new file mode 100755 index 000000000..a93f8e25e --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua + Script Purpose : for the crystal geodes in the quest "Geode Caching" + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local GeodeCaching = 69 + +function spawn(NPC) + SetRequiredQuest(NPC, GeodeCaching, 1) + AddTimer(NPC, 300000, "Despawn") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'gather ' then + Despawn(NPC) + AddStepProgress(Spawn, GeodeCaching, 1, 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua b/Lua/SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua new file mode 100755 index 000000000..69ebd73ed --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua + Script Author : Foof + Script Date : 2013.09.24 12:09:24 + Script Purpose : + : +--]] + +function spawn(NPC) + SpawnSet(NPC, "action_state", "1494") +end + +function respawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/discarded_sack.lua b/Lua/SpawnScripts/FrostfangSea/discarded_sack.lua new file mode 100755 index 000000000..b7f6da15c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/discarded_sack.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/discarded_sack.lua + Script Purpose : the spawn "discarded sack" + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : +--]] + +local SometimesKnut = 84 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'search the discarded sack' then + if GetQuestStep(Spawn, SometimesKnut) == 1 then + conversation = CreateConversation() + AddConversationOption(conversation, "But it's not in the sack any more.", "GrizChat_2") + StartDialogConversation(conversation, 3, NPC, Spawn, "I smell our prey here. It spent much time bedded down at this location.") + end + end +end + +function GrizChat_2(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Where to next, Griz?", "GrizChat3") + StartDialogConversation(conversation, 3, NPC, Spawn, "It has moved on. But we are on its trail.") +end + +function GrizChat3(NPC, Spawn) + SetStepComplete(Spawn, SometimesKnut, 1) + RemoveSpawnAccess(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How insightful.") + StartDialogConversation(conversation, 3, NPC, Spawn, "Deeper.") +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/dock_fight1.lua b/Lua/SpawnScripts/FrostfangSea/dock_fight1.lua new file mode 100755 index 000000000..e8443c40f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/dock_fight1.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/dock_fight1.lua + Script Purpose : the armed NPC fighting on halas docks + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) + SpawnSet(NPC, "emote_state", "16") + SpawnSet(NPC, "action_state", "11420") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "", "attack", 0, 0) + elseif choice == 2 then + PlayAnimation(NPC, 11764) + else + PlayAnimation(NPC, 11890) + end + AddTimer(NPC, math.random(1000,5000), "EmoteLoop") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/dock_fight2.lua b/Lua/SpawnScripts/FrostfangSea/dock_fight2.lua new file mode 100755 index 000000000..61d0a84e6 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/dock_fight2.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/dock_fight2.lua + Script Purpose : the unarmed NPC fighting on halas docks + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) + SpawnSet(NPC, "emote_state", "16") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "", "attack", 0, 0) + elseif choice == 2 then + PlayAnimation(NPC, 11764) + else + PlayAnimation(NPC, 11890) + end + AddTimer(NPC, math.random(1000,5000), "EmoteLoop") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/frostbiteregg.lua b/Lua/SpawnScripts/FrostfangSea/frostbiteregg.lua new file mode 100755 index 000000000..55e842c62 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/frostbiteregg.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/frostbiteregg.lua + Script Purpose : for the frostbiter eggs in frostfang (unnamed spawn) + Script Author : theFoof + Script Date : 2013.6.1 + Script Notes : +--]] + +local DomesticationSurvivalism = 43 + +function spawn(NPC) + SetRequiredQuest(NPC, DomesticationSurvivalism, 1) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Gathering' then + if GetQuestStep(Spawn, DomesticationSurvivalism) == 1 then + AddStepProgress(Spawn, DomesticationSurvivalism, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, DomesticationSurvivalism) or GetQuestStep(Spawn, DomesticationSurvivalism) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/frozen_pincer_chowder.lua b/Lua/SpawnScripts/FrostfangSea/frozen_pincer_chowder.lua new file mode 100755 index 000000000..43fbdcd47 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/frozen_pincer_chowder.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/a_frozen_pincer_chowder.lua + Script Purpose : the spawn frozen_pincer_chowder + Script Author : theFoof + Script Date : 2013.9.2 + Script Notes : +--]] + +local FrozenChowder = 88 + +function spawn(NPC) + SetRequiredQuest(NPC, FrozenChowder, 4) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a bowl of frozen pincer chowder' then + if GetQuestStep(Spawn, FrozenChowder) == 4 then + SetStepComplete(Spawn, FrozenChowder, 4) + RemoveSpawnAccess(NPC, Spawn) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, FrozenChowder) == 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua b/Lua/SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua new file mode 100755 index 000000000..5b24ed4f9 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua + Script Purpose : for the spawn "good_book_feeding_the_guurok.lua + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua b/Lua/SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua new file mode 100755 index 000000000..33f62526b --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua + Script Purpose : this changes the size of the rocks in the velinoid caves + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : this script is assigned to the rock with the location id 572711 +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") + local zone = GetZone(NPC) + SpawnSet(GetSpawnByLocationID(zone, 441161), "size", "28") + SpawnSet(GetSpawnByLocationID(zone, 441162), "size", "10") + SpawnSet(GetSpawnByLocationID(zone, 441160), "size", "13") + SpawnSet(GetSpawnByLocationID(zone, 441157), "size", "22") + SpawnSet(NPC, "size", "25") +end + +function SpawnAccess(NPC, Spawn) + if not HasCompletedQuest(Spawn, RyGorrOperations) then + if GetQuestStep(Spawn, RyGorrOperations) < 2 then + AddSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/halas_bar_patrons.lua b/Lua/SpawnScripts/FrostfangSea/halas_bar_patrons.lua new file mode 100755 index 000000000..17af9f853 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/halas_bar_patrons.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/halas_bar_patrons.lua + Script Purpose : bar patrons in halas + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,4) + local emote + if choice == 1 then + emote = "flex" + elseif choice == 2 then + emote = "stretch" + elseif choice == 3 then + emote = "point" + elseif choice == 4 then + emote = "peer" + end + PlayFlavor(NPC, "", "", emote, 0, 0) + AddTimer(NPC, math.random(15000,45000), "EmoteLoop") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/halas_proximity_cheer.lua b/Lua/SpawnScripts/FrostfangSea/halas_proximity_cheer.lua new file mode 100755 index 000000000..9a5da0b16 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/halas_proximity_cheer.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/halas_proximity_cheer.lua + Script Purpose : makes npcs cheer when player gets in proximity + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + FaceTarget(NPC, Spawn) +end + +function ProxCheer(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetTempVariable(NPC, "cheer_timer") == nil then + PlayFlavor(NPC, "", "", "cheer", 0, 0) + SetTempVariable(NPC, "cheer_timer", "1") + AddTimer(NPC, 15000, "CheerTimer") + end +end + +function CheerTimer(NPC) + SetTempVariable(NPC, "cheer_timer", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/halas_three_barrels_snow.lua b/Lua/SpawnScripts/FrostfangSea/halas_three_barrels_snow.lua new file mode 100755 index 000000000..4f3557b9c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/halas_three_barrels_snow.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : Quests/FrostfangSea/halas_three_barrels_snow.lua + Script Purpose : the spawns "halas_three_barrels_snow_01" and "halas_three_barrels_snow_02" + Script Author : theFoof + Script Date : 2013.5.14 +--]] + +local RepellingCritters = 7 + +function spawn(NPC) + SetRequiredQuest(NPC, RepellingCritters, 3) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Apply the Repellent" and GetQuestStep(Spawn, RepellingCritters) == 3 then + SetStepComplete(Spawn, RepellingCritters, 3) + local zone = GetZone(NPC) -- the following code removes access from publicly spawned raiders, spawns new raiders, makes them path 35 meters south, then despawns them + local raider = GetSpawnByLocationID(zone, 14) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 14) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 15) + RemoveSpawnAccess(raider, Spawn) + local new = GetSpawnByLocationID(zone, 15) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 26) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 26) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 33) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 33) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 38) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 38) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 48) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 48) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 50) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 50) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 74) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 74) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + end +end + +function SpawnRaider(NPC) + X = GetX(NPC) + Y = GetY(NPC) + Z = GetZ(NPC) + SetSpeed(NPC, 13) + MoveToLocation(NPC, X, Y, Z + 35) + AddTimer(NPC, 3000, "Despawn") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/ham.lua b/Lua/SpawnScripts/FrostfangSea/ham.lua new file mode 100755 index 000000000..69934ad97 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/ham.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ham.lua + Script Purpose : a ham + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local HamBeans = 89 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a plate of ham and beans' then + if GetQuestStep(Spawn, HamBeans) == 4 then + RemoveSpawnAccess(NPC, Spawn) + SetStepComplete(Spawn, HamBeans, 4) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, HamBeans) == 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua b/Lua/SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua new file mode 100755 index 000000000..c9d73b2ed --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua + Script Purpose : for the imbued RyGorr pickaxe spawns + Script Author : theFoof + Script Date : 2013.7.10 + Script Notes : +--]] + +local RyGorrTaking = 76 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetRequiredQuest(NPC, RyGorrTaking, 1) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Gather Pickaxe' then + if GetQuestStep(Spawn, RyGorrTaking) == 1 then + Despawn(NPC) + AddStepProgress(Spawn, RyGorrTaking, 1, 1) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, RyGorrTaking) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua b/Lua/SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua new file mode 100755 index 000000000..8cd95b277 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua + Script Purpose : "lucky wolf paw recipe" sign + Script Author : theFoof + Script Date : 2013.5.15 + Script Notes : +--]] + +local HadAHammer = 12 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SetRequiredQuest(NPC, HadAHammer, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Player) + if GetQuestStep(Player, HadAHammer) > 0 then + AddSpawnAccess(NPC, Player) + end +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "pick up recipe" then + if HasItem(Caster, 32122) == false and HasQuest(Caster, HadAHammer) then + SummonItem(Caster, 32122) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/opentreasurechest.lua b/Lua/SpawnScripts/FrostfangSea/opentreasurechest.lua new file mode 100755 index 000000000..b540d1093 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/opentreasurechest.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/opentreasurechest.lua + Script Purpose : treasure chest in Frostfang Sea + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "OpenChest") +end + +function respawn(NPC) + spawn(NPC) +end + +function OpenChest(NPC) + if GetTempVariable(NPC, "open_timer") == nil then + SetTempVariable(NPC, "open_timer", "1") + SpawnSet(NPC, "action_state", "11904") + AddTimer(NPC, 25000, "CloseChest") + end +end + +function CloseChest(NPC) + SetTempVariable(NPC, "open_timer", nil) + SpawnSet(NPC, "action_state", "0") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/orc_summon_portal.lua b/Lua/SpawnScripts/FrostfangSea/orc_summon_portal.lua new file mode 100755 index 000000000..03d168f12 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/orc_summon_portal.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/orc_summon_portal.lua + Script Purpose : for the portal that spawns orc + Script Author : theFoof + Script Date : 2013.6.8 + Script Notes : +--]] + +function spawn(NPC) + SpawnTimer(NPC) +end + +function SpawnTimer(NPC) + SpawnMob(GetZone(NPC), 4700096, 0, 750.68 + math.random(-4,4), 103.15, -504.11 + math.random(-4,4), 130) + AddTimer(NPC, math.random(0,12000), "SpawnTimer") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/orcnecromancerpet.lua b/Lua/SpawnScripts/FrostfangSea/orcnecromancerpet.lua new file mode 100755 index 000000000..54a35a037 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/orcnecromancerpet.lua @@ -0,0 +1,9 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/orcnecromancerpet.lua + Script Purpose : for the orc necromancer pets + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +removed this script \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/orcpickaxe.lua b/Lua/SpawnScripts/FrostfangSea/orcpickaxe.lua new file mode 100755 index 000000000..3ccb57cb8 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/orcpickaxe.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/orcpickaxe.lua + Script Purpose : for the spawns "orc pickaxe" + Script Author : theFoof + Script Date : 2013.7.23 + Script Notes : +--]] + +local MysteryIceberg = 80 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, MysteryIceberg) and not QuestStepIsComplete(Spawn, MysteryIceberg, 1) then + if SpellName == 'Gather_Pickaxe' then + AddStepProgress(Spawn, MysteryIceberg, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, MysteryIceberg) and not QuestStepIsComplete(Spawn, MysteryIceberg, 1) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/pie.lua b/Lua/SpawnScripts/FrostfangSea/pie.lua new file mode 100755 index 000000000..ee8a68bc2 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/pie.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/pie.lua + Script Purpose : a pie + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local KestrelPie = 90 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a kestrel pot pie' then + if GetQuestStep(Spawn, KestrelPie) == 4 then + RemoveSpawnAccess(NPC, Spawn) + SetStepComplete(Spawn, KestrelPie, 4) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, KestrelPie) == 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/pileofRyGorrbones.lua b/Lua/SpawnScripts/FrostfangSea/pileofRyGorrbones.lua new file mode 100755 index 000000000..d381f54d7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/pileofRyGorrbones.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/pileofRyGorrbones.lua + Script Purpose : for the spawn "pile of Ry'Gorr bones" + Script Author : theFoof + Script Date : 2013.5.29 + Script Notes : +--]] +local TheGauntlet = 36 + +local PouringSkellies = 40 + +function spawn(NPC) + SetRequiredQuest(NPC, TheGauntlet, 1, 0, 0, 20) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Smash the bones' then + if GetQuestStep(Spawn, TheGauntlet) == 1 then + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + AddStepProgress(Spawn, TheGauntlet, 1, 1) + local mob = SpawnMob(GetZone(Spawn), 4701121, 0, X, Y, Z, 0) + Attack(mob, Spawn) + Despawn(NPC) + end + elseif SpellName == 'pour one out' then + if GetQuestStep(Spawn, PouringSkellies) == 1 then + SpawnSet(NPC, "visual_state", "491") + AddTimer(NPC, 4000, "depop") + AddStepProgress(Spawn, PouringSkellies, 1, 1) + SendMessage(Player, "You have poured Fronden's Finest on the orc bones.") + end + end +end + +function depop(NPC, Spawn) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/qst_axebeard_totem.lua b/Lua/SpawnScripts/FrostfangSea/qst_axebeard_totem.lua new file mode 100755 index 000000000..9f5983819 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_axebeard_totem.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_axebeard_totem.lua + Script Purpose : for the spawn "qst_axebeard_x4_totem" + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] +local TotemAnnihilation = 34 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'destroy the totem' then + if GetQuestStep(Spawn, TotemAnnihilation) == 1 then + AddStepProgress(Spawn, TotemAnnihilation, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, TotemAnnihilation) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua b/Lua/SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua new file mode 100755 index 000000000..aa4a88e6f --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua + Script Purpose : for the helm during the quest "All That Remains" + Script Author : theFoof + Script Date : 2013.6.5 + Script Notes : +--]] + +local AllRemains = 55 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'retrieve the helm' then + if GetQuestStep(Spawn, AllRemains) == 1 then + SetStepComplete(Spawn, AllRemains, 1) + local orc = SpawnByLocationID(GetZone(NPC), 33474) + Attack(orc, Spawn) + elseif GetQuestStep(Spawn, AllRemains) == 3 then + SetStepComplete(Spawn, AllRemains, 3) + RemoveSpawnAccess(NPC, Spawn) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, AllRemains) and GetQuestStep(Spawn, AllRemains) < 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/qst_redblade_x3_revamp_barricade.lua b/Lua/SpawnScripts/FrostfangSea/qst_redblade_x3_revamp_barricade.lua new file mode 100755 index 000000000..a6daa1b05 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_redblade_x3_revamp_barricade.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/QstRedbladeX3RevampBarricade.lua + Script Purpose : handles the barricade spawn on Pilgrims' Landing + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local BoatloadWork = 4 + +function spawn(NPC, Player) + SpawnSet(NPC, "activity_state", "0") + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "CheckQuest", "CheckQuest") + if HasCompletedQuest(Player, BoatloadWork) or GetQuestStep(Player, BoatloadWork) == 4 then + AddSpawnAccess(NPC, Player) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function CheckQuest(NPC, Player) + if HasCompletedQuest(Player, BoatloadWork) or GetQuestStep(Player, BoatloadWork) == 4 then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua b/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua new file mode 100755 index 000000000..5ef2a6c40 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua + Script Purpose : for the fire tent fire invis cubes + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 25000, "Despawn") +end + +function respawn(NPC) +end diff --git a/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua b/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua new file mode 100755 index 000000000..6a8832b55 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua + Script Purpose : for the quest tent spawns + Script Author : theFoof + Script Date : 2013.6.20 + Script Notes : +--]] + +local HighlyMaterials = 74 + +function spawn(NPC) + SetRequiredQuest(NPC, HighlyMaterials, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'burn tent' then + if GetQuestStep(Spawn, HighlyMaterials) == 2 and GetTempVariable(NPC, "on_fire") ~= "true" then + local zone = GetZone(NPC) + local fire + if GetSpawnLocationID(NPC) == 435782 then + fire = SpawnByLocationID(zone, 572721) + elseif GetSpawnLocationID(NPC) == 435783 then + fire = SpawnByLocationID(zone, 572720) + elseif GetSpawnLocationID(NPC) == 435788 then + fire = SpawnByLocationID(zone, 572719) + elseif GetSpawnLocationID(NPC) == 435793 then + fire = SpawnByLocationID(zone, 572722) + elseif GetSpawnLocationID(NPC) == 435792 then + fire = SpawnByLocationID(zone, 572718) + elseif GetSpawnLocationID(NPC) == 435790 then + fire = SpawnByLocationID(zone, 442666) + end + AddStepProgress(Spawn, HighlyMaterials, 2, 1) + AddTimer(fire, 25000, "Despawn") + AddTimer(NPC, 25000, "ReapplyPrimaryCommand") + AddTimer(NPC, 5000, "KillArea") + RemovePrimaryCommand(NPC) + end + end +end + +function KillArea(NPC) + KillSpawnByDistance(NPC, 20, 0, 0) +end + +function RemovePrimaryCommand(NPC) + SpawnSet(NPC, "primary_command", "0") + SetTempVariable(NPC, "on_fire", "true") +end + +function ReapplyPrimaryCommand(NPC) + SpawnSet(NPC, "primary_command", "871") + SetTempVariable(NPC, "on_fire", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua b/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua new file mode 100755 index 000000000..38f9427bc --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua + Script Purpose : for the ceiling crystal spawns in the velinoid caves + Script Author : theFoof + Script Date : 2013.7.18 + Script Notes : +--]] + +local WatchBelow = 77 + +function spawn(NPC) + SetRequiredQuest(NPC, WatchBelow, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'knock off a crystal' then + x = GetX(NPC) + z = GetZ(NPC) + SetTempVariable(Spawn, "crystal_x", x) + SetTempVariable(Spawn, "crystal_z", z) + SetSpeed(NPC, 5) + AddTimer(NPC, 3000, "SpawnCrystal", 1, Spawn) + MoveToLocation(NPC, x, GetY - 25, z) + end +end + +function SpawnCrystal(NPC, Spawn) + SpawnMob(GetZone(NPC), 4701752, 0, GetTempVariable(Spawn, "crystal_x"), GetY(Spawn), GetTempVariable(Spawn, "crystal_z"), GetHeading(NPC)) + Despawn(NPC) + SetTempVariable(Spawn, "crystal_x", nil) + SetTempVariable(Spawn, "crystal_z", nil) +end diff --git a/Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua b/Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua new file mode 100755 index 000000000..3c03e61d7 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua + Script Purpose : for the qst_veliumdelver_barrel spawns + Script Author : theFoof + Script Date : 2013.6.11 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + SetRequiredQuest(NPC, RyGorrOperations, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "gather " then + if GetQuestStep(Spawn, RyGorrOperations) == 1 then + if not HasItem(Spawn, 47881) then + SummonItem(Spawn, 47881) + Despawn(NPC) + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua b/Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua new file mode 100755 index 000000000..fc62b645c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua + Script Purpose : the exploding animation for the ry'gorr exploding barrel as well as hiding the boulder + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + AddTimer(NPC, 2600, "explosion") +end + +function respawn(NPC) + spawn(NPC) +end + +function explosion(NPC) + local player = GetTempVariable(NPC, "player") + local wall = GetSpawnByLocationID(GetZone(NPC), 441164) + local wallrock = GetSpawnByLocationID(GetZone(NPC), 572711) + SpawnSet(NPC, "visual_state", "1491") + RemoveSpawnAccess(wall, player) + RemoveSpawnAccess(wallrock, player) + AddTimer(NPC, 500, "kill_explosion") + SetStepComplete(player, RyGorrOperations, 1) + SetTempVariable(NPC, "player", nil) +end + +function kill_explosion(NPC) + SpawnSet(NPC, "visual_state", "0") + AddTimer(NPC, 4000, "Despawn") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/respawngraveswregan.lua b/Lua/SpawnScripts/FrostfangSea/respawngraveswregan.lua new file mode 100755 index 000000000..85e595c28 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/respawngraveswregan.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/respawngraveswregan.lua + Script Purpose : spawn access for the grave near Gwenevyn's Cove + Script Author : theFoof + Script Date : 2013.05.22 + Script Notes : +--]] +local SiftingGarbage = 14 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, SiftingGarbage) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/rolling_rocks.lua b/Lua/SpawnScripts/FrostfangSea/rolling_rocks.lua new file mode 100755 index 000000000..c4838ded5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/rolling_rocks.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/rolling_rocks.lua + Script Purpose : rolling rocks + Script Author : theFoof + Script Date : 2013.11.15 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, math.random(0,3000), "MovementPath") +end + +function respawn(NPC) + spawn(NPC) +end + +function MovementPath(NPC) + MovementLoopAddLocation(NPC, -144.44, 134.08, -191.65, 4, 0) + MovementLoopAddLocation(NPC, -151.8, 119.21, -205.99, 4, 0) + MovementLoopAddLocation(NPC, -150.61, 102.01, -219.03, 4, 0) + MovementLoopAddLocation(NPC, -137, 82.64, -236.36, 4, 0) + MovementLoopAddLocation(NPC, -125.34, 58.25, -281.31, 4, 0) + MovementLoopAddLocation(NPC, -64.76 + math.random(-10, 10), 32.92, -283.73 + math.random(-5,5), 4, 5, "Despawn") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/sackofcoal.lua b/Lua/SpawnScripts/FrostfangSea/sackofcoal.lua new file mode 100755 index 000000000..52588487c --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/sackofcoal.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/sackofcoal.lua + Script Purpose : "sack of coal" sign + Script Author : theFoof + Script Date : 2013.5.15 + Script Notes : +--]] + +local HadAHammer = 12 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Player) + if GetQuestStep(Player, HadAHammer) > 1 then + AddSpawnAccess(NPC, Player) + end +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "gather coal" then + if HasItem(Caster, 5771) == false and HasQuest(Caster, HadAHammer) then + SummonItem(Caster, 5771) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/shardofglowingvelium.lua b/Lua/SpawnScripts/FrostfangSea/shardofglowingvelium.lua new file mode 100755 index 000000000..064863497 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/shardofglowingvelium.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/shardofglowingvelium.lua + Script Purpose : for the spawn "shard of glowing velium" + Script Author : theFoof + Script Date : 2013.7.18 + Script Notes : +--]] + +local WatchBelow = 77 + +function spawn(NPC) + SetRequiredQuest(NPC, WatchBelow, 1) + AddTimer(NPC, 25000, "Despawn") +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up crystal shard' then + if GetQuestStep(Spawn, WatchBelow) == 1 then + Despawn(NPC) + AddStepProgress(Spawn, WatchBelow, 1, 1) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/sign_coldain_house03.lua b/Lua/SpawnScripts/FrostfangSea/sign_coldain_house03.lua new file mode 100755 index 000000000..19eedb7d5 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/sign_coldain_house03.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/sign_coldain_house03.lua + Script Purpose : hides the quarmarr house sign until questline is done + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, 30) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/signalfire.lua b/Lua/SpawnScripts/FrostfangSea/signalfire.lua new file mode 100755 index 000000000..0fd9ecd27 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/signalfire.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/signalfire.lua + Script Purpose : setting signal fire private spawn access + Script Author : theFoof + Script Date : 2013.5.9 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 75, "CheckQuest", "CheckQuest") +end + +function CheckQuest(NPC, Player) + if HasCompletedQuest(Player, FlameOn) or GetQuestStep(Player, FlameOn) > 1 then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/spider_puffs.lua b/Lua/SpawnScripts/FrostfangSea/spider_puffs.lua new file mode 100755 index 000000000..c2f6bcddd --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/spider_puffs.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/spider_puffs.lua + Script Purpose : the spawn spider_puffs + Script Author : theFoof + Script Date : 2013.8.27 + Script Notes : +--]] + +local SpiderPuffs = 87 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if GetQuestStep(Spawn, SpiderPuffs) == 4 then + if SpellName == "pick up a plate of spider puffs" then + SetStepComplete(Spawn, SpiderPuffs, 4) + RemoveSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/valorian_bloom.lua b/Lua/SpawnScripts/FrostfangSea/valorian_bloom.lua new file mode 100755 index 000000000..a84564424 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/valorian_bloom.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/valorian_bloom.lua + Script Purpose : makes valorian blooms ghostly + Script Author : theFoof + Script Date : 2013.9.16 + Script Notes : +--]] + +function spawn(NPC) + SpawnSet(NPC, "action_state", "6193") + SpawnSet(NPC, "mood_state", "1902") +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/veliumshard.lua b/Lua/SpawnScripts/FrostfangSea/veliumshard.lua new file mode 100755 index 000000000..5436e3daa --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/veliumshard.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/veliumshard.lua + Script Purpose : for the spawn "velium shard" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : +--]] + +local NoWork = 41 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'collect the shard' then + AddStepProgress(Spawn, NoWork, 1, 1) + Despawn(NPC) + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, NoWork) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua b/Lua/SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua new file mode 100755 index 000000000..901aea636 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua + Script Purpose : for the ry'gorr torches + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local GreenMystery = 67 + +function spawn(NPC) + SetRequiredQuest(NPC, GreenMystery, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasItem(Spawn, 7928) then + if SpellName == 'melt the green ice' then + if GetQuestStep(Spawn, GreenMystery) == 1 then + AddStepProgress(Spawn, GreenMystery, 1, 1) + local invis_cube = GetSpawn(NPC, 4701576) + SpawnSet(invis_cube, "visual_state", "17420") + AddTimer(NPC, 30000, "RemoveGas", 1, invis_cube) + end + end + else + SendMessage(Spawn, "You must have green ice to do this!", "yellow") + end +end + +function RemoveGas(NPC, cube) + SpawnSet(cube, "visual_state", "0") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua b/Lua/SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua new file mode 100755 index 000000000..fb02646ef --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua + Script Purpose : the black shard cart + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : +--]] + +local SometimesKnut = 84 + +function spawn(NPC) + SetRequiredQuest(NPC, SometimesKnut, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'break the black shard!' then + if GetQuestStep(Spawn, SometimesKnut) == 3 then + SetStepComplete(Spawn, SometimesKnut, 3) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 579551), Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua b/Lua/SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua new file mode 100755 index 000000000..c52221a23 --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua + Script Purpose : for the orc provisions + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : +--]] + +local CampsideSpores = 75 + +function spawn(NPC) + SetRequiredQuest(NPC, CampsideSpores, 1) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "apply the crustose spores" then + if GetQuestStep(Spawn, CampsideSpores) == 1 then + AddStepProgress(Spawn, CampsideSpores, 1, 1) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + local zone = GetZone(NPC) + local shroom1 = SpawnMob(zone, 4700408, 1, X + math.random(-5,5), Y, Z + math.random(-5,5), math.random(0,360)) + SpawnSet(shroom1, "attackable", "0") + SpawnSet(shroom1, "show_level", "0") + AddTimer(shroom1, 25000, "Despawn") + local shroom2 = SpawnMob(zone, 4700019, 1, X + math.random(-5,5), Y, Z + math.random(-5,5), math.random(0,360)) + SpawnSet(shroom2, "attackable", "0") + SpawnSet(shroom2, "show_level", "0") + AddTimer(shroom2, 25000, "Despawn") + local orc = SpawnMob(zone, 4701172, 0, X + math.random(-10,10), Y, Z + math.random(-10,10), math.random(0,360)) + Attack(orc, Spawn) + AddSpawnAccess(shroom1, Spawn) + AddSpawnAccess(shroom2, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua b/Lua/SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua new file mode 100755 index 000000000..b5794803a --- /dev/null +++ b/Lua/SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua + Script Purpose : for the giant boulder barrier in the velinoid caves + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function SpawnAccess(NPC, Spawn) + if not HasCompletedQuest(Spawn, RyGorrOperations) then + if GetQuestStep(Spawn, RyGorrOperations) ~= 2 and GetQuestStep(Spawn, RyGorrOperations) ~= 3 then + AddSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GMHall/GuideFreddums.lua b/Lua/SpawnScripts/GMHall/GuideFreddums.lua new file mode 100755 index 000000000..0b86d864b --- /dev/null +++ b/Lua/SpawnScripts/GMHall/GuideFreddums.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/GMHall/GuideFreddums.lua + Script Author : TyroneSWG + Script Date : 2019.01.28 04:01:33 + Script Purpose : + : +--]] + +function spawn(NPC) + PlayAnimation(NPC, 16583) + PlayAnimation(NPC, 16863) +end + + +function hailed(NPC, Spawn) + Say(NPC, "Greetings. If you have any questions please ask!") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/GMHall/TeleporterGMHall.lua b/Lua/SpawnScripts/GMHall/TeleporterGMHall.lua new file mode 100755 index 000000000..8b6c6f642 --- /dev/null +++ b/Lua/SpawnScripts/GMHall/TeleporterGMHall.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/GMHall/TeleporterGMHall.lua + Script Author : TyroneSWG + Script Date : 2019.01.16 05:01:35 + Script Purpose : + : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 2, "TeleporterBackOutBound_InRange", "TeleporterOutBackBound_OutRange") +end + +function TeleporterBackOutBound_InRange(NPC, Spawn) + SetPosition(Spawn, 698.56, -33.93, 1495.80) + SendPopUpMessage(Spawn, "Taking you back...", 244, 66, 134) +end + +function TeleporterBackOutBound_OutRange(NPC, Spawn) + +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/GMHall/TeleporterSecretPlace.lua b/Lua/SpawnScripts/GMHall/TeleporterSecretPlace.lua new file mode 100755 index 000000000..a7fa62605 --- /dev/null +++ b/Lua/SpawnScripts/GMHall/TeleporterSecretPlace.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/GMHall/TeleporterSecretPlace.lua + Script Author : TyroneSWG + Script Date : 2019.01.16 01:01:32 + Script Purpose : + : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 2, "TeleporterOutBound_InRange", "TeleporterOutBound_OutRange") +end + +function TeleporterOutBound_InRange(NPC, Spawn) + SetPosition(Spawn, 569.51, 98.23, 954.06) + SendPopUpMessage(Spawn, "Whoosh!", 244, 66, 134) +end + +function TeleporterOutBound_OutRange(NPC, Spawn) + +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/GMHall/Toad.lua b/Lua/SpawnScripts/GMHall/Toad.lua new file mode 100755 index 000000000..eda9ba37e --- /dev/null +++ b/Lua/SpawnScripts/GMHall/Toad.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/GMHall/Toad.lua + Script Author : TyroneSWG + Script Date : 2019.01.14 03:01:44 + Script Purpose : Test, can be nuked later. + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Morph Me!", "Change") + AddConversationOption(conversation, "Revert Me!", "Revert") + AddConversationOption(conversation, "Just saying Hello!", "Hello") + StartConversation(conversation, NPC, Spawn, "Ah wise warrior. How can I assist you?") + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "wave", 0, 0, Spawn) +end + +function Change(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + StartConversation(conversation, NPC, Spawn, "Watch this...") + v = math.random (200, 300) + SetIllusion(Spawn, v) + Say(NPC, "Allakhazam!") +end + +function Revert(NPC, Spawn) + ResetIllusion(Spawn) +end + +function Hello(NPC, Spawn) +Say(NPC, "Well hello.") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/GMHall/TrainingDummy.lua b/Lua/SpawnScripts/GMHall/TrainingDummy.lua new file mode 100755 index 000000000..5583426aa --- /dev/null +++ b/Lua/SpawnScripts/GMHall/TrainingDummy.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : TrainingDummy.lua + Script Purpose : An unkillable spawn for you to whack on + Script Author : Jabantiz + Script Date : 7/14/2014 + Script Notes : None +--]] + +function spawn(NPC) + -- set the calls to the ai to 10 mins as there is no ai + SetBrainTick(NPC, 600000) + SetLuaBrain(NPC) + + -- give the spawn a crap load of hp so we can't one hit kill + SetHP(NPC, 1000000) +end + +function hailed(NPC, Spawn) + Say(NPC, GetHP(NPC)) +end + +function respawn(NPC) + spawn(NPC) +end + +function Think(NPC) + -- no ai so won't attack + return +end + +function healthchanged(NPC, Spawn) + -- insta heal so should be impossible to kill without the /kill command + SetHP(NPC, GetMaxHP(NPC)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GMHall/Wizzy.lua b/Lua/SpawnScripts/GMHall/Wizzy.lua new file mode 100755 index 000000000..e1686952e --- /dev/null +++ b/Lua/SpawnScripts/GMHall/Wizzy.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GMHall/Wizzy.lua + Script Author : TyroneSWG + Script Date : 2019.01.15 11:01:51 + Script Purpose : Dragon that mounts people. Wait a minute... + : +--]] + +local mount_favorites = { '25423', '24053', '25864', '23713', '15397', '20950', '20344', '17509' } +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "I need a mount please!", "mountme") + AddConversationOption(conversation, "I would like to dismount", "unmountme") + StartConversation(conversation, NPC, Spawn, "Greetings.") + +end + +function mountme(NPC, Spawn) + FaceTarget(NPC, Spawn) + SendMessage(Player, "Did it work?", "red") + SetMount(Spawn, mount_favorites[ math.random( 1, #mount_favorites - 1 ) ] ) + --SetSpeed(Spawn, 100) +end + +function unmountme(NPC, Spawn) + FaceTarget(NPC, Spawn) + SetMount(Spawn, 0) + SetSpeed(Spawn, 1) +end + +function respawn(NPC) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GMHall/abankvault.lua b/Lua/SpawnScripts/GMHall/abankvault.lua new file mode 100755 index 000000000..2231700f2 --- /dev/null +++ b/Lua/SpawnScripts/GMHall/abankvault.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/GMHall/abankvault.lua + Script Author : TyroneSWG + Script Date : 2019.01.15 11:01:42 + Script Purpose : + : +--]] + +function spawn(Object) +end + +function hailed(Object, Spawn) + AddCoin(Spawn, 1000000) + SendMessage(Player, "You have been granted coin from the gods.", "yellow") +end + +function respawn(Object) +end + diff --git a/Lua/SpawnScripts/Generic/ADarkbladeAssassin.lua b/Lua/SpawnScripts/Generic/ADarkbladeAssassin.lua new file mode 100755 index 000000000..155f571b8 --- /dev/null +++ b/Lua/SpawnScripts/Generic/ADarkbladeAssassin.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/Generic/ADarkbladeAssassin.lua + Script Author : Ememjr + Script Date : 2019.10.06 04:10:59 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function group_dead(NPC, Spawn) + local zone = GetZone(Spawn) + local Spawn2 = GetSpawnByLocationID(zone, 1586531) + Say(NPC, "group_dead triggered") + -- if not nil then first group is dead + if GetTempVariable(Spawn2,"FirstGroupDead") ~= nil then + -- spawn named here + SpawnByLocationID(zone, 1586529) + SpawnByLocationID(zone, 1586530) + elseif GetTempVariable(Spawn2,"FirstGroupDead") == nil then + -- if nil then this is first group and set to 1 + Say(Spawn, "I killed the first group") + SetTempVariable(Spawn2,"FirstGroupDead",1) + end +end +function respawn(NPC) + local zone = GetZone(NPC) + SetTempVariable(Spawn2,"FirstGroupDead", nil) +end + diff --git a/Lua/SpawnScripts/Generic/AMarshalMoppet.lua b/Lua/SpawnScripts/Generic/AMarshalMoppet.lua new file mode 100755 index 000000000..763db45b6 --- /dev/null +++ b/Lua/SpawnScripts/Generic/AMarshalMoppet.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Generic/AMarshalMoppet.lua + Script Author : gloat + Script Date : 2019.03.13 11:03:53 + Script Purpose : + : +--]] + +function spawn(NPC) + MoveToLocation(NPC, -136.47, -27.87, 13.31) + MoveToLocation(NPC, -120.72, -28.06, 31.08) + MoveToLocation(NPC, -91.15, -27.36, 47.19) + MoveToLocation(NPC, -75.40, -26.23, 49.19) + MoveToLocation(NPC, -55.98, -23.94, 45.09) + MoveToLocation(NPC, -46.13, -23.79, 35.59) + MoveToLocation(NPC, -31.83, -22.88, -2.92) + MoveToLocation(NPC, -28.87, -21.93, -17.82) + MoveToLocation(NPC, -40.12, -24.66, -51.76) + MoveToLocation(NPC, -79.19, -26.26, -78.91) + MoveToLocation(NPC, -93.12, -26.65, -78.88) + MoveToLocation(NPC, -121.52, -25.67, -73.38) + MoveToLocation(NPC, -152.29, -25.14, -44.26) + MoveToLocation(NPC, -148.48, -27.50, -5.96) + MoveToLocation(NPC, -142.61, -27.77, 5.95) + MoveToLocation(NPC, -139.73, -27.82, 10.20) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Generic/AlexaLockets.lua b/Lua/SpawnScripts/Generic/AlexaLockets.lua new file mode 100755 index 000000000..088480cbe --- /dev/null +++ b/Lua/SpawnScripts/Generic/AlexaLockets.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/AlexaLockets.lua + Script Purpose : Alexa after defeating the sisters for The Everling Lockets quest + Script Author : smash + Script Date : 9/8/2016 + Script Notes : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetTempVariable(NPC, "talking") ~= "true" then + StartDialogLoop(NPC, Spawn) + local player_group = GetGroup(Spawn) + if player_group ~= nil then + for k,v in ipairs(player_group) do + SetPlayerHistory(v, HISTORY.NEK_CASTLE_LIBRARY_ACCESS, 1) + end + else + SetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_LIBRARY_ACCESS, 1) + end + end +end + +function StartDialogLoop(NPC, Spawn) + SetTempVariable(NPC, "talking", "true") + Say(NPC, "Wonderful you have gathered all the lockets.") + AddTimer(NPC, 3500, "Dialog2") +end + +function Dialog2(NPC) + Say(NPC, "Unfortunately I have learned that Everling has added another protection to his door.") + AddTimer(NPC, 3500, "Dialog3") +end + +function Dialog3(NPC) + Say(NPC, "He also gave his son Ollix a locket and has created a slot for that locket as well.") + AddTimer(NPC, 3500, "Dialog4") +end + +function Dialog4(NPC) + Say(NPC, "Thankfully I know the resting place of the locket, it was buried with Ollix when he died.") + AddTimer(NPC, 3500, "Dialog5") +end + +function Dialog5(NPC) + Say(NPC, "I have managed to unlock all of the doors within the castle area so you can move freely about.") + AddTimer(NPC, 3500, "Dialog6") +end + +function Dialog6(NPC) + Say(NPC, "You will need to gain access to Lord Everlings bedchamber,") + AddTimer(NPC, 3500, "Dialog7") +end + +function Dialog7(NPC) + Say(NPC, "there is a passageway behind the bookshelves within his bedchamber that leads to the castles lower levels.") + AddTimer(NPC, 5000, "Despawn") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/AnimalTrainers.lua b/Lua/SpawnScripts/Generic/AnimalTrainers.lua new file mode 100755 index 000000000..ec54e4002 --- /dev/null +++ b/Lua/SpawnScripts/Generic/AnimalTrainers.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/Generic/AnimalTrainers.lua + Script Purpose : Generic script to make animal trainers emote to their animals + Script Author : John Adams + Script Date : 2009.06.14 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 5000, "emote1") +end + +function emote1(NPC) + SpawnSet(NPC, "visual_state", "12187") + AddTimer(NPC, 5000, "Stop") + AddTimer(NPC, 30000, "emote2") +end + +function emote2(NPC) + SpawnSet(NPC, "visual_state", "11298") + AddTimer(NPC, 10000, "Stop") + AddTimer(NPC, 30000, "emote3") +end + +function emote3(NPC) + SpawnSet(NPC, "visual_state", "11150") + AddTimer(NPC, 5000, "Stop") + AddTimer(NPC, 30000, "emote4") +end + +function emote4(NPC) + SpawnSet(NPC, "visual_state", "13063") + AddTimer(NPC, 5000, "Stop") + AddTimer(NPC, 30000, "emote5") +end + +function emote5(NPC) + SpawnSet(NPC, "visual_state", "2810") + AddTimer(NPC, 5000, "Stop") + AddTimer(NPC, 30000, "emote1") +end + +function Stop(NPC) + SpawnSet(NPC, "visual_state", "0") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/Generic/BrokentuskVoiceOvers.lua b/Lua/SpawnScripts/Generic/BrokentuskVoiceOvers.lua new file mode 100755 index 000000000..ee072e830 --- /dev/null +++ b/Lua/SpawnScripts/Generic/BrokentuskVoiceOvers.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Generic/BrokentuskVoiceOvers.lua + Script Purpose : Handles voice overs for the Brokentusk. + Script Author : Scatman + Script Date : 2009.08.20 + Script Notes : +--]] + +function generic_aggro(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional3/orc_brokentusk/ft/orc/orc_brokentusk_1_aggro_58aa3cd6.mp3", "Everyone, over here. Kill them and take their boots!", "", 434487644, 2328686578) +end + +function generic_healthchanged(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional3/orc_brokentusk/ft/orc/orc_brokentusk_1_battle_m_15e66010.mp3", "I think we should just run!", "", 1889420114, 3820789621) +end + +function generic_killed(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional3/orc_brokentusk/ft/orc/orc_brokentusk_1_victory_bfb0a7a3.mp3", "All of this stuff is mine!", "", 4284515986, 2571034270) +end + +function generic_death(NPC, Spawn) +end + +--[[ +PlayFlavor(NPC, "voiceover/english/optional3/orc_brokentusk/ft/orc/orc_brokentusk_1_garbled_0.mp3", "", "", 3549344355, 3906322090, Spawn) +--]] diff --git a/Lua/SpawnScripts/Generic/CaptianOgof.lua b/Lua/SpawnScripts/Generic/CaptianOgof.lua new file mode 100755 index 000000000..fcadf0f41 --- /dev/null +++ b/Lua/SpawnScripts/Generic/CaptianOgof.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Generic/CaptianOgof.lua + Script Author : gloat + Script Date : 2019.02.03 01:02:50 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/MovementCircleSmall" +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + + +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Generic/DialogModule.lua b/Lua/SpawnScripts/Generic/DialogModule.lua new file mode 100755 index 000000000..97f460c9f --- /dev/null +++ b/Lua/SpawnScripts/Generic/DialogModule.lua @@ -0,0 +1,256 @@ +Dialog = { } + +-- defines for the requirement types +REQ_RACE = 1 +REQ_CLASS = 2 +REQ_LEVEL = 3 +REQ_LEVEL_GREATER_OR_EQUAL = 4 +REQ_LEVEL_LESS_OR_EQUAL = 5 +REQ_QUEST_ELIGIBLE = 6 +REQ_QUEST_ON_STEP = 7 +REQ_QUEST_BEFORE_STEP = 8 +REQ_QUEST_PAST_STEP = 9 +REQ_QUEST_HAS_QUEST = 10 +REQ_QUEST_DOESNT_HAVE_QUEST = 11 +REQ_QUEST_NOT_ON_STEP = 12 +REQ_QUEST_HAS_COMPLETED_QUEST = 13 +REQ_QUEST_NOT_HAS_COMPLETED_QUEST = 14 +REQ_TEMP_VAR_NOT_SET = 15 +REQ_TEMP_VAR_SET = 16 +REQ_LUA_HISTORY_SET = 17 +REQ_LUA_HISTORY_NOT_SET = 18 +REQ_LOCATION_ID = 19 + + +-- Dialog variables +Dialog.NPC = nil +Dialog.Player = nil +Dialog.Dialog = {} + +-- private functions go at the top + +-- Checks the requirement table and returns false if the player failed a check or true if they pass ALL checks +local function CheckRequirements(reqs) + local ret = true + + -- if no requirements then return true + if reqs ~= nil then + -- loop through the requirements and check to see if the player fails them, if so set the return value + -- to false and break the loop as we don't need to check any of the other requirements + for k, v in pairs(reqs) do + if v.Type == REQ_RACE and GetRace(Dialog.Player) ~= v.Value1 then + ret = false + break + elseif v.Type == REQ_CLASS and GetClass(Dialog.Player) ~= v.Value1 then + ret = false + break + elseif v.Type == REQ_LEVEL and GetLevel(Dialog.Player) ~= v.Value1 then + ret = false + break + elseif v.Type == REQ_LEVEL_GREATER_OR_EQUAL and GetLevel(Dialog.Player) < v.Value1 then + ret = false + break + elseif v.Type == REQ_LEVEL_LESS_OR_EQUAL and GetLevel(Dialog.Player) > v.Value1 then + ret = false + break + elseif v.Type == REQ_QUEST_ELIGIBLE and not CanReceiveQuest(Dialog.Player, v.Value1) then + ret = false + break + elseif v.Type == REQ_QUEST_ON_STEP and GetQuestStep(Dialog.Player, v.Value1) ~= v.Value2 then + ret = false + break + elseif v.Type == REQ_QUEST_BEFORE_STEP and GetQuestStep(Dialog.Player, v.Value1) >= v.Value2 then + ret = false + break + elseif v.Type == REQ_QUEST_PAST_STEP and GetQuestStep(Dialog.Player, v.Value1) <= v.Value2 then + ret = false + break + elseif v.Type == REQ_QUEST_HAS_QUEST and not HasQuest(Dialog.Player, v.Value1) then + ret = false + break + elseif v.Type == REQ_QUEST_DOESNT_HAVE_QUEST and HasQuest(Dialog.Player, v.Value1) then + ret = false + break + elseif v.Type == REQ_QUEST_NOT_ON_STEP and GetQuestStep(Dialog.Player, v.Value1) == v.Value2 then + ret = false + break + elseif v.Type == REQ_QUEST_HAS_COMPLETED_QUEST and not HasCompletedQuest(Dialog.Player, v.Value1) then + ret = false + break + elseif v.Type == REQ_QUEST_NOT_HAS_COMPLETED_QUEST and HasCompletedQuest(Dialog.Player, v.Value1) then + ret = false + break + elseif v.Type == REQ_TEMP_VAR_NOT_SET and GetTempVariable(Dialog.Player, v.Value1) == v.Value2 then + ret = false + break + elseif v.Type == REQ_TEMP_VAR_SET and GetTempVariable(Dialog.Player, v.Value1) ~= v.Value2 then + ret = false + break + elseif v.Type == REQ_LUA_HISTORY_SET then + local value1, value2 = GetPlayerHistory(Dialog.Player, v.Value1) + if v.Value2 ~= value1 then + ret = false + break + elseif v.Value3 ~= nil and v.Value3 ~= value2 then + ret = false + break + end + elseif v.Type == REQ_LUA_HISTORY_NOT_SET then + local value1, value2 = GetPlayerHistory(Dialog.Player, v.Value1) + if v.Value2 == value1 then + ret = false + break + elseif v.Value3 ~= nil and v.Value3 == value2 then + ret = false + break + end + elseif v.Type == REQ_LOCATION_ID and GetSpawnLocationID(Dialog.NPC) ~= v.Value1 then + ret = false + break + end + end + end + + return ret +end + +-- Helper function to check requirements on options and actually use the option +local function PrintOptions(dlg, con) + -- loop through the options and check their requirements, if they pass add the option + for k, v in pairs(dlg.Options) do + if CheckRequirements(v.Requirements) == true then + AddConversationOption(con, v.option, v.callback) + end + end +end + +-- Actual member functions are below, these are what you call in the other scripts + +-- Set up the spawn pointers to use +function Dialog.New(NPC, Player) + Dialog.NPC = NPC + Dialog.Player = Player +end + +-- Test function, left it in for now as it may be useful but it is just a Say() +function Dialog.Test(Msg) + if Dialog.NPC ~= nil then + Say(Dialog.NPC, Msg) + end +end + +-- Add a dialog +function Dialog.AddDialog(text) + local dlg = {} + dlg.Text = text + dlg.Options = {} + dlg.Requirements = nil + dlg.VOFile = nil + dlg.VOKey1 = nil + dlg.VOKey2 = nil + dlg.Emote = nil + table.insert(Dialog.Dialog, dlg) +end + +-- Adds requirements to the last added dialog +function Dialog.AddRequirement(req_type, value1, value2, value3) + local dlg = Dialog.Dialog[#Dialog.Dialog] + if dlg.Requirements == nil then + dlg.Requirements = {} + end + local req = {} + req.Type = req_type + req.Value1 = value1 + req.Value2 = value2 + req.Value3 = value3 + table.insert(dlg.Requirements, req) +end + +-- Adds a voiceover to the last added dialog +function Dialog.AddVoiceover(file, key1, key2) + local dlg = Dialog.Dialog[#Dialog.Dialog] + dlg.VOFile = file + dlg.VOKey1 = key1 + dlg.VOKey2 = key2 +end + +-- Adds an emote to the last added dialog +function Dialog.AddEmote(emote) + local dlg = Dialog.Dialog[#Dialog.Dialog] + dlg.Emote = emote +end + +-- Adds options to the last added dialog +function Dialog.AddOption(opt, cb) + local dlg = Dialog.Dialog[#Dialog.Dialog] + local option = {} + option.option = opt + option.callback = cb + option.Requirements = nil + table.insert(dlg.Options, option) +end + +-- Adds requirements to the last added option +function Dialog.AddOptionRequirement(req_type, value1, value2, value3) + local dlg = Dialog.Dialog[#Dialog.Dialog] + local option = dlg.Options[#dlg.Options] + if option.Requirements == nil then + option.Requirements = {} + end + local req = {} + req.Type = req_type + req.Value1 = value1 + req.Value2 = value2 + req.Value3 = value3 + table.insert(option.Requirements, req) +end + +-- Actually sends the dialog to the player +function Dialog.Start() + -- if NPC or Player are nil then return out so we don't cause a null pointer error on the server + if Dialog.NPC == nil or Dialog.Player == nil then + -- would be great to print a lua error here + return + end + + -- create the conversation + local con = CreateConversation() + + -- bool to see if we found a dialog to send + local found = false + + -- loop through all the dialogs + for key, dlg in pairs(Dialog.Dialog) do + + -- Check the dialog requirements if there are any and set the found bool + if dlg.Requirements ~= nil then + found = CheckRequirements(dlg.Requirements) + else + -- no requirements for this dialog so lets use it + found = true + end + + -- if we found a dialog to use lets set up the options for it and send it + if found == true then + PrintOptions(dlg, con) + if dlg.Emote ~= nil then + if dlg.VOFile ~= nil then + PlayFlavor(Dialog.NPC, dlg.VOFile, "", dlg.Emote, dlg.VOKey1, dlg.VOKey2, Dialog.Player) + else + PlayFlavor(Dialog.NPC, "", "", dlg.Emote, 0, 0, Dialog.Player) + end + StartConversation(con, Dialog.NPC, Dialog.Player, dlg.Text) + else + StartConversation(con, Dialog.NPC, Dialog.Player, dlg.Text, dlg.VOFile, dlg.VOKey1, dlg.VOKey2) + end + + -- we sent a dialog so get out of the loop + break; + end + end + + -- clear the list to avoid duplicates + Dialog.Dialog = {} +end + +return Dialog \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/GearBot.lua b/Lua/SpawnScripts/Generic/GearBot.lua new file mode 100755 index 000000000..f039a5e41 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GearBot.lua @@ -0,0 +1,129 @@ +--[[ + Script Name : SpawnScripts/Generic/GearBot.lua + Script Purpose : gear bot for testers + Script Author : theFoof + Script Date : 2013.5.23 + Script Notes : +--]] +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local class = GetClass(Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_6.mp3", "Go now, and begin the trials that I have set for you.", "", 1244918730, 586509135, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_4.mp3", "You show potential, but there are many who seek the auspices of Lucan, and I only have time for champions.", "", 2060818628, 3998142234, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_9.mp3", "With my guidance, you shall gain power and glory as you have never imagined, but should you turn against me, you will find that my wrath is a terrible thing ... Now go!", "", 3855854568, 2247480313, Spawn) + end + if class >= 1 and class <=10 and class ~= 6 and class ~= 7 then + if HasItem(Spawn, 137284) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137284) + SummonItem(Spawn, 137285) + SummonItem(Spawn, 137286) + SummonItem(Spawn, 137287) + SummonItem(Spawn, 137288) + SummonItem(Spawn, 137289) + SummonItem(Spawn, 137290) + if class == 1 or class == 2 then + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72682) + SummonItem(Spawn, 40049) + SummonItem(Spawn, 50659) + else + SummonItem(Spawn, 72712) + SummonItem(Spawn, 50659) + SummonItem(Spawn, 70283) + SummonItem(Spawn, 40049) + SummonItem(Spawn, 72682) + end + end + elseif class == 6 or class == 7 then + if HasItem(Spawn, 72707) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 72707) + SummonItem(Spawn, 72707) + SummonItem(Spawn, 70283) + SummonItem(Spawn, 190164) + SummonItem(Spawn, 190165) + SummonItem(Spawn, 190166) + SummonItem(Spawn, 190167) + SummonItem(Spawn, 190168) + SummonItem(Spawn, 190169) + SummonItem(Spawn, 190170) + end + elseif class == 13 or class == 14 then + if HasItem(Spawn, 137284) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137284) + SummonItem(Spawn, 137285) + SummonItem(Spawn, 137286) + SummonItem(Spawn, 137287) + SummonItem(Spawn, 137288) + SummonItem(Spawn, 137289) + SummonItem(Spawn, 137290) + SummonItem(Spawn, 50119) + SummonItem(Spawn, 72734) + SummonItem(Spawn, 72713) + end + elseif class == 16 or class == 17 then + if HasItem(Spawn, 190164) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 190164) + SummonItem(Spawn, 190165) + SummonItem(Spawn, 190166) + SummonItem(Spawn, 190167) + SummonItem(Spawn, 190168) + SummonItem(Spawn, 190169) + SummonItem(Spawn, 190170) + SummonItem(Spawn, 50119) + SummonItem(Spawn, 72734) + SummonItem(Spawn, 72713) + end + elseif class == 19 or class == 20 then + if HasItem(Spawn, 137271) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137271) + SummonItem(Spawn, 137272) + SummonItem(Spawn, 137273) + SummonItem(Spawn, 137274) + SummonItem(Spawn, 137275) + SummonItem(Spawn, 137276) + SummonItem(Spawn, 137277) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 50119) + SummonItem(Spawn, 72734) + SummonItem(Spawn, 72713) + end + elseif class >= 22 and class <= 30 then + if HasItem(Spawn, 175094) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 175094) + SummonItem(Spawn, 175096) + SummonItem(Spawn, 175097) + SummonItem(Spawn, 175100) + SummonItem(Spawn, 175101) + SummonItem(Spawn, 175105) + SummonItem(Spawn, 175107) + SummonItem(Spawn, 175108) + SummonItem(Spawn, 70287) + end + elseif class >= 31 then + if HasItem(Spawn, 137271) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137271) + SummonItem(Spawn, 137272) + SummonItem(Spawn, 137273) + SummonItem(Spawn, 137274) + SummonItem(Spawn, 137275) + SummonItem(Spawn, 137276) + SummonItem(Spawn, 137277) + SummonItem(Spawn, 40050) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72716) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/GenericAlchemistVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericAlchemistVoiceOvers.lua new file mode 100755 index 000000000..2a8e3bc97 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericAlchemistVoiceOvers.lua @@ -0,0 +1,133 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericAlchemistVoiceOvers.lua + Script Purpose : Handles the generic hails for alchemists. + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function GenericAlchemistHail(NPC, Spawn, Faction) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + if race == BARBARIAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DWARF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ERUDITE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FROGLOK then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + elseif gender == FEMALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/alchemist/halfelf_alchemist_service_good_1_hail_gf_59de96bd.mp3", "What happened to the highly explosive bottle that was on my desk? Have you seen it?", "ponder", 4015034016, 224119583, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/alchemist/halfelf_alchemist_service_good_1_hail_gf_a8ed74c7.mp3", "There are no refunds for caster error at this shop! Oh ... hello you're not here about a refund.", "no", 71962485, 2424906469, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/alchemist/halfelf_alchemist_service_good_1_hail_gf_efd903ba.mp3", "Hello, adventurer! Are you looking for a specific potion or ingredient?", "agree", 2677405750, 4053615600, Spawn) + end + end + elseif race == HALFLING then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HIGH_ELF then + if gender == MALE then + elseif gender == FEMALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/alchemist/highelf_alchemist_service_good_1_hail_gf_59de96bd.mp3", "What happened to the highly explosive bottle that was on my desk? Have you seen it?", "ponder", 276977866, 1430125901, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/alchemist/highelf_alchemist_service_good_1_hail_gf_ec533e4c.mp3", "Are you wounded? I just made up a fresh batch of healing potions an hour ago.", "happy", 1236281408, 177476380, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/alchemist/highelf_alchemist_service_good_1_hail_gf_efd903ba.mp3", "Hello, adventurer! Are you looking for a specific potion or ingredient?", "agree", 150025546, 682148839, Spawn) + end + end + elseif race == HUMAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericArmorsmithVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericArmorsmithVoiceOvers.lua new file mode 100755 index 000000000..1aecb6fa1 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericArmorsmithVoiceOvers.lua @@ -0,0 +1,128 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericArmorsmithVoiceOvers.lua + Script Purpose : Handles the generic hails for armorsmiths and tailors. + Script Author : Scatman + Script Date : 2009.09.15 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function GenericArmorsmithHail(NPC, Spawn, Faction) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + local file_option = math.random(1, 3) + local file_race_gender = 0 + if race == BARBARIAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DWARF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ERUDITE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FROGLOK then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + PlayFlavor(NPC, "", "You can never be too careful when it comes to protection. Here, try on one of these.", "agree", 0, 0, Spawn) + elseif gender == FEMALE then + end + elseif race == HALFLING then + if gender == MALE then + elseif gender == FEMALE then + local choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "You can never be too careful when it comes to protecting yourself. Why not try something new?", Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Your garb looks a mite worn. Can I interest you in a fine new set of armor?", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1689589577, 4560189, Spawn) + end + end + elseif race == HIGH_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HUMAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericBakerVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericBakerVoiceOvers.lua new file mode 100755 index 000000000..7161552f4 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericBakerVoiceOvers.lua @@ -0,0 +1,127 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericBakerVoiceOvers.lua + Script Purpose : Handles the generic hails for bakers. + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function GenericBakerHail(NPC, Spawn) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + if race == BARBARIAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DWARF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ERUDITE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FROGLOK then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALFLING then + if gender == MALE then + elseif gender == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/baker/halfling_baker_service_good_1_hail_gf_1e9a743c.mp3", "Please mind the plates, they're very hot.", "scold", 1075794847, 2019936086, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/baker/halfling_baker_service_good_1_hail_gf_3d1ca473.mp3", "Tell me, do you prefer Halfling or Elven cuisine? I myself have a hard time deciding between the two.", "confused", 1646021457, 4149179615, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/baker/halfling_baker_service_good_1_hail_gf_9db280de.mp3", "I love the smell of fresh bread in the oven!", "sigh", 1048257184, 2248522628, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/baker/halfling_baker_service_good_1_hail_gf_cca9cdef.mp3", "Welcome friend, welcome. I hope you brought your appetite with you!", "wink", 22116398, 594684199, Spawn) + end + end + elseif race == HIGH_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HUMAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericBartenderVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericBartenderVoiceOvers.lua new file mode 100755 index 000000000..b75d7dddd --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericBartenderVoiceOvers.lua @@ -0,0 +1,125 @@ +--[[ + cript Name : SpawnScripts/Generic/GenericBartenderVoiceOvers.lua + Script Purpose : Handles the generic hails for bartenders. + Script Author : Scatman + Script Date : 2009.10.03 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function GenericBartenderHail(NPC, Spawn, faction) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + if race == BARBARIAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DWARF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ERUDITE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FROGLOK then + if gender == MALE then + elseif gender == FEMALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/bartender/froglok_bartender_service_good_1_hail_gf_41d55b0d.mp3", "The best part about this job is all the extra coin I get.", "", 2888286231, 967545209, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/bartender/froglok_bartender_service_good_1_hail_gf_ce1f039f.mp3", "Might I interest you in some meat and cheese to go with that tall glass of ale?", "", 2337190060, 175840912, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/bartender/froglok_bartender_service_good_1_hail_gf_ce733912.mp3", "I bet you have some stories, eh? Adventuring must be an exciting life!", "", 1840731743, 2065794369, Spawn) + end + end + elseif race == GNOME then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALFLING then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HIGH_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HUMAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericCraftingTrainer.lua b/Lua/SpawnScripts/Generic/GenericCraftingTrainer.lua new file mode 100755 index 000000000..fb99e6ee8 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericCraftingTrainer.lua @@ -0,0 +1,212 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericCraftingTrainer.lua + Script Purpose : + Script Author : theFoof (SendSecondaryChoice() by Jabantiz) + Script Date : 2013.10.20 + Script Notes : This script handles crafting trainers +--]] + +local artisan_ess_1 = 31371 +local artisan_ess_2 = 31373 +local ARTISAN = 1 +local CRAFTSMAN = 2 +local PROVISIONER = 3 +local WOODWORKER = 4 +local CARPENTER = 5 +local OUTFITTER = 6 +local ARMORER = 7 +local WEAPONSMITH = 8 +local TAILOR = 9 +local SCHOLAR = 10 +local JEWELER = 11 +local SAGE = 12 +local ALCHEMIST = 13 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + CraftingTrainerHail(NPC, Spawn) +end + +function CraftingTrainerHail(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetTradeskillLevel(Spawn) < 9 then + if not HasBooks(Spawn) or GetTradeskillLevel(Spawn) < 2 then + AddConversationOption(conversation, "Yes, please teach me.", "GiveBooks") + AddConversationOption(conversation, "No, not at the moment.", "Chat1") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade. Good. We can always use talented artisans. I can help you get started. Would you be interested?") + else + Chat2(NPC, Spawn) + end + elseif GetTradeskillLevel(Spawn) == 9 then + Chat4(NPC, Spawn) + elseif GetTradeskillLevel(Spawn) == 19 then + Chat5(NPC, Spawn) + elseif GetTradeskillLevel(Spawn) < 20 then + Chat2(NPC, Spawn) + else + PlayFlavor(NPC, "", "You have learned everything I have to teach. You are free to use our crafting facilities to hone your skills and master your craft.", "hello", 0, 0, Spawn) + end +end + + +function HasBooks(Spawn) + local has_books = true + + --check if the player has certain recipe books + if not HasRecipeBook(Spawn, artisan_ess_1) and not HasItem(Spawn, artisan_ess_1, 1) then + has_books = false + end + if not HasRecipeBook(Spawn, artisan_ess_2) and not HasItem(Spawn, artisan_ess_2, 1) then + has_books = false + end + + return has_books +end + +function GiveBooks(NPC, Spawn) + --give recipe books if not scribed and does not have + if not HasRecipeBook(Spawn, artisan_ess_1) and not HasItem(Spawn, artisan_ess_1, 1) then + SummonItem(Spawn, artisan_ess_1, 1) + end + if not HasRecipeBook(Spawn, artisan_ess_2) and not HasItem(Spawn, artisan_ess_2, 1) then + SummonItem(Spawn, artisan_ess_2, 1) + end + if GetTradeskillLevel(Spawn) < 2 then + SetTradeskillClass(Spawn, ARTISAN) + SetTradeskillLevel(Spawn, 2) + end + Chat3(NPC, Spawn) +end + +function Chat1(NPC, Spawn) + PlayFlavor(NPC, "", "Oh, well feel free to come back later whenever you'd like.", "", 1689589577, 4560189, Spawn) +end + +function Chat2(NPC, Spawn) + PlayFlavor(NPC, "", "I have nothing else to teach you for the moment. Please return to me when you have earned enough experience to choose your profession.", "", 1689589577, 4560189, Spawn) +end + +function Chat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will start on that now.") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting specialty.") +end + +function Chat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "My name is " .. GetName(Spawn) ..".", "SendSecondaryChoice") + AddConversationOption(conversation, "No thank you, I'll come back later.") + StartConversation(conversation, NPC, Spawn, "I'm glad you have come back for more training, it looks like you've learned quite a bit in a very short time. I can certify you in your chosen trade class. Before I begin your paperwork, I'll need your name.") +end + +function Chat5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ".", "Send" .. GetTradeskillClassName(Spawn) .. "Choice") + StartConversation(conversation, NPC, Spawn, "I'm glad that you continued on as a " .. GetTradeskillClassName(Spawn) .. " and came back to advance your skills. I can certify you in your chosen trade specialty. I need your name before I can start your paperwork.") +end + +function SendSecondaryChoice(NPC, Spawn) + window = CreateOptionWindow() + AddOptionWindowOption(window, "Craftsman", "Craftsmen become carpenters, provisioners, or woodworkers. They make furniture and strong boxes, food, drink, bows, arrows, totems, wooden weapons, and wooden shields.", 1, 420, "select_craftsman") + AddOptionWindowOption(window, "Outfitter", "Outfitters become armorers, tailors, or weaponsmiths. They make plate and chainmail armor, heavy shields, cloth and leather armor, casual clothing, backpacks, hex dolls, and metal weapons.", 1, 411, "select_outfitter") + AddOptionWindowOption(window, "Scholar", "Scholars become alchemists, jewelers, and sages. They make spell and combat art upgrades for adventurers, potions, poisons, and jewelry.", 1, 396, "select_scholar") + SendOptionWindow(window, Spawn, "Select A Profession") +end + +function select_craftsman(NPC, Spawn) + SetTradeskillClass(Spawn, CRAFTSMAN) + SetTradeskillLevel(Spawn, 10) +end + +function select_outfitter(NPC, Spawn) + SetTradeskillClass(Spawn, OUTFITTER) + SetTradeskillLevel(Spawn, 10) +end + +function select_scholar(NPC, Spawn) + SetTradeskillClass(Spawn, SCHOLAR) + SetTradeskillLevel(Spawn, 10) +end + +function SendOutfitterChoice(NPC, Spawn) + window = CreateOptionWindow() + AddOptionWindowOption(window, "Armorer", "Armorers are skilled at creating plate and chainmail armor.", 2, 40, "select_armorer") + AddOptionWindowOption(window, "Weaponsmith", "Weaponsmiths specialize in making metal weapons of all damage types.", 2, 41, "select_weaponsmith") + AddOptionWindowOption(window, "Tailor", "Tailors make cloth and leather armor, casual clothing, backpacks, hex dolls, and ammo holders.", 2, 42, "select_tailor") + SendOptionWindow(window, Spawn, "Select A Class") +end + +function select_armorer(NPC, Spawn) + SetTradeskillClass(Spawn, ARMORER) + SetTradeskillLevel(Spawn, 20) +end + +function select_weaponsmith(NPC, Spawn) + SetTradeskillClass(Spawn, WEAPONSMITH) + SetTradeskillLevel(Spawn, 20) +end + +function select_tailor(NPC, Spawn) + SetTradeskillClass(Spawn, TAILOR) + SetTradeskillLevel(Spawn, 20) +end + +function SendScholarChoice(NPC, Spawn) + local window = CreateOptionWindow() + AddOptionWindowOption(window, "Sage", "Sages specialize in making spell upgrade scrolls for mages and priests.", 2, 37, "select_sage") + AddOptionWindowOption(window, "Alchemist", "Alchemists make fighter combat art upgrades, potions, and poisons.", 2, 38, "select_alchemist") + AddOptionWindowOption(window, "Jeweler", "Jewelers make upgrades for scout combat arts, as well as jewelery such as rings, earrings, necklaces, bracelets, and belts.", 2, 39, "select_jeweler") + SendOptionWindow(window, Spawn, "Select A Class") +end + +function select_sage(NPC, Spawn) + SetTradeskillClass(Spawn, SAGE) + SetTradeskillLevel(Spawn, 20) +end + +function select_alchemist(NPC, Spawn) + SetTradeskillClass(Spawn, ALCHEMIST) + SetTradeskillLevel(Spawn, 20) +end + +function select_jeweler(NPC, Spawn) + SetTradeskillClass(Spawn, JEWELER) + SetTradeskillLevel(Spawn, 20) +end + +function SendCraftsmanChoice(NPC, Spawn) + local window = CreateOptionWindow() + AddOptionWindowOption(window, "Carpenter", "Carpenters make furniture of all types, strong boxes, and a variety of sales crates.", 2, 44, "select_carpenter") + AddOptionWindowOption(window, "Provisioner", "Provisioners make food and drink that will regenerate health and power faster between battles.", 2, 43, "select_provisioner") + AddOptionWindowOption(window, "Woodworker", "Woodworkers make wooden weapons, totems, bows, arrows, and wooden shields.", 2, 45, "select_woodworker") + SendOptionWindow(window, Spawn, "Select A Class") +end + +function select_carpenter(NPC, Spawn) + SetTradeskillClass(Spawn, CARPENTER) + SetTradeskillLevel(Spawn, 20) +end + +function select_provisioner(NPC, Spawn) + SetTradeskillClass(Spawn, PROVISIONER) + SetTradeskillLevel(Spawn, 20) +end + +function select_woodworker(NPC, Spawn) + SetTradeskillClass(Spawn, WOODWORKER) + SetTradeskillLevel(Spawn, 20) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/GenericFayfolk.lua b/Lua/SpawnScripts/Generic/GenericFayfolk.lua new file mode 100755 index 000000000..c1ecb5622 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericFayfolk.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericFayfolk.lua + Script Purpose : Any spawn that speaks Fayfolk + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function fayfolk_healthchanged(NPC, Spawn) + --if HasLanguage(Spawn, Fayfolk) then + --else + SpeakGarbledFayfok(NPC, Spawn) + --end +end + +function death(NPC, Spawn) +end + +function SpeakGarbledFayfok(NPC, Spawn) + local choice = math.random(1, 4) + if math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_e858f993.mp3", "Tawaneee follahh dilifilongia avee", "", 677789876, 1792673679, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_dfa9e7d9.mp3", "Amamooenoo illysavah leetah", "", 1070184369, 1800384485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_29e4606e.mp3", "Peelahha misialloniassaa laliallasala", "", 4241242710, 1388449419, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_628bdbdb.mp3", "Meraania suvalas itresteien", "", 2333386122, 320322749, Spawn) + end +end diff --git a/Lua/SpawnScripts/Generic/GenericGuardVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericGuardVoiceOvers.lua new file mode 100755 index 000000000..560b47d67 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericGuardVoiceOvers.lua @@ -0,0 +1,314 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericGuardVoiceOvers.lua + Script Purpose : Handles the generic hails for guards. + Script Author : Scatman + Script Date : 2009.09.15 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +local QEYNOS = 11 +local FREEPORT = 12 + +function GenericGuardHail(NPC, Spawn, Faction) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + local file_option = math.random(1, 3) + local file_race_gender = 0 + if race == BARBARIAN then + if gender == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 174236481, 4250389478, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else citizen, except honor!", "scold", 3650321797, 745843450, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 2588751132, 3401521310, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/guard/barbarian_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2268064933, 2349331472, Spawn) + end + elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3330899926, 205777100, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 3071777755, 1811086423, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3455786340, 1963116786, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 3432620709, 3039361332, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 2007336774, 276021764, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 2216401374, 2200952527, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_e6d19328.mp3", "The Overlord commands me to work the night shift and so I must accept.", "tapfoot", 1941665390, 4180571964, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1432151232, 2291117299, Spawn) + end + end + elseif race == DWARF then + if gender == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now I may die of boredom.", "grumble", 31199107, 4082603014, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else citizen, except honor!", "scold", 3958491070, 1651361777, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1717559969, 1730005307, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you citizen, all preserve Queen Antonia.", "salute", 2539353309, 3288832983, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gf_c865a827.mp3", "Duty above all else citizen, except honor!", "scold", 2599283605, 3661394128, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gf_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 3116918998, 1333985272, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gf_ed0d92f8.mp3", "I hate the night shift! If the gnolls don't attack now I may die of boredom.", "grumble", 2490266027, 3636789093, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gf_ee473c11.mp3", "Good day to you citizen, all preserve Queen Antonia.", "salute", 3457944783, 4136040635, Spawn) + end + end + elseif race == ERUDITE then + if gender == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "Duty above all else citizen, except honor!", "scold", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Good day to you citizen, all preserve Queen Antonia.", "salute", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "I hate the night shift! If the gnolls don't attack now I may die of boredom.", "grumble", 1689589577, 4560189, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "Duty above all else citizen, except honor!", "scold", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Good day to you citizen, all preserve Queen Antonia.", "salute", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "I hate the night shift! If the gnolls don't attack now I may die of boredom.", "grumble", 1689589577, 4560189, Spawn) + end + end + elseif race == FROGLOK then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALFLING then + if gender == MALE then + local choice = math.random(1, 10) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_aoi_gm_89ed3363.mp3", "Wonderful, more troublesome adventurers in the city. ", "sarcasm", 3296911201, 4000062691, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_aoi_gm_fea5fead.mp3", "The world is round. It's round I say, as well it should be!", "curse", 4205711950, 2062936277, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_1e924418.mp3", "Hail and welcome to the city, friend!", "hello", 3400282816, 2842293637, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_50622dfa.mp3", "Whoa, hello there! Eager and in a hurry I see. My advice, take your time. The city isn't going anywhere.", "wave", 2627404831, 2664895493, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_75c0e97c.mp3", "Welcome to the city, adventurer. Be mindful of the peace and quiet. Here in Qeynos, we value our privacy.", "bow", 1955296899, 2249687997, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_7d33c817.mp3", "Nice weather we're having. Should make for a good harvest this season, if it holds up.", "nod", 3022454580, 2853198849, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_b44f103.mp3", "Ah good, another refugee in the city. I hope you're not a worthless lay about! We don't abide apathy here.", "glare", 516875735, 233361227, Spawn) + elseif choice == 8 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_cf902b40.mp3", "Get on now! There's plenty of work to be done. Maybe you should lend a hand, if you feel up to it.", "stare", 1396062221, 310311489, Spawn) + elseif choice == 9 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_d79063bf.mp3", "Ahhhhh, that's what I love about Qeynos. So many bakeries and so many pies!", "scheme", 894976267, 1675938925, Spawn) + elseif choice == 10 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/halfling/halfling_eco_good_1_hail_gm_f657192c.mp3", "Nostalgia isn't what it used to be.", "sigh", 2017572665, 1813639796, Spawn) + end + elseif gender == FEMALE then + end + elseif race == HIGH_ELF then + if gender == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 3586563752, 1865874525, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 739074204, 2925833259, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 3027655540, 4120709915, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2088886924, 3736631596, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gf_9e30d7b1.mp3", "I hate the night shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 1243870883, 2445109433, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/highelf_eco_good_1/ft/service/guard/highelf_guard_service_good_1_hail_gf_d7fdb65.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 2772203714, 1169089481, Spawn) + end + end + elseif race == HUMAN then + if gender == MALE then + if Faction == "Evil" then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3265760930, 1055342916, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 1744928325, 2718395831, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 1281050619, 1758539799, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1906726944, 247472694, Spawn) + end + else + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 4099618783, 4191002419, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 4141262779, 4227030045, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn) + end + end + elseif gender == FEMALE then + if Faction == "Evil" then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gf_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 2697294413, 370291658, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gf_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 1888277290, 873721758, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gf_e6d19328.mp3", "The Overlord commands me to work the night shift and so I must accept.", "tapfoot", 3462302836, 3625333695, Spawn) + else + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gf_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1662524531, 242648132, Spawn) + end + else + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 373851625, 467562033, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 3448203562, 506341016, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ed0d92f8.mp3", "I hate the night shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 1226814424, 706962620, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 1886617373, 1115286759, Spawn) + end + end + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 423300132, 829337329, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 606354622, 1657703048, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3898592844, 3023882159, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 2290537918, 776957565, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gf_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 2981239011, 830472688, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gf_e6d19328.mp3", "The Overlord commands me to work the night shift and so I must accept.", "tapfoot", 3190713491, 83008289, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gf_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 2650311659, 1056157406, Spawn) + end + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end + end +end + +function CheckFaction(NPC, Spawn, City) + if NPC ~= nil and Spawn ~= nil and City ~= nil then + faction_amount = 0 + if City == "Qeynos" then + faction_amount = GetFactionAmount(Spawn, QEYNOS) + elseif City == "Freeport" then + faction_amount = GetFactionAmount(Spawn, FREEPORT) + end + if faction_amount >= 20000 then + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "cheer", 0, 0, Spawn) + SendMessage(Spawn, GetName(NPC) .. " cheers at you.") + elseif faction_amount <= -20000 then + --FaceTarget(NPC, Spawn) + --PlayFlavor(NPC, "", "", "cheer", 0, 0, Spawn) + SendMessage(Spawn, GetName(NPC) .. " scowls at you.") + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua new file mode 100755 index 000000000..33fdd2a34 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua @@ -0,0 +1,619 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericMerchantVoiceOvers.lua + Script Purpose : Handles the generic hails for merchants. + Script Author : Scatman (finished by theFoof) + Script Date : 2009.10.03 (2013.5.23) + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn, faction) +end + +function GenericMerchantHail(NPC, Spawn, faction) + race = GetRace(NPC) + gender = GetGender(NPC) + local zone = GetZone(NPC) + if GetZoneID(zone) >= 220 and GetZoneID(zone) <= 238 then + GOOD = true + elseif GetZoneID(zone) == 207 then + GOOD = true + elseif GetZoneID(zone) >= 195 and GetZoneID(zone) <= 198 then + GOOD = true + elseif GetZoneID(zone) == 589 or GetZoneID(zone) == 660 then + GOOD = true + elseif GetZoneID(zone) == 470 then + GOOD = true + elseif GetZoneID(zone) == 45 then + NEUTRAL = true + elseif GetZoneID(zone) >= 124 and GetZoneID(zone) <= 128 then + EVIL = true + elseif GetZoneID(zone) >= 134 and GetZoneID(zone)<= 168 then + EVIL = true + end + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + if race == BARBARIAN then + if gender == MALE then + if EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_aoi_gm_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 235175968, 3339718033, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_1a08e567.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 2645212460, 3162600369, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2075685854, 2333149890, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 910886868, 2769739896, Spawn) + end + elseif GOOD then + end + elseif gender == FEMALE then + if GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1536664189, 3665435010, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3015552699, 2771723491, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2063097698, 2494171847, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1501437320, 1208713152, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2483059399, 3985999050, Spawn) + end + elseif EVIL then + end + end + elseif race == DARK_ELF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_aoi_gm_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 1403936443, 3068231605, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2781916825, 678640011, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 898812878, 1402234103, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1302153135, 3653961458, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3860282907, 2830883681, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1457896156, 727813168, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 2250198640, 1947969981, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1486780566, 1792397389, Spawn) + end + end + elseif race == DWARF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies, right before ya, to fill your adventuring needs.", "smile", 2986424867, 2267649224, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What is it I can help you with?", "bow", 3654607078, 2614139251, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2230797709, 3854601007, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2160906698, 176729787, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2158784304, 1517987989, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What is it I can help you with?", "bow", 578929529, 647853, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2476632966, 344262300, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 3245529092, 259619326, Spawn) + end + end + elseif race == ERUDITE then + if gender == MALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 3214856518, 2753581081, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 3397939934, 3975525417, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1834072357, 2642830337, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 3892898109, 888385496, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 857840270, 941389485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 4271285862, 1774320762, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2447200130, 2600666744, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 4242410919, 3368229094, Spawn) + end + end + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2944389248, 2464861027, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 3938058402, 2276035503, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 83870236, 433715613, Spawn) + end + elseif GOOD then + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/merchant/erudite_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 212313057, 12730672, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/merchant/erudite_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2546361989, 1647933100, Spawn) + end + end + end + elseif race == FROGLOK then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "", 3275840542, 3533002656, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on take a look at the stock. You'll never beat this price in the city. I guarantee it!", "", 1103160236, 2382190453, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "", 4162169560, 3669848700, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "", 3778390452, 4026406833, Spawn) + end + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + if EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_aoi_gm_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 991835348, 673767052, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 4264249232, 4201092275, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1076899557, 563502184, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1962442487, 899461162, Spawn) + end + elseif GOOD then + end + elseif gender == FEMALE then + if GOOD then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3470306310, 1316518467, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 246082736, 1176624798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3111567662, 3548853636, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1338601146, 1643268062, Spawn) + end + elseif EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_aoi_gf_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 53934921, 2834276715, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2509544157, 3594072091, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1324995812, 3252792374, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3830210026, 2739804736, Spawn) + end + end + end + elseif race == HALF_ELF then + if gender == MALE then + if GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1293853317, 115757857, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 397083190, 607860501, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3839095688, 1767190740, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1745995078, 3389510546, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2835834469, 3534853920, Spawn) + end + elseif EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_aoi_gm_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 139349589, 782938435, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 1237696600, 1447318033, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1100358951, 329280246, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 343341765, 3197108031, Spawn) + end + end + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 175282120, 2443997290, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 2378717460, 740610806, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3198881432, 747888667, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 4021870581, 3389419609, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 972343456, 3393961158, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1394131243, 1936863827, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2816660604, 3830827049, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1252836690, 4210583240, Spawn) + end + end + end + elseif race == HALFLING then + if gender == MALE then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1226726886, 4190877381, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3623244639, 2766324485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1035878974, 1582137754, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 41344948, 2516334772, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1122140911, 2707150069, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 970154386, 421867483, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1783848035, 1895831070, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2106259105, 3779666567, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2817125385, 2108502543, Spawn) + end + end + elseif race == HIGH_ELF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2148618169, 3301341439, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3062232413, 481395622, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1178509910, 1653421984, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2961019025, 517163532, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2023209747, 1019050798, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3279499948, 2931921467, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3725011666, 2990490195, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1015791525, 798872771, Spawn) + end + end + elseif race == HUMAN then + if gender == MALE then + if EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 1784666995, 3208939342, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 84402078, 1019490531, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1896104495, 1387469911, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 608741053, 3167076754, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1832724458, 980846932, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2541554579, 2951095822, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 892528408, 239693863, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 903813734, 2512856176, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 983188064, 3043413352, Spawn) + end + end + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 2632179815, 4191292693, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1377121065, 1621186679, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1299723818, 3048193330, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 2963689917, 1457704094, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1817378690, 2459690771, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 489810336, 3318568259, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1527285383, 3910629798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1667555721, 2696093362, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2588954321, 88153469, Spawn) + end + end + end + elseif race == IKSAR then + if gender == MALE then + if EVIL then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_aoi_gm_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 3019943489, 1406568446, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_1a08e567.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1197055422, 631535840, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2596269432, 669710728, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today, or am I just wasting my time? This isn't a museum display you know!", "glare", 1394544165, 1181852771, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 105908870, 230263487, Spawn) + end + elseif NEUTRAL then + local choice = math.random(1,7) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_aoi_gm_25771611.mp3", "You won't find these low, low prices in those fancy city shops.", "heckno", 2932257559, 4177037023, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_1e754634.mp3", "Of course we deliver! I'll just need an address, key, and the times when you won't be home.", "scheme", 1087137768, 1465514007, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_29327bd1.mp3", "I have to dump this stuff and move out tonight. Staying one step ahead of my, uh, happy customers.", "lookaway", 22249194, 1341967221, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_48e9f7.mp3", "This merchandise is so hot it's still warm to the touch.", "wince", 1835763352, 2766558282, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_670060d5.mp3", "Calm down, friend. Just because this looks like your stolen backpack doesn't mean it is.", "boggle", 2580247510, 1110936911, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_8c371df0.mp3", "Don't let these deals slip through your fingers.", "point", 237863798, 1171878591, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_f2a55e76.mp3", "With these values it's like you're the one committing highway robbery!", "smile", 1611773944, 2658422623, Spawn) + end + end + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1919752795, 2899530992, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 651549003, 3080028152, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff is over there. Just let me know if you find anything you like.", "ponder", 539119573, 3458318396, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 259001786, 3030907314, Spawn) + end + end + end + elseif race == KERRA then + if gender == MALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 3095675602, 2704920135, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 472349153, 715118612, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 2185780562, 2943504538, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 668610071, 953653133, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1405292242, 1170257111, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2595040836, 1903894062, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2292395976, 2840814777, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2438244582, 4033825140, Spawn) + end + end + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 3601217765, 1034447902, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1023871072, 3866773546, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3574278479, 2910108828, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 2091371377, 2422178491, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, traveler! We have the finest supplies to fill your adventuring needs.", "smile", 509171300, 3181487898, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2213475197, 3871690614, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3487732561, 2995138728, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 591569637, 3640467043, Spawn) + end + end + end + elseif race == OGRE then + if gender == MALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 336682108, 2623574882, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2869440792, 4241979369, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1831712971, 1100241470, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gf_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 2018881162, 4264523804, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 2706816468, 1822386477, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1555538408, 3566039549, Spawn) + end + end + elseif race == RATONGA then + if gender == MALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 1147153942, 3317877781, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2902124396, 1772494629, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 686446071, 58743600, Spawn) + end + elseif NEUTRAL then + local choice = math.random(1,10) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_aoi_gm_25771611.mp3", "You won't find these low, low prices in those fancy city shops.", "heckno", 2149352822, 2911965725, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_aoi_gm_7dc06552.mp3", "I know a discerning shopper when I sees one, and they don't come any sharper than you.", "wink", 1215863828, 1711861063, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_1e754634.mp3", "Of course we deliver! I'll just need an address, key, and the times when you won't be home.", "scheme", 3777485038, 22256427, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_29327bd1.mp3", "I have to dump this stuff and move out tonight. Staying one step ahead of my, uh, happy customers.", "lookaway", 3335550471, 3304609329, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_48e9f7.mp3", "This merchandise is so hot it's still warm to the touch.", "wince", 1094492990, 4101920657, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_589bbb80.mp3", "Satisfaction is guaranteed, with all itemses fully refundable...if you can find me again.", "thumbsup", 1525152162, 4224893930, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_670060d5.mp3", "Calm down, friend. Just because this looks like your stolen backpack doesn't mean it is.", "boggle", 1357039195, 2717785315, Spawn) + elseif choice == 8 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_8c371df0.mp3", "Don't let these deals slip through your fingers.", "point", 1999119491, 784149819, Spawn) + elseif choice == 9 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_e4bce3ad.mp3", "Psst ... I'm cutting you in on the deal of a lifetime.", "agree", 149052487, 2149887402, Spawn) + elseif choice == 10 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_f2a55e76.mp3", "With these values it's like you're the one committing highway robbery!", "smile", 763799213, 3232955127, Spawn) + end + end + elseif gender == FEMALE then + local choice = math.random(1,7) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 2288309507, 1188267472, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 3740786388, 4176254637, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3460692084, 694864112, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 1269771027, 1321830597, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 3896024368, 3267129756, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 4265688146, 2432877514, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3557499503, 3758276116, Spawn) + end + end + elseif race == TROLL then + if gender == MALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/troll_eco_evil_1/ft/service/merchant/troll_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 3210835791, 1852025017, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/troll_eco_evil_1/ft/service/merchant/troll_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2910412337, 3363562860, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/troll_eco_evil_1/ft/service/merchant/troll_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3850597068, 627128809, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/troll_eco_evil_2/ft/service/merchant/troll_merchant_service_evil_2_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1199893528, 955414076, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/troll_eco_evil_2/ft/service/merchant/troll_merchant_service_evil_2_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1139316257, 3885612978, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/troll_eco_evil_2/ft/service/merchant/troll_merchant_service_evil_2_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1335466174, 672398346, Spawn) + end + end + elseif race == WOOD_ELF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1759256427, 830987678, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 46008519, 2252409517, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1332319343, 1214035917, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2211929083, 2050297502, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2082169991, 1448634552, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 3534990748, 2443561795, Spawn) + end + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericScribeVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericScribeVoiceOvers.lua new file mode 100755 index 000000000..d1eb24d13 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericScribeVoiceOvers.lua @@ -0,0 +1,127 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericScribeVoiceOvers.lua + Script Purpose : Handles the generic hails for scribes. + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function GenericScribeHail(NPC, Spawn, Faction) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + if race == BARBARIAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DWARF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ERUDITE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FROGLOK then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + elseif gender == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/scribe/gnome_scribe_service_good_1_hail_gf_efd8a52b.mp3", "Ah, a student of the arcane. Is there something I can help you find?", "ponder", 241135821, 1371778900, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/scribe/gnome_scribe_service_good_1_hail_gf_58ed77b2.mp3", "All right where is my pen? How am I supposed to scribe anything without my pen?", "tapfoot", 513035073, 2771699263, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/scribe/gnome_scribe_service_good_1_hail_gf_cbc94cb6.mp3", "Blast it! Who keeps taking all of the parchment? ", "swear", 1429173278, 1014473963, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/scribe/gnome_scribe_service_good_1_hail_gf_392a4f4e.mp3", "Be careful, it's best not to read the scrolls. If you want to know what they are, just ask me.", "nod", 3255267278, 1071089122, Spawn) + end + end + elseif race == HALF_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALFLING then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HIGH_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HUMAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericTradeskillTutor.lua b/Lua/SpawnScripts/Generic/GenericTradeskillTutor.lua new file mode 100755 index 000000000..932b3aaf1 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericTradeskillTutor.lua @@ -0,0 +1,637 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericTradeskillTutor.lua + Script Purpose : + Script Author : theFoof + Script Date : 2013.09.28 + Script Notes : Generic script for tradeskill tutors +--]] + +local HarvestTutorial = 11 + +local HadAHammer = 12 + +local ForgingAhead = 91 + +local CounteringProblems = 92 + +local TutorialCook = 93 + +local TutorialWeapons = 94 + +local TutorialScrolls = 95 + +local TutorialExperiments = 96 + +local TutorialOutfitting = 97 + +function spawn(NPC) + ProvidesTutorials(NPC) +end + +function ProvidesTutorials(NPC) + ProvidesQuest(NPC, HarvestTutorial) + ProvidesQuest(NPC, ForgingAhead) + ProvidesQuest(NPC, CounteringProblems) + ProvidesQuest(NPC, TutorialCook) + ProvidesQuest(NPC, TutorialWeapons) + ProvidesQuest(NPC, TutorialScrolls) + ProvidesQuest(NPC, TutorialExperiments) + ProvidesQuest(NPC, TutorialOutfitting) +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + CraftingTutorHail(NPC, Spawn) +end + +function CraftingTutorHail(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, HadAHammer) == 5 then + SetStepComplete(Spawn, HadAHammer, 5) + if not HasCompletedQuest(Spawn, ForgingAhead) then + TutChat1(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, HarvestTutorial) and not HasQuest(Spawn, HarvestTutorial) then + AddConversationOption(conversation, "Yes please, I don't know much about that stuff.", "OfferHarvestTutorial") + AddConversationOption(conversation, "Sure, I think I'm pretty comfortable with it all but I can always use a memory refresher.", "OfferHarvestTutorial") + AddConversationOption(conversation, "No thanks, I have other things to do right now.") + StartConversation(conversation, NPC, Spawn, "Hello friend! I'm here to teach interested people a little bit about how to harvest crafting materials, and how to craft tradeskilled items. Are you interested?") + elseif LastStepHarvestTutorial(Spawn) then + SetStepComplete(Spawn, HarvestTutorial, 8) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Excellent work learning about harvesting! As a reward, allow me to offer you this box for storing harvested items. It's quite heavy, so I suggest you put it in your bank rather than carrying it, but it has plenty of storage room for harvests.") + elseif CanReceiveQuest(Spawn, ForgingAhead) then + TutChat1(NPC, Spawn) + elseif GetQuestStep(Spawn, ForgingAhead) == 1 then + PlayFlavor(NPC, "", "Take your time. There's no rush!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ForgingAhead) == 2 then + Tut2Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, CounteringProblems) then + Tut2Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, CounteringProblems) == 1 then + PlayFlavor(NPC, "", "You'll get the hang of it. And don't forget, other crafters are often a valuable source of advice and tips.", "", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, CounteringProblems) == 2 then + SetStepComplete(Spawn, CounteringProblems, 2) + Tut3Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialCook) then + Tut3Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, TutorialCook) == 1 then + PlayFlavor(NPC, "", "Remember, you can buy essential provisioning ingredients such as liquid and dough from the fuel vendor.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TutorialCook) == 2 then + SetStepComplete(Spawn, TutorialCook, 2) + Tut4Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialWeapons) then + Tut4Chat1(NPC, Spawn) + elseif HasQuest(Spawn, TutorialWeapons) and (not QuestStepIsComplete(Spawn, TutorialWeapons, 1) or not QuestStepIsComplete(Spawn, TutorialWeapons, 2)) then + PlayFlavor(NPC, "", "Remember to be careful when working with weapons. You wouldn't want to accidentally impale your fellow crafters.", "", 0, 0, Spawn) + elseif HasQuest(Spawn, TutorialWeapons) and QuestStepIsComplete(Spawn, TutorialWeapons, 1) and QuestStepIsComplete(Spawn, TutorialWeapons, 2) then + SetStepComplete(Spawn, TutorialWeapons, 3) + Tut5Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialScrolls) then + Tut5Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, TutorialScrolls) == 1 then + PlayFlavor(NPC, "", "Ah, covered liberally with ink, I see. Good job. Keep at it!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TutorialScrolls) == 2 then + SetStepComplete(Spawn, TutorialScrolls, 2) + Tut6Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialExperiments) then + Tut6Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, TutorialExperiments) == 1 then + PlayFlavor(NPC, "", "Be particularly careful at the chemistry table. More explosions originate in that area than anywhere else in the city...", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TutorialExperiments) == 2 then + SetStepComplete(Spawn, TutorialExperiments, 2) + Tut7Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialOutfitting) then + Tut7Chat1(NPC, Spawn) + elseif HasQuest(Spawn, TutorialOutfitting) and (not QuestStepIsComplete(Player, 97, 1) or not QuestStepIsComplete(Player, 97, 2)) then + PlayFlavor(NPC, "", "Take your time. It's dangerous to rush at the forge!", "", 0, 0, Spawn) + elseif HasQuest(Spawn, TutorialOutfitting) and QuestStepIsComplete(Player, 97, 1) and QuestStepIsComplete(Player, 97, 2) then + SetStepComplete(Spawn, TutorialOutfitting, 3) + FinishedChat(NPC, Spawn) + else + FinishedChat2(NPC, Spawn) + end +end + +function TutChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tradeskill_tutorial_master/tradeskill/tutorial/tradeskill_tutorial014.mp3", "", "", 423248729, 3231742282, Spawn) + AddConversationOption(conversation, "Yes please.", "TutChat2") + AddConversationOption(conversation, "Not now, thanks.") + StartConversation(conversation, NPC, Spawn, "You have learned how to gather harvests, and whether or not you decide to learn a tradeskill profession, you'll find harvesting can be a useful and profitable pastime. Are you interested in reviewing the crafting process?") +end + +function TutChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Elm, tin, roots ... check. And I'd like to learn more before I start, yes.", "TutChat3") + AddConversationOption(conversation, "No thanks, spare me the details, just tell me where to go.", "OfferForgingAhead") + AddConversationOption(conversation, "Actually ... I'll be right back!") + StartConversation(conversation, NPC, Spawn, "All right, let's learn about the crafting process itself. You'll need to have some harvested elm, tin, and roots in your bags. Shall I tell you a bit more about the crafting stations and your tradeskill arts, or do you want to just get going?") +end + +function TutChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "And what skills will I need?", "TutChat4") + StartConversation(conversation, NPC, Spawn, "There are a number of different crafting stations that can be used to make different items. For example, you would use a forge to make metal armor, and a chemistry table to make potions. The other crafting stations are: the sewing table, the woodworking table, the sage's engraved desk, the stove & keg, and the jeweler's workbench.") +end + +function TutChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial011.mp3", "", "", 1844695369, 4279963855, Spawn) + AddConversationOption(conversation, "So I need to use these tradeskill arts while crafting?", "TutChat5") + StartConversation(conversation, NPC, Spawn, "Each of the 9 tradeskill professions has its own 6 tradeskill arts, and there are also a couple of special arts that are used for recipes not related directly to one tradeskill specialty. The appropriate arts will appear as buttons at the bottom of the crafting window when you start to make an item.") +end + +function TutChat5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So what happens next?", "TutChat6") + StartConversation(conversation, NPC, Spawn, "That's right. If you mouse-over or examine the arts in your book, you should see what each of them do. Three will add progress, and three will add durability. When you're crafting you will want to be sure you know which ones add progress and which ones add durability. If you're having trouble maintaining durability, use all your durability arts all the time! Or to speed up progress, use the progress arts nonstop.") +end + +function TutChat6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Once I find the recipe I want to make, what then?", "TutChat7") + StartConversation(conversation, NPC, Spawn, "The first step in crafting anything is the recipe. The recipe you select determines what you will create. Open your recipe book from the main menu, or press N, to see yours. If you're new to crafting it will be empty, but as you gain more recipes they will be listed here and you can use the Search box at the top of this window to easily find recipe names. You can also create custom filters using the Edit button. ") +end + +function TutChat7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I think I'm ready to give it a try.", "TutChat8") + StartConversation(conversation, NPC, Spawn, "In this window you would select the name of the recipe you wish to use and then click Create. You will need to be near a crafting station of the appropriate type. If you click on the crafting station directly, your recipe book will automatically filter to show you only the recipes you can make on that station. Once you click Create, you will move to the Resource Window which shows you the list of ingredients that recipe requires. If you have all those, you click Begin and crafting starts.") +end + +function TutChat8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I stop losing durability then?", "TutChat9") + StartConversation(conversation, NPC, Spawn, "I'd like you to make a candelabra for practice. While you craft it, I'd like you to pay attention to the blue and green bars in the middle area. This shows you your progress (blue), and the durability (green) of the item you are creating. The goal is to increase your progress without losing too much durability. To create the item, you need to fill all four blue progress bars. If you lose at least one full bar of durability, you will not be able to do this unless you can regain that durability again. It is safest to keep your durability near maximum just in case of unexpected critical failures.") +end + +function TutChat9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It might be easier if I just try it out, can I give it a try now?", "OfferForgingAhead") + StartConversation(conversation, NPC, Spawn, "That's where the reaction arts I mentioned come in. You can use these to add progress (blue) or durability (green). Mouse click these or press 1 through 6 on your keyboard. You can use these skills proactively throughout crafting to influence the outcome - for example, use skills that add durability if your durability is dropping. Every 4 seconds a crafting 'round' completes and you will see numbers indicating your overall progress and durability loss or gain for that round above the crafting station. This is generally easier to see in third-person view (use your mouse wheel to scroll out).") +end + +function Tut2Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, ForgingAhead) then + SetStepComplete(Spawn, ForgingAhead, 2) + end + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial017.mp3", "", "", 1140694758, 2504376154, Spawn) + AddConversationOption(conversation, "Like what?", "Tut2Chat2") + StartConversation(conversation, NPC, Spawn, "Moving on to the next lesson, you should be aware that there are some hazards associated with crafting. Why, back in the old days, it wasn't unusual to see piles of injured bodies beside the forge! We've managed to build slightly less dangerous forges since then, but no matter what craft you choose, there are still dangers to counter.") +end + +function Tut2Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I didn't see any of that while making the candelabra...", "OfferCounteringProblems") + StartConversation(conversation, NPC, Spawn, "During the crafting process, you will sometimes see a warning icon appear in the area below the four progress bars. The warning icon will match one of your reaction art icons, and will have a name indicating the type of danger. The crafter can correct these problems by ensuring the next reaction art they use matches the icon of the warning. Successfully doing so will avoid bad things occurring (such as a loss of progress, or durability, or even injury to the crafter) and may also result in unusually good things happening (such as progress or durability gain, a skill bonus, or even the discovery of a rare harvest).") +end + +function Tut3Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes please.", "Tut3Chat2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Well done, I hope you avoided any serious injuries. So, now you know the basics of crafting, and I hope you understand how to obtain the best quality results while avoiding injury. Now, would you like to try a few more recipes to learn about the nine types of tradeskill you can specialize in?") +end + +function Tut3Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So what next?", "Tut3Chat3") + StartConversation(conversation, NPC, Spawn, "Well, let's see. You've made a candelabra using the carpenter skills, and learned that carpenters make items that can be placed in houses. Carpenters also make strong boxes for storage, and sales containers for selling items to others. You've also made a bracelet: jewelers make jewelry like this, and they also make combat art upgrades for scout types. ") +end + +function Tut3Chat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be right back with that cider!", "OfferTutorialCook") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Now why don't you try your hand at provisioning, and make some jum jum cider? Food and drink help an adventurer's power and health to regenerate faster between battles, so a provisioner's goods are always in demand. You'll need some harvested jum jum, and some liquid, which the fuel merchant will sell (aerated mineral water works just fine, and adds that extra fizz). ") +end + +function Tut4Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll do my best.", "OfferTutorialWeapons") + AddConversationOption(conversation, "I'll think about it.") + StartConversation(conversation, NPC, Spawn, "Next we'll look at weapons. These can be made by both weaponsmiths and woodworkers. Weaponsmiths are masters of metallic weaponry including swords, axes, daggers, and hammers. Woodworkers are skilled at working with wood, creating wooden weapons such as staffs, batons, and cudgels, as well as bows and arrows and wooden bucklers and round shields for the defense of their allies. They also craft powerful totems that possess restorative properties. Practice both crafts by making a tin hand axe, and an elm greatstaff.") +end + +function Tut5Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll start now.", "OfferTutorialScrolls") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Sages possess an unsurpassed knowledge of the arcane. They apply this knowledge by scribing spells onto scrolls that increase the might of healers and mages. Create a Scroll of Shackle and bring it to me.") +end + +function Tut6Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "On my way.", "OfferTutorialExperiments") + AddConversationOption(conversation, "Another time perhaps.") + StartConversation(conversation, NPC, Spawn, "Excellent work. Now let's look at alchemists; they create deadly poisons and magic potions from almost any material, benign or otherwise. These concoctions provide benefits in battle, such as healing, resistance, or extra damage against a foe. Alchemists also make combat art upgrades for fighter types to improve their abilities in battle. Make me an Essence of Intercept to practice these skills.") +end + +function Tut7Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Coat and a backpack coming up.", "OfferTutorialOutfitting") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Now let's look at tailors and armorers. Armorers focus on heavy plate and chain armor, while tailors specialize in the creation of lighter cloth and leather armor. Tailors also make backpacks and other items from cloth or leather. Show me that you can create a tin chainmail coat, and a rawhide backpack.") +end + +function FinishedChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial062.mp3", "", "", 2242637020, 2504678008, Spawn) + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "Let me just ask you a couple more questions...", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "Excellent work! I hope you now have an idea of what each tradeskill class does, and how to do it. At level 9 you'll need to decide which crafting path you will follow, by speaking to the Crafting Trainer near your local tradeskill area. The Crafting Trainer also sells your recipe books, so be sure to pick those up! Come back to me at any time and I'll be happy to give you refreshers on this information. Should you choose to continue a career as a crafter, I wish you the best of fortune!") +end + +function FinishedChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have some questions about some of the stuff we already covered.", "RemindChat") + AddConversationOption(conversation, "I heard something about commission crafting, what's that?", "CommissionChat1") + AddConversationOption(conversation, "Where do I get recipe books for crafting?", "BookChat1") + AddConversationOption(conversation, "Tell me about the different crafting classes?", "ClassChat1") + AddConversationOption(conversation, "How do I choose what type of crafter I will be?", "TypeChat1") + AddConversationOption(conversation, "How do I sell my stuff to other people?", "SellChat1") + AddConversationOption(conversation, "I heard something about secondary crafts, tinkering and transmuting. What are they?", "SecChat1") + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Would you like some more information, or some reminders of what we already talked about?") +end + +function CommissionChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial035.mp3", "", "", 2388752041, 1908343081, Spawn) + AddConversationOption(conversation, "How do I do it?", "CommissionChat2") + StartConversation(conversation, NPC, Spawn, "The commission crafting system enables a crafter to make an item for a customer without requiring the customer to hand over any ingredients. It can be used for almost any recipe, but is most often used for crafting rare items when the customer and crafter may not know each other and may not wish to hand over a rare on trust.") +end + +function CommissionChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial036.mp3", "", "", 2552516382, 2887530961, Spawn) + AddConversationOption(conversation, "So instead of targetting the crafting station I target the customer.", "CommissionChat3") + StartConversation(conversation, NPC, Spawn, "To craft something for a customer using the commission system, have the customer meet you by the appropriate crafting station, bringing with him the components needed by the recipe. Open your recipe book and select the appropriate recipe, then target the customer, and then click Create.") +end + +function CommissionChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial037.mp3", "", "", 691734143, 271413200, Spawn) + AddConversationOption(conversation, "And when he's provided everything we agree on?", "CommissionChat4") + StartConversation(conversation, NPC, Spawn, "Correct. When you target the customer and click Create, a new window will open. The customer needs to provide the primary component that the recipe requires (the first one listed) in the first slot in this window. He can provide all the other components also by putting them in this window too, or they can be in your bags, he is only required to provide the primary one. Also in this window he can add coin for payment, or an item to trade in payment.") +end + +function CommissionChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial038.mp3", "", "", 4067745103, 1643379768, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(converastion, NPC, Spawn, "When you both click to accept the deal, your crafting process will begin just as it normally does. Complete the item, and the finished product will drop directly into your customer's bags. Any payment placed in the commission window will go into your own bags. Easy as that.") +end + +function BookChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial039.mp3", "", "", 3191451903, 1275472191, Spawn) + AddConversationOption(conversation, "And they'll sell all my recipes?", "BookChat2") + StartConversation(conversation, NPC, Spawn, 'Recipe books can be purchased from vendors with the "Crafting Trainer" label. Typically these will be found near a crafting area. In Qeynos and Freeport they are normally standing just outside the tradeskill instances. In other cities they should be near the crafting stations.') +end + +function BookChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial040.mp3", "", "", 2091121926, 301972007, Spawn) + AddConversationOption(conversation, "That's it? " .. '"Essentials" books from the Crafting Trainer and "Advanced" books found out adventuring?', "BookChat3") + StartConversation(conversation, NPC, Spawn, 'They will sell your "essentials" books. These contain the basic recipes you need for making handcrafted items. "Advanced" books containing recipes for mastercrafted items (using rare harvests) are found by adventurers after level 9, and you' .. "'ll need to trade with your fellow adventurers, or check the broker, or go out hunting to find these.") +end + +function BookChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial041.mp3", "", "", 1044382648, 4108876671, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, 'Almost. There are occasionally other recipes that can be obtained in other ways, such as by adventuring or questing in certain areas. The majority of your recipes are covered by the "essentials" and "advanced" books however.') +end + +function ClassChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial042.mp3", "", "", 1622424773, 1570512432, Spawn) + AddConversationOption(conversation, "What are craftsmen?", "ClassChat2") + AddConversationOption(conversation, "What are outfitters?", "ClassChat3") + AddConversationOption(conversation, "What are scholars?", "ClassChat4") + AddConversationOption(conversation, "I was wondering about something else.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "There are nine primary tradeskill classes, plus two secondary crafts. I'll focus on the primary nine right now. These are divided into three archetypes: craftsman, outfitter, and scholar.") +end + +function ClassChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial043.mp3", "", "", 4227555374, 506326062, Spawn) + AddConversationOption(conversation, "I see.", "ClassChat1") + StartConversation(conversation, NPC, Spawn, "The three classes of craftsmen are: carpenter, provisioner, and woodworker Carpenters make furniture for decorating your home, strong boxes for bank storage, altars, and sales containers for use on the broker. Provisioners make food and drink to keep adventurers fighting in top form. And woodworkers make wooden weapons and shields, bows and arrows, magical totems, and harvesting tools.") +end + +function ClassChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial044.mp3", "", "", 2305144148, 2262225750, Spawn) + AddConversationOption(conversation, "I see.", "ClassChat1") + StartConversation(conversation, NPC, Spawn, "Outfitters are armorers, tailors, and weaponsmiths. Armorers specialize in plate and chainmail armor, and metal shields. Tailors make cloth and leather armor, fancy dress clothing, hex dolls, backpacks, and containers for thrown ammo. Weaponsmiths specialize in metal weapons of all types.") +end + +function ClassChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial045.mp3", "", "", 147861749, 3375095704, Spawn) + AddConversationOption(conversation, "I see.", "ClassChat1") + StartConversation(conversation, NPC, Spawn, "Scholars are alchemists, jewelers, and sages. Alchemists specialize in potions and poisons, and also make combat art upgrades for fighter types. Jewelers make items of jewelry, and also combat art upgrades for scout types. And sages make spell upgrades for mages and healers.") +end + +function TypeChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial046.mp3", "", "", 152150944, 1842039471, Spawn) + AddConversationOption(conversation, "Then what?", "TypeChat2") + StartConversation(conversation, NPC, Spawn, "When you reach level 9, you will need to decide which of the three main archetypes you will become: craftsman, outfitter, or scholar. When you have decided, speak to the Crafting Trainer near your local tradeskill area to register for that line of work. Typically these will be found near a crafting area. In Qeynos and Freeport they are normally standing just outside the tradeskill instances. In other cities they should be near the crafting stations.") +end + +function TypeChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial047.mp3", "", "", 2169201999, 3543807969, Spawn) + AddConversationOption(conversation, "What if I change my mind?", "TypeChat3") + StartConversation(conversation, NPC, Spawn, "That's all you have to do to choose your archetype. Later, at level 19, you will need to choose your final profession. Simply return to the same crafting trainer to select.") +end + +function TypeChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial048.mp3", "", "", 2654967587, 4062785753, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "There are a number of tradeskill career counsellors who can assist you in changing your crafting profession if you wish to do so. This will reset your crafting level to 9 and remove any recipes you can no longer use.") +end + +function SellChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial049.mp3", "", "", 2757229171, 476797749, Spawn) + AddConversationOption(conversation, "What are the specialized containers for?", "SellChat2") + StartConversation(conversation, NPC, Spawn, "Many crafters build up personal relationships with customers and deal directly with interested parties. However, you also have the option of listing your goods for sale on the broker. Brokers are located in all major cities, just ask a guard if you need help finding one. You can use any container such as a box or backpack to sell items from, or carpenters can make specialized sales containers from level 20 upward.") +end + +function SellChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial050.mp3", "", "", 3628788902, 1698576976, Spawn) + AddConversationOption(conversation, "How do I get my money?", "SellChat3") + StartConversation(conversation, NPC, Spawn, "Specialized sales containers can only be used on the broker, nowhere else. They are much larger than normal boxes or bags, and an image of these containers can be placed in your house so that customers can visit in person to buy from you, rather than purchasing through the broker. The broker charges a markup fee. so allowing your customers to buy directly and bypass this fee is generally good for business, once you start selling pricier items. These specialized containers require a rare wood to make; your local carpenter can give you more details.") +end + +function SellChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial051.mp3", "", "", 2662949569, 2327521387, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, 'Place the items to sell in a container on the "sell" tab of the broker and set the prices you wish to sell them for. If they sell, you will be able to collect the coin from the same container that the item was in.The broker will continue to sell your goods for you, for the next couple of days even if you are not around at the time.') +end + +function SecChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial052.mp3", "", "", 3509946126, 2374520501, Spawn) + AddConversationOption(conversation, "What's tinkering?", "SecChat2") + AddConversationOption(conversation, "What's adorning?", "SecChat3") + AddConversationOption(conversation, "How do I learn to be a tinkerer or adorner?", "SecChat4") + AddConversationOption(conversation, "I was wondering about something else.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "In addition to the nine primary tradeskills there are two secondary skills that can be learned. These are tinkering, and adorning. They can be learned by either adventurers or crafters, but your level in tinkering or adorning can never be higher than your primary tradeskill or your adventure level, whichever is higher.") +end + +function SecChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial053.mp3", "", "", 2218048793, 640438305, Spawn) + AddConversationOption(conversation, "I see.", "SecChat1") + StartConversation(conversation, NPC, Spawn, "Tinkering is the process created by gnomes many centuries ago. It is the art of making mechanical gadgets and gizmos to make life a little easier. You can create devices that will enhance your own abilities in combat; most of these can only be safely operated by yourself and other tinkers, however, as the mechanisms are far too complex for non-tinkerers to understand. Since many tinkered items are adventuring-related, it can be a useful secondary craft to augment an adventurer's abilities.") +end + +function SecChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial054.mp3", "", "", 2713361023, 2617196209, Spawn) + AddConversationOption(conversation, "I see.", "SecChat1") + StartConversation(conversation, NPC, Spawn, "Adorning is the art of making Adornments: items that can be applied to your equipment to permanently enhance the equipment's stats. To make these, you will need components created by breaking down unused items into raw components using the Transmuting skill. Everybody has the Transmuting skill, but only those who have studied as adorners can make adornments.") +end + +function SecChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial055.mp3", "", "", 1159059080, 4034407978, Spawn) + AddConversationOption(conversation, "I see.", "SecChat1") + StartConversation(conversation, NPC, Spawn, "You can only learn tinkering and adorning in Faydwer, where the skills originate. You will find trainers at the docks in Butcherblock Mountains, as well as in Kelethin. You can be both a tinkerer and an adorner if you wish. Everybody already has the transmuting skill which is used to make components that adorners use, and you can learn to use this even if you choose not to be an adorner.") +end + +function RemindChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial063.mp3", "", "", 979701411, 1286564366, Spawn) + AddConversationOption(conversation, "Tell me again where I can find harvests to craft with?", "HarvestChat") + AddConversationOption(conversation, "Tell me again about my tradeskill reaction arts and how to use them?", "ReactionChat") + AddConversationOption(conversation, "Tell me again about the recipe window?", "WindowChat") + AddConversationOption(conversation, "Tell me again about the crafting (or process) window, where the crafting itself takes place?", "CraftChat") + AddConversationOption(conversation, 'Tell me again what happens during a "round" of crafting, and when?', "RoundChat") + AddConversationOption(conversation, "Thanks for the reminders.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "What would you like to review?") +end + +function HarvestChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial032.mp3", "", "", 1760845253, 634861670, Spawn) + AddConversationOption(conversation, "Thanks.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "Harvesting resources tend to be segregated by areas - for example, you'll find harvests for making equipment for level 1-9 adventurers, in the same areas where you'll find level 1-9 adventurers hunting. There are seven types of harvestable item: wood, roots, ore, soft metal, animal dens, shrubs, and fish.") +end + +function ReactionChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial055.mp3", "", "", 1159059080, 4034407978, Spawn) + AddConversationOption(conversation, "And how do they work?", "ReactionChat2") + StartConversation(conversation, NPC, Spawn, "You can only learn tinkering and adorning in Faydwer, where the skills originate. You will find trainers at the docks in Butcherblock Mountains, as well as in Kelethin. You can be both a tinkerer and an adorner if you wish. Everybody already has the transmuting skill which is used to make components that adorners use, and you can learn to use this even if you choose not to be an adorner.") +end + +function ReactionChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "For any recipe, you will have six tradeskill arts that you can use if you want. If you mouse-over or examine the arts in your book, you should see what each of them do. Three will add progress, and three will add durability. There is also a cost associated with each. When you open up the crafting window, the correct skills you need will automatically appear at the bottom. Or, if you prefer, you can drag the ones you want onto a custom hotbar. Either way, when you're crafting you can click on these arts to add progress or durability to the item you are creating.") +end + +function WindowChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok, I see the recipe list, what's next?", "WindowChat2") + StartConversation(conversation, NPC, Spawn, "The first step in crafting anything is the recipe. The recipe you select determines what you will create. Open your recipe book from the main menu, or press N, to see yours. If you're new to crafting it will be empty, but as you gain more recipes they will be listed here and you can use the Search box at the top of this window to easily find recipe names. You can also create custom filters using the Edit button.") +end + +function WindowChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial031.mp3", "", "", 298839722, 3210850444, Spawn) + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "In the recipe list you would select the name of the recipe you wish to use, and then click Create. You will need to be at a crafting station of the appropriate type. Once you click Create, you will move to the Resource Window which shows you the list of ingredients that recipe requires. If you have all those, you click Begin and crafting starts.") +end + +function CraftChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "And what then?", "CraftChat2") + StartConversation(conversation, NPC, Spawn, "While you craft an item, pay attention to the four blue and green horizontal bars in the middle area. This shows you your progress (blue), and the durability (green) of the item you are creating. The reaction arts you'll need are found at the bottom of this window.") +end + +function CraftChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "The goal is to increase your progress without losing too much durability. To create the item, you need to fill all four blue progress bars. If you lose too much durability (green), you will not be able to do this. Use your reaction arts to add durability if you lose too much. If you have plenty of durability, you can use your arts to add progress so you get a finished product faster.") +end + +function RoundChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial033.mp3", "", "", 3851565796, 3556907959, Spawn) + AddConversationOption(conversation, "Okay, let's assume I do that, or there was no warning ... then what?", "RoundChat2") + StartConversation(conversation, NPC, Spawn, 'A "crafting round" lasts for 4 seconds. At the start of the 4 seconds, there is a chance that a warning icon will appear in your crafting window. If this happens, you have the remainder of the round to counter it: the first reaction art you use must match the icon of the warning.') +end + +function RoundChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial034.mp3", "", "", 1493508972, 307622314, Spawn) + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "You then have the remainder of the round to use any other reaction arts you wish to... or do nothing if you prefer. At the end of the round, your total progress and durability gain/loss will be adjusted, and you will see the appropriate numbers floating up from the crafting station.") +end + +function LastStepHarvestTutorial(Spawn) + --Return if all 7 steps before the final step are completed + if HasQuest(Spawn, HarvestTutorial) then + return (QuestStepIsComplete(Spawn, HarvestTutorial, 1) and QuestStepIsComplete(Spawn, HarvestTutorial, 2) and QuestStepIsComplete(Spawn, HarvestTutorial, 3) and QuestStepIsComplete(Spawn, HarvestTutorial, 4) and QuestStepIsComplete(Spawn, HarvestTutorial, 5) and QuestStepIsComplete(Spawn, HarvestTutorial, 6) and QuestStepIsComplete(Spawn, HarvestTutorial, 7)) + else + return false + end +end + +function OfferHarvestTutorial(NPC, Spawn) + OfferQuest(NPC, Spawn, HarvestTutorial) +end + +function OfferForgingAhead(NPC, Spawn) + OfferQuest(NPC, Spawn, ForgingAhead) +end + +function OfferCounteringProblems(NPC, Spawn) + OfferQuest(NPC, Spawn, CounteringProblems) +end + +function OfferTutorialCook(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialCook) +end + +function OfferTutorialWeapons(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialWeapons) +end + +function OfferTutorialScrolls(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialScrolls) +end + +function OfferTutorialExperiments(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialExperiments) +end + +function OfferTutorialOutfitting(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialOutfitting) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/GenericVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericVoiceOvers.lua new file mode 100755 index 000000000..69a38f22d --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericVoiceOvers.lua @@ -0,0 +1,138 @@ +--[[ + cript Name : SpawnScripts/Generic/GenericVoiceOvers.lua + Script Purpose : Handles the generic hails for spawns. + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function GenericHail(NPC, Spawn) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + local file_option = math.random(1, 3) + local file_race_gender = 0 + if race == BARBARIAN then + if gender == MALE then + file_race_gender = 1002 + elseif gender == FEMALE then + file_race_gender = 1001 + end + elseif race == DARK_ELF then + if gender == MALE then + file_race_gender = 1008 + elseif gender == FEMALE then + file_race_gender = 1007 + end + elseif race == DWARF then + if gender == MALE then + file_race_gender = 1042 + elseif gender == FEMALE then + file_race_gender = 1009 + end + elseif race == ERUDITE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FROGLOK then + if gender == MALE then + file_race_gender = 1016 + elseif gender == FEMALE then + file_race_gender = 1015 + end + elseif race == GNOME then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + file_race_gender = 1022 + elseif gender == FEMALE then + end + elseif race == HALFLING then + if gender == MALE then + file_race_gender = 1006 + elseif gender == FEMALE then + file_race_gender = 1005 + end + elseif race == HIGH_ELF then + if gender == MALE then + file_race_gender = 1012 + elseif gender == FEMALE then + file_race_gender = 1011 + end + elseif race == HUMAN then + if gender == MALE then + file_race_gender = 1054 + elseif gender == FEMALE then + file_race_gender = 1003 + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + file_race_gender = 1035 + end + elseif race == OGRE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + file_race_gender = 1004 + elseif gender == FEMALE then + file_race_gender = 1003 + end + end + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_" .. file_option .. "_" .. file_race_gender ..".mp3", "", "hello", 0, 0, Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Generic/GenericWeaponsmithVoiceOvers.lua b/Lua/SpawnScripts/Generic/GenericWeaponsmithVoiceOvers.lua new file mode 100755 index 000000000..91bd1efe8 --- /dev/null +++ b/Lua/SpawnScripts/Generic/GenericWeaponsmithVoiceOvers.lua @@ -0,0 +1,135 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericWeaponsmithVoiceOvers.lua + Script Purpose : Handles the generic hails for weaponsmiths. + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +local BARBARIAN = 0 +local DARK_ELF = 1 +local DWARF = 2 +local ERUDITE = 3 +local FROGLOK = 4 +local GNOME = 5 +local HALF_ELF = 6 +local HALFLING = 7 +local HIGH_ELF = 8 +local HUMAN = 9 +local IKSAR = 10 +local KERRA = 11 +local OGRE = 12 +local RATONGA = 13 +local TROLL = 14 +local WOOD_ELF = 15 +local FAE = 16 +local ARASAI = 17 +local SARNAK = 18 + +local MALE = 1 +local FEMALE = 2 + +function GenericWeaponsmithHail(NPC, Spawn, Faction) + if NPC ~= nil then + local race = GetRace(NPC) + local gender = GetGender(NPC) + + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + local file_option = math.random(1, 3) + local file_race_gender = 0 + if race == BARBARIAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == DWARF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ERUDITE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FROGLOK then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/weaponsmith/gnome_weaponsmith_service_good_1_hail_gm_1248b278.mp3", "I just got a shipment in from the Far Sea's Trading Company. I don't just show anybody this stuff so, shhhh! ", "wink", 2730095756, 1896311415, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/smithy_findlebop/qey_village06/100_smithy_findlebop_multhail1_aa73007b.mp3", "Now, if I can only figure out how the sprocket will fit in this device, I'll be set! Why are you interrupting my work? Can't you see I'm busy? Go away!", "", 3823811804, 70891212, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/smithy_findlebop/qey_village06/100_smithy_findlebop_multhail2_5d0f29cb.mp3", "Now, if I can only figure out how the sprocket will fit in this device, I'll be set! Why are you interrupting my work? Can't you see I'm busy?", "", 446470782, 3454872230, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/weaponsmith/gnome_weaponsmith_service_good_1_hail_gm_37dbcab8.mp3", "Welcome to my humble shop. We have quite a selection of weapons to choose from. See for yourself...", "salute", 1420367370, 281045768, Spawn) + end + elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + elseif gender == FEMALE then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/weaponsmith/halfelf_weaponsmith_service_good_1_hail_gf_1248b278.mp3", "I just got a shipment in from the Far Sea's Trading Company. I don't just show anybody this stuff so, shhhh! ", "wink", 3358731085, 3359597024, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/weaponsmith/halfelf_weaponsmith_service_good_1_hail_gf_37dbcab8.mp3", "Welcome to my humble shop. We have quite a selection of weapons to choose from. See for yourself...", "salute", 1281347839, 1623005135, Spawn) + end + end + elseif race == HALFLING then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HIGH_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == HUMAN then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == IKSAR then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == RATONGA then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end + end + end + end +end diff --git a/Lua/SpawnScripts/Generic/Geredo.lua b/Lua/SpawnScripts/Generic/Geredo.lua new file mode 100755 index 000000000..123601077 --- /dev/null +++ b/Lua/SpawnScripts/Generic/Geredo.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Geredo.lua + Script Purpose : Geredo + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/geredo/boat_06p_tutorial02_fvo_002.mp3", "Thinking I should design a new mechanical boat. It would be perfect! Yes, perfect indeed!", "ponder", 2630458163, 1309095480) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/geredo/boat_06p_tutorial02_fvo_001.mp3", "Do you happen to have any mechanical leg extenders? I want to see the water.", "agree", 2902186099, 1357276764) + else + end + +end + diff --git a/Lua/SpawnScripts/Generic/HelmsmanNyles.lua b/Lua/SpawnScripts/Generic/HelmsmanNyles.lua new file mode 100755 index 000000000..d87771078 --- /dev/null +++ b/Lua/SpawnScripts/Generic/HelmsmanNyles.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/HelmsmanNyles.lua + Script Purpose : Helmsman Nyles + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Crazy! What are you talking about?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Land! I see land!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Generic/Ingrid.lua b/Lua/SpawnScripts/Generic/Ingrid.lua new file mode 100755 index 000000000..b7070145b --- /dev/null +++ b/Lua/SpawnScripts/Generic/Ingrid.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Ingrid.lua + Script Purpose : Ingrid + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_009.mp3", "I hate rats, every time we dock they get on board and eat our supplies.", "", 3636322414, 1973183674) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_008.mp3", "Don't you just love the sea?", "", 541733813, 1294072887) + else + end + +end + diff --git a/Lua/SpawnScripts/Generic/MovementCircleSmall.lua b/Lua/SpawnScripts/Generic/MovementCircleSmall.lua new file mode 100755 index 000000000..27f4c1818 --- /dev/null +++ b/Lua/SpawnScripts/Generic/MovementCircleSmall.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/Generic/MovementCircleSmall.lua + Script Purpose : Randomly chooses a small circle for the spawn to take + Script Author : Scatman + Script Date : 2009.10.27 + Script Notes : +--]] + +function SpawnChooseRandomMovement(NPC) + local choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 2, math.random(5, 15)) +end + +function clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 2, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 2, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 2, math.random(5, 15)) +end diff --git a/Lua/SpawnScripts/Generic/OgofMystic1.lua b/Lua/SpawnScripts/Generic/OgofMystic1.lua new file mode 100755 index 000000000..bb238b868 --- /dev/null +++ b/Lua/SpawnScripts/Generic/OgofMystic1.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/Generic/OgofMystic1.lua + Script Author : gloat + Script Date : 2019.02.03 01:02:21 + Script Purpose : + : +--]] + +function spawn(NPC) + AddTimer(NPC, 900, "follow_Ogof") + +end + +function follow_Ogof(NPC) + local zone = GetZone(NPC) + local captOgof = GetSpawnByLocationID(zone, 1585710) + local whoAmI = GetSpawnLocationID(NPC) + + local ogofX = GetX(captOgof) + local ogofY = GetY(captOgof) + local ogofZ = GetZ(captOgof) + local speed = 2 + + if whoAmI == 1585709 then + if GetDistance(NPC, captOgof) >= 5 then + speed = 5 + MoveToLocation(NPC, ogofX + 4, ogofY, ogofZ + 4, speed) + else + speed = 2 + MoveToLocation(NPC, ogofX + 4, ogofY, ogofZ + 4, speed) + end + end + speed = 2 + AddTimer(NPC, 1500, "follow_Ogof") +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/Pig.lua b/Lua/SpawnScripts/Generic/Pig.lua new file mode 100755 index 000000000..6efeb2f41 --- /dev/null +++ b/Lua/SpawnScripts/Generic/Pig.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Oink!") +end + +function respawn(NPC) +end diff --git a/Lua/SpawnScripts/Generic/PlayerHistory.lua b/Lua/SpawnScripts/Generic/PlayerHistory.lua new file mode 100755 index 000000000..963fd850c --- /dev/null +++ b/Lua/SpawnScripts/Generic/PlayerHistory.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Generic/PlayerHistory.lua + Script Author : smash + Script Date : 2016.09.08 05:09:11 + Script Purpose : Global Player History ID Defines + : +--]] + + +--All IDs must be unique and clearly named! + +HISTORY = { + NEK_CASTLE_SCONCE_KEY_ACCESS = 1, + NEK_CASTLE_SCONCE_ACCESS = 2, + NEK_CASTLE_LIBRARY_ACCESS = 3, + NEK_CASTLE_BASEMENT_ACCESS = 4, + NEK_CASTLE_BASEMENT_STUDY_ACCESS = 5, + BB_SCHMITTYSANDALS_STEP5_WAIT = 6 +} \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua b/Lua/SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua new file mode 100755 index 000000000..6fbb840f9 --- /dev/null +++ b/Lua/SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua + Script Purpose : Voice overs for the courageous and seasoned defenders of the Ruins. + Script Author : Scatman + Script Date : 2009.08.29 + Script Notes : +--]] + +function generic_hail(NPC, Spawn) + local choice = math.random(1, 8) + if choice == 1 then + Say(NPC, "These filthy beasts are an affront to the Overlord!", Spawn) + elseif choice == 2 then + Say(NPC, "These cursed orcs can't be allowed to taint the majesty of Freeport!", Spawn) + elseif choice == 3 then + Say(NPC, "These orcs seem better armed than they were before.", Spawn) + elseif choice == 4 then + Say(NPC, "The Overlord's wishes must be executed.", Spawn) + elseif choice == 5 then + Say(NPC, "Now is the time to take back Shoreside from the Lonetusks!", Spawn) + elseif choice == 6 then + Say(NPC, "Now isn't the time for chatter. There are orcs to slay!", Spawn) + elseif choice == 7 then + Say(NPC, "We must determine what's behind this orc uprising!", Spawn) + elseif choice == 8 then + Say(NPC, "I have orders to fight, not to chit-chat.", Spawn) + end +end diff --git a/Lua/SpawnScripts/Generic/SparringPartners.lua b/Lua/SpawnScripts/Generic/SparringPartners.lua new file mode 100755 index 000000000..b7115d154 --- /dev/null +++ b/Lua/SpawnScripts/Generic/SparringPartners.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/QueensColony/aformidablesparringpartner.lua + Script Purpose : a formidable sparring partner + Script Author : John Adams + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function death(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Well done!", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Okay, who's next?", "", 1689589577, 4560189, Spawn) + end +end + diff --git a/Lua/SpawnScripts/Generic/SparringPartnersGFay.lua b/Lua/SpawnScripts/Generic/SparringPartnersGFay.lua new file mode 100755 index 000000000..d0fbd96a2 --- /dev/null +++ b/Lua/SpawnScripts/Generic/SparringPartnersGFay.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aformidablesparringpartner.lua + Script Purpose : a formidable sparring partner + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting \"attack,\" by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/Generic/SpawnGroups.lua b/Lua/SpawnScripts/Generic/SpawnGroups.lua new file mode 100755 index 000000000..e9668ce4b --- /dev/null +++ b/Lua/SpawnScripts/Generic/SpawnGroups.lua @@ -0,0 +1,10 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime.lua + Script Purpose : Waypoint Path for ASewerSlime.lua + Script Author : Rylec + Script Date : 09-11-2019 08:43:31 + Script Notes : I accidently over wrote this script - please restore +--]] + + + diff --git a/Lua/SpawnScripts/Generic/Vim.lua b/Lua/SpawnScripts/Generic/Vim.lua new file mode 100755 index 000000000..9c7a8dfe9 --- /dev/null +++ b/Lua/SpawnScripts/Generic/Vim.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Vim.lua + Script Purpose : Vim + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_481beac8.mp3", "I love traveling the seas... Oh! Did you need something?", "sniff", 2187888771, 2112320089) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_187fc6bb.mp3", "I am busy right now...", "no", 1835666244, 487490745) + else + end + +end + diff --git a/Lua/SpawnScripts/Generic/Waulon.lua b/Lua/SpawnScripts/Generic/Waulon.lua new file mode 100755 index 000000000..0b15bb16b --- /dev/null +++ b/Lua/SpawnScripts/Generic/Waulon.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Waulon.lua + Script Purpose : Waulon + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/waulon/boat_06p_tutorial02/walon_0_004.mp3", "Where's me hat? Needs me lucky hat!", "", 2688932325, 103225044) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/waulon/boat_06p_tutorial02/walon_0_008.mp3", "What? Can't you see? Busy, away with ye!", "", 1608066875, 70639594) + else + end + +end + diff --git a/Lua/SpawnScripts/Generic/aDuskProwler_(1).lua b/Lua/SpawnScripts/Generic/aDuskProwler_(1).lua new file mode 100755 index 000000000..3f9e2a873 --- /dev/null +++ b/Lua/SpawnScripts/Generic/aDuskProwler_(1).lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Darklight/aDuskProwler_(1).lua + Script Purpose : To Keep a dusk prowler from walking through walls + Script Author : Cynnar + Script Date : 10/13/2015 + Script Notes : A Dusk Prowler (spawn_id 340054) (spawn_location_id 579885) + Script Notes : Between Hate's Envy and the Thexian burial chamber +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -407.46, -60.48, 174.23, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -420.76, -60.86, 180.15, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -425.42, -61.32, 186.58, 2) + MovementLoopAddLocation(NPC, -424.20, -61.98, 190.47, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -410.19, -62.87, 189.81, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -406.82, -60.56, 174.38, 2, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/aDuskProwler_(2).lua b/Lua/SpawnScripts/Generic/aDuskProwler_(2).lua new file mode 100755 index 000000000..4f9a11991 --- /dev/null +++ b/Lua/SpawnScripts/Generic/aDuskProwler_(2).lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Darklight/aDuskProwler_(2).lua + Script Purpose : To Keep a dusk prowler from walking through walls + Script Author : Cynnar + Script Date : 10/14/2015 + Script Notes : A Dusk Prowler (spawn_id 340054) (spawn_location_id 579886) + Script Notes : Between Hate's Envy and the Thexian burial chamber +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -420.55, -61.99, 187.73, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -421.35, -61.55, 184.83, 2) + MovementLoopAddLocation(NPC, -433.86, -60.58, 189.97, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -436.84, -62.35, 204.51, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -426.16, -62.16, 198.32, 2, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/aDuskProwler_(3).lua b/Lua/SpawnScripts/Generic/aDuskProwler_(3).lua new file mode 100755 index 000000000..eef5e25ef --- /dev/null +++ b/Lua/SpawnScripts/Generic/aDuskProwler_(3).lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Darklight/aDuskProwler_(3).lua + Script Purpose : To Keep a dusk prowler from walking through walls + Script Author : Cynnar + Script Date : 10/14/2015 + Script Notes : A Dusk Prowler (spawn_id 340054) (spawn_location_id 579884) + Script Notes : Between Hate's Envy and the Thexian burial chamber +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -440.22, -62.06, 202.13, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -436.73, -62.59, 210.57, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -430.28, -62.31, 202.35, 2) + MovementLoopAddLocation(NPC, -423.73, -62.66, 196.53, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, -435.33, -60.32, 189.45, 2, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/aGigglegibberGoblinGamblinGameVendor.lua b/Lua/SpawnScripts/Generic/aGigglegibberGoblinGamblinGameVendor.lua new file mode 100755 index 000000000..e42521286 --- /dev/null +++ b/Lua/SpawnScripts/Generic/aGigglegibberGoblinGamblinGameVendor.lua @@ -0,0 +1,222 @@ +--[[ + Script Name : SpawnScripts/Darklight/aGigglegibberGoblinGamblinGameVendor.lua + Script Purpose : a Gigglegibber Goblin Gamblin' Game Vendor + Script Author : John Adams + Script Date : 2009.01.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "The current jackpot is " .. GetCoinMessage(GetVariableValue("gambling_current_jackpot")) .. ".") + +--[[ + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_0_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + if convo==1 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_1_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==2 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_2_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==3 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_3_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==8 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_8_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==9 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_9_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==10 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_10_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==16 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_16_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==20 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_20_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end +--]] +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bowsprite... Not Bowspit.") + AddConversationOption(conversation, "On second thought, I'll be going now.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Lord who? I's never met no one named Bowspit.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who said he was an elf? Fess up or I'll tell everyone the Gigglegibber gambling game is rigged!", "dlg_0_3") + AddConversationOption(conversation, "Yeah, this is going to be like pulling teeth. Nevermind.") + StartConversation(conversation, NPC, Spawn, "Oh... Well, um, I's still don't know nothing about that elf.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me where it is. You don't want me to ruin your business do you?", "dlg_0_4") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Noes, noes, you can't do that! Fine, I'll tells you everything. We have Bowspit at the super secret hideout, but you can't go there. No way.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've been helpful, thanks.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "You gonna gets me in a lot of trouble, you know. I'll tells you, but I don't exactly remember where it is. All I remember is the entrance is at the bottom of the water, under the docks, where the halfies and fairies play. We all haves to take the boat to get there. That's all I'm telling you! Now goes away.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bowsprite... Not Bowspit.") + AddConversationOption(conversation, "On second thought, I'll be going now.", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Lord who? I's never met no one named Bowspit.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are potatoes funny?", "dlg_2_2") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Gigglegibber goblins not kill people! War no fun at all. Gigglegibber goblins like shiny coins and funny things! We like frogs, fluffy kittens, potatoes... You have potatoes?") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll think about it.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "They tasty! Not funny!... though Gribbik carved funny face in a potato once. That was funny until he eated it. Hey! No try to tricks me with talk about potatoes. You still pays ten shiny coins for ticket! Buy many tickets! If you buys more maybe you win more than many shiny coins!") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are potatoes funny?", "dlg_9_2") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Gigglegibber goblins not kill people! War no fun at all. Gigglegibber goblins like shiny coins and funny things! We like frogs, fluffy kittens, potatoes... You have potatoes?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll think about it.", "dlg_9_3") + StartConversation(conversation, NPC, Spawn, "They tasty! Not funny!... though Gribbik carved funny face in a potato once. That was funny until he eated it. Hey! No try to tricks me with talk about potatoes. You still pays ten shiny coins for ticket! Buy many tickets! If you buys more maybe you win more than many shiny coins!") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bowsprite... Not Bowspit.") + AddConversationOption(conversation, "On second thought, I'll be going now.", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "Lord who? I's never met no one named Bowspit.") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who said he was an elf? Fess up or I'll tell everyone the gambling game is rigged!", "dlg_16_3") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Ohh... Well, um, I's still don't know nothing about that elf.") +end + +function dlg_16_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me where it is. You don't want me to ruin your business do you?", "dlg_16_4") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Noes, noes, you can't do that! Fine, I'll tells you everything. We have Bowspit at the super secret hideout, but you can't go there. No way.") +end + +function dlg_16_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've been helpful, thanks.", "dlg_16_5") + StartConversation(conversation, NPC, Spawn, "You gonna gets me in a lot of trouble, you know. I'll tells you, but I don't exactly remember where it is. All I remember is the entrance is at the bottom of the water, under the docks, where the halfies and fairies play. We all haves to take the boat to get there. That's all I'm telling you! Now goes away before no one wants tickets anymore.") +end + diff --git a/Lua/SpawnScripts/Generic/circle_air_clockwise_small.lua b/Lua/SpawnScripts/Generic/circle_air_clockwise_small.lua new file mode 100755 index 000000000..5e49a338a --- /dev/null +++ b/Lua/SpawnScripts/Generic/circle_air_clockwise_small.lua @@ -0,0 +1,25 @@ +--[[ + Spawn Template + Script Name : circle_air_clockwise_small_01.lua + Script Purpose : Makes the spawn do a small circle in a counter-clockwise fashion. + Script Author : Scatman + Script Date : 2008-08-26 + Script Notes : If the coords are out of bounds then the spawn will still go there. + ONLY for flying spawns!!! + + These are just suggested functions to get you started. Edit as needed. +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , 0, z + 8 , 2, math.random(5, 45)) + MovementLoopAddLocation(NPC, x + 5 , 0, z + 10, 2, math.random(5, 45)) + MovementLoopAddLocation(NPC, x + 10, 0, z - 9 , 2, math.random(5, 45)) + MovementLoopAddLocation(NPC, x - 5 , 0, z - 8 , 2, math.random(5, 45)) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/circle_clockwise_small_01.lua b/Lua/SpawnScripts/Generic/circle_clockwise_small_01.lua new file mode 100755 index 000000000..8a247082d --- /dev/null +++ b/Lua/SpawnScripts/Generic/circle_clockwise_small_01.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Generic/circle_clockwise_small_01.lua + Script Purpose : Makes the spawn do a small circle in a clockwise fashion. + Script Author : Scatman + Script Date : 2008-08-26 + Script Notes : If the coords are out of bounds then the spawn will still go there. +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 2, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/circle_clockwise_small_02.lua b/Lua/SpawnScripts/Generic/circle_clockwise_small_02.lua new file mode 100755 index 000000000..8640c1525 --- /dev/null +++ b/Lua/SpawnScripts/Generic/circle_clockwise_small_02.lua @@ -0,0 +1,35 @@ +--[[ + Spawn Template + Script Name : circle_clockwise_small_02.lua + Script Purpose : Makes the spawn do a small circle in a clockwise fashion. + Script Author : Scatman + Script Date : 2008-08-26 + Script Notes : If the coords are out of bounds then the spawn will still go there. + + These are just suggested functions to get you started. Edit as needed. +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 2, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +--[[ + PlayFlavor(NPC, "", "Wha... what happened? I should get back to the colony!", "", 1689589577, 4560189) + PlayFlavor(NPC, "", "Whe... where am I? I should get back to the colony!", "", 1689589577, 4560189) + PlayFlavor(NPC, "", "Whew, thank you! I couldn't hold on much longer.", "", 1689589577, 4560189) + PlayFlavor(NPC, "", "Ahhhhh! I must escape!", "", 1689589577, 4560189) +--]] diff --git a/Lua/SpawnScripts/Generic/circle_counterclockwise_small_01.lua b/Lua/SpawnScripts/Generic/circle_counterclockwise_small_01.lua new file mode 100755 index 000000000..e2eb1f4d5 --- /dev/null +++ b/Lua/SpawnScripts/Generic/circle_counterclockwise_small_01.lua @@ -0,0 +1,28 @@ +--[[ + Spawn Template + Script Name : circle_clockwise_small_01.lua + Script Purpose : Makes the spawn do a small circle in a counter-clockwise fashion. + Script Author : Scatman + Script Date : 2008-08-26 + Script Notes : If the coords are out of bounds then the spawn will still go there. + + These are just suggested functions to get you started. Edit as needed. +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 2, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/circle_counterclockwise_small_02.lua b/Lua/SpawnScripts/Generic/circle_counterclockwise_small_02.lua new file mode 100755 index 000000000..50dff7122 --- /dev/null +++ b/Lua/SpawnScripts/Generic/circle_counterclockwise_small_02.lua @@ -0,0 +1,28 @@ +--[[ + Spawn Template + Script Name : circle_counterclockwise_small_02.lua + Script Purpose : Makes the spawn do a small circle in a counter-clockwise fashion. + Script Author : Scatman + Script Date : 2008-08-26 + Script Notes : If the coords are out of bounds then the spawn will still go there. + + These are just suggested functions to get you started. Edit as needed. +--]] + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 2, math.random(5, 15)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/dancing_script.lua b/Lua/SpawnScripts/Generic/dancing_script.lua new file mode 100755 index 000000000..9d184a2e5 --- /dev/null +++ b/Lua/SpawnScripts/Generic/dancing_script.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Generic/dancing_script.lua + Script Author : Cynnar + Script Date : 2018.06.02 11:06:55 + Script Purpose : because I am bored + : +--]] + +function spawn(NPC) + MakeDance(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + +function MakeDance(NPC) + PlayFlavor(NPC, "", "", "dance", 0, 0) + AddTimer(NPC, 8500, "MakeDance") +end + diff --git a/Lua/SpawnScripts/Generic/generic_fish_movement.lua b/Lua/SpawnScripts/Generic/generic_fish_movement.lua new file mode 100755 index 000000000..28c3a0812 --- /dev/null +++ b/Lua/SpawnScripts/Generic/generic_fish_movement.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : SpawnScripts/Generic/generic_fish_movement.lua + Script Purpose : Randomly chooses a path for the spawn to take + Script Author : theFoof + Script Date : 2013.5.16 + Script Notes : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function spawn(NPC) + ChooseMovement(NPC) +end + +function respawn(NPC) +end + +function ChooseMovement(NPC) + local route = math.random(1,4) + if route == 1 then + Route1(NPC) + elseif route == 2 then + Route2(NPC) + elseif route == 3 then + Route3(NPC) + elseif route == 4 then + Route4(NPC) + end +end + +function Route1(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X + 6, Y + 2, Z - 3, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 4, Y + 3, Z - 8, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 7, Y - 9, Z + 2, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 9, Y - 8, Z + 10, 2, math.random(20,60)) +end + +function Route2(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X - 6, Y - 2, Z + 3, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 4, Y - 5, Z + 8, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 7, Y + 3, Z - 2, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 9, Y + 3, Z - 10, 2, math.random(20,60)) +end + +function Route3(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X - 3, Y - 2, Z + 6, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 8, Y - 5, Z + 4, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 2, Y + 3, Z + 7, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 10, Y + 3, Z - 9, 2, math.random(20,60)) +end + +function Route4(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X + 6, Y - 2, Z - 3, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 4, Y - 5, Z - 8, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 7, Y + 3, Z + 2, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 9, Y + 3, Z + 10, 2, math.random(20,60)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/hailed_facetarget.lua b/Lua/SpawnScripts/Generic/hailed_facetarget.lua new file mode 100755 index 000000000..ca414d0c0 --- /dev/null +++ b/Lua/SpawnScripts/Generic/hailed_facetarget.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : SpawnScripts/Generic/hailed_facetarget.lua + Script Purpose : has the npc face a spawn that hails the npc + Script Author : theFoof + Script Date : 2013.5.22 + Script Notes : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/hello_emote.lua b/Lua/SpawnScripts/Generic/hello_emote.lua new file mode 100755 index 000000000..55566b677 --- /dev/null +++ b/Lua/SpawnScripts/Generic/hello_emote.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Generic/hello_emote.lua + Script Purpose : performs the hello emote + Script Author : theFoof + Script Date : 2013.9.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + hello(NPC, Spawn) +end + +function hello(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0 , Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/magic_door.lua b/Lua/SpawnScripts/Generic/magic_door.lua new file mode 100755 index 000000000..f149d3415 --- /dev/null +++ b/Lua/SpawnScripts/Generic/magic_door.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Generic/magic_door.lua + Script Purpose : Tradeskill doors that open when you come within 10 feet + Script Author : John Adams + Script Date : 2008.09.27 + Script Notes : Need to find a way to send Open commands to door widgets +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "OpenDoor", "CloseDoor") +end + +function respawn(NPC) +end + +function OpenDoor(NPC, Spawn) +end + +function CloseDoor(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Generic/movement_circle_medium.lua b/Lua/SpawnScripts/Generic/movement_circle_medium.lua new file mode 100755 index 000000000..02b66c3a8 --- /dev/null +++ b/Lua/SpawnScripts/Generic/movement_circle_medium.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Generic/movement_circle_medium.lua + Script Purpose : Randomly chooses a medium circle for the spawn to take + Script Author : theFoof + Script Date : 2013.5.22 + Script Notes : larger version of movement_cirlce_small.lua (written by Scatman) +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function SpawnChooseRandomMovement(NPC) + local choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 12 , y, z - 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10 , y, z - 15, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 15, y, z + 14 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10 , y, z + 13 , 2, math.random(5, 15)) +end + +function clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 12 , y, z - 10 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 11 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 14 , y, z + 6 , 2, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 12 , y, z + 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10 , y, z + 15, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 15, y, z - 14 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10 , y, z - 13 , 2, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 12 , y, z + 10 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 11 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 14 , y, z - 6 , 2, math.random(5, 15)) +end diff --git a/Lua/SpawnScripts/Generic/movement_circle_small.lua b/Lua/SpawnScripts/Generic/movement_circle_small.lua new file mode 100755 index 000000000..3a9f05536 --- /dev/null +++ b/Lua/SpawnScripts/Generic/movement_circle_small.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : SpawnScripts/Generic/movement_circle_small.lua + Script Purpose : Generic Movement Script (small circles) + Script Author : Scatman + Script Date : 2009.03.01 + Script Notes : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function spawn(NPC) + MovementChoice(NPC) +end + +function MovementChoice(NPC) + local choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10, y, z + 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 8 , 2, math.random(5, 15)) +end + +function clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 9 , y, z + 1 , 2, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 10, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10, y, z - 9 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 8 , 2, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 8 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 7 , y, z + 5 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 6 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 9 , y, z - 1 , 2, math.random(5, 15)) +end diff --git a/Lua/SpawnScripts/Generic/private_spawn.lua b/Lua/SpawnScripts/Generic/private_spawn.lua new file mode 100755 index 000000000..c679ac0d3 --- /dev/null +++ b/Lua/SpawnScripts/Generic/private_spawn.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/Generic/private_spawn.lua + Script Purpose : only used to make a spawn private + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/random_pattern_small.lua b/Lua/SpawnScripts/Generic/random_pattern_small.lua new file mode 100755 index 000000000..9664f8df0 --- /dev/null +++ b/Lua/SpawnScripts/Generic/random_pattern_small.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : SpawnScripts/Generic/random_pattern_small.lua + Script Purpose : chooses a random route of a particular pattern + Script Author : theFoof + Script Date : 2013.5.16 + Script Notes : If the coords are out of bounds then the spawn will still go there. +--]] +function spawn(NPC) + ChooseMovement(NPC) +end + +function ChooseMovement(NPC) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC, Spawn) + elseif route == 2 then + RouteTwo(NPC, Spawn) + elseif route == 3 then + RouteThree(NPC, Spawn) + elseif route == 4 then + RouteFour(NPC, Spawn) + end +end + +function RouteOne(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X + 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function RouteTwo(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X - 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 1, math.random(20,45)) +end + +function RouteThree(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X + 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function RouteFour(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X - 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function respawn(NPC, Spawn) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Generic/tiny_movement_loop.lua b/Lua/SpawnScripts/Generic/tiny_movement_loop.lua new file mode 100755 index 000000000..4515103b3 --- /dev/null +++ b/Lua/SpawnScripts/Generic/tiny_movement_loop.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : SpawnScripts/Generic/tiny_movement_loop.lua + Script Purpose : a tiny movement loop + Script Author : theFoof + Script Date : 2013.5.22 + Script Notes : +--]] +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function spawn(NPC) + ChooseMovement(NPC) +end + +function ChooseMovement(NPC) + local choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 3 , y, z - 4 , 1, math.random(2, 5)) + MovementLoopAddLocation(NPC, x - 1 , y, z - 6, 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x - 6, y, z + 5 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x + 1 , y, z + 4 , 1, math.random(2, 5)) +end + +function clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 4 , 1, math.random(2, 5)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 1 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x , y, z + 2 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x + 5 , y, z + 1 , 1, math.random(2, 5)) +end + +function counter_clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 3 , y, z + 4 , 1, math.random(2, 5)) + MovementLoopAddLocation(NPC, x + 1 , y, z + 6, 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x + 4, y, z - 5 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x - 1 , y, z - 4 , 1, math.random(2, 5)) +end + +function counter_clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 4 , 1, math.random(2, 5)) + MovementLoopAddLocation(NPC, x + 3 , y, z + 1 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x , y, z - 2 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x - 5 , y, z - 1 , 1, math.random(2, 5)) +end diff --git a/Lua/SpawnScripts/Graveyard/CustodianZaddarSullissia.lua b/Lua/SpawnScripts/Graveyard/CustodianZaddarSullissia.lua new file mode 100755 index 000000000..6bcbe2ee2 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/CustodianZaddarSullissia.lua @@ -0,0 +1,1156 @@ +--[[ + Script Name : SpawnScripts/Graveyard/CustodianZaddarSullissia.lua + Script Purpose : Custodian Zaddar Sullissia + Script Author : Scatman + Script Date : 2009.04.11 + Script Notes : +--]] + +local DARKELF_MENTOR_QUEST_5 = 195 +local QUEST_1 = 231 +local QUEST_2 = 232 +local QUEST_3 = 233 +local QUEST_4 = 234 +local QUEST_5 = 235 +local QUEST_6 = 236 +local QUEST_7 = 238 +local QUEST_8 = 251 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) + ProvidesQuest(NPC, QUEST_6) + ProvidesQuest(NPC, QUEST_7) + ProvidesQuest(NPC, QUEST_8) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, DARKELF_MENTOR_QUEST_5) then + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". Aldera V'exxa in Longshadow Alley sent me to speak to you.", "dlg_0_1") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + if HasCompletedQuest(Spawn, QUEST_6) then + if HasCompletedQuest(Spawn, QUEST_7) then + if HasCompletedQuest(Spawn, QUEST_8) then + Say(NPC, "Good to see you! Thank you for your help. The Overlord is quite pleased!", Spawn) + elseif HasQuest(Spawn, QUEST_8) then + OnQuest8(NPC, Spawn, conversation) + else + YourAssistance(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_7) then + OnQuest7(NPC, Spawn, conversation) + else + ExcellentWork(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_6) then + OnQuest6(NPC, Spawn, conversation) + else + OfferQuest6(NPC, Spawn) + end + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + FinishTranslation(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + HearingMore(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + OnQuest2(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + PleasedToHear(NPC, Spawn) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + HmmWhoMightYouBe(NPC, Spawn, conversation) + end +end + +------------------------------------------------------------------------------------------------------------------------ +-- DARKELF_MENTOR_QUEST_5 +------------------------------------------------------------------------------------------------------------------------ + +function HmmWhoMightYouBe(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar001.mp3", "", "", 1088752070, 3560573286, Spawn) + AddConversationOption(conversation, "Who are you?", "dlg_1_1") + AddConversationOption(conversation, "Maybe another time.") + StartConversation(conversation, NPC, Spawn, "Hmmmm, and who might you be? Come forward so I can look upon you, stranger.") +end + +function dlg_0_1(NPC, Spawn) + SetStepComplete(Spawn, DARKELF_MENTOR_QUEST_5, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar002.mp3", "", "", 2597518553, 302585905, Spawn) + + if not HasCompletedQuest(Spawn, QUEST_1) or not HasQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "I am honored that you know my name.", "dlg_1_1") + end + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Ah, yes. You look exactly how you were described to me.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------------ + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar004.mp3", "", "", 1305194429, 389290404, Spawn) + AddConversationOption(conversation, "Well, what is your name?", "dlg_1_2") + AddConversationOption(conversation, "How rude!") + StartConversation(conversation, NPC, Spawn, "You mean to tell me you've never heard of me? Well, I shouldn't expect a common adventurer such as you to associate with people of my social status, so I guess I shouldn't be surprised.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar005.mp3", "", "", 2116026310, 2780658398, Spawn) + AddConversationOption(conversation, "What would a library custodian be doing out here in a graveyard? You're a long way from the library.", "dlg_1_3") + AddConversationOption(conversation, "See you another time, custodian.") + StartConversation(conversation, NPC, Spawn, "Allow me to introduce myself. I am Zaddar, herald of the arcane, necromancer and custodian to the great library within the Academy of Arcane Science. I can assure you that you will meet none greater, no matter where your various exploits take you on Norrath.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar006.mp3", "", "", 2975294120, 669717653, Spawn) + AddConversationOption(conversation, "I was not. Please continue.", "dlg_1_4") + AddConversationOption(conversation, "I've heard enough stories. Do you have some work for me?", "dlg_1_25") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "This is not just a simple graveyard, mind you. There are more than just Freeport citizens buried here; this is where the enemies of the Overlord are entombed as well. You mean to tell me you were not aware of this?") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar007.mp3", "", "", 2814487874, 1269742926, Spawn) + AddConversationOption(conversation, "I'm ready to listen.", "dlg_1_5") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "I do not like to repeat myself, so please lend me an ear as I speak. Judging by your appearance, you haven't been here too long, so this might teach you a thing or two.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar008.mp3", "", "", 3184818985, 1210293925, Spawn) + AddConversationOption(conversation, "Please continue.", "dlg_1_6") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "Many ages ago, the land where this graveyard now stands was once the northern part of Freeport. It was home to a corrupt order of knights that was blindly loyal to an ancient god called Mithaniel Marr.") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar009.mp3", "", "", 3546119779, 2241533519, Spawn) + AddConversationOption(conversation, "I am listening. I find your story intriguing.", "dlg_1_7") + AddConversationOption(conversation, "Enough of this story! Do you have work for me at this time, Zaddar?", "dlg_1_25") + AddConversationOption(conversation, "I don't have time for stories.") + StartConversation(conversation, NPC, Spawn, "This order of heretics was known as the Knights of Truth. They were a group of confused and dangerous men that stood in the way of Freeport's progress. Are you paying attention? ") +end + +function dlg_1_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar010.mp3", "", "", 2323334828, 1568404929, Spawn) + AddConversationOption(conversation, "Please continue.", "dlg_1_8") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "As time passed, the Freeport Militia and others loyal to the Overlord grew in power and number. The Overlord conceived a plan to liberate his great city from the clutches of the fanatical followers of Marr.") +end + +function dlg_1_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar011.mp3", "", "", 1013381983, 2286424622, Spawn) + AddConversationOption(conversation, "So our Overlord is the savior of the people of Freeport!", "dlg_1_9") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "The Overlord called forth the brave Freeport Militia and led his great army to drive out the twisted followers of Marr from our city once and for all. The people cheered to see that the hour of their liberation was at hand!") +end + +function dlg_1_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar012.mp3", "", "", 2459406533, 4282970876, Spawn) + AddConversationOption(conversation, "Go on with the story.", "dlg_1_10") + AddConversationOption(conversation, "I've heard enough. I am ready to undertake a task.", "dlg_1_25") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "Indeed he is! As the army of the Overlord approached, many members of the Knights of Truth abandoned their posts in fear and fled deep into an ancient citadel known as Befallen. Are you listening to me? I really don't have time to waste, you know!") +end + +function dlg_1_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar013.mp3", "", "", 1868138883, 1737796662, Spawn) + AddConversationOption(conversation, "Please go on.", "dlg_1_11") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "As I was saying... The Overlord was determined to free his people from the oppression of the Knights of Truth. He marched his forces to the gates of North Freeport, very near where we now stand. ") +end + +function dlg_1_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar014.mp3", "", "", 2249548652, 1367659685, Spawn) + AddConversationOption(conversation, "Please continue.", "dlg_1_12") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "Calling forth his mighty siege machines, the Overlord's armies burst through the gates and confronted the cowardly Knights of Truth.") +end + +function dlg_1_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar015.mp3", "", "", 2043193912, 3903718637, Spawn) + AddConversationOption(conversation, "A fascinating tale, please continue.", "dlg_1_13") + AddConversationOption(conversation, "I don't have time for stories, Zaddar.") + StartConversation(conversation, NPC, Spawn, "The fighting went on for days as the Knights of Truth tried every desperate measure they could to retain their grip on Freeport's people. But these tyrants were no match for the Overlord's might!") +end + +function dlg_1_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar016.mp3", "", "", 3050344406, 3484932649, Spawn) + AddConversationOption(conversation, "Go on.", "dlg_1_14") + AddConversationOption(conversation, "I've heard all I can bear. Do you have any work for me?", "dlg_1_25") + AddConversationOption(conversation, "Maybe another time, Zaddar.") + StartConversation(conversation, NPC, Spawn, "One by one the Knights of Truth fell to the liberating blades of the Overlord's .. GetName(Spawn) .. . fighters, the Freeport Militia. It must have been a grand battle to behold!") +end + +function dlg_1_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar017.mp3", "", "", 820950367, 810980839, Spawn) + AddConversationOption(conversation, "I see, please continue.", "dlg_1_15") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "In the final hour of battle, the Freeport Militia encircled the remaining Knights of Truth. The captain of the wicked followers of Marr, Sir Haligan, looked up to see the mighty figure of the Overlord moving toward him.") +end + +function dlg_1_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar018.mp3", "", "", 975559135, 1801151698, Spawn) + AddConversationOption(conversation, "Interesting, please go on.", "dlg_1_16") + AddConversationOption(conversation, "Thanks for the history lesson, but I must go.") + StartConversation(conversation, NPC, Spawn, "Realizing his cause was lost, Sir Haligan tried one last desperate attack against the Overlord, but it was to no avail. The minions of the Overlord rushed in with blades ready and struck true, extinguishing the foul Sir Haligan, leader of the oppressors.") +end + +function dlg_1_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar019.mp3", "", "", 3729026359, 1609932090, Spawn) + AddConversationOption(conversation, "Do go on.", "dlg_1_17") + AddConversationOption(conversation, "It's been fun, but I must part.") + StartConversation(conversation, NPC, Spawn, "This graveyard now houses the bones of the fallen Knights of Truth, buried where they once fought all those long years ago. It is said that the echoes of that ancient battle can still be heard in the deep, dark night.") +end + +function dlg_1_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar020.mp3", "", "", 3451823684, 639969226, Spawn) + AddConversationOption(conversation, "Please go on with your tale.", "dlg_1_18") + AddConversationOption(conversation, "You are quite long-winded, Zaddar. I seek adventure.", "dlg_1_25") + AddConversationOption(conversation, "I must depart.") + StartConversation(conversation, NPC, Spawn, "By order of the Overlord, the tombs of the knights slain that day were sealed with mortar and chains, trapping their bodies beneath the soil forevermore.") +end + +function dlg_1_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar021.mp3", "", "", 2453176825, 385758533, Spawn) + AddConversationOption(conversation, "Well, I guess you really ARE more than just a custodian.", "dlg_1_19") + AddConversationOption(conversation, "It's been fun, but I must depart.") + StartConversation(conversation, NPC, Spawn, "Personally, I believe that the Overlord had the tombs sealed for fear that Mithaniel Marr might resurrect his fallen knights to do battle once more. But if you would be so kind, please don't repeat that speculation.") +end + +function dlg_1_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar022.mp3", "", "", 1193428244, 1371088261, Spawn) + AddConversationOption(conversation, "What sort of research?", "dlg_1_20") + AddConversationOption(conversation, "I must go. Farewell!") + StartConversation(conversation, NPC, Spawn, "Custodian indeed, but I'm sure an adventurer such as you can fathom just what that entails within the walls of the Academy of Arcane Science. I'll have you know that I'm here conducting research of my own as well.") +end + +function dlg_1_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar023.mp3", "", "", 3549973784, 3687441943, Spawn) + AddConversationOption(conversation, "Is that so?", "dlg_1_21") + AddConversationOption(conversation, "How boring. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Should I take this interest as genuine or some sort of feint? Well regardless, I love listening to myself speak. I sound great, don't I? The library sent me here to check on the tombs of the fallen Knights of Truth.") +end + +function dlg_1_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar024.mp3", "", "", 2941976537, 386791284, Spawn) + AddConversationOption(conversation, "Tell me more.", "dlg_1_22") + AddConversationOption(conversation, "I'd imagine so. Can I be of assistance?", "dlg_1_25") + AddConversationOption(conversation, "You bore me, Zaddar.") + StartConversation(conversation, NPC, Spawn, "I imagine that The Overlord may be concerned because it's been nearly four-hundred years to the day of that great battle, and spirits trapped in this world are always longing for vengeance.") +end + +function dlg_1_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar025.mp3", "", "", 3804418158, 1108808310, Spawn) + AddConversationOption(conversation, "What does this have to do with me?", "dlg_1_23") + AddConversationOption(conversation, "Time presses, and I must depart.") + StartConversation(conversation, NPC, Spawn, "The Academy has commanded me to research a long-lost spell. I believe that this incantation is from an ancient tome, dating back to the time the Knights of Truth were slain and the people of Freeport were liberated.") +end + +function dlg_1_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar026.mp3", "", "", 3654413929, 837264650, Spawn) + AddConversationOption(conversation, "What are you asking of me?", "dlg_1_24") + AddConversationOption(conversation, "See you another time, bye.") + StartConversation(conversation, NPC, Spawn, "To be blunt, " .. GetName(Spawn) .. ". I need someone with your skills. Only a true hero can help me with this task. The Overlord himself demanded that the Academy complete this spell, and we must not disappoint him.") +end + +function dlg_1_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar027.mp3", "", "", 2666723446, 2842007021, Spawn) + AddConversationOption(conversation, "So let's discuss this task.", "dlg_1_25") + AddConversationOption(conversation, "Fit, but not willing.") + StartConversation(conversation, NPC, Spawn, "If we work together, we can both prosper and increase our standing here in Freeport. But before collecting the pages, I have a task that needs doing, and I think you are the one to do it.") +end + +function dlg_1_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar028.mp3", "", "", 2264278901, 2484625110, Spawn) + AddConversationOption(conversation, "I will help you.", "dlg_1_26") + AddConversationOption(conversation, "Nay, I must be off.") + StartConversation(conversation, NPC, Spawn, "I wouldn't trust anyone but a loyal follower of the Overlord with the task before me, I'm sure you understand. Normally I'd take care of such things myself, but these duties are far below my level of expertise and intellect. What do you say?") +end + +function dlg_1_26(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar029.mp3", "", "", 1039120321, 2615840758, Spawn) + AddConversationOption(conversation, "Is this an important task?", "OfferQuest1") + AddConversationOption(conversation, "I don't have time for that.") + StartConversation(conversation, NPC, Spawn, "Good, I knew you would make the smart choice. Go check on the tombs of the fallen knights, make sure they're all still sealed and that grave robbers have not disturbed any of the mausoleums.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar031.mp3", "", "", 3448241542, 826932721, Spawn) + + if (GetQuestStep(Spawn, QUEST_1) == 6) then + AddConversationOption(conversation, "I checked the tombs as you asked.", "PleasedToHear") + end + + AddConversationOption(conversation, "I'm not finished yet, Zaddar.") + StartConversation(conversation, NPC, Spawn, "Back so soon? I certainly hope you didn't just sneak off somewhere and take a nap. The Overlord is not to be trifled with!") +end + +function PleasedToHear(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 6) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar032.mp3", "", "", 2571525928, 4169654402, Spawn) + AddConversationOption(conversation, "I was attacked by a skeleton, but I managed to defend myself.", "dlg_7_2") + AddConversationOption(conversation, "I don't have time to discuss this right now.") + StartConversation(conversation, NPC, Spawn, "I am pleased to hear that you fulfilled my request. Was there any trouble?") +end + +------------------------------------------------------------------------------------------------------------ +-- QUEST 2 +------------------------------------------------------------------------------------------------------------ + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar033.mp3", "", "", 2569692294, 2342899886, Spawn) + AddConversationOption(conversation, "No, it was the remains of Sir Haligan, Captain of the Knights of Truth.", "dlg_7_3") + AddConversationOption(conversation, "I don't have time to discuss this.") + StartConversation(conversation, NPC, Spawn, "Skeleton attacks are not uncommon in the Graveyard, as you have discovered. I presume this was just some ordinary fiend?") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar034.mp3", "", "", 1688032152, 1661878378, Spawn) + AddConversationOption(conversation, "Who is Varacus?", "dlg_7_4") + AddConversationOption(conversation, "I think this is your problem, not mine.") + StartConversation(conversation, NPC, Spawn, "Fascinating! The Overlord was wise to have us check on the security of the tombs. I wonder if Varacus realizes what is transpiring here in the Graveyard.") +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar035.mp3", "", "", 2382394256, 2829986505, Spawn) + AddConversationOption(conversation, "I will seek him out.", "OfferQuest2") + AddConversationOption(conversation, "Maybe another time.") + StartConversation(conversation, NPC, Spawn, "Varacus TKur is the leader of the Keepers of Ethernere here in the Graveyard. He has some pages of an ancient tome that should help in my research. Tell him that I sent you, and if he gives you any trouble, remind him that this errand comes from the Overlord himself passed down through the Academy.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar037.mp3", "", "", 2173814710, 3365638930, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Ah, " .. GetName(Spawn) .. ". I see you have returned. Have you brought back the pages you obtained from Varacus of the Keepers of Ethernere?") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 3 +------------------------------------------------------------------------------------------------------------------------ + +function OnQuest3(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar037.mp3", "", "", 2173814710, 3365638930, Spawn) + + if GetQuestStep(Spawn, QUEST_3) == 5 then + AddConversationOption(conversation, "I spoke to Varacus and have returned with the pages you needed.", "dlg_4_1") + end + + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Ah, " .. GetName(Spawn) .. ". I see you have returned. Have you brought back the pages you obtained from Varacus of the Keepers of Ethernere?") +end + +function dlg_4_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_3) then + SetStepComplete(Spawn, QUEST_3, 5) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar038.mp3", "", "", 3675166074, 228752459, Spawn) + AddConversationOption(conversation, "Why are these pages so important?", "HearingMore") + AddConversationOption(conversation, "I think I'll keep them for now.") + StartConversation(conversation, NPC, Spawn, "Excellent work! Please give me the pages at once. There is no time to waste.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 4 +------------------------------------------------------------------------------------------------------------------------ + +function HearingMore(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar039.mp3", "", "", 1528282125, 4004744343, Spawn) + AddConversationOption(conversation, "Yes, please continue with your story.", "dlg_4_3") + AddConversationOption(conversation, "I don't wish to hear any more. Do you have another task for me?", "dlg_4_14") + AddConversationOption(conversation, "I have no time for this.") + StartConversation(conversation, NPC, Spawn, "Interested in hearing more of my tale, are you? As you recall, the fallen Knights of Truth are buried here in the Graveyard.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar040.mp3", "", "", 900290170, 3799291626, Spawn) + AddConversationOption(conversation, "That explains why the seal on Sir Haligan's tomb appeared to be disturbed.", "dlg_4_4") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Recently grave robbers have invaded the cemetery by night, breaking open the seals placed on the graves of the knights. This has enabled some of those cursed souls to rise and walk the land again.") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar041.mp3", "", "", 3846878126, 1397586167, Spawn) + AddConversationOption(conversation, "What concern?", "dlg_4_5") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "It does indeed. But there is a greater concern we must face, which is why I needed these pages.") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar042.mp3", "", "", 2741984581, 4167326944, Spawn) + AddConversationOption(conversation, "If the ward still works, why are you concerned?", "dlg_4_6") + AddConversationOption(conversation, "Enough of this tale. Do you have another task for me?", "dlg_4_14") + AddConversationOption(conversation, "I can't bear any more of this.") + StartConversation(conversation, NPC, Spawn, "Long ago, our Overlord commanded the Foci and the priests of the Dismal Rage to place a powerful ward upon this graveyard. It bound the spirits of those buried here to this place, so that even if they escaped their tombs, they would be unable to leave the Graveyard.") +end + +function dlg_4_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar043.mp3", "", "", 1966519844, 1090032745, Spawn) + AddConversationOption(conversation, "Aren't the gods long gone?", "dlg_4_7") + AddConversationOption(conversation, "I have no time for this.") + StartConversation(conversation, NPC, Spawn, "The binding spell was lost long ago. But the increase in undead activity may mean that someone loyal to Mithaniel Marr, or even the god himself, might be trying to shatter the ward and let the undead travel beyond these walls into the city itself.") +end + +function dlg_4_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar044.mp3", "", "", 277589330, 769361598, Spawn) + AddConversationOption(conversation, "Why would anyone from Qeynos want to unleash the undead?", "dlg_4_8") + AddConversationOption(conversation, "Time for me to go.") + StartConversation(conversation, NPC, Spawn, "No one is certain what became of the ancient gods. It's best not to take chances in any case. It could be some fanatical follower of Marr behind this, or even those savages from the decrepit Kingdom of Qeynos.") +end + +function dlg_4_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar045.mp3", "", "", 1332836104, 335069467, Spawn) + AddConversationOption(conversation, "Surely the Overlord could defeat the knights again.", "dlg_4_9") + AddConversationOption(conversation, "I've heard enough. How can I help?", "dlg_4_14") + AddConversationOption(conversation, "I have no interest in this.") + StartConversation(conversation, NPC, Spawn, "I'm sure some of the corrupt citizens of Qeynos are still loyal to Marr. By breaking the binding ward, the fallen Knights of Truth would be free to rise and seek revenge on our beloved Overlord. This cannot come to pass!") +end + +function dlg_4_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar046.mp3", "", "", 1569346274, 502297645, Spawn) + AddConversationOption(conversation, "Does Qeynos wish to go to war with us?", "dlg_4_10") + AddConversationOption(conversation, "This no longer concerns me.") + StartConversation(conversation, NPC, Spawn, "Of course the Overlord and the Freeport Militia could handle the undead army. But the chaos caused by their presence would afford the cowardly legions of Antonia Bayle the chance to launch a sneak attack on our city. That wretched queen is just waiting for a chance to strike.") +end + +function dlg_4_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar047.mp3", "", "", 103040030, 1105730597, Spawn) + AddConversationOption(conversation, "Are you going to cast the binding ward again?", "dlg_4_11") + AddConversationOption(conversation, "Nonsense, I must leave.") + StartConversation(conversation, NPC, Spawn, "Qeynosians are cowards, to be sure. They are afraid of open war with the Overlord. However, striking at us through this graveyard is just the kind of tactic they would use.") +end + +function dlg_4_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar048.mp3", "", "", 3216601317, 4107541552, Spawn) + AddConversationOption(conversation, "So what are we going to do?", "dlg_4_12") + AddConversationOption(conversation, "Let's get to work. What do you want me to do?", "dlg_4_14") + AddConversationOption(conversation, "Good luck with that, bye!") + StartConversation(conversation, NPC, Spawn, "Casting another ward while the first one is in effect may have unforeseen consequences. We don't want to risk that.") +end + +function dlg_4_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar049.mp3", "", "", 3917748899, 1321078485, Spawn) + AddConversationOption(conversation, "How can you tell if the ward remains in effect?", "dlg_4_13") + AddConversationOption(conversation, "I'll let you take care of that.") + StartConversation(conversation, NPC, Spawn, "I was sent here to complete two tasks. First, to obtain these pages so they did not fall into the wrong hands. Second, to determine if the ward still holds or if the spell must be cast again.") +end + +function dlg_4_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar050.mp3", "", "", 1966326887, 1363957542, Spawn) + AddConversationOption(conversation, "Yes, I am ready to serve the Overlord again.", "dlg_4_14") + AddConversationOption(conversation, "Not now, I must be going.") + StartConversation(conversation, NPC, Spawn, "I only know of one way to be sure, but it's somewhat risky. Do you feel up to the challenge? You've served me well in the past, so I have faith that you will be able to accomplish this for me as well.") +end + +function dlg_4_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar051.mp3", "", "", 880187094, 917754563, Spawn) + if HasQuest(Spawn, QUEST_4) and GetQuestStep(Spawn, QUEST_4) == 1 then + AddConversationOption(conversation, "You mean that ruined tower near the Keepers of Ethernere?", "dlg_4_15") + else + AddConversationOption(conversation, "You mean that ruined tower near the Keepers of Ethernere?", "OfferQuest4") + end + StartConversation(conversation, NPC, Spawn, "Good, this is what I need done. I want you to take this ancient relic to the ruins of the Tower of Marr and place it in the doorway. The relic has been stained with the blood of the Knights of Truth and has been in the keeping of the Academy of Arcane Science since the day of that final battle.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function dlg_4_15(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar052.mp3", "", "", 3643355771, 3506584636, Player) + AddConversationOption(conversation, "Is something bad going to happen if I take it there?", "dlg_4_16") + AddConversationOption(conversation, "I can't help you with this.") + StartConversation(conversation, QuestGiver, Player, "Yes, the remains of that tower still serve as a tribute to Mithaniel Marr. Such a relic would be seen as an abomination to him.") +end + +function dlg_4_16(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4, 1) + + -- Relic of Unholy Power + -- TODO: Display quest reward popup + if not HasItem(Spawn, 7868) then + SummonItem(Spawn, 7868) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar053.mp3", "", "", 1936656377, 4165203130, Spawn) + AddConversationOption(conversation, "What happens if the ward doesn't hold?", "dlg_4_17") + AddConversationOption(conversation, "Maybe you should find someone else to help you.") + StartConversation(conversation, NPC, Spawn, "Do not worry. The binding ward that keeps the undead here also prevents outside influences from entering the Graveyard and keeps any lingering energies in check. So long as the ward holds, you should be safe when you place that relic in the doorway.") +end + +function dlg_4_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar054.mp3", "", "", 2019714186, 114732111, Spawn) + AddConversationOption(conversation, "If I do this, what's in it for me?", "dlg_4_18") + AddConversationOption(conversation, "I don't think this is a good idea.") + StartConversation(conversation, NPC, Spawn, "What could happen? The gods have been gone for centuries. You have proven yourself to be a brave hero of Freeport. Do not waver now!") +end + +function dlg_4_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar055.mp3", "", "", 3077792314, 2962776024, Spawn) + AddConversationOption(conversation, "Very well, I'll do it.", "dlg_4_19") + AddConversationOption(conversation, "I don't need fame. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Spoken like a true citizen of Freeport! Listen, if you help me with this, I'll be sure you are rewarded for your efforts. The Academy will take notice of us both!") +end + +function dlg_4_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar056.mp3", "", "", 2313049921, 3908905294, Spawn) + AddConversationOption(conversation, "I will return when I've completed the test, Zaddar.", "dlg_4_20") + StartConversation(conversation, NPC, Spawn, "Just take the relic and place it in the doorway. And whatever you do, don't lose it! It is an ancient artifact, and neither the Academy nor the Overlord would be pleased if it was misplaced.") +end + +function OnQuest4(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_4) == 1 then + dlg_4_14(NPC, Spawn) + else + if GetQuestStep(Spawn, QUEST_4) == 4 then + AddConversationOption(conversation, "I'm not so sure that the ward is still at its full potency. I was struck down by the power of Marr for attempting to defile the tower!", "dlg_5_1") + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar057.mp3", "", "", 1503134855, 3015223508, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Welcome back, " .. GetName(Spawn) .. ". I assume you concluded your investigation and found that the ward is still intact?") + end +end + +function dlg_5_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_4) then + SetStepComplete(Spawn, QUEST_4, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar058.mp3", "", "", 3581287630, 1926785642, Spawn) + AddConversationOption(conversation, "You can have it. So what do we do now?", "FinishTranslation") + AddConversationOption(conversation, "Forget this, I have to go.") + StartConversation(conversation, NPC, Spawn, "This is dark news indeed. Marr blessed that tower long ago, and if some of that energy is now bleeding through, the ward is certainly weak. Fortunately I've already begun translating the parchment pages you found for me in case they were needed. Oh, I'll need that artifact back, by the way.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 5 +------------------------------------------------------------------------------------------------------------------------ + +function FinishTranslation(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar059.mp3", "", "", 2020220932, 1678871420, Spawn) + AddConversationOption(conversation, "What do you need?", "dlg_5_3") + AddConversationOption(conversation, "No, sorry.") + StartConversation(conversation, NPC, Spawn, "While I finish the translation, I need you to help me once more. Are you willing?") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar060.mp3", "", "", 1617818175, 2696893636, Spawn) + AddConversationOption(conversation, "I thought you were only to report back to the Academy.", "dlg_5_4") + AddConversationOption(conversation, "That sounds like too much effort.") + StartConversation(conversation, NPC, Spawn, "It is up to the two of us to restore the ward that keeps the undead confined to the Graveyard. This is our chance to save Freeport!") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar061.mp3", "", "", 3722411193, 865336790, Spawn) + AddConversationOption(conversation, "What's in this for me? ", "dlg_5_5") + AddConversationOption(conversation, "I think I'll pass.") + StartConversation(conversation, NPC, Spawn, "There is no time to waste. True heroes must be prepared to rise to the occasion and embrace their destiny. You have a bold future ahead of you, .. GetName(Spawn) .. . Now is the time to act!") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar062.mp3", "", "", 245159103, 2526379657, Spawn) + AddConversationOption(conversation, "Very well, let's do it!", "dlg_5_6") + AddConversationOption(conversation, "I'm not sure I want the Overlord to notice me.") + StartConversation(conversation, NPC, Spawn, "Fame and fortune, of course! The Academy is sure to take notice of you when I report to them of what has occurred here today. You may even be noticed by the Overlord himself, XXXXXXX.") +end + +function dlg_5_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar063.mp3", "", "", 4070301196, 2746257006, Spawn) + AddConversationOption(conversation, "I will do so. What is the Staff of Ethernere?", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "I want you to go back to Varacus and the Keepers of Ethernere. Tell him that we need to restore the ward and that we need the Staff of Ethernere.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +function OnQuest5(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_5) == 1 then + dlg_5_9(NPC, Spawn) + else + AddConversationOption(conversation, "Yes, here it is.", "WellDone") + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you obtained the staff of Ethernere?") + end +end + +function dlg_5_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar065.mp3", "", "", 620236484, 108078282, Spawn) + AddConversationOption(conversation, "What is the Book of the Dead?", "dlg_5_9") + AddConversationOption(conversation, "I don't like the sound of that.") + StartConversation(conversation, NPC, Spawn, "The Staff of Ethernere, when used along with the arcane power contained in the Book of the Dead, will help me repair the ward.") +end + +function dlg_5_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar066.mp3", "", "", 1359336798, 4034979334, Spawn) + AddConversationOption(conversation, "Okay, I'm going.") + StartConversation(conversation, NPC, Spawn, "Time is of the essence, " .. GetName(Spawn) .. ". The ward may be fading faster than we realize and we must repair it!") +end + +function WellDone(NPC, Spawn) + if HasQuest(Spawn, QUEST_5) then + SetStepComplete(Spawn, QUEST_5, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can you tell?", "HowCanYouTell") + AddConversationOption(conversation, "Maybe next time Zaddar.") + StartConversation(conversation, NPC, Spawn, "Well done! I'm sure it was difficult to convince Varacus to part with it. But this is indeed the Staff of Ethernere.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 6 +------------------------------------------------------------------------------------------------------------------------ + +function HowCanYouTell(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me more about it.", "OfferQuest6") + AddConversationOption(conversation, "Enough history lesson. What do we do next?", "OfferQuest6") + AddConversationOption(conversation, "I don't want to hear anything the dead have to say.") + StartConversation(conversation, NPC, Spawn, "Do you see these runes inscribed upon it? They are written in the language of the dead. When spoken to the living, this language sounds like mere whispers, but to the undead it sounds as clear as how you and I are speaking now.") +end + +function OfferQuest6(NPC, Spawn) + Say(NPC, "These conversations have been skipped beacuse we do not have them collected for some reason.", Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_6) +end + +function OnQuest6(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar080.mp3", "", "", 3234395399, 3275818681, Spawn) + if GetQuestStep(Spawn, QUEST_6) == 2 then + AddConversationOption(conversation, "Yes, a grave robber did have it.", "dlg_15_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you found the Book of the Dead?") +end + +function ExcellentWork(NPC, Spawn, conversation) + if HasQuest(Spawn, QUEST_6) then + SetStepComplete(Spawn, QUEST_6, 2) + end + + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar081.mp3", "", "", 3784703414, 3616748639, Spawn) + AddConversationOption(conversation, "Here it is.", "dlg_15_2") + AddConversationOption(conversation, "Wait, I'm not so sure I want you to have this.") + StartConversation(conversation, NPC, Spawn, "Excellent work, " .. GetName(Spawn) .. "! I must say, you are turning out to be quite a useful aide. You've done almost as well as if I had done this task myself! Now quickly, hand me the book.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 7 +------------------------------------------------------------------------------------------------------------------------ + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar082.mp3", "", "", 2211835192, 2993459577, Spawn) + AddConversationOption(conversation, "I am ready when you are, Zaddar.", "dlg_15_3") + AddConversationOption(conversation, "Complete it yourself.") + StartConversation(conversation, NPC, Spawn, "Look at how the parchment pages you retrieved are binding themselves inside the Book of the Dead! It truly is a mysterious and powerful tome. I will use the Staff of Ethernere during the ritual to focus the power of the spell we cast.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar083.mp3", "", "", 39778497, 4193105723, Spawn) + AddConversationOption(conversation, "I understand. What words do I say?", "OfferQuest7") + StartConversation(conversation, NPC, Spawn, "I will tell you the ancient words of binding. You chant them, and I will repeat them after you. Only by working together can we complete the spell and save Freeport. Understood?") +end + +function OfferQuest7(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_7) +end + +function OnQuest7(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_7) == 1 or GetQuestStep(Spawn, QUEST_7) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar084.mp3", "", "", 4136256828, 4083268014, Spawn) + AddConversationOption(conversation, "Yes, I am ready.", "dlg_33_1") + AddConversationOption(conversation, "I'm still not sure about this.") + StartConversation(conversation, NPC, Spawn, "I've managed to translate the words from the ancient pages you've attained for me. Shall we begin?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar098.mp3", "", "point", 302585592, 463867493, Spawn) + AddConversationOption(conversation, "I'll go at once!", "dlg_16_7") + StartConversation(conversation, NPC, Spawn, "Conjura, you must go to the tombs at once and verify that each seal is intact. This is the only way we can complete the ritual and renew the ward upon the Graveyard to keep the undead at bay. Hurry! The fate of Freeport is in your hands!") + end +end + +function dlg_35_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar085.mp3", "", "", 2303927158, 1226964823, Spawn) + AddConversationOption(conversation, "Ready!", "dlg_36_2") + AddConversationOption(conversation, "No thank you.") + StartConversation(conversation, NPC, Spawn, "The first words are 'Graddah, Shollamak, Hakah.' Ready?") +end + +function dlg_36_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar086.mp3", "", "", 316474953, 2692158252, Spawn) + AddConversationOption(conversation, "Graddah, Shollamak, Hakah!", "dlg_36_3") + AddConversationOption(conversation, "Wait, not yet.") + StartConversation(conversation, NPC, Spawn, "Let the ritual begin!") +end + +function dlg_36_3(NPC, Spawn) +--make spawn do casting a ward spell here + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar087.mp3", "", "", 2730725983, 3455327122, Spawn) + if GetQuestStep(Spawn, QUEST_7) == 1 then + AddConversationOption(conversation, "Wait, what's wrong?", "dlg_36_4") + elseif GetQuestStep(Spawn, QUEST_7) == 3 then + AddConversationOption(conversation, "What are the next words?", "dlg_18_4") + end + AddConversationOption(conversation, "I need to go.") + StartConversation(conversation, NPC, Spawn, "Graddah, Shollamak, Hakah!") +end + +function dlg_36_4(NPC, Spawn) + SetStepComplete(Spawn, QUEST_7, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar096.mp3", "", "", 3456740440, 91910715, Spawn) + AddConversationOption(conversation, "What do we do?", "dlg_36_5") + AddConversationOption(conversation, "I knew this was madness.") + StartConversation(conversation, NPC, Spawn, "Something is wrong. The incantation will not take effect!") +end + +function dlg_36_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar097.mp3", "", "", 1342700976, 2091537359, Spawn) + AddConversationOption(conversation, "Perhaps one tomb remains unsealed.", "dlg_36_6") + AddConversationOption(conversation, "I've done enough for this cause.") + StartConversation(conversation, NPC, Spawn, "Are you certain that all of the tombs of the Knights of Truth were sealed? If even one of them remains opened, it might prevent the binding ward from taking hold.") +end + +function dlg_36_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar098.mp3", "", "point", 302585592, 463867493, Spawn) + AddConversationOption(conversation, "I'll go at once!") + StartConversation(conversation, NPC, Spawn, "Lilrat, you must go to the tombs at once and verify that each seal is intact. This is the only way we can complete the ritual and renew the ward upon the Graveyard to keep the undead at bay. Hurry! The fate of Freeport is in your hands!") +end + +function dlg_18_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar088.mp3", "", "", 1317702534, 195221553, Spawn) + AddConversationOption(conversation, "Ready!", "dlg_18_5") + AddConversationOption(conversation, "I've forgotten them already.") + StartConversation(conversation, NPC, Spawn, "The second set of words are, 'Golotu, Quandar, Gunoo.' Ready?") +end + +function dlg_18_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar089.mp3", "", "", 919106830, 2372549864, Spawn) + AddConversationOption(conversation, "Golotu, Quandar, Gunoo!", "dlg_18_6") + AddConversationOption(conversation, "Wait, not yet.") + StartConversation(conversation, NPC, Spawn, "Proceed!") +end + +function dlg_18_6(NPC, Spawn) +--make spawn caster healing spell + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar090.mp3", "", "", 467925549, 2283934078, Spawn) + AddConversationOption(conversation, "What are the next words?", "dlg_18_7") + AddConversationOption(conversation, "I've had enough of this.") + StartConversation(conversation, NPC, Spawn, "Golotu, Quandar, Gunoo!") +end + +function dlg_18_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar091.mp3", "", "", 3920739989, 998274807, Spawn) + AddConversationOption(conversation, "I'm ready!", "dlg_18_8") + AddConversationOption(conversation, "That's it, I quit.") + StartConversation(conversation, NPC, Spawn, "The final set of words are the most important. 'Waktana, Shollamak, Quandar, Hakah.' Here we go!") +end + +function dlg_18_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar092.mp3", "", "", 877878005, 1602838402, Spawn) + AddConversationOption(conversation, "Waktana, Shollamak, Quandar, Hakah!", "dlg_18_9") + StartConversation(conversation, NPC, Spawn, "Recite the words, " .. GetName(Spawn) .. ".") +end + +function dlg_18_9(NPC, Spawn) +--make spawn cast healing spell + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar093.mp3", "", "", 799819884, 1120621815, Spawn) + AddConversationOption(conversation, "Whoa!", "dlg_18_10") + AddConversationOption(conversation, "This is too much for me.") + StartConversation(conversation, NPC, Spawn, "Waktana, Shollamak, Quandar, Hakah!") +end + +function dlg_18_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar094.mp3", "", "", 3038856904, 495454970, Spawn) + AddConversationOption(conversation, "It was a challenge, to be sure!", "dlg_18_11") + StartConversation(conversation, NPC, Spawn, "Exellent job, " .. GetName(Spawn).. "! I think we've done it! I must admit, I doubt even I could have accomplished this task without your help.") +end + +function dlg_18_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar095.mp3", "", "", 22655114, 4161320381, Spawn) + AddConversationOption(conversation, "I believe you said something about me being rewarded...", "dlg_18_12") + StartConversation(conversation, NPC, Spawn, "The enemies of the Overlord are thwarted, and the Knights of Truth shall remain bound to this graveyard for the rest of time.") +end + +function dlg_18_12(NPC, Spawn) + SetStepComplete(Spawn, QUEST_7, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar101.mp3", "", "", 833256944, 2859353569, Spawn) + AddConversationOption(conversation, "Thank you, Zaddar. Is there anything else I can do for you?", "YourAssistance") + AddConversationOption(conversation, "I am honored to have served Freeport.") + StartConversation(conversation, NPC, Spawn, "Your reward is well deserved. You have my thanks. Your name will be well known within the Academy of Arcane Science.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 8 +------------------------------------------------------------------------------------------------------------------------ + +function YourAssistance(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar102.mp3", "", "", 1334238641, 4210079221, Spawn) + AddConversationOption(conversation, "I will serve my city once again.", "dlg_18_14") + AddConversationOption(conversation, "I have done enough.") + StartConversation(conversation, NPC, Spawn, "Your assistance to the Academy of Arcane Science and Freeport has been invaluable. But now more help is needed from you. Freeport is not out of danger! You must take the knowledge you have learned here and travel to the Ruins. Are you willing?") +end + +function dlg_18_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar103.mp3", "", "", 1293287475, 951012464, Spawn) + AddConversationOption(conversation, "How do I get to the Ruins?", "dlg_18_15") + StartConversation(conversation, NPC, Spawn, "An outlying district of Freeport known as the Ruins is under attack. You must make your way there and report to Captain Arellius of the Freeport Militia. She will guide your efforts to help save our city.") +end + +function dlg_18_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar104.mp3", "", "", 1699803915, 2037868440, Spawn) + AddConversationOption(conversation, "Are there any other places I could go to find adventure?", "dlg_18_16") + if HasQuest(Spawn, QUEST_8) then + AddConversationOption(conversation, "I will go to the Ruins and help defend Freeport.", "JourneySafely") + else + AddConversationOption(conversation, "I will go to the Ruins and help defend Freeport.", "OfferQuest8") + end + StartConversation(conversation, NPC, Spawn, "Make your way to the Ruins by traveling back to the docks of your home district. Use the mariner's bell to summon transportation outside of Freeport proper and ask to be taken to the Ruins. You should find Captain Arellius nearby. Hurry, hero of Freeport, there is no time to waste!") +end + +function dlg_18_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar111.mp3", "", "", 2203286849, 4034856641, Spawn) + AddConversationOption(conversation, "Tell me more about Enforcer Kurdek.", "dlg_18_17") + AddConversationOption(conversation, "Tell me more about Inquisitor Thorson.", "dlg_18_18") + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Eager, aren't we? Well, I know some thug named Enforcer Kurdek in the Sprawl needs help, and a fellow named Inquisitor Thorson in the Sunken City could use a hand.") +end + +function dlg_18_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar112.mp3", "", "", 3842073321, 2379698803, Spawn) + AddConversationOption(conversation, "Tell me more about Inquisitor Thorson.", "dlg_18_18") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Enforcer Kurdek on the Sprawl could use a hand keeping the local gangs in line. To journey to the Sprawl, use the mariner's bell on the docks of your home district to travel to Big Bend. Follow the halls north, then take the west passageway to the west gate.") +end + +function dlg_18_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/custodian_zaddar_sullissia/fprt_adv02_graveyard/custodian_zaddar113.mp3", "", "", 1469842786, 3647036314, Spawn) + AddConversationOption(conversation, "Tell me more about Enforcer Kurdek.", "dlg_18_17") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Inquisitor Thorson in the Sunken City needs help investigating ancient mysteries that threaten Freeport's safety. To travel to the Sunken City, use the mariner's bell on the docks of your home district to travel outside Freeport and choose Sunken City as your destination.") +end + +function OfferQuest8(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_8) +end + +function OnQuest8(NPC, Spawn, conversation) + AddConversationOption(conversation, "How do I get to the Ruins?", "dlg_18_15") + AddConversationOption(conversation, "I'll travel there soon.") + StartConversation(conversation, NPC, Spawn, "Hello again, my friend. We desperately need your help in the ruins! Do not delay long, for our great city of Freeport is in peril!") +end + +function JourneySafely(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Be well.") + StartConversation(conversation, NPC, Spawn, "Then safe journey to you, " .. GetName(Spawn) .. ".") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GravestoneofSirAckmin.lua b/Lua/SpawnScripts/Graveyard/GravestoneofSirAckmin.lua new file mode 100755 index 000000000..3130e81f5 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GravestoneofSirAckmin.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GravestoneofSirAckmin.lua + Script Purpose : Gravestone of Sir Ackmin + Script Author : Scatman + Script Date : 2009.07.25 + Script Notes : +--]] + +local QUEST_FROM_GUARD = 252 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_FROM_GUARD, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_FROM_GUARD) and GetQuestStep(Caster, QUEST_FROM_GUARD) == 2 then + -- TODO: Display visual effect over tomb and show popup + SetStepComplete(Caster, QUEST_FROM_GUARD, 2) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GravestoneofSirArlin.lua b/Lua/SpawnScripts/Graveyard/GravestoneofSirArlin.lua new file mode 100755 index 000000000..3eb6885ee --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GravestoneofSirArlin.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GravestoneofSirArlin.lua + Script Purpose : Gravestone of Sir Arlin + Script Author : Scatman + Script Date : 2009.07.09 + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 231, 4) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, 231) and not QuestStepIsComplete(Caster, 231, 4) then + --TODO: Display popup + SetStepComplete(Caster, 231, 4) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GravestoneofSirBreel.lua b/Lua/SpawnScripts/Graveyard/GravestoneofSirBreel.lua new file mode 100755 index 000000000..9446dce6e --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GravestoneofSirBreel.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GravestoneofSirBreel.lua + Script Purpose : Gravestone of Sir Breel + Script Author : Scatman + Script Date : 2009.07.09 + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 231, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, 231) and not QuestStepIsComplete(Caster, 231, 2) then + --TODO: Display popup + SetStepComplete(Caster, 231, 2) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GravestoneofSirHaligan.lua b/Lua/SpawnScripts/Graveyard/GravestoneofSirHaligan.lua new file mode 100755 index 000000000..28e4d1ede --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GravestoneofSirHaligan.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GravestoneofSirHaligan.lua + Script Purpose : Gravestone of Sir Haligan + Script Author : Scatman + Script Date : 2009.07.09 + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 231, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, 231) and not QuestStepIsComplete(Caster, 231, 3) then + --TODO: Display popup. move the spawn to the popup and only spawn him if the specific option is clicked. (Peer into the opening) + Haligan = GetSpawn(Caster, 1250054) + if Hailigan == nil then + SpawnMob(GetZone(Caster), 1250054, false, -76.3563, -15.5289, 20.1095, 299.984) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GravestoneofSirPenan.lua b/Lua/SpawnScripts/Graveyard/GravestoneofSirPenan.lua new file mode 100755 index 000000000..e466bda4b --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GravestoneofSirPenan.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GravestoneofSirPenan.lua + Script Purpose : Gravestone of Sir Penan + Script Author : Scatman + Script Date : 2009.07.09 + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 231, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, 231) and not QuestStepIsComplete(Caster, 231, 1) then + --TODO: Display popup + SetStepComplete(Caster, 231, 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GravestoneofSirXantille.lua b/Lua/SpawnScripts/Graveyard/GravestoneofSirXantille.lua new file mode 100755 index 000000000..605acbccc --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GravestoneofSirXantille.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GravestoneofSirXantille.lua + Script Purpose : Gravestone of Sir Xantille + Script Author : Scatman + Script Date : 2009.07.09 + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 231, 5) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, 231) and not QuestStepIsComplete(Caster, 231, 5) then + --TODO: Display popup + SetStepComplete(Caster, 231, 5) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GuardLSek.lua b/Lua/SpawnScripts/Graveyard/GuardLSek.lua new file mode 100755 index 000000000..0c44e502a --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GuardLSek.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GuardLSek.lua + Script Purpose : Guard L'Sek + Script Author : Scatman + Script Date : 2009.07.25 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 3432620709, 3039361332, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3455786340, 1963116786, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3330899926, 205777100, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 3071777755, 1811086423, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/GuardTCrit.lua b/Lua/SpawnScripts/Graveyard/GuardTCrit.lua new file mode 100755 index 000000000..f2beed3ea --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/GuardTCrit.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Graveyard/GuardTCrit.lua + Script Purpose : Guard T'Crit + Script Author : John Adams + Script Date : 2009.07.25 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 3432620709, 3039361332, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3455786340, 1963116786, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3330899926, 205777100, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 3071777755, 1811086423, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/KeeperVaracusTKur.lua b/Lua/SpawnScripts/Graveyard/KeeperVaracusTKur.lua new file mode 100755 index 000000000..99bb7a7b4 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/KeeperVaracusTKur.lua @@ -0,0 +1,270 @@ +--[[ + Script Name : SpawnScripts/Graveyard/KeeperVaracusTKur.lua + Script Purpose : Keeper Varacus T'Kur + Script Author : Scatman + Script Date : 2009.07.11 + Script Notes : +--]] + +local QUEST_1 = 232 +local QUEST_2 = 233 +local QUEST_5 = 235 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_5) then + Say(NPC, "Back again? we have nothing else to offer you!", Spawn) + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + Say(NPC, "Thank you for your help!", Spawn) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + FindThePages(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur_busy_c0efc70b.mp3", "The Keepers of Ethernere don't have time for chatting.", "", 3808851913, 4000050632, Spawn) + end +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +-------------------------------------------------------------------------------------------------------------------------------- + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur001.mp3", "", "", 829430571, 4055688593, Spawn) + AddConversationOption(conversation, "Greetings. You must be Varacus.", "dlg_9_1") + AddConversationOption(conversation, "Nothing, I thought you were someone else.") + StartConversation(conversation, NPC, Spawn, "Yes, what is it?") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur002.mp3", "", "", 1358191858, 2542564847, Spawn) + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". Zaddar sent me on behalf of the Academy.", "dlg_9_2") + AddConversationOption(conversation, "None of your business, Teir'Dal.") + StartConversation(conversation, NPC, Spawn, "Well, that all depends. Who are you?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur003.mp3", "", "", 3292551343, 1126004800, Spawn) + AddConversationOption(conversation, "You don't sound very respectful toward your superior.", "dlg_9_3") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Zaddar sent you, eh? Far be it from him to get his hands dirty in the Graveyard, I suppose!") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur004.mp3", "", "", 2946582431, 2561170377, Spawn) + AddConversationOption(conversation, "Where does your order's name come from?", "dlg_9_4") + AddConversationOption(conversation, "Interesting, but I must go.") + StartConversation(conversation, NPC, Spawn, "Though we Keepers of Ethernere must answer to the Academy of Arcane Science, ours is a grave responsibility. We watch over the tombs of Norrath and ensure that the spirits of the dead make their journey to the afterlife. You have no doubt seen our guards patrolling the Graveyard roads, and perhaps noticed the boneyard watchers we summon to watch for disturbances.") +end + +function dlg_9_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur005.mp3", "", "", 668156763, 3742751823, Spawn) + AddConversationOption(conversation, "A fascinating tale, but Zaddar sent me to retrieve some tome pages.", "dlg_9_5") + AddConversationOption(conversation, "I care not for your tale.") + StartConversation(conversation, NPC, Spawn, "The Keepers of Ethernere come from a proud tradition of service to the House of the Dead in our ancient Teir'Dal city of Neriak. Ethernere is a dark realm of agony where spirits of the dead must travel. It is said that when a Norrathian dies, the bell in Deathtoll Tower at the heart of Ethernere rings to signal their spirit's arrival.") +end + +function dlg_9_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur006.mp3", "", "", 1546096595, 964116993, Spawn) + AddConversationOption(conversation, "The Overlord will not be pleased. He commanded that Zaddar be given the pages.", "FindThePages") + AddConversationOption(conversation, "This task is not my responsibility.") + StartConversation(conversation, NPC, Spawn, "Ah yes, you seek the tome pages. Unfortunately, however, they have gone missing. They may be scattered about the Graveyard, or some might have fallen into the hands of the undead. Such creatures are drawn to objects of arcane power. I have other duties to attend to, so you will need to conduct your own search for the pages here in the Graveyard.") +end + +function FindThePages(NPC, Spawn, conversation) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 1) + end + + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur007.mp3", "", "", 2021743149, 3486926438, Spawn) + AddConversationOption(conversation, "I will find the pages.", "OfferQuest2") + AddConversationOption(conversation, "I can't help you right now.") + StartConversation(conversation, NPC, Spawn, "I had no idea this matter was so urgent to the Overlord! Please, hero of Freeport, you must find those pages. If not, I think all of us may face our master's wrath. Please let me know when you have found them.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +-------------------------------------------------------------------------------------------------------------------------------- + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur009.mp3", "", "", 3736503585, 3888829392, Spawn) + + if GetQuestStep(Spawn, QUEST_2) > 4 then + Say(NPC, "Please, don't tell anyone about our conversation!", Spawn) + else + if GetQuestStep(Spawn, QUEST_2) == 4 then + AddConversationOption(conversation, "I've found the missing pages.", "dlg_10_1") + end + + AddConversationOption(conversation, "Not yet, but I will keep looking.") + StartConversation(conversation, NPC, Spawn, "I hope your search for the missing pages has been fruitful. Neither of us can afford to disappoint the Overlord.") + end +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur010.mp3", "", "", 3933639759, 3329980648, Spawn) + AddConversationOption(conversation, "By the Tower of Marr and near the graves of the fallen knights. Some were also in the possession of the undead.", "dlg_10_2") + AddConversationOption(conversation, "I don't have time to discuss this.") + StartConversation(conversation, NPC, Spawn, "Well done, " .. GetName(Spawn) .. "! Zaddar was right to choose you for this duty. Where did you find the pages?") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur011.mp3", "", "", 3532304049, 948480083, Spawn) + AddConversationOption(conversation, "What could be causing this to happen?", "dlg_10_3") + AddConversationOption(conversation, "This is no concern of mine.") + StartConversation(conversation, NPC, Spawn, "The undead had them, eh? It is as I feared. There has been a marked increase in their activities as of late, the investigation of which has monopolized my time.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur012.mp3", "", "", 422855190, 220610803, Spawn) + AddConversationOption(conversation, "I will take the pages to him.", "dlg_10_4") + AddConversationOption(conversation, "It's not really my problem.") + StartConversation(conversation, NPC, Spawn, "Perhaps the veil between our world and Ethernere is weakening, or maybe the influence of Mithaniel Marr is returning in some way to awaken his fallen soldiers. In any case, the safety of Freeport demands that you get these pages to Zaddar right away.") +end + +function dlg_10_4(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur013.mp3", "", "", 2923473609, 4294205867, Spawn) + AddConversationOption(conversation, "I will do so. I hope to work with you again, Varacus.") + AddConversationOption(conversation, "I'm sick of running errands. Farewell.") + StartConversation(conversation, NPC, Spawn, "Here, take this book cover and put the pages inside it for safe keeping. Take the tome to Zaddar so that he can finish his research.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 5 +-------------------------------------------------------------------------------------------------------------------------------- + +function OnQuest5(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_5) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur015.mp3", "", "", 423371381, 2980925675, Spawn) + AddConversationOption(conversation, "Zaddar has need of something that you possess.", "dlg_13_1") + AddConversationOption(conversation, "Nevermind, I need to go.") + StartConversation(conversation, NPC, Spawn, "Hello again, " .. GetName(Spawn) .. ". What brings you back to the Keepers?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur_took_staff_4dd499f0.mp3", "Make sure you take care of our staff!", "", 1927300864, 3031979454, Spawn) + end +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur016.mp3", "", "", 2481073188, 86162182, Spawn) + AddConversationOption(conversation, "No, he needs the Staff of Ethernere.", "dlg_13_2") + AddConversationOption(conversation, "Nevermind, I need to go.") + StartConversation(conversation, NPC, Spawn, "I have no more spell parchments, if that's what he's after.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur017.mp3", "", "", 722192907, 1883808749, Spawn) + AddConversationOption(conversation, "But Zaddar says it is critical that he use it.", "dlg_13_3") + AddConversationOption(conversation, "Just forget it.") + StartConversation(conversation, NPC, Spawn, "The Staff of Ethernere is our most sacred relic, entrusted to our order when it was founded in Neriak. I couldn't possibly part with it, even for a short while.") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur018.mp3", "", "", 821574395, 1723573145, Spawn) + AddConversationOption(conversation, "The ward keeping the undead inside the Graveyard is failing, and we need the staff to restore it.", "dlg_13_4") + AddConversationOption(conversation, "Go ask him yourself.") + StartConversation(conversation, NPC, Spawn, "Though my order now serves the Academy of Arcane Science, my vow to the Keepers of Ethernere supersedes the Academy's demands. Why does he need the staff?") +end + +function dlg_13_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur019.mp3", "", "", 3925056079, 4036271614, Spawn) + AddConversationOption(conversation, "There's no time, Varacus. We must do this ourselves.", "dlg_13_5") + AddConversationOption(conversation, "You're probably right.") + StartConversation(conversation, NPC, Spawn, "That is dire news indeed! But wouldn't someone like Thaumaturge Ranollious at the Academy be better suited for this task?") +end + +function dlg_13_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur020.mp3", "", "", 2024157770, 1751672495, Spawn) + AddConversationOption(conversation, "I'll let him know.", "dlg_13_6") + AddConversationOption(conversation, "Nevermind.") + StartConversation(conversation, NPC, Spawn, "Very well. Zaddar may use the Staff of Ethernere. He can return it to me when he's certain the binding ward is back in place.") +end + +function dlg_13_6(NPC, Spawn) + SetStepComplete(Spawn, QUEST_5, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- The Staff of Ethernere + -- TODO: Show quest reward popup. + if not HasItem(Spawn, 21591) then + SummonItem(Spawn, 21591) + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/keeper_varacus_t_kur/fprt_adv02_graveyard/varacus_tkur021.mp3", "", "", 1322632030, 1536532403, Spawn) + AddConversationOption(conversation, "I will take good care of the staff, Varacus. Be well.") + StartConversation(conversation, NPC, Spawn, "Travel swiftly, Conjura. All of Freeport is depending on you now!") +end + diff --git a/Lua/SpawnScripts/Graveyard/RTok.lua b/Lua/SpawnScripts/Graveyard/RTok.lua new file mode 100755 index 000000000..4f181a9f7 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/RTok.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Graveyard/RTok.lua + Script Purpose : R'Tok + Script Author : Scatman + Script Date : 2009.07.25 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "RandomChat") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomChat(NPC, Spawn) +end + +function RandomChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_aoi_gm_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 1403936443, 3068231605, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2781916825, 678640011, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 898812878, 1402234103, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1302153135, 3653961458, Spawn) + end +end diff --git a/Lua/SpawnScripts/Graveyard/SirHaligan,CaptainoftheKnightsofTruth.lua b/Lua/SpawnScripts/Graveyard/SirHaligan,CaptainoftheKnightsofTruth.lua new file mode 100755 index 000000000..c15c576c9 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/SirHaligan,CaptainoftheKnightsofTruth.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Graveyard/SirHaligan,CaptainoftheKnightsofTruth.lua + Script Purpose : Sir Haligan, Captain of the Knights of Truth + Script Author : Scatman + Script Date : 2009.07.10 + Script Notes : +--]] + +function spawn(NPC) + Say(NPC, "Who dares disturb my slumber?!") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/UnholyRelic.lua b/Lua/SpawnScripts/Graveyard/UnholyRelic.lua new file mode 100755 index 000000000..9be8c8f84 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/UnholyRelic.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Graveyard/UnholyRelic.lua + Script Purpose : Unholy Relic + Script Author : Scatman + Script Date : 2009.07.12 + Script Notes : +--]] + +local ZADDAR_QUEST_4 = 234 + +function spawn(NPC) + SetRequiredQuest(NPC, ZADDAR_QUEST_4, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Spawn, ZADDAR_QUEST_4) and GetQuestStep(Spawn, ZADDAR_QUEST_4) == 3 then + SetStepComplete(Spawn, ZADDAR_QUEST_4, 3) + SendMessage(Caster, "You retrieve the unholy relic.") + Despawn(Target) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/ZekvilaDizelk.lua b/Lua/SpawnScripts/Graveyard/ZekvilaDizelk.lua new file mode 100755 index 000000000..a603d5ae2 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/ZekvilaDizelk.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : SpawnScripts/Graveyard/ZekvilaDizelk.lua + Script Purpose : Zekvila Dizelk + Script Author : scatman + Script Date : 2009.07.12 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_1 = 237 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + RandomVoice(NPC, Spawn) + + if HasCompletedQuest(Spawn, QUEST_1) then + Say(NPC, "You must not let that fool Ithelz rule the Scale Yard. I need the help of a diligent soldier... what do you need, peasant?", Spawn) + elseif HasQuest(Spawn, QUEST_2) then + OnQuest1(NPC, Spawn, conversation) + else + NotWhoIAmExpecting(NPC, Spawn, conversation) + end +end + +function RandomVoice(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1027.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1027.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1027.mp3", "", "", 0, 0, Spawn) + end +end + +---------------------------------------------------------------------------------------------------------- +-- QUEST 1 +---------------------------------------------------------------------------------------------------------- + +function NotWhoIAmExpecting(NPC, Spawn, conversation) + AddConversationOption(conversation, "Who were you expecting?", "dlg_9_1") + AddConversationOption(conversation, "None. I'll leave you alone.") + StartConversation(conversation, NPC, Spawn, "You are not who I was expecting. What game are you playing with me?") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What task do you need done?", "OfferQuest1") + AddConversationOption(conversation, "Actually, you're wrong. It's not in my interests to do so. Bye.") + StartConversation(conversation, NPC, Spawn, "Gyah! How dare you speak to me with a sharp tongue! Who do you think you are, fool? You do not bear the dark instrument; therefore, I've no need for you. Unless ... yes ... yes ... unless my emissary failed at his task. Yes, you shall succeed where the emissary failed. Trust me - it is in your best interest to agree with me.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(NPC, Spawn) == 1 then + Say(NPC, "You are playing games with me, you deceitful little imp. Go collect the souls or you shall pay dearly.", Spawn) + else + AddConversationOption(conversation, "I have collected ten souls from the Undead Knights.", "dlg_1_1") + AddConversationOption(conversation, "None. I'll leave you alone.") + StartConversation(conversation, NPC, Spawn, "You are not who I was expecting. What game are you playing with me?") + end +end + +function dlg_1_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Servant?! Don't ever refer to me... whatever. Bye.") + StartConversation(conversation, NPC, Spawn, "Give me the crystal. Ah, yes, it's filled. With these souls, Ithelz's puppet barbarians cannot prevent me from ruling over the district. You served me well, servant. Take this coin as a token of my gratitude.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/acrumblingskeleton.lua b/Lua/SpawnScripts/Graveyard/acrumblingskeleton.lua new file mode 100755 index 000000000..2c6943c92 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/acrumblingskeleton.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/Graveyard/acrumblingskeleton.lua + Script Purpose : a crumbling skeleton + Script Author : Scatman + Script Date : 2009.07.10 + Script Notes : +--]] + +local spoke = false + +function spawn(NPC) + spoke = false +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + RandomCallOut(NPC, Spawn) + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function RandomCallOut(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_29344c6f.mp3", "I didn't need those bones anyway.", "", 1704957193, 2042978689) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_a4c947e4.mp3", "I'm shattered and broken.", "", 4021018144, 1305053073) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_d9ece37f.mp3", "You've shaken the dust from my bones.", "", 2011286772, 326848383) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_f1d542e0.mp3", "Dying didn't feel good the first time.", "", 766636803, 1915881366) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_18d1544d.mp3", "As I rise from the grave, you will now take my place!", "", 485726074, 3646499350) + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 10 then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_fbcb503b.mp3", "Rest in peace.", "", 3591309093, 1423656405, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_ff39f327.mp3", "Final death comes at last.", "", 3768284332, 62777040, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/anEthernereguard.lua b/Lua/SpawnScripts/Graveyard/anEthernereguard.lua new file mode 100755 index 000000000..95f46c565 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/anEthernereguard.lua @@ -0,0 +1,83 @@ +--[[ + Script Name : SpawnScripts/Graveyard/anEthernereguard.lua + Script Purpose : an Ethernere guard + Script Author : scatman + Script Date : 2009.07.25 + Script Notes : +--]] + +-- This quest is repeatable I think. +local QUEST_1 = 252 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + Say(NPC, "May you complete your task without leaving this realm.", Spawn) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + HailCitizen(NPC, Spawn, conversation) + end +end + +function HailCitizen(NPC, Spawn, conversation) + PlayFlavor(NPC, "an_ethernere_guard/fprt_adv02_graveyard/ethernere_keeper001.mp3", "", "", 1684681522, 203789175, Spawn) + AddConversationOption(conversation, "Yes?", "dlg_3_1") + AddConversationOption(conversation, "I am busy.") + StartConversation(conversation, NPC, Spawn, "Hail Citizen!") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "an_ethernere_guard/fprt_adv02_graveyard/ethernere_keeper002.mp3", "", "", 3556340892, 124958826, Spawn) + AddConversationOption(conversation, "Of course!", "dlg_3_2") + AddConversationOption(conversation, "I am busy.") + StartConversation(conversation, NPC, Spawn, "Freeport has need of your services, will you fulfill your duty?") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "an_ethernere_guard/fprt_adv02_graveyard/ethernere_keeper003.mp3", "", "", 2377701112, 1112213409, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "OfferQuest1") + AddConversationOption(conversation, "I am busy.") + StartConversation(conversation, NPC, Spawn, "Ancient spirits have recently awoken, their graves disturbed by the graverobbers in this area. The graverobbers have taken ancient holy relics from them and they wander in search of that which was taken.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 3 then + AddConversationOption(conversation, "Yes, I returned the relics to the tombs.", "Successful") + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Were you successful in your mission?") + else + PlayFlavor(NPC, "", "If you see any graverobbers come tell me immediately.", "", 1689589577, 4560189, Spawn) + end +end + +function Successful(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Excellent. Thank you for your service to Freeport and the Keepers of Ethernere. Please, take this for your trouble.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/anamateurgraverobber.lua b/Lua/SpawnScripts/Graveyard/anamateurgraverobber.lua new file mode 100755 index 000000000..9b5bb7950 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/anamateurgraverobber.lua @@ -0,0 +1,111 @@ +--[[ + Script Name : SpawnScripts/Graveyard/anamateurgraverobber.lua + Script Purpose : an amateur graverobber + Script Author : Scatman + Script Date : 2009.07.25 + Script Notes : +--]] + +local spoke = false +local MALE = 1 +local FEMALE = 2 + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 20 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_aggro_gm_88cef174.mp3", "Overhear my plansies. Gore you I will!", "", 3355146665, 1217299863, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gm_4af7a99.mp3", "You're not as sneaky as you thought.", "", 1683997219, 1178080164, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gm_7c145a1f.mp3", "Sees us, did we? Must not let you talk then.", "", 1928944506, 4197211546, Spawn) + end + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gf_4af7a99.mp3", "You're not as sneaky as you thought.", "", 1898398655, 853136085, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gf_7c145a1f.mp3", "Sees us, did we? Must not let you talk then.", "", 2661963919, 697614069, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gf_ce5970ec.mp3", "Startle us, you did! We'll remedy that.", "", 3905874632, 4086824059, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_aggro_gf_a3d8a506.mp3", "Not very nice of you to be all sneaky.", "", 2210593426, 1217099089, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_battle_gf_7509fbcd.mp3", "Youses never see this one coming.", "", 105547293, 3999948070, Spawn) + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gm_9c7df7ea.mp3", "That patch of fur will never grow back, you know.", "", 2241929269, 2874755723, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gm_a2ace12c.mp3", "Don't hurt us! We're no threat to your mightiness.", "", 3593075606, 2907318102, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_halfhealth_gm_7cab6d92.mp3", "That wasn't very nice to do, friend.", "", 413844109, 3656803270, Spawn) + end + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_halfhealth_gf_7cab6d92.mp3", "That wasn't very nice to do, friend.", "", 2063305887, 2078518166, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_halfhealth_gf_ff30e9f.mp3", "Shifty thingsies you are.", "", 1975586766, 1774921113, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gf_9c7df7ea.mp3", "That patch of fur will never grow back, you know.", "", 4146309857, 1135607887, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gf_a2ace12c.mp3", "Don't hurt us! We're no threat to your mightiness.", "", 1631608737, 385456101, Spawn) + end + end + end +end + +function killed(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 20 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gm_15e8fc93.mp3", "One less worry in my life!", "", 4116602987, 3804155045, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gm_732f23e7.mp3", "The dead tell no tales", "", 636430623, 2715556056, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gm_935883a.mp3", "Shhh ... shhh ... it's ok ... shhh ...shhh. Stop fighting it...", "", 1459182295, 1340643629, Spawn) + end + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gf_732f23e7.mp3", "The dead tell no tales", "", 1062202875, 1393213249, Spawn) + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 20 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_death_gm_e9ba5c44.mp3", "Flee and take care of them later.", "", 2862575499, 3074650652, Spawn) + elseif GetGender(NPC) == FEMALE then + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/anovicegraverobber.lua b/Lua/SpawnScripts/Graveyard/anovicegraverobber.lua new file mode 100755 index 000000000..a9d20cbdc --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/anovicegraverobber.lua @@ -0,0 +1,111 @@ +--[[ + Script Name : SpawnScripts/Graveyard/anovicegraverobber.lua + Script Purpose : a novice graverobber + Script Author : Scatman + Script Date : 2009.07.25 + Script Notes : +--]] + +local spoke = false +local MALE = 1 +local FEMALE = 2 + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 20 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_aggro_gm_88cef174.mp3", "Overhear my plansies. Gore you I will!", "", 3355146665, 1217299863, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gm_4af7a99.mp3", "You're not as sneaky as you thought.", "", 1683997219, 1178080164, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gm_7c145a1f.mp3", "Sees us, did we? Must not let you talk then.", "", 1928944506, 4197211546, Spawn) + end + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gf_4af7a99.mp3", "You're not as sneaky as you thought.", "", 1898398655, 853136085, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gf_7c145a1f.mp3", "Sees us, did we? Must not let you talk then.", "", 2661963919, 697614069, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_aggro_gf_ce5970ec.mp3", "Startle us, you did! We'll remedy that.", "", 3905874632, 4086824059, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_aggro_gf_a3d8a506.mp3", "Not very nice of you to be all sneaky.", "", 2210593426, 1217099089, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_battle_gf_7509fbcd.mp3", "Youses never see this one coming.", "", 105547293, 3999948070, Spawn) + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gm_9c7df7ea.mp3", "That patch of fur will never grow back, you know.", "", 2241929269, 2874755723, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gm_a2ace12c.mp3", "Don't hurt us! We're no threat to your mightiness.", "", 3593075606, 2907318102, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_halfhealth_gm_7cab6d92.mp3", "That wasn't very nice to do, friend.", "", 413844109, 3656803270, Spawn) + end + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_halfhealth_gf_7cab6d92.mp3", "That wasn't very nice to do, friend.", "", 2063305887, 2078518166, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_2/ft/ratonga/ratonga_base_2_1_halfhealth_gf_ff30e9f.mp3", "Shifty thingsies you are.", "", 1975586766, 1774921113, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gf_9c7df7ea.mp3", "That patch of fur will never grow back, you know.", "", 4146309857, 1135607887, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_halfhealth_gf_a2ace12c.mp3", "Don't hurt us! We're no threat to your mightiness.", "", 1631608737, 385456101, Spawn) + end + end + end +end + +function killed(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 20 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gm_15e8fc93.mp3", "One less worry in my life!", "", 4116602987, 3804155045, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gm_732f23e7.mp3", "The dead tell no tales", "", 636430623, 2715556056, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gm_935883a.mp3", "Shhh ... shhh ... it's ok ... shhh ...shhh. Stop fighting it...", "", 1459182295, 1340643629, Spawn) + end + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_victory_gf_732f23e7.mp3", "The dead tell no tales", "", 1062202875, 1393213249, Spawn) + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 20 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/optional3/ratonga_base_1/ft/ratonga/ratonga_base_1_1_death_gm_e9ba5c44.mp3", "Flee and take care of them later.", "", 2862575499, 3074650652, Spawn) + elseif GetGender(NPC) == FEMALE then + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/atatteredpieceofpaper.lua b/Lua/SpawnScripts/Graveyard/atatteredpieceofpaper.lua new file mode 100755 index 000000000..a8e1ccb20 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/atatteredpieceofpaper.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/Graveyard/atatteredpieceofpaper.lua + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 233) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/qst_haligan_tomb.lua b/Lua/SpawnScripts/Graveyard/qst_haligan_tomb.lua new file mode 100755 index 000000000..695d7ba46 --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/qst_haligan_tomb.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Script: SpawnScripts/Graveyard/qst_haligan_tomb.lua + Script Purpose : qst_haligan_tomb + Script Author : Scatman + Script Date : 2009.07.22 + Script Notes : +--]] + +local QUEST_7_FROM_CUSTODIAN = 238 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_7_FROM_CUSTODIAN, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_7_FROM_CUSTODIAN) and GetQuestStep(Caster, QUEST_7_FROM_CUSTODIAN) == 2 then + -- TODO: Display popup + SetStepComplete(Caster, QUEST_7_FROM_CUSTODIAN, 2) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graveyard/ward_particle_cube.lua b/Lua/SpawnScripts/Graveyard/ward_particle_cube.lua new file mode 100755 index 000000000..91f042d0d --- /dev/null +++ b/Lua/SpawnScripts/Graveyard/ward_particle_cube.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Graveyard/ward_particle_cube.lua + Script Purpose : ward_particle_cube + Script Author : Scatman + Script Date : 2009.07.12 + Script Notes : +--]] + +local ZADDAR_QUEST_4 = 234 + +function spawn(NPC) + SetRequiredQuest(NPC, ZADDAR_QUEST_4, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster) + if HasQuest(Spawn, ZADDAR_QUEST_4) and GetQuestStep(Spawn, ZADDAR_QUEST_4) == 2 then + SetStepComplete(Spawn, ZADDAR_QUEST_4, 2) + SendMessage(Caster, "You place the relic within the sphere of influence.") + Despawn(Target) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/AngusFallowfur.lua b/Lua/SpawnScripts/Graystone/AngusFallowfur.lua new file mode 100755 index 000000000..61be09316 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/AngusFallowfur.lua @@ -0,0 +1,119 @@ +--[[ + Script Name : SpawnScripts/Graystone/AngusFallowfur.lua + Script Purpose : Angus Fallowfur + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Quest ID's +local A_TIME_FOR_FIGHTING = 289 + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + RandomVoice(NPC, Spawn) + + if HasCompletedQuest(Spawn, A_TIME_FOR_FIGHTING) then + Say(NPC, "Just keep walking.", Spawn) + elseif HasQuest(Spawn, A_TIME_FOR_FIGHTING) then + LittleBusyWithQuest(NPC, Spawn) + else + Say(NPC, "I'm a little busy right now, sorry.") + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.25 then + SpawnSet(NPC, "attackable", 0) + SpawnSet(NPC, "show_level", 0) + AddTimer(NPC, 500, "StopAttacking", 1, Spawn) + end +end + +function StopAttacking(NPC, Spawn) + Say(NPC, "This is over.", Spawn) + ClearHate(NPC) + ClearEncounter(NPC) +end + +function RandomVoice(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1002.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1002.mp3", "", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1002.mp3", "", "", 0, 0, Spawn) + end +end + +--------------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------------- + +function LittleBusyWithQuest(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not QuestStepIsComplete(Spawn, A_TIME_FOR_FIGHTING, 2) then + AddConversationOption(conversation, "Oh, wow. I saw a shining light up here and thought someone had installed a lighthouse, guess it was just your forehead.", "dlg_8_1") + AddConversationOption(conversation, "A little busy doing what? Standing here like a lamppost?", "dlg_5_1") + AddConversationOption(conversation, "Only a little busy?", "dlg_6_1") + AddConversationOption(conversation, "Why be sorry? It saved me what would probably be a boring conversation.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "I'm a little busy right now, sorry.") + else + Say(NPC, "Just keep walking.", Spawn) + end +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see.") + StartConversation(conversation, NPC, Spawn, "I'm contemplating, if you must know.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Indeed.") + StartConversation(conversation, NPC, Spawn, "Busy enough to want you to leave.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That makes two of us.") + StartConversation(conversation, NPC, Spawn, "And me as well.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Shiny!", "dlg_8_2") + AddConversationOption(conversation, "Glossy!", "dlg_8_2") + AddConversationOption(conversation, "Reflective!", "dlg_8_2") + AddConversationOption(conversation, "B-A-L-D.", "dlg_8_2") + AddConversationOption(conversation, "Sorry, no. I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Did I hear that correctly?") +end + +function dlg_8_2(NPC, Spawn) + SetStepComplete(Spawn, A_TIME_FOR_FIGHTING, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + AddHate(Spawn, NPC, 1) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/angus_fallowfur/qey_village03/quest_angus_fallowfur_fightover_6c8d9e55.mp3", "This is over.", "", 577369163, 1894242120, Spawn) + AddConversationOption(conversation, "We'll see!") + StartConversation(conversation, NPC, Spawn, "You're going down!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/AssistantJalan.lua b/Lua/SpawnScripts/Graystone/AssistantJalan.lua new file mode 100755 index 000000000..b8da85975 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/AssistantJalan.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Graystone/AssistantJalan.lua + Script Purpose : Assistant Jalan + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/banker/barbarian_banker_service_good_1_hail_gf_1772a0df.mp3", "Has anyone told you about our new retirement savings programs?", "nod", 598649185, 1528614376, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/banker/barbarian_banker_service_good_1_hail_gf_17a9b8f6.mp3", "Are you interested in qualifying for an equity line of coin on your livestock?", "shrug", 3636052598, 303778763, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_good_1/ft/service/banker/barbarian_banker_service_good_1_hail_gf_ca4ce94.mp3", "Greetings, would you like to open an account or is there something else I can help with?", "hello", 2950142669, 2951966236, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Graystone/AssistantTillheel.lua b/Lua/SpawnScripts/Graystone/AssistantTillheel.lua new file mode 100755 index 000000000..a65e88f26 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/AssistantTillheel.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Graystone/AssistantTillheel.lua + Script Purpose : Assistant Tillheel + Script Author : John Adams/Scatman + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "RandomTalk", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/halfling_eco_good_1/ft/service/alchemist/halfling_alchemist_service_good_1_hail_gm_a8ed74c7.mp3", "There are no refunds for caster error at this shop! Oh ... hello you're not here about a refund.", "no", 2075394375, 630243730, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/halfling_eco_good_1/ft/service/alchemist/halfling_alchemist_service_good_1_hail_gm_ec533e4c.mp3", "Are you wounded? I just made up a fresh batch of healing potions an hour ago.", "hello", 2688473405, 4089604259, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I'm sorry, afraid I'm unable to help you now. That dolt Mr. Clark mixed up the formulas again! Now... Let's see... Which one is the super corrosive acid?", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/optional2/halfling_eco_good_1/ft/service/alchemist/halfling_alchemist_service_good_1_hail_gm_efd903ba.mp3", "Hello, adventurer! Are you looking for a specific potion or ingredient?", "agree", 1413906559, 1372883990, Spawn) + end + end +end + +function LeaveRange(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/BarmaidViolet.lua b/Lua/SpawnScripts/Graystone/BarmaidViolet.lua new file mode 100755 index 000000000..b9541c6a2 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/BarmaidViolet.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Graystone/BarmaidViolet.lua + Script Purpose : Barmaid Violet + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "Please mind the plates, they're very hot.", "scold", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Tell me, do you prefer Halfling or Elven cuisine? I myself have a hard time deciding between the two.", "confused", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Welcome friend, welcome. I hope you brought your appetite with you!", "wink", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Fresh baubbleberry pie, come and get some while it's hot!", "beckon", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/Graystone/BarryViceheart.lua b/Lua/SpawnScripts/Graystone/BarryViceheart.lua new file mode 100755 index 000000000..f4816e0eb --- /dev/null +++ b/Lua/SpawnScripts/Graystone/BarryViceheart.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/BarryViceheart.lua + Script Purpose : Barry Viceheart + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/barry_viceheart/qey_village03/100_customer_barbarian_viceheart_multhail1_31dbd300.mp3", "I don't think you want to help me with this difficult task. Farewell!", "", 2478336212, 3512678812, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Beerocks.lua b/Lua/SpawnScripts/Graystone/Beerocks.lua new file mode 100755 index 000000000..1ab5e6316 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Beerocks.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/Graystone/Beerocks.lua + Script Purpose : Beerocks + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Graystone/BoninBroadhammer.lua b/Lua/SpawnScripts/Graystone/BoninBroadhammer.lua new file mode 100755 index 000000000..ed755fbf1 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/BoninBroadhammer.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/BoninBroadhammer.lua + Script Purpose : Bonin Broadhammer + Script Author : John Adams/Scatman + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "RandomTalk") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies, right before ya, to fill your adventuring needs.", "smile", 2986424867, 2267649224, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What is it I can help you with?", "bow", 3654607078, 2614139251, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2230797709, 3854601007, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2160906698, 176729787, Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Graystone/BriceStrongmend.lua b/Lua/SpawnScripts/Graystone/BriceStrongmend.lua new file mode 100755 index 000000000..e6b181240 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/BriceStrongmend.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/GraystoneYard/BriceStrongmend.lua + Script Purpose : Brice Strongmend + Script Author : Jabantiz + Script Date : 2018.06.09 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/brice_strongmend/qey_village03/100_fisherman_barbarian_strongmend_garbled_gm_e474cb9f.mp3", "Hmmmm... I wonder, do I owe you any coin? I sure hope not!", "", 423725313, 410589606, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/BurkStoneshatter.lua b/Lua/SpawnScripts/Graystone/BurkStoneshatter.lua new file mode 100755 index 000000000..823aeef76 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/BurkStoneshatter.lua @@ -0,0 +1,360 @@ +--[[ + Script Name : SpawnScripts/Graystone/BurkStoneshatter.lua + Script Purpose : Burk Stoneshatter + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Race ID's +local BARBARIAN = 0 + +-- Quest ID's +local ATIMEFORFIGHTING = 289 +local LATESHIPMENT = 290 +local IN_THE_DRINK = 291 +local VISITING_A_FRIEND = 292 + +-- Item ID's +local OVERFLOW_MANIFEST = 10268 + +function spawn(NPC) + ProvidesQuest(NPC, ATIMEFORFIGHTING) + ProvidesQuest(NPC, LATESHIPMENT) + ProvidesQuest(NPC, VISITING_A_FRIEND) +end + +function hailed(NPC, Spawn) + if GetRace(Spawn) == BARBARIAN then + Begin(NPC, Spawn) + else + NotBarbarian(NPC, Spawn) + end +end + +function NotBarbarian(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quest_burk_stoneshatter_notdwarf_20893785.mp3", "I'm rather busy and cannot speak. Sorry.", "", 1027180785, 1173518799, Spawn) +end + +function Begin(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, ATIMEFORFIGHTING) then + if HasCompletedQuest(Spawn, LATESHIPMENT) then + if HasCompletedQuest(Spawn, IN_THE_DRINK) then + if HasCompletedQuest(Spawn, VISITING_A_FRIEND) then + SpokenToJornYet(NPC, Spawn, conversation) + elseif HasQuest(Spawn, VISITING_A_FRIEND) then + SpokenToJornYet(NPC, Spawn, conversation) + else + FoundPackageYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, IN_THE_DRINK) then + FoundPackageYet(NPC, Spawn, conversation) + else + FoundPackageYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, LATESHIPMENT) then + FoundPackageYet(NPC, Spawn, conversation) + else + HowDidFightsGo(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, ATIMEFORFIGHTING) then + HowDidFightsGo(NPC, Spawn, conversation) + else + AhGoodToSeeYou(NPC, Spawn, conversation) + end +end + + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +-------------------------------------------------------------------------------------------------------------------- + +function AhGoodToSeeYou(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter001.mp3", "", "", 956434892, 1407762002, Spawn) + AddConversationOption(conversation, "Have we met before?", "MetBefore") + StartConversation(conversation, NPC, Spawn, "Ah, good to see you!") +end + +function MetBefore(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter002.mp3", "", "", 1814552755, 3267658415, Spawn) + AddConversationOption(conversation, "What do we have in common?", "WhatInCommon") + AddConversationOption(conversation, "Yes, we do.") + StartConversation(conversation, NPC, Spawn, "Not that I recall, but I am fond of the drink, so it's possible. It don't matter none, though, we've got enough in common for me to strike up a conversation I'd say.") +end + +function WhatInCommon(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter003.mp3", "", "", 1680260293, 3849292210) + AddConversationOption(conversation, "How do they do that?", "KnowYourAncestors") + StartConversation(conversation, NPC, Spawn, "Hah! A trickster, eh? If two barbarians don't have something in common, then surely more's gone wrong since The Shattering than we knew! Hah hah! Listen, you can still learn. Even the oldest who have forgotten their ancestors can get to know them before they pass.") +end + +function KnowYourAncestors(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter005.mp3", "", "", 1709639983, 584600029) + AddConversationOption(conversation, "What do you have for me to do?", "WhatToDo") + AddConversationOption(conversation, "Who can I talk to if I'm looking for something a little more adventurous?", "MoreAdventurous") + StartConversation(conversation, NPC, Spawn, "By immersing them in their past! Ah, how much can any barbarian know about themselves if they don't know their ancestors? Listen, you look like you know your ancestors rather well. I would hate to bore you, but at the same time I wouldn't mind helping ya out. I've got friends who you can talk to if you're looking for something a little more adventurous, otherwise I'm sure I could find something for you to do around here.") +end + +function WhatToDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter007.mp3", "", "", 1329828482, 3458256530) + AddConversationOption(conversation, "I am a proud barbarian, skin as hard as frost and wit as sharp as the wind.", "Continue") + AddConversationOption(conversation, "I am a humble barbarian, docile yet fierce.", "Continue") + AddConversationOption(conversation, "I am a young barbarian, I strike out on my own but miss the warmth of my family.", "Continue") + AddConversationOption(conversation, "Who I am is not important for you to know.", "Continue") + AddConversationOption(conversation, "I do not know who I am.", "Continue") + StartConversation(conversation, NPC, Spawn, "Ah, that's refreshing to hear! So few barbarians these days care to take the time to think uh who they are. Tell me, who are you?") +end + +function Continue(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter009.mp3", "", "", 662479869, 2366767034) + AddConversationOption(conversation, "What must I do?", "WhatMustIDo") + StartConversation(conversation, NPC, Spawn, "Hah! The answer doesn't matter so much, so long as you believe it. It can change, if need be, but it always needs to be present in some manner or another. How would you like to adjust, or further confirm, who you are?") +end + +function WhatMustIDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter010.mp3", "", "", 3698329964, 3035411942) + AddConversationOption(conversation, "I can do that.", "PickFights") + StartConversation(conversation, NPC, Spawn, "War has always shown young soldiers who they were, and refined the ideas old soldiers had about themselves. I wish nothing so terrible or drastic for you. However, there is still much to be learned from fighting. I want you to speak with a few barbarians, and fight them. Don't worry, the guards understand this is how we sometimes do things. They may break up a fight but they won't arrest you or anything.") +end + +function PickFights(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter011.mp3", "", "", 3946771118, 418263937) + AddConversationOption(conversation, "Mention his feet, got it.", "MarusDonoval") + StartConversation(conversation, NPC, Spawn, "I know you can. The first barbarian on my list is Marus Donoval. I'm certain he's in the tavern on the ground floor of the inn. To goad him into fighting, mention something about the smell of his feet. That always gets him on the offensive. Got that?") +end + +function MarusDonoval(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter012.mp3", "", "", 1597660554, 3035248824) + AddConversationOption(conversation, "And who else?", "AngusFallowfur") + StartConversation(conversation, NPC, Spawn, "Good. The next person I'd like you to fight is Angus Fallowfur. He usually hangs out just over there behind the armory, on the corner closest to the docks. Nothing gets him fired up more than someone mentioning his bald head, do that and you're sure to get him into a scuffle.") +end + +function AngusFallowfur(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter013.mp3", "", "", 400499408, 1307209674) + AddConversationOption(conversation, "Marus, Angus, and Dunda. I've got it.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "The last person I'd like you to fight is Dunda Frostgrip. Ooh she's a fiery one to begin with, you shouldn't have any trouble getting her into conflict. But, she has been holding back lately. Mention the name Mav Boilfist around her and that's sure to send her off the deep end. You can find her just southwest of the scribe's shop.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, ATIMEFORFIGHTING) +end + +function HowDidFightsGo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter014.mp3", "", "", 1043759845, 3070231888) + + if (HasCompletedQuest(Spawn, ATIMEFORFIGHTING) and not HasCompletedQuest(Spawn, 16)) or (HasQuest(Spawn, ATIMEFORFIGHTING) and GetQuestStep(Spawn, ATIMEFORFIGHTING) == 4) then + AddConversationOption(conversation, "Well enough, I suppose.", "NothingLikeGoodFight") + end + + AddConversationOption(conversation, "I haven't fought everyone yet, I'll be back.") + StartConversation(conversation, NPC, Spawn, "How did the fights go?") +end + +------------------------------------------------------------------------------------------------------- +-- QUEST 2 +------------------------------------------------------------------------------------------------------- + +function NothingLikeGoodFight(NPC, Spawn) + if HasQuest(Spawn, ATIMEFORFIGHTING) then + SetStepComplete(Spawn, ATIMEFORFIGHTING, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter015.mp3", "", "", 1895041228, 2828620978) + AddConversationOption(conversation, "I agree.", "IAgree") + StartConversation(conversation, NPC, Spawn, "Hah hah! Nothing like a good fight to help remind you where your place is.") +end + +function IAgree(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter016.mp3", "", "", 2170972985, 2218518568) + AddConversationOption(conversation, "Sure, what can I do?", "WhatCanIDo") + StartConversation(conversation, NPC, Spawn, "Listen, I like you. I don't want to send you off just yet. How would you like to help me settle a problem I've encountered?") +end + +function WhatCanIDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter017.mp3", "", "", 792026774, 3751432598) + AddConversationOption(conversation, "Do you want me to fight him, too?", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "I've got this package I've been waiting for. It hasn't been delivered yet, but I know it's arrived in Graystone Yard. Do me a favor and go find the Graystone Courier and ask him why he hasn't delivered my package yet. It's shipment GG4QC. Here, take this overflow manifest. You'll be able to find the Graystone Courier at one of those locations.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, LATESHIPMENT) +end + +function FoundPackageYet(NPC, Spawn, conversation) + if HasQuest(Spawn, LATESHIPMENT) then + AddConversationOption(conversation, "I need another copy of the Overflow Manifset.", "NeedManifest") + end + + if (HasCompletedQuest(Spawn, IN_THE_DRINK) and not HasCompletedQuest(Spawn, VISITING_A_FRIEND)) or (HasQuest(Spawn, IN_THE_DRINK) and GetQuestStep(Spawn, IN_THE_DRINK) == 5) then + AddConversationOption(conversation, "Yes. It turns out it had fallen in the water.", "YesFellInWater") + end + + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you found my package yet?") +end + +function NeedManifest(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasItem(Spawn, OVERFLOW_MANIFEST, 1) then + -- Overflow Manifest + SummonItem(Spawn, OVERFLOW_MANIFEST, 1) + + AddConversationOption(conversation, "Thanks!") + StartConversation(conversation, NPC, Spawn, "Here ya go.") + else + AddConversationOption(conversation, "Thanks!") + StartConversation(conversation, NPC, Spawn, "I am certain I already gave it to ya. Make sure you check all your bags, and even the bank.") + end +end + +------------------------------------------------------------------------------------------------------- +-- QUEST 3 +------------------------------------------------------------------------------------------------------- + +function YesFellInWater(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter020.mp3", "", "", 1785241961, 3949656366, Spawn) + AddConversationOption(conversation, "It looks like it made it out all right. The crate looks to have been sealed, I had to swim down and hook up buoys so the Shipping Coordinator could pull them out. Here you go.", "dlg_26_2") + StartConversation(conversation, NPC, Spawn, "Oh no! That's horrible!") +end + +function dlg_26_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter021.mp3", "", "", 578124127, 1198637395, Spawn) + AddConversationOption(conversation, "Oh?", "dlg_26_3") + StartConversation(conversation, NPC, Spawn, "Oh, that's great news. Thanks. Oh, um, this isn't all mine. I think this was meant for you.") +end + +function dlg_26_3(NPC, Spawn) + if HasQuest(Spawn, IN_THE_DRINK) then + SetStepComplete(Spawn, IN_THE_DRINK, 5) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter022.mp3", "", "", 279289992, 1880878619, Spawn) + AddConversationOption(conversation, "Thank you.", "dlg_26_4") + StartConversation(conversation, NPC, Spawn, "Yeah, probably the Shipping Coordinator's way of saying thank you. Here ya go.") +end + +---------------------------------------------------------------------------------------------------- +-- QUEST 4 +---------------------------------------------------------------------------------------------------- + +function dlg_26_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter023.mp3", "", "", 2560698253, 1098321894, Spawn) + AddConversationOption(conversation, "What was it?", "dlg_26_5") + StartConversation(conversation, NPC, Spawn, "No, thank you. This shipment was very important.") +end + +function dlg_26_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter024.mp3", "", "", 2054544634, 3839064950, Spawn) + AddConversationOption(conversation, "Why did your friend send it to you?", "dlg_26_12") + StartConversation(conversation, NPC, Spawn, "An old Halasian weaving. A friend of mine found it on an island off the coast of Everfrost, amazingly intact. It details a family's past.") +end + +function dlg_26_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter025.mp3", "", "", 360206196, 193916319, Spawn) + AddConversationOption(conversation, "That is very lucky.", "dlg_26_13") + StartConversation(conversation, NPC, Spawn, "He recognized some of what was depicted on the weaving. Old wars between two clans, one clan father's disgrace in the public eye, and then his eventual redemption. These images... well, it would seem that this weaving may be from my family, ages ago. We did not have a weaving to show us the past, but we kept the story alive orally. A find like this is... well it's inspirational.") +end + +function dlg_26_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter026.mp3", "", "", 3028697624, 1563266355, Spawn) + AddConversationOption(conversation, "I understand completely.", "dlg_26_14") + StartConversation(conversation, NPC, Spawn, "Luck or fate. I appreciate all your help, but this is something that I wish to look at right away. I don't know how much you know of your own family, but opportunities like this are sacred.") +end + +function dlg_26_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/burk_stoneshatter/qey_village03/quests/burk_stoneshatter/burk_stoneshatter027.mp3", "", "", 467475685, 2498729045, Spawn) + AddConversationOption(conversation, "I will find him.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "While I do this, you should speak with my friend, Jorn Sorefoot. You can probably find him in Oakmyst Forest. I have little doubt he can make use of you, help him like you helped me.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, VISITING_A_FRIEND) +end + +function SpokenToJornYet(NPC, Spawn, conversation) + if HasCompletedQuest(Spawn, VISITING_A_FRIEND) then + AddConversationOption(conversation, "Yes, I have.", "SpokenWithJornYes") + end + + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you spoken with Jorn yet?") +end + +function SpokenWithJornYes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm sure I can handle it.") + StartConversation(conversation, NPC, Spawn, "Ah good, good. I hope he doesn't give ya too much trouble.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/CarpenterJorgieIcearmor.lua b/Lua/SpawnScripts/Graystone/CarpenterJorgieIcearmor.lua new file mode 100755 index 000000000..57c7d2ecb --- /dev/null +++ b/Lua/SpawnScripts/Graystone/CarpenterJorgieIcearmor.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Graystone/CarpenterJorgieIcearmor.lua + Script Purpose : Carpenter Jorgie Icearmor + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/carpenter_jorgie_icearmor/qey_harbor/jorgieicearmor000.mp3", "", "", 2791551387, 1030675041, Spawn) + AddConversationOption(conversation, "I fully agree. I'll let you get back to work!") + StartConversation(conversation, NPC, Spawn, "A good day's work is the measure of worth!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Coppershot.lua b/Lua/SpawnScripts/Graystone/Coppershot.lua new file mode 100755 index 000000000..72bc84585 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Coppershot.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Graystone/Coppershot.lua + Script Purpose : Coppershot + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_coppershot/qey_village03/bartendercoppershot000.mp3", "", "", 2171336743, 1878294501, Spawn) + AddConversationOption(conversation, "I'm not looking for trouble.", "dlg_13_1") + AddConversationOption(conversation, "This is not my kind of place.") + StartConversation(conversation, NPC, Spawn, "If yer comin' in here to fight an' make trouble, the Graystone Watch will toss you out on your backside!") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_coppershot/qey_village03/bartendercoppershot002.mp3", "", "", 3971179899, 2182118596, Spawn) + AddConversationOption(conversation, "Frozen Tundra Tavern? Are you from the northlands?", "dlg_13_2") + AddConversationOption(conversation, "I hear ya.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Frozen Tundra Tavern where the grog flows like the Ocean of Tears.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_coppershot/qey_village03/bartendercoppershot003.mp3", "", "", 2445961475, 534113227, Spawn) + AddConversationOption(conversation, "Sounds wise--good marketing.") + StartConversation(conversation, NPC, Spawn, "I can't stand the ice! Give me halls of stone! The barbarians seem to prefer the name and I prefer their coin.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/DaneSteelfist.lua b/Lua/SpawnScripts/Graystone/DaneSteelfist.lua new file mode 100755 index 000000000..fb1d9422b --- /dev/null +++ b/Lua/SpawnScripts/Graystone/DaneSteelfist.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/DaneSteelfist.lua + Script Purpose : Dane Steelfist + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/barbarian/ft/barbarian/barbarian_eco_garble_garbled_gm_1d4e2601.mp3", "garbled text hail not to be translated", "", 4202912889, 538477897, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Deadeye.lua b/Lua/SpawnScripts/Graystone/Deadeye.lua new file mode 100755 index 000000000..aac8a2979 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Deadeye.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Graystone/Deadeye.lua + Script Purpose : Deadeye + Script Author : John Adams/Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Graystone/DorakEverstock.lua b/Lua/SpawnScripts/Graystone/DorakEverstock.lua new file mode 100755 index 000000000..03e35540c --- /dev/null +++ b/Lua/SpawnScripts/Graystone/DorakEverstock.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/DorakEverstock.lua + Script Purpose : Dorak Everstock + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "I have nothing else to teach you for the moment. Please return to me when you have earned enough experience to choose your profession.", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1054.mp3", "", "", 0, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Dori.lua b/Lua/SpawnScripts/Graystone/Dori.lua new file mode 100755 index 000000000..54c191cd2 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Dori.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/Dori.lua + Script Purpose : Dori + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Greetin's, young'n. My name's Dori and this here is my bank. As a customer of the Qeynos Exchange, you can be certain your money's safe with us!", "", 1689589577, 4560189, Spawn) +end diff --git a/Lua/SpawnScripts/Graystone/DundaFrostgrip.lua b/Lua/SpawnScripts/Graystone/DundaFrostgrip.lua new file mode 100755 index 000000000..a9a28b645 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/DundaFrostgrip.lua @@ -0,0 +1,172 @@ +--[[ + Script Name : SpawnScripts/Graystone/DundaFrostgrip.lua + Script Purpose : Dunda Frostgrip + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +-- Quest ID's +local DWARF_MENTOR_QUEST_2 = 285 +local A_TIME_FOR_FIGHTING = 289 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, A_TIME_FOR_FIGHTING) then + Say(NPC, "Don't say a word...", Spawn) + elseif HasQuest(Spawn, A_TIME_FOR_FIGHTING) then + WhatYaNeed(NPC, Spawn) + elseif HasQuest(Spawn, DWARF_MENTOR_QUEST_2) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_2, 4) then + WhatYaNeedDwarfMentor(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quest_dunda_frostgrip_notonquest_76053892.mp3", "Speak to me when I'm not busy.", "", 2450838370, 1763279146, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.25 then + SpawnSet(NPC, "attackable", 0) + SpawnSet(NPC, "show_level", 0) + AddTimer(NPC, 500, "StopAttacking", 1, Spawn) + end +end + +function StopAttacking(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quest_dunda_frostgrip_fightover_b27b5c58.mp3", "I'm done with this.", "", 3523983921, 3545323168, Spawn) + ClearHate(NPC) + ClearEncounter(NPC) +end + +function WhatYaNeed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not QuestStepIsComplete(Spawn, A_TIME_FOR_FIGHTING, 3) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip008.mp3", "", "", 2498530124, 1746867227, Spawn) + AddConversationOption(conversation, "Wow, Mav was right about your face.", "dlg_12_1") + AddConversationOption(conversation, "Is that a beard you're growing?", "dlg_9_1") + AddConversationOption(conversation, "Wow, how did you get such huge feet?", "dlg_10_1") + AddConversationOption(conversation, "You don't look nearly as tough as they said you would be.", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "What d'ya need?") + else + Say(NPC, "Don't say a word...", Spawn) + end +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip008answer1.mp3", "", "", 3631592040, 195858381, Spawn) + AddConversationOption(conversation, "Hmm...") + StartConversation(conversation, NPC, Spawn, "I doubt it...") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip008answer2.mp3", "", "", 2237464189, 736160534, Spawn) + AddConversationOption(conversation, "I see.") + StartConversation(conversation, NPC, Spawn, "From stompin' on people who ask stupid questions.") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip008answer3.mp3", "", "", 1987182135, 3106357829, Spawn) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "I don't do demonstrations.") +end + +function dlg_12_1(NPC, Spawn) + SetStepComplete(Spawn, A_TIME_FOR_FIGHTING, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + AddHate(Spawn, NPC, 1) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip008rightanswer.mp3", "", "", 3574859245, 2281348015, Spawn) + AddConversationOption(conversation, "Maybe I will, maybe I won't!") + StartConversation(conversation, NPC, Spawn, "You're going to regret saying that!") +end + +--------------------------------------------------------------------------------------------------- +-- DWARF_MENTOR_QUEST_2 +--------------------------------------------------------------------------------------------------- + +function WhatYaNeedDwarfMentor(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip001.mp3", "", "", 3913280792, 2412954203, Spawn) + AddConversationOption(conversation, "I'm here on behalf of Mav Boilfist.", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "What d'ya need?") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip002.mp3", "", "", 898341792, 808534895, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "Ah, now there's a name I can never hear too little of.") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip003.mp3", "", "", 472358004, 1704786028, Spawn) + AddConversationOption(conversation, "Retaliate?", "dlg_19_3") + StartConversation(conversation, NPC, Spawn, "Every time I hear about her it's about some great, new thing she's doing. Which of course means I have to retaliate.") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip004.mp3", "", "", 2206438265, 2359391170, Spawn) + AddConversationOption(conversation, "She brewed some of her family's recipe.", "dlg_19_4") + StartConversation(conversation, NPC, Spawn, "Aye! If I don't one-up her I run the risk of getting one-upped twice in a row, can't have that. So, tell me, what great, new thing has Mav done now?") +end + +function dlg_19_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip005.mp3", "", "", 2257066250, 240363088, Spawn) + AddConversationOption(conversation, "I have some of it right here.", "dlg_19_5") + StartConversation(conversation, NPC, Spawn, "She didn't! Ooh she's just looking for trouble now. Where is she? I'll pound the brew right now!") +end + +function dlg_19_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip006.mp3", "", "", 886091575, 2730616060, Spawn) + AddConversationOption(conversation, "Here you go. Be careful.", "dlg_19_6") + StartConversation(conversation, NPC, Spawn, "Ah, give it to me!") +end + +function dlg_19_6(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_2, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/dunda_frostgrip/qey_village03/quests/dunda_frostgrip/dunda_frostgrip007.mp3", "", "", 1318899535, 405657367, Spawn) + AddConversationOption(conversation, "All right. I'll be leaving now.") + StartConversation(conversation, NPC, Spawn, "Ahhh... To Drunder with her, she was right. This is delicious. Do NOT tell her I said that!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Fenris.lua b/Lua/SpawnScripts/Graystone/Fenris.lua new file mode 100755 index 000000000..1535b4f04 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Fenris.lua @@ -0,0 +1,134 @@ +--[[ + Script Name : Fenris.lua + Script Purpose : Waypoint Path for Fenris.lua + Script Author : Jabantiz + Script Date : 6/10/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 890.57, -22.61, -91.98, 2, 15, "Sit1") + MovementLoopAddLocation(NPC, 897.12, -22.61, -104.66, 2, 0) + MovementLoopAddLocation(NPC, 897.11, -22.36, -106.09, 2, 0) + MovementLoopAddLocation(NPC, 895.89, -22.37, -107.83, 2, 0) + MovementLoopAddLocation(NPC, 893.84, -22.3, -109.15, 2, 0) + MovementLoopAddLocation(NPC, 892.03, -22.3, -109.09, 2, 0) + MovementLoopAddLocation(NPC, 890.05, -22.32, -107.88, 2, 0) + MovementLoopAddLocation(NPC, 887.18, -22.26, -100.18, 2, 0) + MovementLoopAddLocation(NPC, 883.81, -23.15, -100.39, 2, 0) + MovementLoopAddLocation(NPC, 879.82, -24.97, -101.7, 2, 0) + MovementLoopAddLocation(NPC, 871.36, -24.96, -102.91, 2, 0) + MovementLoopAddLocation(NPC, 861.08, -24.95, -104.77, 2, 10, "Sit2") + MovementLoopAddLocation(NPC, 852.72, -24.96, -106.63, 2, 0) + MovementLoopAddLocation(NPC, 849.94, -23.89, -107.24, 2, 0) + MovementLoopAddLocation(NPC, 847.42, -23.05, -108.03, 2, 0) + MovementLoopAddLocation(NPC, 845.49, -23.25, -109.36, 2, 0) + MovementLoopAddLocation(NPC, 845.11, -22.6, -114.25, 2, 0) + MovementLoopAddLocation(NPC, 845.44, -22.84, -123.11, 2, 0) + MovementLoopAddLocation(NPC, 845.86, -22.97, -126.09, 2, 0) + MovementLoopAddLocation(NPC, 846.19, -23.96, -128.42, 2, 0) + MovementLoopAddLocation(NPC, 846.64, -25.38, -131.64, 2, 0) + MovementLoopAddLocation(NPC, 847.11, -24.78, -135.05, 2, 0) + MovementLoopAddLocation(NPC, 848.51, -24.32, -137.19, 2, 0) + MovementLoopAddLocation(NPC, 850.58, -24.28, -140.58, 2, 0) + MovementLoopAddLocation(NPC, 853.19, -24.22, -144.99, 2, 0) + MovementLoopAddLocation(NPC, 853.77, -24.2, -147.17, 2, 0) + MovementLoopAddLocation(NPC, 853.72, -24.17, -149.2, 2, 0) + MovementLoopAddLocation(NPC, 853.48, -24.17, -150.48, 2, 0) + MovementLoopAddLocation(NPC, 852.08, -24.19, -152.17, 2, 0) + MovementLoopAddLocation(NPC, 849.66, -24.24, -153.3, 2, 0) + MovementLoopAddLocation(NPC, 845.21, -24.42, -153.66, 2, 0) + MovementLoopAddLocation(NPC, 827.11, -25, -153.24, 2, 0) + MovementLoopAddLocation(NPC, 820.85, -25.22, -151.96, 2, 0) + MovementLoopAddLocation(NPC, 814.31, -25.49, -154.51, 2, 15, "Sit3") + MovementLoopAddLocation(NPC, 816.69, -25.32, -158.6, 2, 0) + MovementLoopAddLocation(NPC, 821.84, -24.77, -161.63, 2, 0) + MovementLoopAddLocation(NPC, 829.39, -24.7, -162.63, 2, 0) + MovementLoopAddLocation(NPC, 835.25, -24.79, -163.82, 2, 0) + MovementLoopAddLocation(NPC, 839.43, -24.77, -165.85, 2, 0) + MovementLoopAddLocation(NPC, 846.04, -24.2, -169.07, 2, 0) + MovementLoopAddLocation(NPC, 855.77, -23.15, -173.79, 2, 25, "Sit4") + MovementLoopAddLocation(NPC, 850.79, -24.02, -167.99, 2, 0) + MovementLoopAddLocation(NPC, 846.71, -24.7, -165.4, 2, 0) + MovementLoopAddLocation(NPC, 841.78, -25.21, -162.26, 2, 0) + MovementLoopAddLocation(NPC, 843.77, -25.48, -157.36, 2, 0) + MovementLoopAddLocation(NPC, 850.28, -25.45, -156.18, 2, 0) + MovementLoopAddLocation(NPC, 857.37, -25.45, -156.42, 2, 0) + MovementLoopAddLocation(NPC, 870.36, -25.45, -156.48, 2, 0) + MovementLoopAddLocation(NPC, 876.36, -24.92, -155.68, 2, 0) + MovementLoopAddLocation(NPC, 881.79, -24.94, -154.19, 2, 0) + MovementLoopAddLocation(NPC, 885.01, -24.79, -148.67, 2, 0) + MovementLoopAddLocation(NPC, 888.47, -23.69, -143.96, 2, 0) + MovementLoopAddLocation(NPC, 889.57, -22.69, -139.54, 2, 0) + MovementLoopAddLocation(NPC, 887.99, -22.21, -135.03, 2, 0) + MovementLoopAddLocation(NPC, 884.02, -22.21, -134.61, 2, 0) + MovementLoopAddLocation(NPC, 878.39, -22.21, -138.6, 2, 0) + MovementLoopAddLocation(NPC, 873.59, -22.21, -143.68, 2, 0) + MovementLoopAddLocation(NPC, 857.84, -22.21, -147.08, 2, 20, "Sit5") + MovementLoopAddLocation(NPC, 860.97, -22.21, -143.65, 2, 0) + MovementLoopAddLocation(NPC, 867.53, -22.21, -140.44, 2, 0) + MovementLoopAddLocation(NPC, 880.95, -22.21, -137.49, 2, 0) + MovementLoopAddLocation(NPC, 890.11, -22.01, -136.9, 2, 0) + MovementLoopAddLocation(NPC, 893.75, -22.56, -134.41, 2, 0) + MovementLoopAddLocation(NPC, 896.32, -22.46, -127.99, 2, 0) + MovementLoopAddLocation(NPC, 899.45, -22.32, -119.8, 2, 0) + MovementLoopAddLocation(NPC, 902.52, -22.3, -111.96, 2, 0) + MovementLoopAddLocation(NPC, 902.61, -22.4, -102.31, 2, 0) + MovementLoopAddLocation(NPC, 900.04, -22.4, -92.91, 2, 0) + MovementLoopAddLocation(NPC, 897.25, -22.4, -86.65, 2, 0) + MovementLoopAddLocation(NPC, 894.65, -22.22, -86.07, 2, 0) + MovementLoopAddLocation(NPC, 891.35, -22.61, -87.19, 2, 0) + MovementLoopAddLocation(NPC, 889.13, -22.61, -88.2, 2, 0) +end + +function Sit(NPC, Time) + PlayAnimation(NPC, 538) + SpawnSet(NPC, "action_state", "540") + AddTimer(NPC, Time, "EndSit") +end + +function EndSit(NPC) + PlayAnimation(NPC, 539) + SpawnSet(NPC, "action_state", "0") +end + +function Sit1(NPC) + Sit(NPC, 10000) +end + + +function Sit2(NPC) + SpawnSet(NPC, "heading", "172.81") + Sit(NPC, 8000) +end + + +function Sit3(NPC) + SpawnSet(NPC, "heading", "180.48") + Sit(NPC, 12000) +end + + +function Sit4(NPC) + SpawnSet(NPC, "heading", "331.89") + Sit(NPC, 20000) +end + + +function Sit5(NPC) + SpawnSet(NPC, "heading", "50.98") + Sit(NPC, 15000) +end + + diff --git a/Lua/SpawnScripts/Graystone/Fiercecry.lua b/Lua/SpawnScripts/Graystone/Fiercecry.lua new file mode 100755 index 000000000..69b192625 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Fiercecry.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/Fiercecry.lua + Script Purpose : Fiercecry + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "We are the Graystone Watch. We're here to prevent trouble in our village.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Frerin.lua b/Lua/SpawnScripts/Graystone/Frerin.lua new file mode 100755 index 000000000..d0469b24f --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Frerin.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Graystone/Frerin.lua + Script Purpose : Frerin + Script Author : John Adams/Scatman + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/dwarf/dwarf_eco_good_1_hail_gm_f593b7f4.mp3", "I prefer the dark, freshly dug tunnels underground, but I guess this city will do.", "shrug", 2336463438, 545977097, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/dwarf/dwarf_eco_good_1_hail_gm_18f9b118.mp3", "Oh! You snuck up on me. Good to see you.", "doubletake", 2049370386, 4131204607, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/dwarf/dwarf_eco_good_1_hail_gm_4a5e53d4.mp3", "Sure, sometimes it seems like I'm sober, but trust me, I'm not.", "wink", 2723897486, 2019496108, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Friskit.lua b/Lua/SpawnScripts/Graystone/Friskit.lua new file mode 100755 index 000000000..57c073e61 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Friskit.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Graystone/Friskit.lua + Script Purpose : Friskit + Script Author : Scatman + Script Date : 2009.05.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 852.34, -23.79, -147.56, 3, 0) + MovementLoopAddLocation(NPC, 854.18, -24.23, -152.11, 3, 0) + MovementLoopAddLocation(NPC, 866.69, -22.48, -152.71, 3, 0) + MovementLoopAddLocation(NPC, 876.82, -24.92, -152.7, 3, 0) + MovementLoopAddLocation(NPC, 886.12, -24.47, -145.53, 3, 0) + MovementLoopAddLocation(NPC, 891.32, -22.64, -141, 3, 0) + MovementLoopAddLocation(NPC, 897.25, -22.33, -122.34, 3, math.random(5, 30)) + MovementLoopAddLocation(NPC, 888.65, -22.26, -98.61, 3, 0) + MovementLoopAddLocation(NPC, 886.03, -22.15, -98.35, 3, 0) + MovementLoopAddLocation(NPC, 880.78, -24.5, -100.12, 3, 0) + MovementLoopAddLocation(NPC, 866.08, -24.99, -105.47, 3, 0) + MovementLoopAddLocation(NPC, 852.66, -24.95, -105.34, 3, 0) + MovementLoopAddLocation(NPC, 847.61, -23.04, -107.87, 3, 0) + MovementLoopAddLocation(NPC, 843.25, -22.49, -114.5, 3, 0) + MovementLoopAddLocation(NPC, 838.41, -20.73, -114.15, 3, 0) + MovementLoopAddLocation(NPC, 834.11, -20.97, -120.78, 3, math.random(5, 30)) + MovementLoopAddLocation(NPC, 839.23, -20.93, -130.53, 3, 0) + MovementLoopAddLocation(NPC, 839.13, -20.93, -142.28, 3, 0) + MovementLoopAddLocation(NPC, 841.17, -20.86, -143.26, 3, 0) + MovementLoopAddLocation(NPC, 844.56, -22.54, -144.9, 3, 0) + MovementLoopAddLocation(NPC, 843.44, -22.55, -147.44, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/GnorFarven.lua b/Lua/SpawnScripts/Graystone/GnorFarven.lua new file mode 100755 index 000000000..82dc194be --- /dev/null +++ b/Lua/SpawnScripts/Graystone/GnorFarven.lua @@ -0,0 +1,77 @@ +--[[ + Script Name : SpawnScripts/Graystone/GnorFarven.lua + Script Purpose : Gnor Farven + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +local DWARF_MENTOR_QUEST_2 = 285 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + GenericHail(NPC, Spawn) + + if HasQuest(Spawn, DWARF_MENTOR_QUEST_2) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_2, 2) then + LikinTheViewAreYa(NPC, Spawn, conversation) + else + Say(NPC, "Sorry, it's near impossible for me to drink and talk at the same time.", Spawn) + end +end + +function LikinTheViewAreYa(NPC, Spawn, conversation) + AddConversationOption(conversation, "Mav made some of her family recipe.", "dlg_17_1") + StartConversation(conversation, NPC, Spawn, "Likin' the view, are ya? Hah hah!") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well, prepare to find out. I have some of the brew right here.", "dlg_17_2") + StartConversation(conversation, NPC, Spawn, "So she finally made good on her promise! It's about time. I'm going to have to schedule an appointment with her, cause I'm sure that's what it'll take to try some of this magical brew of hers. You know she says it can knock an ogre on 'is back, I dun' believe it though.") +end + +function dlg_17_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Here you go.", "dlg_17_3") + StartConversation(conversation, NPC, Spawn, "Oy! Fill 'er up then why don't ya! If it's half as good as Mav describes it it'll have been worth the wait.") +end + +function dlg_17_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How is it?", "dlg_17_4") + StartConversation(conversation, NPC, Spawn, "Hold your chairs 'cause here I go!") +end + +function dlg_17_4(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_2, 2) + + -- knockeddowntoknees + SpawnSet(NPC, "visual_state", 11764) + AddTimer(NPC, 3000, "RemoveVisualState") + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Oooooh-wee, that'll make ya warm at night. She was right about it. I can't wait until she goes into business. Best brew this side of Kaladim. Hah, no offense, Coppershot! Thanks for bringing it to me!") +end + +function RemoveVisualState(NPC) + SpawnSet(NPC, "visual_state", 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/GolanPanicward.lua b/Lua/SpawnScripts/Graystone/GolanPanicward.lua new file mode 100755 index 000000000..73fed74a8 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/GolanPanicward.lua @@ -0,0 +1,92 @@ +--[[ + Script Name : SpawnScripts/Graystone/GolanPanicward.lua + Script Purpose : Golan Panicward + Script Author : John Adams/Scatman/Jabantiz + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 897.25, -22.61, -100.86, 2, 0) + MovementLoopAddLocation(NPC, 900.33, -22.36, -106.33, 2, 0) + MovementLoopAddLocation(NPC, 902.31, -22.3, -112.29, 2, 10, "FaceStone") + MovementLoopAddLocation(NPC, 900.97, -22.31, -115.43, 2, 0) + MovementLoopAddLocation(NPC, 898.34, -22.32, -119.24, 2, 0) + MovementLoopAddLocation(NPC, 896.53, -22.46, -124.49, 2, 0) + MovementLoopAddLocation(NPC, 895.65, -22.48, -130.99, 2, 0) + MovementLoopAddLocation(NPC, 892.92, -22.61, -136.48, 2, 0) + MovementLoopAddLocation(NPC, 887.66, -22.21, -137.06, 2, 0) + MovementLoopAddLocation(NPC, 881.79, -22.21, -140.53, 2, 0) + MovementLoopAddLocation(NPC, 877.09, -22.21, -145.92, 2, 0) + MovementLoopAddLocation(NPC, 865.75, -22.21, -148.23, 2, 10) + MovementLoopAddLocation(NPC, 865.72, -22.5, -151.71, 2, 0) + MovementLoopAddLocation(NPC, 861.1, -23.27, -151.98, 2, 0) + MovementLoopAddLocation(NPC, 855.63, -24.24, -151.78, 2, 0) + MovementLoopAddLocation(NPC, 852.81, -24.12, -147.26, 2, 0) + MovementLoopAddLocation(NPC, 850.67, -23.08, -147.17, 2, 0) + MovementLoopAddLocation(NPC, 848.2, -22.35, -147.01, 2, 0) + MovementLoopAddLocation(NPC, 844.73, -22.49, -143.91, 2, 0) + MovementLoopAddLocation(NPC, 842.99, -21.61, -143.39, 2, 0) + MovementLoopAddLocation(NPC, 841.07, -20.86, -142.96, 2, 0) + MovementLoopAddLocation(NPC, 836.9, -20.93, -143.56, 2, 0) + MovementLoopAddLocation(NPC, 833.3, -20.93, -143.42, 2, 10) + MovementLoopAddLocation(NPC, 833.14, -20.93, -139.68, 2, 0) + MovementLoopAddLocation(NPC, 835.57, -20.93, -135.04, 2, 0) + MovementLoopAddLocation(NPC, 838.23, -20.93, -130.37, 2, 0) + MovementLoopAddLocation(NPC, 834.81, -20.93, -125.75, 2, 0) + MovementLoopAddLocation(NPC, 834.59, -20.97, -122.12, 2, 0) + MovementLoopAddLocation(NPC, 834.97, -20.9, -117.55, 2, 0) + MovementLoopAddLocation(NPC, 837.63, -20.74, -115.58, 2, 0) + MovementLoopAddLocation(NPC, 840.33, -21.69, -116.32, 2, 0) + MovementLoopAddLocation(NPC, 842.43, -22.72, -118.97, 2, 0) + MovementLoopAddLocation(NPC, 844.62, -22.8, -121.65, 2, 10) + MovementLoopAddLocation(NPC, 845.72, -22.67, -117.15, 2, 0) + MovementLoopAddLocation(NPC, 845.78, -22.95, -111.79, 2, 0) + MovementLoopAddLocation(NPC, 847.22, -23.15, -108.4, 2, 0) + MovementLoopAddLocation(NPC, 849.93, -23.89, -107.18, 2, 0) + MovementLoopAddLocation(NPC, 853.28, -24.96, -105.86, 2, 0) + MovementLoopAddLocation(NPC, 866.22, -24.97, -102.99, 2, 0) + MovementLoopAddLocation(NPC, 879.33, -24.95, -100.31, 2, 0) + MovementLoopAddLocation(NPC, 882.84, -23.48, -99.63, 2, 0) + MovementLoopAddLocation(NPC, 885.95, -22.05, -99.03, 2, 0) + MovementLoopAddLocation(NPC, 889.06, -22.27, -101.34, 2, 0) + MovementLoopAddLocation(NPC, 891.2, -22.3, -107.62, 2, 0) + MovementLoopAddLocation(NPC, 895.77, -22.37, -108.66, 2, 0) + MovementLoopAddLocation(NPC, 896.51, -22.37, -105.48, 2, 0) + MovementLoopAddLocation(NPC, 896.03, -22.61, -102.33, 2, 0) + MovementLoopAddLocation(NPC, 893.32, -22.61, -98.13, 2, 0) + MovementLoopAddLocation(NPC, 891.33, -22.61, -94.38, 2, 10) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "Haha, I saw you! I'm not one to fall for the same thing three times.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Ah, what I wouldn't give to cradle a mug of good Dwarven Ale just now.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "A hard day of adventuring makes one long for home, don't it?", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Only elves would build a city high up in the trees without any railing!", "", 1689589577, 4560189, Spawn) + end + end +end + +function FaceStone(NPC) + SpawnSet(NPC, "heading", "52.65") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/GraystoneCourierDirvel.lua b/Lua/SpawnScripts/Graystone/GraystoneCourierDirvel.lua new file mode 100755 index 000000000..75e7ed3a1 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/GraystoneCourierDirvel.lua @@ -0,0 +1,130 @@ +--[[ + Script Name : GraystoneCourierDirvel.lua + Script Purpose : Graystone Courier Dirvel + Script Author : John Adams + Script Date : 2008.09.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local LATESHIPMENT = 290 + +function spawn(NPC) + x = GetX(NPC) + y = GetY(NPC) + z = GetZ(NPC) + speed = 2 + + MovementLoopAddLocation(NPC, 893.94, -22.61, -94.81 , speed , 0) + MovementLoopAddLocation(NPC, 902.19, -20.30, -109.66, speed , 0) + MovementLoopAddLocation(NPC, 907.59, -20.69, -104.74, speed , 0) + MovementLoopAddLocation(NPC, 915.84, -20.69, -110.29, speed , 0) + MovementLoopAddLocation(NPC, 928.15, -20.69, -102.77, speed , 10, "RandomSay") + + MovementLoopAddLocation(NPC, 915.84, -20.69, -110.29, speed , 0) + MovementLoopAddLocation(NPC, 907.29, -20.69, -103.76, speed , 0) + MovementLoopAddLocation(NPC, 901.93, -22.30, -109.13, speed , 0) + MovementLoopAddLocation(NPC, 893.20, -22.59, -137.26, speed , 0) + MovementLoopAddLocation(NPC, 901.23, -24.98, -141.01, speed , 0) + MovementLoopAddLocation(NPC, 901.06, -24.93, -148.05, speed , 0) + MovementLoopAddLocation(NPC, 915.60, -25.09, -151.09, speed , 0) + MovementLoopAddLocation(NPC, 915.15, -25.11, -156.50, speed , 10, "RandomSay") + + MovementLoopAddLocation(NPC, 914.66, -25.10, -154.91, speed , 0) + MovementLoopAddLocation(NPC, 902.56, -24.95, -152.20, speed , 0) + MovementLoopAddLocation(NPC, 893.19, -24.93, -145.26, speed , 10, "RandomSay") + + MovementLoopAddLocation(NPC, 891.17, -24.85, -151.09, speed , 0) + MovementLoopAddLocation(NPC, 855.96, -24.26, -152.24, speed , 0) + MovementLoopAddLocation(NPC, 852.41, -23.86, -147.34, speed , 0) + MovementLoopAddLocation(NPC, 841.00, -22.55, -145.98, speed , 0) + MovementLoopAddLocation(NPC, 836.97, -24.55, -146.77, speed , 10, "RandomSay") + + MovementLoopAddLocation(NPC, 845.45, -22.55, -145.01, speed , 0) + MovementLoopAddLocation(NPC, 839.41, -20.93, -142.88, speed , 0) + MovementLoopAddLocation(NPC, 837.49, -20.94, -128.26, speed , 0) + MovementLoopAddLocation(NPC, 817.20, -20.93, -108.95, speed , 0) + MovementLoopAddLocation(NPC, 814.64, -20.93, -94.23 , speed , 10, "RandomSay") + + MovementLoopAddLocation(NPC, 827.58, -20.93, -85.46 , speed , 0) + MovementLoopAddLocation(NPC, 845.79, -20.90, -97.16 , speed , 0) + MovementLoopAddLocation(NPC, 838.72, -20.72, -112.23, speed , 0) + MovementLoopAddLocation(NPC, 844.59, -22.77, -112.91, speed , 0) + MovementLoopAddLocation(NPC, 846.77, -23.25, -107.80, speed , 0) + MovementLoopAddLocation(NPC, 886.70, -22.25, -98.83 , speed , 0) + MovementLoopAddLocation(NPC, 896.03, -22.37, -109.00, speed , 0) + MovementLoopAddLocation(NPC, 897.60, -22.61, -102.00, speed , 0) + MovementLoopAddLocation(NPC, 893.94, -22.61, -94.81 , speed , 0) + MovementLoopAddLocation(NPC, x , y , z , speed , 10, "RandomSay") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, LATESHIPMENT) and GetQuestStep(Spawn, LATESHIPMENT) == 2 then + BusyWithQuest(NPC, Spawn) + else + Say(NPC, "Please come back later. I am very, very busy.", Spawn) + end +end + +function BusyWithQuest(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/graystone_courier_dirvel/qey_village03/quests/graystone_courier/graystone_courier001.mp3", "", "", 2607292878, 3490339113, Spawn) + AddConversationOption(conversation, "I have a question about some packages.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Please come back later. I am very, very busy.") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/graystone_courier_dirvel/qey_village03/quests/graystone_courier/graystone_courier002.mp3", "", "", 2049714213, 2524717150, Spawn) + AddConversationOption(conversation, "Shipment GG4QC doesn't seem to be in the overflow manifest, but it was delivered here.", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "All right, but make it quick, I'm way behind.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/graystone_courier_dirvel/qey_village03/quests/graystone_courier/graystone_courier003.mp3", "", "", 3702985817, 3417442042, Spawn) + AddConversationOption(conversation, "Who might I talk to?", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "Yeah? I really wouldn't know much about anything that doesn't appear in the overflow manifest. I won't be working outside of overflow for some time now.") +end + +function dlg_15_3(NPC, Spawn) + SetStepComplete(Spawn, LATESHIPMENT, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/graystone_courier_dirvel/qey_village03/quests/graystone_courier/graystone_courier004.mp3", "", "", 492636347, 242481980, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "You'll have to talk to the Shipping Coordinator. He'll know what happened to the shipment. You can find him on the docks.") +end + +function RandomSay(NPC) + choice = math.random(1, 7) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/graystone_courier_dirvel/qey_village03/quest_graystone_courier_blarg_366d0c73.mp3", "I need a break like Lucan needs a vacation.", "", 2879789175, 2017987376) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/graystone_courier_dirvel/qey_village03/quest_graystone_courier_blarg_4829cb8c.mp3", "Hey, look at that! Another late package. Who would've thought, huh?", "", 4258041512, 25774857) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/graystone_courier_dirvel/qey_village03/quest_graystone_courier_blarg_6b384f5f.mp3", "Wow, this shipment is days old!", "", 3859597953, 2582422318) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/graystone_courier_dirvel/qey_village03/quest_graystone_courier_blarg_b8328015.mp3", "Goodness, I don't think I'll ever get done with this work.", "", 1615569956, 1679588116) + elseif choice == 5 then + PlayFlavor(Spawn, "voiceover/english/voice_emotes/greetings/greetings_3_1002.mp3", "", "", 0, 0) + elseif choice == 6 then + Say(NPC, "Why did I ever accept this job?") + elseif choice == 7 then + Say(NPC, "There has to be a more efficient way of doing this.") + else + Say(NPC, "Noob scatman did this wrong.") + end +end diff --git a/Lua/SpawnScripts/Graystone/GruffinGoldtooth.lua b/Lua/SpawnScripts/Graystone/GruffinGoldtooth.lua new file mode 100755 index 000000000..578fa2406 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/GruffinGoldtooth.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Graystone/GruffinGoldtooth.lua + Script Purpose : Gruffin Goldtooth + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gruffin_goldtooth/qey_village03/gruffingoldtooth001.mp3", "", "", 997482113, 2338709603, Spawn) + AddConversationOption(conversation, "I'll leave you to your work.") + StartConversation(conversation, NPC, Spawn, "Hey there, young 'in. Don't mind ole' Gruffin. I'm just inspecting these here mineral veins. This bedrock is going to be especially useful for building new homes for refugees and citizens alike.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Guile.lua b/Lua/SpawnScripts/Graystone/Guile.lua new file mode 100755 index 000000000..73ea055b8 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Guile.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/Graystone/Guile.lua + Script Purpose : Guile + Script Author : Scatman + Script Date : 2009.05.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 886.42, -24.78, -152.29, 3, 0) + MovementLoopAddLocation(NPC, 884.14, -24.78, -145.06, 3, 0) + MovementLoopAddLocation(NPC, 890.71, -22.63, -139.72, 3, 0) + MovementLoopAddLocation(NPC, 887.87, -22.21, -136.36, 3, 0) + MovementLoopAddLocation(NPC, 873.4, -22.21, -145.66, 3, 0) + MovementLoopAddLocation(NPC, 858.6, -22.21, -145.22, 3, 0) + MovementLoopAddLocation(NPC, 851.72, -22.21, -135.45, 3, math.random(5, 30)) + MovementLoopAddLocation(NPC, 849.11, -22.01, -123.11, 3, 0) + MovementLoopAddLocation(NPC, 845.08, -22.77, -120.82, 3, 0) + MovementLoopAddLocation(NPC, 846.78, -23.25, -108.07, 3, 0) + MovementLoopAddLocation(NPC, 852.16, -24.75, -106.6, 3, 0) + MovementLoopAddLocation(NPC, 879.54, -24.95, -100.6, 3, 0) + MovementLoopAddLocation(NPC, 886.11, -22.07, -99.21, 3, 0) + MovementLoopAddLocation(NPC, 893.11, -22.3, -106.56, 3, 0) + MovementLoopAddLocation(NPC, 891.82, -22.31, -113.76, 3, math.random(5, 30)) + MovementLoopAddLocation(NPC, 896.66, -22.32, -118.73, 3, 0) + MovementLoopAddLocation(NPC, 895.96, -22.53, -137.98, 3, 0) + MovementLoopAddLocation(NPC, 900.89, -24.98, -140.53, 3, 0) + MovementLoopAddLocation(NPC, 904.77, -24.94, -145.13, 3, 0) + MovementLoopAddLocation(NPC, 901.79, -24.94, -152.61, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/GurnaHadel.lua b/Lua/SpawnScripts/Graystone/GurnaHadel.lua new file mode 100755 index 000000000..4c8650128 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/GurnaHadel.lua @@ -0,0 +1,77 @@ +--[[ + Script Name : SpawnScripts/Graystone/GurnaHadel.lua + Script Purpose : Gurna Hadel + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +local DWARF_MENTOR_QUEST_2 = 285 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + GenericHail(NPC, Spawn) + + if HasQuest(Spawn, DWARF_MENTOR_QUEST_2) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_2, 3) then + GotSomethingForMe(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "", "Come back when you've got brew!", "", 1689589577, 4560189, Spawn) + end +end + +function GotSomethingForMe(NPC, Spawn, conversation) + AddConversationOption(conversation, "A pint, compliments of Mav.", "dlg_18_1") + StartConversation(conversation, NPC, Spawn, "'Ave ya got something for me?") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yup, her family recipe.", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "Her brew, then? Has she finally made some?") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well the day has finally come! She's ready for everyone to try it.", "dlg_18_3") + StartConversation(conversation, NPC, Spawn, "Good! Took her long enough. I was worried she was just making it all up, I kind of felt sorry for her!") +end + +function dlg_18_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right. I hope you're ready.", "dlg_18_4") + StartConversation(conversation, NPC, Spawn, "Fill me up!") +end + +function dlg_18_4(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_2, 3) + + -- cringe + SpawnSet(NPC, "visual_state", 11256) + AddTimer(NPC, 3000, "RemoveVisualState") + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Will do.") + StartConversation(conversation, NPC, Spawn, "It's got some bite, don't it now? I think I'll be feeling that for a few days to come, give Mav my compliments!") +end + +function RemoveVisualState(NPC) + SpawnSet(NPC, "visual_state", 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/HarganIcethaw.lua b/Lua/SpawnScripts/Graystone/HarganIcethaw.lua new file mode 100755 index 000000000..52373618a --- /dev/null +++ b/Lua/SpawnScripts/Graystone/HarganIcethaw.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Graystone/HarganIcethaw.lua + Script Purpose : Hargan Icethaw + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/hargan_icethaw/qey_village03/harganicethaw000.mp3", "", "", 3849445120, 4083065151, Spawn) + AddConversationOption(conversation, "No, I think it's just you. I'll let you get back to what you're doing.") + StartConversation(conversation, NPC, Spawn, "Ahhhh ... Nothing's more rewarding than building up a good, hearty sweat after a long day's work!") +end + diff --git a/Lua/SpawnScripts/Graystone/InnkeeperRothskild.lua b/Lua/SpawnScripts/Graystone/InnkeeperRothskild.lua new file mode 100755 index 000000000..9653390a6 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/InnkeeperRothskild.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Graystone/InnkeeperRothskild.lua + Script Purpose : Innkeeper Rothskild + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/qey_village03/innkeeper001.mp3", "", "", 1149132848, 2425114450, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello there " .. GetName(Spawn) .. ", what can I help you with?") +end diff --git a/Lua/SpawnScripts/Graystone/Ironmallet.lua b/Lua/SpawnScripts/Graystone/Ironmallet.lua new file mode 100755 index 000000000..567a55949 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Ironmallet.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Graystone/Ironmallet.lua + Script Purpose : Ironmallet + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/mender_ironmallet/qey_village03/menderironmallet000.mp3", "", "", 296833708, 2408095573, Spawn) + AddConversationOption(conversation, "I am sure you will get that name someday.") + StartConversation(conversation, NPC, Spawn, "I'm just the help around here. But someday I will have my own forge ... Ironmallet's House of ... er ... well ... something! The name will come to me someday.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Jenison.lua b/Lua/SpawnScripts/Graystone/Jenison.lua new file mode 100755 index 000000000..dd8b37e4c --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Jenison.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Graystone/Jenison.lua + Script Purpose : Jenison + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Graystone/Jodi.lua b/Lua/SpawnScripts/Graystone/Jodi.lua new file mode 100755 index 000000000..02abb6055 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Jodi.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/Jodi.lua + Script Purpose : Jodi + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/jodi/qey_village03/100_customer_human_jodi_multhail1_ef852e92.mp3", "Hmmm... I think I'll pick up the potions myself.", "", 1168503261, 3143676939, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/KargIcemoore.lua b/Lua/SpawnScripts/Graystone/KargIcemoore.lua new file mode 100755 index 000000000..4255b5bbe --- /dev/null +++ b/Lua/SpawnScripts/Graystone/KargIcemoore.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Graystone/KargIcemoore.lua + Script Purpose : Karg Icemoore + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/icemoore/qey_village03/icemoore000.mp3", "", "", 2067185427, 1499529819, Spawn) + AddConversationOption(conversation, "I'll look around.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Frozen Tundra, finest brewhall in all of Qeynos--no--finest brewhall in all of Norrath!! Belly up to Coppershot. He'll get yer order.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Kaya.lua b/Lua/SpawnScripts/Graystone/Kaya.lua new file mode 100755 index 000000000..1266d5e7a --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Kaya.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Graystone/Kaya.lua + Script Purpose : Kaya + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1, 4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_2/ft/service/weaponsmith/barbarian_weaponsmith_service_good_2_hail_gf_48594671.mp3", "Is there something you need to have custom made? I can see if I can get one of my lads to look into it!", "ponder", 638401660, 3171727066, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_2/ft/service/weaponsmith/barbarian_weaponsmith_service_good_2_hail_gf_37dbcab8.mp3", "Welcome to my humble shop. We have quite a selection of weapons to choose from. See for yourself...", "salute", 939993914, 1218448248, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_2/ft/service/weaponsmith/barbarian_weaponsmith_service_good_2_hail_gf_46ed66f6.mp3", "Never can you go into battle without a tried and trusted weapon. Here, take a look at what we have in stock.", "no", 2566058453, 1526004977, Spawn) + else + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_2/ft/service/weaponsmith/barbarian_weaponsmith_service_good_2_hail_gf_1248b278.mp3", "I just got a shipment in from the Far Seas Trading Company. I don't just show anybody this stuff so, shhhh! ", "wink", 3922800728, 536638644, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/KeldraFrosthaven.lua b/Lua/SpawnScripts/Graystone/KeldraFrosthaven.lua new file mode 100755 index 000000000..db0585d09 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/KeldraFrosthaven.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/KeldraFrosthaven.lua + Script Purpose : Keldra Frosthaven + Script Author : John Adams/Scatman + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "RandomTalk") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2063097698, 2494171847, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3015552699, 2771723491, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2483059399, 3985999050, Spawn) + else + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1501437320, 1208713152, Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Graystone/KnightCaptainSalomar.lua b/Lua/SpawnScripts/Graystone/KnightCaptainSalomar.lua new file mode 100755 index 000000000..0cb127a1f --- /dev/null +++ b/Lua/SpawnScripts/Graystone/KnightCaptainSalomar.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/Knight-CaptainSalomar.lua + Script Purpose : Knight-Captain Salomar + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/captain_salomar/qey_village03/100_guard_captain_human_salomar_multhail1_2d65b2d1.mp3", "Ah ... on second thought you had better broaden your training before serving the Qeynos Guard. Good day, citizen!", "", 138672311, 3107129991, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/LarsSilverbrace.lua b/Lua/SpawnScripts/Graystone/LarsSilverbrace.lua new file mode 100755 index 000000000..22989f36c --- /dev/null +++ b/Lua/SpawnScripts/Graystone/LarsSilverbrace.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Graystone/LarsSilverbrace.lua + Script Purpose : Lars Silverbrace + Script Author : John Adams/Scatman + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_ironforgeexchange/ft/eco/good/dwarf_eco_good_ironforgeexchange_hail_gm_a8e29d0d.mp3", "The Concordium are so consumed by their ancient tomes and dead languages that they fail to see the world right before their own noses.", "", 2358865205, 2338789833, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_ironforgeexchange/ft/eco/good/dwarf_eco_good_ironforgeexchange_hail_gm_dee3d0ad.mp3", "The Ironforge Exchange constructed, brewed, tailored, forged, baked, or scribed just about everything you see here in Qeynos.", "", 1495031871, 1491125980, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_ironforgeexchange/ft/eco/good/dwarf_eco_good_ironforgeexchange_hail_gm_b69132af.mp3", "The Qeynos Guard recruits those who are attracted to physical activity but lack the creativity and talent required to join the Ironforge Exchange.", "", 3611623945, 4204627205, Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Graystone/MarusDonoval.lua b/Lua/SpawnScripts/Graystone/MarusDonoval.lua new file mode 100755 index 000000000..8c15c5516 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/MarusDonoval.lua @@ -0,0 +1,183 @@ +--[[ + Script Name : SpawnScripts/Graystone/MarusDonoval.lua + Script Purpose : Marus Donoval + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Quest ID's +local A_TIME_FOR_FIGHTING = 289 +local LATE_SHIPMENT = 290 + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, A_TIME_FOR_FIGHTING) then + if HasCompletedQuest(Spawn, LATE_SHIPMENT) then + WellLookWhoItIs(NPC, Spawn) + elseif HasQuest(Spawn, LATE_SHIPMENT) then + if GetQuestStep(Spawn, LATE_SHIPMENT) >= 6 then + WellLookWhoItIs(NPC, Spawn) + else + Say(NPC, "Hah, that was great! You're alright you know that?", Spawn) + end + else + Say(NPC, "Hah, that was great! You're alright you know that?", Spawn) + end + elseif HasQuest(Spawn, A_TIME_FOR_FIGHTING) then + HeyRelaxingHereWithQuest(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval001.mp3", "Hey! I'm relaxing here.", "", 1272547244, 528166171, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.25 then + SpawnSet(NPC, "attackable", 0) + SpawnSet(NPC, "show_level", 0) + AddTimer(NPC, 500, "StopAttacking", 1, Spawn) + end +end + +function StopAttacking(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quest_marus_donoval_fightover_c271419f.mp3", "Alright, alright. I'd say that's enough.", "", 2321626411, 1133430573, Spawn) + ClearHate(NPC) + ClearEncounter(NPC) +end + +function HeyRelaxingHereWithQuest(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not QuestStepIsComplete(Spawn, A_TIME_FOR_FIGHTING, 1) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval001.mp3", "", "", 1272547244, 528166171, Spawn) + AddConversationOption(conversation, "Is someone making cheese in here?", "dlg_4_1") + AddConversationOption(conversation, "Do you get paid to sit around all day doing nothing?", "dlg_1_1") + AddConversationOption(conversation, "Your father was a slacker, too, wasn't he?", "dlg_2_1") + AddConversationOption(conversation, "Well why don't you relax somewhere else, buddy?", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Hey! I'm relaxing here.") + else + Say(NPC, "Hah, that was great! You're alright you know that?", Spawn) + end +end + +--------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------- +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval001answer1.mp3", "", "", 1797143757, 3864854180, Spawn) + AddConversationOption(conversation, "Hmm.") + StartConversation(conversation, NPC, Spawn, "Eh, I'm a hard worker. My boss knows that.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval001answer2.mp3", "", "", 283337044, 2652532195, Spawn) + AddConversationOption(conversation, "Really?") + StartConversation(conversation, NPC, Spawn, "My father built the floor you're standing on, for all you know!") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval001answer3.mp3", "", "", 3193402669, 2023299810, Spawn) + AddConversationOption(conversation, "Whoops.") + StartConversation(conversation, NPC, Spawn, "Hah hah! I like you!") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval002.mp3", "", "", 2325284648, 2510217170, Spawn) + AddConversationOption(conversation, "Oh, never mind, I think that smell is your feet.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "I don't think so.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval003.mp3", "", "", 1447882078, 784389169, Spawn) + AddConversationOption(conversation, "I thought someone was making cheese because of that horrible smell, but now that I'm closer to you I believe the smell is your feet.", "dlg_4_3") + AddConversationOption(conversation, "Nothing, sorry, I'll be going.") + StartConversation(conversation, NPC, Spawn, "What did you say?") +end + +function dlg_4_3(NPC, Spawn) + SetStepComplete(Spawn, A_TIME_FOR_FIGHTING, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + AddHate(Spawn, NPC, 100) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval003a.mp3", "", "", 129148664, 3190606304, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Ooh, that's a good one.") +end + +----------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +----------------------------------------------------------------------------------------------------------------------- + +function WellLookWhoItIs(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval004.mp3", "", "", 2785464919, 2918822894, Spawn) + + if GetQuestStep(Spawn, LATE_SHIPMENT) == 6 then + AddConversationOption(conversation, "Sometimes, yes. Right now I need to ask you about a package though.", "AskAboutPackage") + end + + AddConversationOption(conversation, "Yeah, let's go!", "LetsGo") + AddConversationOption(conversation, "Nope, not anymore.") + StartConversation(conversation, NPC, Spawn, "Well look who it is. Still fighting?") +end + +function LetsGo(NPC, Spawn) + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + AddHate(Spawn, NPC, 100) +end + +function AskAboutPackage(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval005.mp3", "", "", 297443074, 3794904170, Spawn) + AddConversationOption(conversation, "There was a package for Burk Stoneshatter. The shipment was GG4QC and it was reported as being unloaded but isn't in overflow, and isn't on the docks, and hasn't been delivered. The Shipping Coordinator said I should speak with you.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "I can help. What do you need?") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval006.mp3", "", "", 3783525520, 2258184655, Spawn) + AddConversationOption(conversation, "In the water? Oh no.", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "GG4QC you say? Yeah, I know the one. Three crates, it was. I do remember unloading them. If what you say is true then I think they may have taken a bath, hah hah!") +end + +function dlg_20_3(NPC, Spawn) + SetStepComplete(Spawn, LATE_SHIPMENT, 6) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marus_donoval/qey_village03/quests/marus_donoval/marus_donoval007.mp3", "", "", 313118896, 4113217971, Spawn) + AddConversationOption(conversation, "All right. Thanks.") + StartConversation(conversation, NPC, Spawn, "These things happen, you know. You should go talk to the Shipping Coordinator if you ever want to get that shipment.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/MavBoilfist.lua b/Lua/SpawnScripts/Graystone/MavBoilfist.lua new file mode 100755 index 000000000..7d4ec3d28 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/MavBoilfist.lua @@ -0,0 +1,437 @@ +--[[ + Script Name : SpawnScripts/Graystone/MavBoilfist.lua + Script Purpose : Mav Boilfist + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local DWARF = 2 +local QUEST_1 = 283 +local QUEST_2 = 285 +local QUEST_3 = 286 +local QUEST_4 = 287 +local QUEST_5 = 288 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + OnQuest4(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + OnQuest3(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + OnQuest2(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + OnQuest1(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetRace(Spawn) == DWARF then + WellHello(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quest_mav_boilfist_notdwarf_78c7639c.mp3", "Sorry, I'm terribly busy right now. No time to chat.", "", 4035307086, 275588457, Spawn) + end + end +end + +function respawn(NPC) + spawn(NPC) +end + +------------------------------------------------------------------------------------------------------------------ +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------ + +function WellHello(NPC, Spawn, conversation) + AddConversationOption(conversation, "Sort of, yes.", "New") + AddConversationOption(conversation, "No, I'm not new here.", "NotNew") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist001.mp3", "", "", 634247011, 356522512, Spawn) + StartConversation(conversation, NPC, Spawn, "Well hello! New around here?") +end + +function New(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, I'm willing to learn.", "WillingToLearn") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist002.mp3", "", "", 1318415576, 1321312216, Spawn) + StartConversation(conversation, NPC, Spawn, "Well I'm just the one to help you out, then! I can teach you all you need to know, what do you say?") +end + +function NotNew(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm interested in doing work for you.", "WillingToLearn") + AddConversationOption(conversation, "I'm interested in more difficult work.", "MoreDifficultWork") + StartConversation(conversation, NPC, Spawn, "Well, you can still teach an old dwarf new tricks. I've got some work for ya, if you're interested. Or, I could point you to someone who might have work that's a bit harder, if you're into that sort of thing.") +end + +function MoreDifficultWork(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll go do that.") + StartConversation(conversation, NPC, Spawn, "Thought you might be interested. My husband, Marv, is out in the Oakmyst Forest doing some foolish nonsense. He was supposed to be back earlier but I haven't seen him yet, that usually mean he's gotten himself into trouble. That also probably means he could use some help. If you could head into Oakmyst Forest and find him I would be thankful.") +end + +function WillingToLearn(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What would you like me to do?", "LikeMeToDo") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist005.mp3", "", "", 582378457, 4033004550, Spawn) + StartConversation(conversation, NPC, Spawn, "Great, I've been needing someone to help me out while my husband is out. Normally one of us can look after things here at the shop while the other goes out and gets things done. With him gone, I'm having trouble keeping things running, your help would be a great boom.") +end + +function LikeMeToDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you need me to do?", "NeedMeToDo") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist006.mp3", "", "", 3037335831, 4263929365, Spawn) + StartConversation(conversation, NPC, Spawn, "Well. There's some brew I've been makin'. It's fermenting right here actually. It should be done very soon, and based on the last batch I tried I think I've finally perfected the mix of ingredients. It's an old family recipe that I'd forgotten about. Now that I finally got the means, I dug the recipe up and have tried my hand at it. It's taken some work, but I think it's finally worthy.") +end + +function NeedMeToDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is the problem?", "WhatProblem") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist007.mp3", "", "", 628335384, 693034307, Spawn) + StartConversation(conversation, NPC, Spawn, "Oh, Right. Sorry, I carry on sometimes about things that are important to me. I need you to collect the ingredients for my next batch. I had them delivered from all over and they're finally here, but there's a problem.") +end + +function WhatProblem(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are you going to have me do?", "HaveMeDo") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist008.mp3", "", "", 666479766, 3144850595, Spawn) + StartConversation(conversation, NPC, Spawn, "The shipping company is behind on their orders. They've got all the goods but nobody to sort them or make the final deliveries. I know for a fact that my yeast has been there for at least two days. And I just got word my honey and frozen cherries are there as well. It's a mess, and that's where you come in.") +end + +function HaveMeDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, give me the manifest.", "OfferQuest1") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist009.mp3", "", "", 4269745166, 1619482599, Spawn) + StartConversation(conversation, NPC, Spawn, "I need you to gather up the ingredients for me. I managed to get ahold of an overflow manifest that details where my things are in storage. All you need to do is check the manifest, find out where you need to go, and then get my deliveries for me.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist011.mp3", "", "", 2167399134, 422468098, Spawn) + if (HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 4) or (HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "Yes, I have.", "dlg_13_1") + else + AddConversationOption(conversation, "Not yet. Can I have another copy of the overflow manifest?", "NeedManifest") + end + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you gotten my ingredients yet?") +end + +function NeedManifest(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Overflow Manifest + if HasItem(Spawn, 10268, 1) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist013.mp3", "", "", 2530141598, 2756437578, Spawn) + AddConversationOption(conversation, "All right, thanks.") + StartConversation(conversation, NPC, Spawn, "I'm pretty sure you already have a copy. It's probably in one of your bags somewhere. It may even be in the bank. Once you find it examine it to learn where all the shipments are.") + else + SummonItem(Spawn, 10268, 1) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist012.mp3", "", "", 1236488816, 970364241, Spawn) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Sure, here you go.") + end +end + +function dlg_13_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist015.mp3", "", "", 3252688398, 2435234536, Spawn) + AddConversationOption(conversation, "That's great!", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "Ah, great. Now I can get started on my next batch. The last batch came out perfectly. I won't need to change the recipe at all, finally done.") +end + +------------------------------------------------------------------------------------------------------------------ +-- QUEST 2 +------------------------------------------------------------------------------------------------------------------ + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist016.mp3", "", "", 1896567087, 1236189087, Spawn) + AddConversationOption(conversation, "Sure, I can help.", "dlg_13_3") + StartConversation(conversation, NPC, Spawn, "Wonderfully great! I can't wait for everyone to try it. I've been telling everyone around here about my old family recipe, it's been so long since I first mentioned it that they probably think I made it up. If they do think that, it's time to prove them wrong! Listen, I still need to watch the store here, how would you like to help me?") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist017.mp3", "", "", 1283812606, 3397187857, Spawn) + AddConversationOption(conversation, "I'll go do that.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Wonderful. Collect a jug of the brew from this barrel here, and then deliver it to a few of my friends, the ones I most want to try it. I'd like Gnor Farven and Gurna Hadel to have some, I've no doubt you can find them both at the tavern on the ground floor of the inn. I'd also like Dunda Frostgrip to have her share, you can find her outside the Scribe's shop on the western corner.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist018.mp3", "", "", 34397651, 703589536, Spawn) + if (HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 5) or (HasCompletedQuest(Spawn, QUEST_2)) then + AddConversationOption(conversation, "Yes, they did.", "dlg_20_1") + end + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Did everyone try my brew?") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist019.mp3", "", "", 594170508, 523076668, Spawn) + AddConversationOption(conversation, "Well, Gurna and Gnor both loved it. It actually knocked Gnor down.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "So, tell me, what did they think?") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist020.mp3", "", "", 1002724009, 2022330670, Spawn) + AddConversationOption(conversation, "She said it was wonderful, but asked me not to tell you that.", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "Hah hah! What about Dunda though, what did she think?") +end + +function dlg_20_3(NPC, Spawn) + if HasQuest(Spawn, QUEST_2) then + SetStepComplete(Spawn, QUEST_2, 5) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist021.mp3", "", "", 1410633044, 1626937024, Spawn) + AddConversationOption(conversation, "What was the other good news?", "dlg_20_4") + StartConversation(conversation, NPC, Spawn, "Yes! I knew she would love it. She teased me mercilessly about this recipe, she must've thought I had made the whole thing up. Ooh I'm glad she liked it. Today is just filled with good news.") +end + +------------------------------------------------------------------------------------------------------------------ +-- QUEST 3 +------------------------------------------------------------------------------------------------------------------ + +function dlg_20_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist022.mp3", "", "", 153909004, 705302189, Spawn) + AddConversationOption(conversation, "Sure, I can do that.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "A package from my cousin arrived! It has -- Oh dear, that package will get caught up in this silly state of delivery affairs. I'd like your help again, if you could go speak to the shipping coordinator on the docks and get him to give you my package before they drop it into some overflow spot that would be great. What do you say?") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist024.mp3", "", "", 791126844, 977657821, Spawn) + if (HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 4) or (HasCompletedQuest(Spawn, QUEST_3)) then + AddConversationOption(conversation, "Yes, I do.", "dlg_30_1") + end + + if (HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) >= 3) or (HasCompletedQuest(Spawn, QUEST_3)) then + AddConversationOption(conversation, "Yes, but I have to clear it with the shipping coordinator first. I'll be back.") + else + AddConversationOption(conversation, "No, not yet.") + end + StartConversation(conversation, NPC, Spawn, "Do you have my package?") +end + +function dlg_30_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_3) then + SetStepComplete(Spawn, QUEST_3, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist025.mp3", "", "", 2520635779, 2527828241, Spawn) + AddConversationOption(conversation, "That is impressive!", "dlg_30_2") + AddConversationOption(conversation, "Kaladim?", "Kaladim") + StartConversation(conversation, NPC, Spawn, "Ah, let me open it. I hope it's--yes! This is the rock I've been waiting to get for a few months now. My cousin sent it to me, she said it's actual stone from Kaladim, can you imagine?") +end + +------------------------------------------------------------------------------------------------------------------ +-- QUEST 4 +------------------------------------------------------------------------------------------------------------------ + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist028.mp3", "", "", 903680612, 2544408116, Spawn) + AddConversationOption(conversation, "I have the time.", "dlg_30_3") + StartConversation(conversation, NPC, Spawn, "Yes it is. My dream is to visit Kaladim one day, as impossible as I know that may sound. Still, doesn't hurt to dream, and this rock just makes those dreams stronger. I have another favor to ask you, if you have the time.") +end + +function dlg_30_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist029.mp3", "", "", 1603379033, 880563668, Spawn) + AddConversationOption(conversation, "What shall I do once there?", "dlg_30_4") + StartConversation(conversation, NPC, Spawn, "There's a stone here in the Graystone Yard, a monument, they call the Stone of Kaladim. It is, quite simply, beautiful. It's easy to get lost in time just staring at that stone. Please, take this stone I just got and bring it to the Stone of Kaladim.") +end + +function dlg_30_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist029a.mp3", "", "", 90624630, 1461619549, Spawn) + AddConversationOption(conversation, "All right, I shall do that.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Once there hold my stone close to the Stone of Kaladim and concentrate. Watch for any sort of reaction in either stone. Then return to me and tell me everything that happened. Here, take the stone.") +end + +function Kaladim(NPC, Spawn) + Say(NPC, "Need collect, PM Scatman if you have it please.", Spawn) +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + if HasQuest(Spawn, QUEST_4) and GetQuestStep(Spawn, QUEST_4) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist029stone.mp3", "", "", 2776022988, 1249928251, Spawn) + AddConversationOption(conversation, "I need your stone.", "NeedStone") + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you taken my stone to the Stone of Kaladim yet?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist030.mp3", "", "", 4107694784, 255406273, Spawn) + AddConversationOption(conversation, "I think I felt what it may have been like back then.", "dlg_37_1") + AddConversationOption(conversation, "I am not sure. I haven't done it yet.") + StartConversation(conversation, NPC, Spawn, "Did anything happen?") + end +end + +function NeedStone(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Mav's Stone + if HasItem(Spawn, 9384, 1) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist029stone_b.mp3", "", "", 1899188154, 2228034897, Spawn) + AddConversationOption(conversation, "Ok, I'll do that.") + StartConversation(conversation, NPC, Spawn, "I believe I already gave the stone to you. It may be in one of your bags or possibly even in the bank. Once you find it, examine it when you are near the Stone of Kaladim here in Graystone Yard.") + else + SummonItem(Spawn, 9384, 1) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist029stone_a.mp3", "", "", 3817501989, 1608531398, Spawn) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Oh, yes, I'm sorry. Here you go.") + end +end + +function dlg_37_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist031.mp3", "", "", 276770020, 3522074989, Spawn) + AddConversationOption(conversation, "Just sounds and visions.", "dlg_37_2") + StartConversation(conversation, NPC, Spawn, "Oh? What does that mean?") +end + +function dlg_37_2(NPC, Spawn) + if HasQuest(Spawn, QUEST_4) then + SetStepComplete(Spawn, QUEST_4, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist032.mp3", "", "", 4251668081, 2689030734, Spawn) + AddConversationOption(conversation, "I would be interested in that.", "dlg_37_3") + StartConversation(conversation, NPC, Spawn, "Oh, the spirit of Kaladim is strong in you. You know, my husband would love to meet you. Would you like to meet him?") +end + +------------------------------------------------------------------------------------------------------------------ +-- QUEST 5 +------------------------------------------------------------------------------------------------------------------ + +function dlg_37_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist033.mp3", "", "", 1106794113, 1262060028, Spawn) + AddConversationOption(conversation, "All right, I'll go find him.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "I thought you might. He should be out in the Oakmyst Forest. He's very, very late so that means something has delayed him. It's probably got something to do with the slowness going on with the shipping company, he works for them from time to time. Or, maybe, he's just drunk. Do me a favor, if he's drunk, you can come back and get me. There are some jobs only a wife can do, am I right? Hah! ... oh yeah, his name is Marv. He'll be the one with the dumb look on his face, hah!") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +function OnQuest5(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist034.mp3", "", "", 1752301139, 2700535036, Spawn) + if HasCompletedQuest(Spawn, QUEST_5) then + AddConversationOption(conversation, "Yup. You were right. He's tied up in the business with the slow-shipping.", "dlg_38_1") + end + AddConversationOption(conversation, "No, I haven't.") + StartConversation(conversation, NPC, Spawn, "Have ya found Marv yet?") +end + +function dlg_38_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/mav_boilfist/qey_village03/quests/mav_boilfist/mav_boilfist035.mp3", "", "", 1414810446, 65037912, Spawn) + AddConversationOption(conversation, "Perhaps.") + StartConversation(conversation, NPC, Spawn, "Ah that lucky nightblood. I'm sure he loves the time away from home.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/McGuiggen.lua b/Lua/SpawnScripts/Graystone/McGuiggen.lua new file mode 100755 index 000000000..c526612bb --- /dev/null +++ b/Lua/SpawnScripts/Graystone/McGuiggen.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Graystone/McGuiggen.lua + Script Purpose : McGuiggen + Script Author : Scatman + Script Date : 2009.09.05 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + RandomTalk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + RandomTalk(NPC, Spawn) +end + +function RandomTalk(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1501437320, 1208713152, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3015552699, 2771723491, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2063097698, 2494171847, Spawn) + else + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2483059399, 3985999050, Spawn) + end +end diff --git a/Lua/SpawnScripts/Graystone/Oakfist.lua b/Lua/SpawnScripts/Graystone/Oakfist.lua new file mode 100755 index 000000000..a08269f3d --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Oakfist.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Graystone/Oakfist.lua + Script Purpose : Oakfist + Script Author : John Adams/Scatman + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "RandomTalk", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2160906698, 176729787, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2230797709, 3854601007, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies, right before ya, to fill your adventuring needs.", "smile", 2986424867, 2267649224, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What is it I can help you with?", "bow", 3654607078, 2614139251, Spawn) + end + end +end + +function LeaveRange(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/PathfinderSilentstride.lua b/Lua/SpawnScripts/Graystone/PathfinderSilentstride.lua new file mode 100755 index 000000000..320d95b76 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/PathfinderSilentstride.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Graystone/PathfinderSilentstride.lua + Script Purpose : Pathfinder Silentstride + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/pathfinder_silentstride/qey_village03/pathfindersilenstride000.mp3", "", "", 3050887805, 230076738, Player, Spawn) + AddConversationOption(conversation, "Thanks for the warning.") + StartConversation(conversation, NPC, Spawn, "Greetings, adventurer. Be careful travling outside the city.The nearby wilderness is as unforgiving as the fates themselves.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Rafki.lua b/Lua/SpawnScripts/Graystone/Rafki.lua new file mode 100755 index 000000000..41cbcf756 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Rafki.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/Rafki.lua + Script Purpose : Rafki + Script Author : John Adams/Scatman + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "RandomTalk") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/baker/kerran_baker_service_good_1_hail_gm_3d1ca473.mp3", "Tell me, do you prefer Halfling or Elven cuisine? I myself have a hard time deciding between the two.", "confused", 2072407004, 4218937544, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/baker/kerran_baker_service_good_1_hail_gm_1e9a743c.mp3", "Please mind the plates -- they're very hot.", "scold", 1421995902, 2311727303, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/baker/kerran_baker_service_good_1_hail_gm_cca9cdef.mp3", "Welcome, friend, welcome. I hope you brought your appetite with you!", "wink", 3098407240, 2981751697, Spawn) + else + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/baker/kerran_baker_service_good_1_hail_gm_9db280de.mp3", "I love the smell of fresh bread in the oven!", "sigh", 513708176, 1743421619, Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Graystone/ShippingCoordinatorHando.lua b/Lua/SpawnScripts/Graystone/ShippingCoordinatorHando.lua new file mode 100755 index 000000000..9998bb931 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/ShippingCoordinatorHando.lua @@ -0,0 +1,262 @@ +--[[ + Script Name : SpawnScripts/Graystone/ShippingCoordinatorHando.lua + Script Purpose : Shipping Coordinator Hando + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +-- Quest ID's +local DWARF_MENTOR_QUEST_3 = 286 +local LATESHIPMENT = 290 +local INTHEDRINK = 291 + +-- Item ID's +local LOCATION_BUOYS = 9109 + +function spawn(NPC) + ProvidesQuest(NPC, INTHEDRINK) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + GenericHail(NPC, Spawn) + + if HasCompletedQuest(Spawn, LATESHIPMENT) then + if HasCompletedQuest(Spawn, INTHEDRINK) then + GreatJobOnBuoys(NPC, Spawn, conversation) + elseif HasQuest(Spawn, INTHEDRINK) then + if GetQuestStep(Spawn, INTHEDRINK) >= 1 and GetQuestStep(Spawn, INTHEDRINK) <= 3 then + DoesntLookAllConnectedYet(NPC, Spawn, conversation) + else + GreatJobOnBuoys(NPC, Spawn, conversation) + end + else + WhatDidMarusSay(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, LATESHIPMENT) then + if GetQuestStep(Spawn, LATESHIPMENT) == 3 then + BusyWithQuest(NPC, Spawn, conversation) + elseif GetQuestStep(Spawn, LATESHIPMENT) == 4 or GetQuestStep(Spawn, LATESHIPMENT) == 5 then + FindWhatYouNeeded(NPC, Spawn, conversation) + elseif GetQuestStep(Spawn, LATESHIPMENT) >= 6 then + WhatDidMarusSay(NPC, Spawn, conversation) + else + Say(NPC, "Kind of busy at the moment, sorry.", Spawn) + end + elseif HasQuest(Spawn, DWARF_MENTOR_QUEST_3) and GetQuestStep(Spawn, DWARF_MENTOR_QUEST_3) <= 3 then + OnDwarfMentorQuest3(NPC, Spawn, conversation) + else + Say(NPC, "Kind of busy at the moment, sorry.", Spawn) + end +end + +------------------------------------------------------------------------------------------------------------ +-- BARBARIAN MENTOR QUEST +------------------------------------------------------------------------------------------------------------ + +function BusyWithQuest(NPC, Spawn, conversation) + AddConversationOption(conversation, "I need to talk to you about a missing package for Burk Stoneshatter.", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "Listen, I'm sure sitting around chewing the fat with you is a great way to pass the time, but I'm busy here and can't be bothered with small talk.") +end + +function FindWhatYouNeeded(NPC, Spawn, conversation) + if GetQuestStep(Spawn, LATESHIPMENT) == 5 then + AddConversationOption(conversation, "No, it's not in the shipments on the dock.", "dlg_18_1") + end + + AddConversationOption(conversation, "I haven't looked yet.") + StartConversation(conversation, NPC, Spawn, "Did you find what you needed?") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Shipment GG4QC isn't listed on your overflow manifest, and it hasn't been delivered yet.", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "Burk, eh? What's he need?") +end + +function dlg_16_2(NPC, Spawn) + SetStepComplete(Spawn, LATESHIPMENT, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Yeah, all new packages will be on the docks until we can move em. Go check the crates at the end of the docks and these here. I'm sure you'll find what you're looking for. Right now there are 13 crates and barrels on the docks to check in. Bring it to me once you've found it.") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "The shipment number was GG4QC.", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "What shipment number was it again?") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm positive it wasn't on the docks.", "dlg_18_3") + StartConversation(conversation, NPC, Spawn, "Hmm. According to the charts that was unloaded but never sent into overflow... and never delivered. If it's not at the end of the docks then something is wrong.") +end + +function dlg_18_3(NPC, Spawn) + SetStepComplete(Spawn, LATESHIPMENT, 5) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, I'll speak to him.") + StartConversation(conversation, NPC, Spawn, "I believe you. You're going to need to talk to the dock loader. You would never think it, looking at him, but he's got a great mind for remembering numbers. He'll tell you whether or not the packages were unloaded. His name is Marus Donoval, you can find him in the tavern, on the ground floor of the inn.") +end + +function WhatDidMarusSay(NPC, Spawn, conversation) + if (HasCompletedQuest(Spawn, LATESHIPMENT) and not HasCompletedQuest(Spawn, INTHEDRINK)) or (HasQuest(Spawn, LATESHIPMENT) and GetQuestStep(Spawn, LATESHIPMENT) == 7) then + AddConversationOption(conversation, "He said the shipment was off-loaded. He says it's possible it may have fallen in the water.", "dlg_21_1") + end + + AddConversationOption(conversation, "I haven't talked to him yet.") + StartConversation(conversation, NPC, Spawn, "What did Marus have to say?") +end + +function dlg_21_1(NPC, Spawn) + if HasQuest(Spawn, LATESHIPMENT) then + SetStepComplete(Spawn, LATESHIPMENT, 7) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No...", "dlg_21_2") + AddConversationOption(conversation, "Yes, I am, actually. Sorry.") + StartConversation(conversation, NPC, Spawn, "It's starting to look that way, unfortunately. Listen, you aren't afraid of the water, are you?") +end + +------------------------------------------------------------------------------------------------ +-- QUEST 3 +------------------------------------------------------------------------------------------------ + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, I can do that.", "dlg_21_3") + AddConversationOption(conversation, "Not a chance.") + StartConversation(conversation, NPC, Spawn, "The shipment must be down there, somewhere. How would you like to help us retrieve it?") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right!", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "Great! Here, take these location buoys. Swim down into the water and find the missing shipment crates, there were three of them. Attach a location buoy to each crate, then swim back here while we pull them out.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, INTHEDRINK) +end + +function DoesntLookAllConnectedYet(NPC, Spawn, conversation) + AddConversationOption(conversation, "I need more location buoys.", "MoreBuoys") + StartConversation(conversation, NPC, Spawn, "It doesn't look like they're all connected yet, come back when that's done.") +end + +function MoreBuoys(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Location Buoys + if HasItem(Spawn, LOCATION_BUOYS, 1) then + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "It looks like you've already got them. Check your bags, maybe even your bank.") + else + SummonItem(Spawn, LOCATION_BUOYS, 1) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Sure, here you go.") + end +end + +function GreatJobOnBuoys(NPC, Spawn, conversation) + if HasQuest(Spawn, INTHEDRINK) and GetQuestStep(Spawn, INTHEDRINK) == 4 then + AddConversationOption(conversation, "Thanks.", "dlg_25_1") + else + AddConversationOption(conversation, "Thanks.") + end + + StartConversation(conversation, NPC, Spawn, "Hey, great job with those buoys.") +end + +function dlg_25_1(NPC, Spawn) + SetStepComplete(Spawn, INTHEDRINK, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Great, thank you.", "dlg_25_2") + StartConversation(conversation, NPC, Spawn, "We've already pulled up the first package. Burk's shipment was inside. Here, you can take it to him.") +end + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "No, thank you. You've been very helpful. We're so backlogged around here we may have not known about the missing shipment for weeks. Some of the cargo was still ruined, but we saved a lot more than we would have been able to, thanks to you. I really appreciate it.") +end + +------------------------------------------------------------------------------------------------------------ +-- DWARF MENTOR QUEST +------------------------------------------------------------------------------------------------------------ + +function OnDwarfMentorQuest3(NPC, Spawn, conversation) + if GetQuestStep(Spawn, DWARF_MENTOR_QUEST_3) == 1 then + AddConversationOption(conversation, "I'm here to pick up a package for Mav Boilfist.", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "Interruption after interruption! What do you want?") + else + if GetQuestStep(Spawn, DWARF_MENTOR_QUEST_3) == 3 then + AddConversationOption(conversation, "Yes. It's right here.", "dlg_29_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you find it?") + end +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It should have just arrived. It's a package from the Baubbleshire.", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "Arg! Her packages are backlogged already, what do you need?") +end + +function dlg_22_2(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_3, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, thank you.") + StartConversation(conversation, NPC, Spawn, "Newly arrived packages are at the end of the dock. Go check there. Bring it to me if you find it.") +end + +function dlg_29_1(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_3, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That is okay, and thank you.") + StartConversation(conversation, NPC, Spawn, "All right, this all seems to be in order. Sorry for snapping at you, it's been a busy week.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Snowboot.lua b/Lua/SpawnScripts/Graystone/Snowboot.lua new file mode 100755 index 000000000..020197c27 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Snowboot.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Graystone/Snowboot.lua + Script Purpose : Snowboot + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/armorsmith_snowboot/qey_village03/armorsmithsnowboot.mp3", "", "", 3584987348, 1438770677, Spawn) + AddConversationOption(conversation, "Sorry to disturb you!") + StartConversation(conversation, NPC, Spawn, "Aye, what is it? I've got to be fitting this elven lass, and I haven't got all day! Come on, out with it!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Soulforge.lua b/Lua/SpawnScripts/Graystone/Soulforge.lua new file mode 100755 index 000000000..54b860af1 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Soulforge.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Graystone/Steelforge.lua + Script Purpose : Steelforge + Script Author : Scatman + Script Date : 2009.05.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "If steel is what you seek, traveler, then look no further.", Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Steelvein.lua b/Lua/SpawnScripts/Graystone/Steelvein.lua new file mode 100755 index 000000000..d4f8fd318 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Steelvein.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Graystone/Steelvein.lua + Script Purpose : Steelvein + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + RandomTalk(NPC, Spawn, false) +end + +function RandomTalk(NPC, Spawn, Option) + local choice = 0 + if Option == nil then + choice = math.random(1, 100) + end + + if choice < 25 then + FaceTarget(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What is it I can help you with?", "bow", 578929529, 647853, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2476632966, 344262300, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2158784304, 1517987989, Spawn) + end + end +end diff --git a/Lua/SpawnScripts/Graystone/TacklemasterMoyna.lua b/Lua/SpawnScripts/Graystone/TacklemasterMoyna.lua new file mode 100755 index 000000000..bf2befb02 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/TacklemasterMoyna.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : SpawnScripts/Graystone/TacklemasterMoyna.lua + Script Purpose : Tacklemaster Moyna + Script Author : Scatman + Script Date : 2008.09.19 + Script Notes : +--]] + +local QUEST_1 = 293 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + RandomVoice(NPC, Spawn) + + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I've returned with the bait you requested.", "ReturnedWithBait") + elseif not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "I'm interested in finding a little work around here.", "FindingWork") + end + + PlayFlavor(NPC, "voiceover/english/tacklemaster_moyna/qey_village03/tacklemastermoyna.mp3", "", "", 2910658366, 1466320622, Spawn) + AddConversationOption(conversation, "No thanks, not today.") + StartConversation(conversation, NPC, Spawn, "Welcome to Graystone! With our Kerran population, the fish supply is never enough. If you're looking to fill that supply, you'll need some of my goods. Care to have a look?") +end + +function respawn(NPC) + spawn(NPC) +end + +function RandomVoice(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", "", "", 0, 0, Spawn) + end +end + +----------------------------------------------------------------------------------------------------- +-- QUEST 1 +----------------------------------------------------------------------------------------------------- + +function FindingWork(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tacklemaster_moyna/qey_village03/tacklemastermoyna001.mp3", "", "", 530187050, 1736772086, Spawn) + AddConversationOption(conversation, "Provided the job actually pays, I'll do it.", "ProvidedItPays") + AddConversationOption(conversation, "No thanks, sounds icky.") + StartConversation(conversation, NPC, Spawn, "You're in luck. I need more bait. If you're interested, you could fetch me some centipede meat. Ubani and Brice catch all the fish from the pier, and I always need more bait.") +end + +function ProvidedItPays(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tacklemaster_moyna/qey_village03/tacklemastermoyna002.mp3", "", "", 3085757696, 757857128, Spawn) + AddConversationOption(conversation, "I'll be back when I've got what you need.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "It'll pay but not too well. The bait business is decent next to the pier, but the stuff isn't exactly worth its weight in platinum, if you know what I mean. I need you to gather some centipede meat for me from the Forest Ruins.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function ReturnedWithBait(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you Moyna!") + StartConversation(conversation, NPC, Spawn, "Thank you! With this supply, I can keep my bait buckets filled for at least another day or two. Well done. Here's your reward as promised.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Takk.lua b/Lua/SpawnScripts/Graystone/Takk.lua new file mode 100755 index 000000000..fafac30e7 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Takk.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Graystone/Takk.lua + Script Purpose : Takk + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "This is a good spot for meditation, and for listening to the spirits speak.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/Ubani.lua b/Lua/SpawnScripts/Graystone/Ubani.lua new file mode 100755 index 000000000..76743c81b --- /dev/null +++ b/Lua/SpawnScripts/Graystone/Ubani.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/GraystoneYard/Ubani.lua + Script Purpose : Ubani + Script Author : Jabantiz + Script Date : 2018.06.09 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "Nettleville has no fish, so I come here... but I've been fishing here all day with no luck! I wonder why that is?", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/Graystone/WatcherCurmoglielKarthal.lua b/Lua/SpawnScripts/Graystone/WatcherCurmoglielKarthal.lua new file mode 100755 index 000000000..39c4db910 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/WatcherCurmoglielKarthal.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Graystone/WatcherCurmoglielKarthal.lua + Script Author : Jabantiz + Script Date : 2018.06.09 08:06:20 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Graystone/arat1.lua b/Lua/SpawnScripts/Graystone/arat1.lua new file mode 100755 index 000000000..6435513d2 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/arat1.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/Graystone/arat1.lua + Script Purpose : a rat + Script Author : Scatman + Script Date : 2009.05.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 851.84, -23.63, -147.35, 10, 0) + MovementLoopAddLocation(NPC, 854.74, -24.25, -152.51, 10, 0) + MovementLoopAddLocation(NPC, 867.88, -22.45, -152.76, 10, 0) + MovementLoopAddLocation(NPC, 877.81, -24.92, -152.7, 10, 0) + MovementLoopAddLocation(NPC, 902.18, -24.94, -152.43, 10, 0) + MovementLoopAddLocation(NPC, 926.53, -24.81, -157.48, 10, 0) + MovementLoopAddLocation(NPC, 938.33, -25.28, -155.26, 10, 0) + MovementLoopAddLocation(NPC, 958.71, -25.23, -157.01, 10, 0) + MovementLoopAddLocation(NPC, 908.11, -24.96, -149.41, 10, 0) + MovementLoopAddLocation(NPC, 901.11, -24.98, -140.98, 10, 0) + MovementLoopAddLocation(NPC, 896.26, -22.67, -138.23, 10, 0) + MovementLoopAddLocation(NPC, 894.8, -22.57, -134.95, 10, 0) + MovementLoopAddLocation(NPC, 898.25, -22.32, -118.58, 10, 0) + MovementLoopAddLocation(NPC, 899.61, -22.31, -115.71, 10, 0) + MovementLoopAddLocation(NPC, 900.78, -22.31, -114.47, 10, 0) + MovementLoopAddLocation(NPC, 902.31, -22.31, -115.1, 10, 0) + MovementLoopAddLocation(NPC, 902.69, -21.77, -115.88, 10, 0) + MovementLoopAddLocation(NPC, 904.79, -19.81, -120.12, 10, 0) + MovementLoopAddLocation(NPC, 911.44, -19.98, -117.44, 10, 0) + MovementLoopAddLocation(NPC, 918.57, -21.99, -114.49, 10, 0) + MovementLoopAddLocation(NPC, 926.63, -22.4, -114.88, 10, 0) + MovementLoopAddLocation(NPC, 927.8, -22.4, -109.95, 10, 0) + MovementLoopAddLocation(NPC, 918.07, -22.4, -112.21, 10, 0) + MovementLoopAddLocation(NPC, 891.52, -22.31, -106.56, 10, 0) + MovementLoopAddLocation(NPC, 886.05, -22.09, -98.77, 10, 0) + MovementLoopAddLocation(NPC, 879.57, -24.95, -100.37, 10, 0) + MovementLoopAddLocation(NPC, 852.49, -24.93, -106.04, 10, 0) + MovementLoopAddLocation(NPC, 847.36, -23.05, -107.78, 10, 0) + MovementLoopAddLocation(NPC, 844.42, -22.61, -114.58, 10, 0) + MovementLoopAddLocation(NPC, 838.19, -20.73, -114.14, 10, 0) + MovementLoopAddLocation(NPC, 821.16, -20.97, -117.75, 10, 0) + MovementLoopAddLocation(NPC, 839.54, -20.94, -128.94, 10, 0) + MovementLoopAddLocation(NPC, 840.92, -20.86, -142.81, 10, 0) + MovementLoopAddLocation(NPC, 846.25, -22.55, -147.46, 10, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/arat2.lua b/Lua/SpawnScripts/Graystone/arat2.lua new file mode 100755 index 000000000..33d3936bf --- /dev/null +++ b/Lua/SpawnScripts/Graystone/arat2.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Graystone/arat2.lua + Script Purpose : a rat + Script Author : Scatman + Script Date : 2009.05.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 838.9, -20.94, -128.54, 10, 0) + MovementLoopAddLocation(NPC, 832.97, -20.97, -123.02, 10, 0) + MovementLoopAddLocation(NPC, 836.77, -20.93, -114.48, 10, 0) + MovementLoopAddLocation(NPC, 845.27, -22.6, -114.46, 10, 0) + MovementLoopAddLocation(NPC, 845.59, -23.27, -108.35, 10, 0) + MovementLoopAddLocation(NPC, 853.13, -24.96, -105.98, 10, 0) + MovementLoopAddLocation(NPC, 878.94, -24.96, -100.83, 10, 0) + MovementLoopAddLocation(NPC, 886.81, -22.26, -99.01, 10, 0) + MovementLoopAddLocation(NPC, 894.37, -22.3, -107.7, 10, 0) + MovementLoopAddLocation(NPC, 896.61, -22.4, -105.39, 10, 0) + MovementLoopAddLocation(NPC, 892, -22.61, -88.72, 10, 0) + MovementLoopAddLocation(NPC, 899.3, -22.4, -84.33, 10, 0) + MovementLoopAddLocation(NPC, 895.67, -22.61, -97.41, 10, 0) + MovementLoopAddLocation(NPC, 900.95, -22.3, -112.46, 10, 0) + MovementLoopAddLocation(NPC, 894.14, -22.45, -129.32, 10, 0) + MovementLoopAddLocation(NPC, 894.41, -22.58, -136.36, 10, 0) + MovementLoopAddLocation(NPC, 901.64, -24.98, -141.93, 10, 0) + MovementLoopAddLocation(NPC, 905.65, -24.95, -146.85, 10, 0) + MovementLoopAddLocation(NPC, 893.38, -24.92, -152.98, 10, 0) + MovementLoopAddLocation(NPC, 881.49, -24.86, -150.12, 10, 0) + MovementLoopAddLocation(NPC, 866.23, -22.49, -152.28, 10, 0) + MovementLoopAddLocation(NPC, 854.64, -24.25, -152.47, 10, 0) + MovementLoopAddLocation(NPC, 853.7, -24.19, -147.92, 10, 0) + MovementLoopAddLocation(NPC, 847.94, -22.35, -147.01, 10, 0) + MovementLoopAddLocation(NPC, 844.83, -22.51, -143.63, 10, 0) + MovementLoopAddLocation(NPC, 836.61, -20.93, -139.23, 10, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/brew_barrel.lua b/Lua/SpawnScripts/Graystone/brew_barrel.lua new file mode 100755 index 000000000..f6361d209 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/brew_barrel.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Graystone/brew_barrel.lua + Script Purpose : brew_barrel + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +-- Quest ID's +local DWARF_MENTOR_QUEST_2 = 285 + +-- Item ID's +local MAVS_BREW = 9383 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_2, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) +Say(NPC, "HI") + if HasQuest(Spawn, DWARF_MENTOR_QUEST_2) and GetQuestStep(Spawn, DWARF_MENTOR_QUEST_2) == 1 and SpellName == "Collect brew" then + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_2, 1) + + -- Mav's Brew + if not HasItem(Spawn, MAVS_BREW, 1) then + SummonItem(Spawn, MAVS_BREW, 1) + SummonItem(Spawn, MAVS_BREW, 1) + SummonItem(Spawn, MAVS_BREW, 1) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/crate_large_long_001.lua b/Lua/SpawnScripts/Graystone/crate_large_long_001.lua new file mode 100755 index 000000000..f1167f973 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/crate_large_long_001.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/crate_large_long001.lua + Script Purpose : crate_large_long001 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local BARBARIAN_MENTOR_QUEST_2 = 290 +local DWARF_MENTOR_QUEST_3 = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_2, 4) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_3, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_2) and GetQuestStep(Caster, BARBARIAN_MENTOR_QUEST_2) == 4 and SpellName == "inspect" then + AddStepProgress(Caster, BARBARIAN_MENTOR_QUEST_2, 4, 1) + SendMessage(Caster, "This crate is not from shipment CG4QC.") + SendPopUpMessage(Caster, "This crate is not from shipment CG4QC.", 255, 255, 255) + SpawnSet(Target, "show_command_icon", 0) + AddTimer(Target, 60000, "ResetBarrel") + elseif HasQuest(Caster, DWARF_MENTOR_QUEST_3) and GetQuestStep(Caster, DWARF_MENTOR_QUEST_3) == 2 and SpellName == "inspect" then + conversation = CreateConversation() + AddConversationOption(conversation, "Stop inspecting.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "A quick search doesn't turn up any packages meant for Mav Boilfist, perhaps you should check some of the other crates and barrels.") + end +end + +function ResetBarrel(NPC) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/dock_barrel_1.lua b/Lua/SpawnScripts/Graystone/dock_barrel_1.lua new file mode 100755 index 000000000..f01fe506a --- /dev/null +++ b/Lua/SpawnScripts/Graystone/dock_barrel_1.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/dock_barrel_1.lua + Script Purpose : dock_barrel_1 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local BARBARIAN_MENTOR_QUEST_2 = 290 +local DWARF_MENTOR_QUEST_3 = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_2, 4) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_3, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_2) and GetQuestStep(Caster, BARBARIAN_MENTOR_QUEST_2) == 4 and SpellName == "inspect" then + AddStepProgress(Caster, BARBARIAN_MENTOR_QUEST_2, 4, 1) + SendMessage(Caster, "This crate is not from shipment CG4QC.") + SendPopUpMessage(Caster, "This crate is not from shipment CG4QC.", 255, 255, 255) + SpawnSet(Target, "show_command_icon", 0) + AddTimer(Target, 60000, "ResetBarrel") + elseif HasQuest(Caster, DWARF_MENTOR_QUEST_3) and GetQuestStep(Caster, DWARF_MENTOR_QUEST_3) == 2 and SpellName == "inspect" then + conversation = CreateConversation() + AddConversationOption(conversation, "Stop inspecting.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "A quick search doesn't turn up any packages meant for Mav Boilfist, perhaps you should check some of the other crates and barrels.") + end +end + +function ResetBarrel(NPC) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/dock_barrel_correct.lua b/Lua/SpawnScripts/Graystone/dock_barrel_correct.lua new file mode 100755 index 000000000..eb9c29ae1 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/dock_barrel_correct.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/Graystone/dock_barrel_correct.lua + Script Purpose : dock_barrel_correct + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local BARBARIAN_MENTOR_QUEST_2 = 290 +local DWARF_MENTOR_QUEST_3 = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_3, 2) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_2, 4) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_2) and GetQuestStep(Caster, BARBARIAN_MENTOR_QUEST_2) == 4 and SpellName == "inspect" then + AddStepProgress(Caster, BARBARIAN_MENTOR_QUEST_2, 4, 1) + SendMessage(Caster, "This crate is not from shipment CG4QC.") + SpawnSet(Target, "show_command_icon", 0) + AddTimer(Target, 30000, "ResetBarrel") + elseif HasQuest(Caster, DWARF_MENTOR_QUEST_3) and GetQuestStep(Caster, DWARF_MENTOR_QUEST_3) == 2 and SpellName == "inspect" then + conversation = CreateConversation() + AddConversationOption(conversation, "Pick up Mav's package.", "PickupMavsPackage") + StartDialogConversation(conversation, 1, Target, Caster, "There is a package for Mav Boilfist sitting just inside this barrel.") + end +end + +function PickupMavsPackage(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_3, 2) + conversation = CreateConversation() + AddConversationOption(conversation, "Close barrel.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You remove Mav's rather heavy package from the barrel. You'll need to clear this with the Shipping Coordinator before you can give it to Mav.") +end + +function ResetBarrel(NPC) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/dock_crate_1.lua b/Lua/SpawnScripts/Graystone/dock_crate_1.lua new file mode 100755 index 000000000..e992bfbae --- /dev/null +++ b/Lua/SpawnScripts/Graystone/dock_crate_1.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/dock_crate_1.lua + Script Purpose : dock_crate_1 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local BARBARIAN_MENTOR_QUEST_2 = 290 +local DWARF_MENTOR_QUEST_3 = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_2, 4) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_3, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_2) and GetQuestStep(Caster, BARBARIAN_MENTOR_QUEST_2) == 4 and SpellName == "inspect" then + AddStepProgress(Caster, BARBARIAN_MENTOR_QUEST_2, 4, 1) + SendMessage(Caster, "This crate is not from shipment CG4QC.") + SendPopUpMessage(Caster, "This crate is not from shipment CG4QC.", 255, 255, 255) + SpawnSet(Target, "show_command_icon", 0) + AddTimer(Target, 60000, "ResetBarrel") + elseif HasQuest(Caster, DWARF_MENTOR_QUEST_3) and GetQuestStep(Caster, DWARF_MENTOR_QUEST_3) == 2 and SpellName == "inspect" then + conversation = CreateConversation() + AddConversationOption(conversation, "Stop inspecting.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "A quick search doesn't turn up any packages meant for Mav Boilfist, perhaps you should check some of the other crates and barrels.") + end +end + +function ResetBarrel(NPC) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/frozen_cherries_1.lua b/Lua/SpawnScripts/Graystone/frozen_cherries_1.lua new file mode 100755 index 000000000..59def3c92 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/frozen_cherries_1.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/frozen_cherries_1.lua + Script Purpose : frozen_cherries_1 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : frozen_cherries_3 gives quest update +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 1) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for Frozen Cherries.", "CheckForCherries") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #4QGCG.") + end +end + +function CheckForCherries(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the shipment alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There doesn't appaer to be any Frozen Cherries in this barrel, perhaps one of the others.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/frozen_cherries_2.lua b/Lua/SpawnScripts/Graystone/frozen_cherries_2.lua new file mode 100755 index 000000000..61a15ee83 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/frozen_cherries_2.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/frozen_cherries_2.lua + Script Purpose : frozen_cherries_3 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : frozen_cherries_3 gives quest update +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 1) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for Frozen Cherries.", "CheckForCherries") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #4QGCG.") + end +end + +function CheckForCherries(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the shipment alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There doesn't appaer to be any Frozen Cherries in this barrel, perhaps one of the others.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/frozen_cherries_3.lua b/Lua/SpawnScripts/Graystone/frozen_cherries_3.lua new file mode 100755 index 000000000..380310ed4 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/frozen_cherries_3.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/frozen_cherries_3.lua + Script Purpose : frozen_cherries_3 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : frozen_cherries_3 gives quest update +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 1) +end +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 1) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for Frozen Cherries.", "CheckForCherries") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #4QGCG.") + end +end + +function CheckForCherries(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_1, 1) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the rest of the shipment.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "Under some old cheese and next to some spices there is a small container marked \"Frozen Cherries.\"") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/honey_1.lua b/Lua/SpawnScripts/Graystone/honey_1.lua new file mode 100755 index 000000000..ea36fa524 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/honey_1.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/honey_1.lua + Script Purpose : honey_1 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 3) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for honey.", "CheckForHoney") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #QGC4F.") + end +end + +function CheckForHoney(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the shipment alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There doesn't appear to be any honey in this barrel, perhaps one of the others.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/honey_2.lua b/Lua/SpawnScripts/Graystone/honey_2.lua new file mode 100755 index 000000000..1aab0b474 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/honey_2.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Graystone/honey_2.lua + Script Purpose : honey_2 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 3) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for honey.", "CheckForHoney") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #QGC4F.") + end +end + +function CheckForHoney(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_1, 3) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the rest of the shipment.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "Surrounded by coal and containers labeled \"gnomish misc.\" you find a jar clearly labeled \"Honey.\"") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/honey_3.lua b/Lua/SpawnScripts/Graystone/honey_3.lua new file mode 100755 index 000000000..c81ef7fe3 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/honey_3.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/honey_3.lua + Script Purpose : honey_3 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 3) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for honey.", "CheckForHoney") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #QGC4F.") + end +end + +function CheckForHoney(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the shipment alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There doesn't appear to be any honey in this barrel, perhaps one of the others.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/honey_4.lua b/Lua/SpawnScripts/Graystone/honey_4.lua new file mode 100755 index 000000000..ddf3b4329 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/honey_4.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/honey_4.lua + Script Purpose : honey_4 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 3) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for honey.", "CheckForHoney") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #QGC4F.") + end +end + +function CheckForHoney(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the shipment alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There doesn't appear to be any honey in this barrel, perhaps one of the others.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/qstunseenhandcrate1.lua b/Lua/SpawnScripts/Graystone/qstunseenhandcrate1.lua new file mode 100755 index 000000000..e5dfa0426 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/qstunseenhandcrate1.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/qst_unseenhand_crate_1.lua + Script Purpose : qst_unseenhand_crate_1 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local BARBARIAN_MENTOR_QUEST_2 = 290 +local DWARF_MENTOR_QUEST_3 = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_2, 4) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_3, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_2) and GetQuestStep(Caster, BARBARIAN_MENTOR_QUEST_2) == 4 and SpellName == "inspect" then + AddStepProgress(Caster, BARBARIAN_MENTOR_QUEST_2, 4, 1) + SendMessage(Caster, "This crate is not from shipment CG4QC.") + SendPopUpMessage(Caster, "This crate is not from shipment CG4QC.", 255, 255, 255) + SpawnSet(Target, "show_command_icon", 0) + AddTimer(Target, 60000, "ResetBarrel") + elseif HasQuest(Caster, DWARF_MENTOR_QUEST_3) and GetQuestStep(Caster, DWARF_MENTOR_QUEST_3) == 2 and SpellName == "inspect" then + conversation = CreateConversation() + AddConversationOption(conversation, "Stop inspecting.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "A quick search doesn't turn up any packages meant for Mav Boilfist, perhaps you should check some of the other crates and barrels.") + end +end + +function ResetBarrel(NPC) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/qstunseenhandcrate2.lua b/Lua/SpawnScripts/Graystone/qstunseenhandcrate2.lua new file mode 100755 index 000000000..99fa4b241 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/qstunseenhandcrate2.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Graystone/qst_unseenhand_crate_2.lua + Script Purpose : qst_unseenhand_crate_2 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : +--]] + +local BARBARIAN_MENTOR_QUEST_2 = 290 +local DWARF_MENTOR_QUEST_3 = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_2, 4) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_3, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_2) and GetQuestStep(Caster, BARBARIAN_MENTOR_QUEST_2) == 4 and SpellName == "inspect" then + AddStepProgress(Caster, BARBARIAN_MENTOR_QUEST_2, 4, 1) + SendMessage(Caster, "This crate is not from shipment CG4QC.") + SendPopUpMessage(Caster, "This crate is not from shipment CG4QC.", 255, 255, 255) + SpawnSet(Target, "show_command_icon", 0) + AddTimer(Target, 60000, "ResetBarrel") + elseif HasQuest(Caster, DWARF_MENTOR_QUEST_3) and GetQuestStep(Caster, DWARF_MENTOR_QUEST_3) == 2 and SpellName == "inspect" then + conversation = CreateConversation() + AddConversationOption(conversation, "Stop inspecting.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "A quick search doesn't turn up any packages meant for Mav Boilfist, perhaps you should check some of the other crates and barrels.") + end +end + +function ResetBarrel(NPC) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/quest_shipment_1.lua b/Lua/SpawnScripts/Graystone/quest_shipment_1.lua new file mode 100755 index 000000000..c4db759a7 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/quest_shipment_1.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Graystone/quest_shipment_1.lua + Script Purpose : quest_shipment_1 + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Quest ID's +local BARBARIAN_MENTOR_QUEST_3 = 291 + +-- Item ID's +local LOCATION_BUOYS = 9109 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_3, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + -- Location Buoys + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_3) and not QuestStepIsComplete(Caster, BARBARIAN_MENTOR_QUEST_3, 1) and HasItem(Caster, LOCATION_BUOYS) then + conversation = CreateConversation() + AddConversationOption(conversation, "Attach the location buoy to the create.", "AttachBuoy") + AddConversationOption(conversation, "Put the buoys away.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "The location buoys are ready to be attached to the crates, you just need to get close enough to attach them properly.") + end +end + +function AttachBuoy(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Put the buoys away.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You fashion a buoy to the crate and let the flotation device float freely to the surface. The shipping coordinate and his men should now be able to locate this crate.") + + SetStepComplete(Spawn, BARBARIAN_MENTOR_QUEST_3, 1) + local Buoy = SpawnMob(GetZone(NPC), 2350166, false, 973.77, -26.085, -143.197) + SpawnSet(Buoy, "initial_state", "49156") + Despawn(Buoy, 120000) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/quest_shipment_2.lua b/Lua/SpawnScripts/Graystone/quest_shipment_2.lua new file mode 100755 index 000000000..eb7ba167f --- /dev/null +++ b/Lua/SpawnScripts/Graystone/quest_shipment_2.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Graystone/quest_shipment_2.lua + Script Purpose : quest_shipment_2 + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Quest ID's +local BARBARIAN_MENTOR_QUEST_3 = 291 + +-- Item ID's +local LOCATION_BUOYS = 9109 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_3, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + -- Location Buoys + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_3) and not QuestStepIsComplete(Caster, BARBARIAN_MENTOR_QUEST_3, 2) and HasItem(Caster, LOCATION_BUOYS) then + conversation = CreateConversation() + AddConversationOption(conversation, "Attach the location buoy to the create.", "AttachBuoy") + AddConversationOption(conversation, "Put the buoys away.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "The location buoys are ready to be attached to the crates, you just need to get close enough to attach them properly.") + end +end + +function AttachBuoy(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Put the buoys away.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You fashion a buoy to the crate and let the flotation device float freely to the surface. The shipping coordinate and his men should now be able to locate this crate.") + + SetStepComplete(Spawn, BARBARIAN_MENTOR_QUEST_3, 2) + local Buoy = SpawnMob(GetZone(NPC), 2350166, false, 973.62, -27.23, -157.60) + SpawnSet(Buoy, "initial_state", "49156") + Despawn(Buoy, 120000) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/quest_shipment_3.lua b/Lua/SpawnScripts/Graystone/quest_shipment_3.lua new file mode 100755 index 000000000..8e5173c54 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/quest_shipment_3.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Graystone/quest_shipment_3.lua + Script Purpose : quest_shipment_3 + Script Author : Scatman + Script Date : 2009.09.27 + Script Notes : +--]] + +-- Quest ID's +local BARBARIAN_MENTOR_QUEST_3 = 291 + +-- Item ID's +local LOCATION_BUOYS = 9109 + +function spawn(NPC) + SetRequiredQuest(NPC, BARBARIAN_MENTOR_QUEST_3, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + -- Location Buoys + if HasQuest(Caster, BARBARIAN_MENTOR_QUEST_3) and not QuestStepIsComplete(Caster, BARBARIAN_MENTOR_QUEST_3, 3) and HasItem(Caster, LOCATION_BUOYS) then + conversation = CreateConversation() + AddConversationOption(conversation, "Attach the location buoy to the create.", "AttachBuoy") + AddConversationOption(conversation, "Put the buoys away.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "The location buoys are ready to be attached to the crates, you just need to get close enough to attach them properly.") + end +end + +function AttachBuoy(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Put the buoys away.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You fashion a buoy to the crate and let the flotation device float freely to the surface. The shipping coordinate and his men should now be able to locate this crate.") + + SetStepComplete(Spawn, BARBARIAN_MENTOR_QUEST_3, 3) + local Buoy = SpawnMob(GetZone(NPC), 2350166, false, 953.05, -27.15, -148.67) + SpawnSet(Buoy, "initial_state", "49156") + Despawn(Buoy, 120000) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/yeast_1.lua b/Lua/SpawnScripts/Graystone/yeast_1.lua new file mode 100755 index 000000000..fb021c164 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/yeast_1.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Graystone/yeast_1.lua + Script Purpose : yeast_1 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : yeast_1 gives quest update +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 2) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for yeast.", "CheckForYeast") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #2DF0F.") + end +end + +function CheckForYeast(NPC, Spawn) + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_1, 2) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the rest of the shipment.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "Just under the lid there is a series of small, connected packets with a single label tag: \"Yeast.\"") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/yeast_2.lua b/Lua/SpawnScripts/Graystone/yeast_2.lua new file mode 100755 index 000000000..cfd9858e1 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/yeast_2.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/yeast_2.lua + Script Purpose : yeast_2 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : yeast_1 gives quest update +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 2) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for yeast.", "CheckForYeast") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #2DF0F.") + end +end + +function CheckForYeast(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the shipment alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There doesn't appear to be any yeast in this barrel, perhaps one of the others.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Graystone/yeast_3.lua b/Lua/SpawnScripts/Graystone/yeast_3.lua new file mode 100755 index 000000000..ee73e9a04 --- /dev/null +++ b/Lua/SpawnScripts/Graystone/yeast_3.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Graystone/yeast_3.lua + Script Purpose : yeast_3 + Script Author : Scatman + Script Date : 2009.10.05 + Script Notes : yeast_1 gives quest update +--]] + +local DWARF_MENTOR_QUEST_1 = 283 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_MENTOR_QUEST_1, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, DWARF_MENTOR_QUEST_1) and not QuestStepIsComplete(Spawn, DWARF_MENTOR_QUEST_1, 2) and SpellName == "Search barrel" then + conversation = CreateConversation() + AddConversationOption(conversation, "Check for yeast.", "CheckForYeast") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is marked as being part of shipment #2DF0F.") + end +end + +function CheckForYeast(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Leave the shipment alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There doesn't appear to be any yeast in this barrel, perhaps one of the others.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/AeliaNaeni.lua b/Lua/SpawnScripts/GreaterFaydark/AeliaNaeni.lua new file mode 100755 index 000000000..47774afd4 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AeliaNaeni.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AeliaNaeni.lua + Script Purpose : Aelia Naeni + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I understand. I'd like the card now, please.", "dlg_11_1") + AddConversationOption(conversation, "No thanks. I don't want the card.") + StartConversation(conversation, NPC, Spawn, "I've been authorized by the powers that be to grant you a lucky card. It's possessed with immense power, and will allow you to rethink some of your achievement choices, .. GetName(Spawn) .. . specifically those related to your class. Think of it like an ace up your sleeve! But be careful, it only has five charges, so use it wisely.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Agarighus.lua b/Lua/SpawnScripts/GreaterFaydark/Agarighus.lua new file mode 100755 index 000000000..28bb01f8c --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Agarighus.lua @@ -0,0 +1,170 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Agarighus.lua + Script Purpose : Agarighus + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus000_complete.mp3", "", "", 730615560, 3996925984, Spawn) + AddConversationOption(conversation, "I am XXXXXXXX. Morganellus said I should visit you.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "You speak to Agarighus.") + if convo==25 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus009.mp3", "", "", 2714952017, 1027396530, Spawn) + AddConversationOption(conversation, "Yes, they have been moved.", "dlg_25_1") + StartConversation(conversation, NPC, Spawn, "Have you moved the shrumblers?") + end + + if convo==28 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus016.mp3", "", "", 1905129429, 4204811677, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_28_1") + StartConversation(conversation, NPC, Spawn, "Have you saved our proto-caplings?") + end + +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus001.mp3", "", "", 66949189, 2899163364, Spawn) + AddConversationOption(conversation, "Actually he didn't.", "dlg_23_2") + StartConversation(conversation, NPC, Spawn, "Ah, Morganellus, did he tell you to say hello to me?") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus002_complete.mp3", "", "", 3839294235, 2098773049, Spawn) + AddConversationOption(conversation, "I suppose.", "dlg_23_3") + AddConversationOption(conversation, "I have to be going.") + StartConversation(conversation, NPC, Spawn, "Oh... always into practicality, that one.") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus002.mp3", "", "", 2532533232, 2094215276, Spawn) + AddConversationOption(conversation, "What is it?", "dlg_23_4") + StartConversation(conversation, NPC, Spawn, "I am sad to say to you, .. GetName(Spawn) .. . that you have come to Dyer Mycoria at a bad time. The grobins--dark children of the heavens--have come to this place and tried to take it as their own. This chaos confuses us, and Dyer Mycoria may fall. I- oh, oh no!") +end + +function dlg_23_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus003.mp3", "", "", 3779153550, 4100680879, Spawn) + AddConversationOption(conversation, "What do you need?", "dlg_23_5") + StartConversation(conversation, NPC, Spawn, "I have forgotten my duties as a grove tender, but I must stay here. Child of the heavens, I need your help.") +end + +function dlg_23_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus004.mp3", "", "", 461489714, 806281340, Spawn) + AddConversationOption(conversation, "I can transport the shrumblers for you.", "dlg_23_6") + StartConversation(conversation, NPC, Spawn, "East of here are two cave paths to some of our germinariums. Though not malicious, the shrumblers in these caves, especially the younger ones, find their way into our germinariums and upset our mineral balance. This affects the growth process of our proto-caplings. Normally I spend some time taking these shrumblers from the germinariums and bringing them back to their natural area in the north eastern caves, but with the grobin presence I have forgotten my duties.") +end + +function dlg_23_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus005.mp3", "", "", 1864583073, 2525799582, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_23_7") + StartConversation(conversation, NPC, Spawn, "Will you? I will give you my shrumbler net. Once you catch the Shrumblers, release them in the north-eastern area of these caves, they should recognize where they are and stay out of our germinariums, at least for a little while.") +end + +function dlg_23_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus006.mp3", "", "", 3926042365, 1419770262, Spawn) + AddConversationOption(conversation, "You are welcome.", "dlg_23_8") + StartConversation(conversation, NPC, Spawn, "Thank you, XXXXXXXX.") +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus010.mp3", "", "", 3194574992, 1484124224, Spawn) + AddConversationOption(conversation, "You are welcome.", "dlg_25_2") + StartConversation(conversation, NPC, Spawn, "The volatile spirit of the children of the heavens is most helpful at times. Thank you, XXXXXXXX.") +end + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus011.mp3", "", "", 2129516882, 4139121979, Spawn) + AddConversationOption(conversation, "Why can't you reach it?", "dlg_25_3") + StartConversation(conversation, NPC, Spawn, "It is a shame we can not reach our western germinarium.") +end + +function dlg_25_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus012.mp3", "", "", 2764843418, 2643187457, Spawn) + AddConversationOption(conversation, "Why don't you go in and rescue them?", "dlg_25_4") + StartConversation(conversation, NPC, Spawn, "There are grobins there. We do not know how to remove them. Our proto-caplings in that germinarium may be lost, sadly.") +end + +function dlg_25_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus013.mp3", "", "", 3170133892, 1263246865, Spawn) + AddConversationOption(conversation, "Why don't I go in and rescue them?", "dlg_25_5") + StartConversation(conversation, NPC, Spawn, "There are grobins in there!") +end + +function dlg_25_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus014.mp3", "", "", 2525042118, 2230039901, Spawn) + AddConversationOption(conversation, "I will go get them.", "dlg_25_6") + StartConversation(conversation, NPC, Spawn, "Is that possible? Perhaps... There is a small cave path to the west that leads to the germinarium. If you could bring our proto-caplings to safety there would be reason for much joy. They will be hard to spot to the eyes of a child of the heavens. They are merely the first signs of life from our spore seeders and will be very, very small.") +end + +function dlg_25_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus015.mp3", "", "", 2574699524, 1590689915, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_25_7") + StartConversation(conversation, NPC, Spawn, "Again, .. GetName(Spawn) .. . you earn our thanks.") +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/agarighus/_exp03/exp03_rgn_greater_faydark/shroomba/agarighus/agarighus017.mp3", "", "", 1366414831, 600906115, Spawn) + AddConversationOption(conversation, "Thank you. I am glad to help.", "dlg_28_2") + StartConversation(conversation, NPC, Spawn, "Oh, .. GetName(Spawn) .. . you do much for the Shroomba! We are ever-grateful. I have these. They are of little use to anyone in Dyer Mycoria, but other children like you insist on giving them to me from time to time.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AllikaatjaPiimarik.lua b/Lua/SpawnScripts/GreaterFaydark/AllikaatjaPiimarik.lua new file mode 100755 index 000000000..5dd87ff00 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AllikaatjaPiimarik.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AllikaatjaPiimarik.lua + Script Purpose : Allikaatja Piimarik + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "May your path be clear, friend.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AlmillaSumac.lua b/Lua/SpawnScripts/GreaterFaydark/AlmillaSumac.lua new file mode 100755 index 000000000..316cb29fa --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AlmillaSumac.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AlmillaSumac.lua + Script Purpose : Almilla Sumac + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "", "Come on over! You won't find better deals elsewhere!", "beckon", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'm sure we have something that will please even you!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "All right! I'll see what we have on the market now.", "thanks", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Let's check what's available, shall we?", "nod", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "All right here's all the goods listed. If you find anything you want, let me know.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AlodieSilverleaf.lua b/Lua/SpawnScripts/GreaterFaydark/AlodieSilverleaf.lua new file mode 100755 index 000000000..b9f3de6cb --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AlodieSilverleaf.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AlodieSilverleaf.lua + Script Purpose : Alodie Silverleaf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Well met, friend!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AltanBrownwing.lua b/Lua/SpawnScripts/GreaterFaydark/AltanBrownwing.lua new file mode 100755 index 000000000..295d79da7 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AltanBrownwing.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AltanBrownwing.lua + Script Purpose : Altan Brownwing + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "", "There's nothing like a bowl of homemade vegetable stew!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Go ahead and use my test kitchen, so long as you clean up after yourself.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Mmm, mmm! Doesn't this smell like something that'll be good to eat?", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1040.mp3", "", "", 0, 0, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1040.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AmiAugren.lua b/Lua/SpawnScripts/GreaterFaydark/AmiAugren.lua new file mode 100755 index 000000000..ae5ef8588 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AmiAugren.lua @@ -0,0 +1,231 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AmiAugren.lua + Script Purpose : Ami Augren + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + -- JA: I think there are random things she says when you are in proximity, or on a timer? + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/quest/ami_augren_child_ami_callout_d5efb2d7.mp3", "WAAAAAaaaaaa!", "cry", 3923011773, 3719514479, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + + -- She'll say this hail response once you finish her quests + --PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/quest/ami_augren_child_completed_ca7e0b77.mp3", "Thank you for bringing my Dolly back!", "cheer", 2643704601, 749990179, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren001.mp3", "", "", 12113457, 274345192, Spawn) + AddConversationOption(conversation, "Buzzies? Do you mean the bees? Do the bees scare you?", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "WAAAAaaaa! Go away, buzzies! Go away!") + if convo==8 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren006.mp3", "", "", 198532712, 1197028678, Spawn) + AddConversationOption(conversation, "Yes... I can tell.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Thank you. I don't like buzzies.") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren001.mp3", "", "", 12113457, 274345192, Spawn) + AddConversationOption(conversation, "Buzzies? Do you mean the bees? Do the bees scare you?", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "WAAAAaaaa! Go away, buzzies! Go away!") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren004.mp3", "", "", 3325418190, 161234706, Spawn) + AddConversationOption(conversation, "I made sure the bees won't be bothering anyone anymore.", "dlg_10_1") + AddConversationOption(conversation, "Not yet, but don't worry.") + StartConversation(conversation, NPC, Spawn, "Are the buzzies gone?") + end + + if convo==12 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren011.mp3", "", "", 735443449, 1189746741, Spawn) + AddConversationOption(conversation, "I got your doll back for you.", "dlg_12_1") + StartConversation(conversation, NPC, Spawn, "What's that you have?!") + end + + if convo==14 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren011.mp3", "", "", 735443449, 1189746741, Spawn) + AddConversationOption(conversation, "I got your doll back for you.", "dlg_14_1") + StartConversation(conversation, NPC, Spawn, "What's that you have?!") + end + +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren002.mp3", "", "", 3768392039, 1880249670, Spawn) + AddConversationOption(conversation, "I'll get rid of them for you.... just calm down.", "dlg_6_2") + AddConversationOption(conversation, "They are your problem, good luck.") + StartConversation(conversation, NPC, Spawn, "Yes, they make me cry! Please, make them go away! WAAAAAaaaaa!") +end + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren003.mp3", "", "", 240117721, 1491988690, Spawn) + AddConversationOption(conversation, "I'll take care of them.", "dlg_6_3") + StartConversation(conversation, NPC, Spawn, "They make owies! Don't let them pinch you!") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren007.mp3", "", "", 2278432854, 2823393532, Spawn) + AddConversationOption(conversation, "Oh no... what now?", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "Oh no! I broke it! WAAAAAaaaaa!") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren008.mp3", "", "", 392334320, 811829906, Spawn) + AddConversationOption(conversation, "Calm down, calm down. It's just a button.", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "My coat! The button came off! WAAAAaaaa!") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren009.mp3", "", "", 4091874190, 3432128478, Spawn) + AddConversationOption(conversation, "Okay, just calm down.", "dlg_8_4") + AddConversationOption(conversation, "No way, you take it. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Take the coat to my mommy. She can fix it!") +end + +function dlg_8_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren010.mp3", "", "", 3660711041, 3242516728, Spawn) + AddConversationOption(conversation, "I will.", "dlg_8_5") + StartConversation(conversation, NPC, Spawn, "Tell her I didn't mean to break it. ") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren002.mp3", "", "", 3768392039, 1880249670, Spawn) + AddConversationOption(conversation, "I'll get rid of them for you.... just calm down.", "dlg_9_2") + AddConversationOption(conversation, "They are your problem, good luck.") + StartConversation(conversation, NPC, Spawn, "Yes, they make me cry! Please, make them go away! WAAAAAaaaaa!") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren003.mp3", "", "", 240117721, 1491988690, Spawn) + AddConversationOption(conversation, "I'll take care of them.", "dlg_9_3") + StartConversation(conversation, NPC, Spawn, "They make owies! Don't let them pinch you!") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren006.mp3", "", "", 198532712, 1197028678, Spawn) + AddConversationOption(conversation, "Yes... I can tell.", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Thank you. I don't like buzzies.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren007.mp3", "", "", 2278432854, 2823393532, Spawn) + AddConversationOption(conversation, "Oh no... what now?", "dlg_10_3") + StartConversation(conversation, NPC, Spawn, "Oh no! I broke it! WAAAAAaaaaa!") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren008.mp3", "", "", 392334320, 811829906, Spawn) + AddConversationOption(conversation, "Calm down, calm down. It's just a button.", "dlg_10_4") + StartConversation(conversation, NPC, Spawn, "My coat! The button came off! WAAAAaaaa!") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren009.mp3", "", "", 4091874190, 3432128478, Spawn) + AddConversationOption(conversation, "Okay, just calm down.", "dlg_10_5") + AddConversationOption(conversation, "No way, you take it. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Take the coat to my mommy. She can fix it!") +end + +function dlg_10_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren010.mp3", "", "", 3660711041, 3242516728, Spawn) + AddConversationOption(conversation, "I will.", "dlg_10_6") + StartConversation(conversation, NPC, Spawn, "Tell her I didn't mean to break it. ") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren012.mp3", "", "", 645889165, 2057650400, Spawn) + AddConversationOption(conversation, "You are welcome, Ami. Now mind your mother.", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "Dolly! Dolly! You brought her back! Yay! Thanks!") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren013.mp3", "", "", 349671317, 2037979122, Spawn) + AddConversationOption(conversation, "Have fun, Ami.", "dlg_12_3") + StartConversation(conversation, NPC, Spawn, "I will! I will! Look! Dolly's back! Hahahaha!") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren012.mp3", "", "", 645889165, 2057650400, Spawn) + AddConversationOption(conversation, "You are welcome, Ami. Now mind your mother.", "dlg_14_2") + StartConversation(conversation, NPC, Spawn, "Dolly! Dolly! You brought her back! Yay! Thanks!") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/ami_augren/ami_augren013.mp3", "", "", 349671317, 2037979122, Spawn) + AddConversationOption(conversation, "Have fun, Ami.", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "I will! I will! Look! Dolly's back! Hahahaha!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/quest/ami_augren_child_ami_callout_d5efb2d7.mp3", "WAAAAAaaaaaa!", "cry", 3923011773, 3719514479, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ami_augren/_exp03/exp03_rgn_greater_faydark/quest/ami_augren_child_completed_ca7e0b77.mp3", "Thank you for bringing my Dolly back!", "cheer", 2643704601, 749990179, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/AmmaIlaari.lua b/Lua/SpawnScripts/GreaterFaydark/AmmaIlaari.lua new file mode 100755 index 000000000..d04544b48 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AmmaIlaari.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AmmaIlaari.lua + Script Purpose : Amma Ilaari + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Watch the wings, please. Thanks.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AmyRecolo.lua b/Lua/SpawnScripts/GreaterFaydark/AmyRecolo.lua new file mode 100755 index 000000000..195af7a99 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AmyRecolo.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AmyRecolo.lua + Script Purpose : Amy Recolo + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I'm sorry, my services are only available to those more advanced in the arts.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AnaajGreenblade.lua b/Lua/SpawnScripts/GreaterFaydark/AnaajGreenblade.lua new file mode 100755 index 000000000..e4c655f6a --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AnaajGreenblade.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AnaajGreenblade.lua + Script Purpose : Anaaj Greenblade + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "The breezes are most refreshing here amongst the leaves.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/AthinaePanteraas.lua b/Lua/SpawnScripts/GreaterFaydark/AthinaePanteraas.lua new file mode 100755 index 000000000..309c6d606 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/AthinaePanteraas.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/AthinaePanteraas.lua + Script Purpose : Athinae Panteraas + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/athinae_panteraas/_exp03/exp03_cty_kelethin/tutorials/banker_athinae/banker_athinae001.mp3", "", "", 2060518952, 3837644303, Spawn) + AddConversationOption(conversation, "Lyyti suggested I come speak with you.", "dlg_42_1") + AddConversationOption(conversation, "Nothing today, thanks.") + StartConversation(conversation, NPC, Spawn, "How can I help you today?") +end + +function dlg_42_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/athinae_panteraas/_exp03/exp03_cty_kelethin/tutorials/banker_athinae/banker_athinae002.mp3", "", "", 2898612991, 4167485514, Spawn) + AddConversationOption(conversation, "Do you remember much about Kelethin's past?", "dlg_42_2") + StartConversation(conversation, NPC, Spawn, "Ah, .. GetName(Spawn) .. . You're starting your Rite of Passage already? Why, I remember when your spirit bud was smaller than a wisp! Time flows swiftly these days, faster than in the Rings of old.") +end + +function dlg_42_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/athinae_panteraas/_exp03/exp03_cty_kelethin/tutorials/banker_athinae/banker_athinae003.mp3", "", "", 262079646, 2170522942, Spawn) + AddConversationOption(conversation, "I guess you chose the former! Er, right?", "dlg_42_3") + StartConversation(conversation, NPC, Spawn, "As much as I need to remember. Kelethin was made by the Feir'Dal -- the wood elves. Many of them left or otherwise dwindled away while our Fae spirits continued to grow. My own spirit reacted so strongly to being inside the bank when I started the Rite of Passage that I knew I was destined to be a banker. Or a bank robber!") +end + +function dlg_42_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/athinae_panteraas/_exp03/exp03_cty_kelethin/tutorials/banker_athinae/banker_athinae004.mp3", "", "", 72224709, 2528981910, Spawn) + AddConversationOption(conversation, "That's good to know!", "dlg_42_4") + StartConversation(conversation, NPC, Spawn, "Of course, .. GetName(Spawn) .. . All my memories are tied into financing, tracking the possessions folks place into or take out of their accounts. As a congratulations for beginning your Rite of Passage, we've prepared a banking slot for you. You can store items as well as coin safely here.") +end + +function dlg_42_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/athinae_panteraas/_exp03/exp03_cty_kelethin/tutorials/banker_athinae/banker_athinae005.mp3", "", "", 2118102052, 2064632205, Spawn) + AddConversationOption(conversation, "Thank you!", "dlg_42_5") + StartConversation(conversation, NPC, Spawn, "If you have questions about how banking works, talk to Trainer Kaali at Green Knoll. She's the one who taught me! Meanwhile, I need to tend to our customers' needs. Best wishes on beginning your journey, XXXXXXXX!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/athinae_panteraas/_exp03/exp03_cty_kelethin/merchants/banker_athinae_hail_776b2dc1.mp3", "Welcome to the Kelethin First Regional Bank!", "wave", 175096612, 245728640, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/BarkChiselchin.lua b/Lua/SpawnScripts/GreaterFaydark/BarkChiselchin.lua new file mode 100755 index 000000000..9708595ab --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BarkChiselchin.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BarkChiselchin.lua + Script Purpose : Bark Chiselchin + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Excuse me?", "dlg_27_1") + AddConversationOption(conversation, "I don't need to speak with you.") + StartConversation(conversation, NPC, Spawn, "Your form needs improvement! Keep your back straight!") +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Should I know anything more?", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "It's all in the posture. Always be ready, that's the path to self-defense! You have to be ready to sway like the wind, to flow like water and to bite like an angry fly. That's the art of self-defense!") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Got it.", "dlg_27_3") + StartConversation(conversation, NPC, Spawn, "You should learn all your life, kid. Otherwise, life isn't worth living. That's the whole truth of self-defense. You want to last longer than your opponent. Self-defense isn't something that can be taught, but it can be learned. Got it?") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will do.", "dlg_27_4") + StartConversation(conversation, NPC, Spawn, "If you're ever jumped again, it's your own fault. Keep your shoulders back, your ears clean and your head high. Now off with you! Back to Lady Katri, I've business to attend to.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/BettinaMeriaan.lua b/Lua/SpawnScripts/GreaterFaydark/BettinaMeriaan.lua new file mode 100755 index 000000000..42b2afe35 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BettinaMeriaan.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BettinaMeriaan.lua + Script Purpose : Bettina Meriaan + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "I absolutely LOVE my job!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Whoops! I think you've got my backpack confused with your own. That's okay, I've made that mistake sometimes too!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/BlinikBelestro.lua b/Lua/SpawnScripts/GreaterFaydark/BlinikBelestro.lua new file mode 100755 index 000000000..297dcda22 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BlinikBelestro.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BlinikBelestro.lua + Script Purpose : Blinik Belestro + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/blinik_belestro/_exp03/exp03_rgn_greater_faydark/quest/scp/part_three/blinik_notonquest_386a8700.mp3", "Hello, hello! Very very busy! Sorry!", "", 3994544341, 1209952897, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Breezebloom.lua b/Lua/SpawnScripts/GreaterFaydark/Breezebloom.lua new file mode 100755 index 000000000..6681934f1 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Breezebloom.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Breezebloom.lua + Script Purpose : Breezebloom + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/merchant_breezebloom/_exp03/exp03_rgn_greater_faydark/quest/nursery_merchant_breezebloom_hello_17d90830.mp3", "My job is to meet the equipment needs of the newly awakened fae.", "hello", 3333178819, 1069024420, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/merchant_breezebloom/_exp03/exp03_rgn_greater_faydark/quest/nursery_merchant_breezebloom_hello_5fd9bd08.mp3", "The concept of money is still pretty new to us, but I think we've adapted well.", "converse_female01", 2155291729, 1651860929, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/merchant_breezebloom/_exp03/exp03_rgn_greater_faydark/quest/nursery_merchant_breezebloom_hello_f290d965.mp3", "One fae's trash is another fae's treasure, that's what I always say!", "smile", 2307932947, 1948449842, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/BresiyaTuuri.lua b/Lua/SpawnScripts/GreaterFaydark/BresiyaTuuri.lua new file mode 100755 index 000000000..74d996142 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BresiyaTuuri.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BresiyaTuuri.lua + Script Purpose : Bresiya Tuuri + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Don't let your illusions be shattered!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/BrinkTrudger.lua b/Lua/SpawnScripts/GreaterFaydark/BrinkTrudger.lua new file mode 100755 index 000000000..dda2da856 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BrinkTrudger.lua @@ -0,0 +1,244 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BrinkTrudger.lua + Script Purpose : Brink Trudger + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- says this until you are level 5 + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/quest/brink_trudger_low_level_c046f9f.mp3", "Hello, youngin'! Check back with me when you have a bit more experience under your belt. I may have some work for you then!", "", 1587078746, 1916787035, Spawn) + + --PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger013.mp3", "", "", 4292702593, 57983242, Spawn) + --AddConversationOption(conversation, "Yes, I have them right here.", "dlg_3_1") + --AddConversationOption(conversation, "Not yet, but I'm working on it.") + --StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". Any luck getting those shells from the beach?") + if convo==5 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger001.mp3", "", "", 2534543570, 2988502140, Spawn) + AddConversationOption(conversation, "Who are you?", "dlg_5_1") + AddConversationOption(conversation, "Thanks, goodbye.") + StartConversation(conversation, NPC, Spawn, "Hi there, young one'! Heh. Off to start your adventures in the great-big, crazy world, eh? Always keep your wits about you! My wits saved me from a few scrapes over the years.") + end + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger004.mp3", "", "", 1893137792, 84245308, Spawn) + AddConversationOption(conversation, "I have some growler pelts for you.", "dlg_7_1") + AddConversationOption(conversation, "I don't have the pelts yet.") + StartConversation(conversation, NPC, Spawn, "Howdy youngin'! How goes the hunt for the growler pelts?") + end + + if convo==14 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger001.mp3", "", "", 2534543570, 2988502140, Spawn) + AddConversationOption(conversation, "Who are you?", "dlg_14_1") + AddConversationOption(conversation, "Thanks, goodbye.") + StartConversation(conversation, NPC, Spawn, "Hi there, young one'! Heh. Off to start your adventures in the great-big, crazy world, eh? Always keep your wits about you! My wits saved me from a few scrapes over the years.") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger007.mp3", "", "", 3075516817, 4149443357, Spawn) + AddConversationOption(conversation, "Yes, I have some spider silk for you.", "dlg_15_1") + AddConversationOption(conversation, "Nope, not yet.") + StartConversation(conversation, NPC, Spawn, "Welcome back, " .. GetName(Spawn) .. ". Heehee ...Were you able to get your hands on some spider silk?") + end + + if convo==19 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger007.mp3", "", "", 3075516817, 4149443357, Spawn) + AddConversationOption(conversation, "Yes, I have some spider silk for you.", "dlg_19_1") + AddConversationOption(conversation, "Nope, not yet.") + StartConversation(conversation, NPC, Spawn, "Welcome back, " .. GetName(Spawn) .. ". Heehee ...Were you able to get your hands on some spider silk?") + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger014.mp3", "", "", 4065110799, 2574058259, Spawn) + AddConversationOption(conversation, "Thanks, Brink.", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Ah, these are excellent huhhuh. Not a scratch on 'em! Uh, these will make fine plate armor, indeed. We appreciate everything you've done. You're going to make a mark in this world, I tell you.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger002.mp3", "", "", 2521303074, 4079509468, Spawn) + AddConversationOption(conversation, "Sure. How can I help?", "dlg_5_2") + AddConversationOption(conversation, "I'm sorry, I'm busy.") + StartConversation(conversation, NPC, Spawn, "The names Trudger, youngin', Brink Trudger. I've been where you're going. I used to be an adventurer, wandering the Shattered Lands, but now I help the Matron of the Nursery by making clothing for newly awakened fae. Eh, I could use your help, if you're willing.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger003.mp3", "", "", 860825066, 492028532, Spawn) + AddConversationOption(conversation, "I can get the hides for you.", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "I'm running low on leather for my fae outfits. I'd go out hunting myself, but I don't think my old bones could take it. Hahaha! If you get me some growler pelts from the grey growlers west of here, I could tan them to make new strips of leather.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger003_offer.mp3", "", "", 179963171, 4058842652, Spawn) + AddConversationOption(conversation, "This should be no problem.", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger005.mp3", "", "", 904667062, 23815959, Spawn) + AddConversationOption(conversation, "Sure, what is it?", "dlg_7_2") + AddConversationOption(conversation, "I don't have time to help anymore, goodbye.") + StartConversation(conversation, NPC, Spawn, "These are great! Nice skinning job on the hides. They'll make great leather pieces. You know, I hate to ask, but, uh, I need your help just one more time. ") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger006.mp3", "", "", 429538583, 2492036558, Spawn) + AddConversationOption(conversation, "I'll get the silk for you.", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "While you were out, I discovered I'm almost out of the spider silk I use to sew fae clothes for the magically-inclined. I'd be in your debt if you'd get me just a small amount of spider silk so that I can continue making the wee fae outfits.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger009.mp3", "", "", 94899034, 3216566812, Spawn) + AddConversationOption(conversation, "I'll be careful.", "dlg_7_4") + StartConversation(conversation, NPC, Spawn, "Wonderful! The silkspinner spiders usually live in an area to the west, past the growlers. Be careful though, those silkspinners are dangerous fellers!") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger002.mp3", "", "", 2521303074, 4079509468, Spawn) + AddConversationOption(conversation, "Sure. How can I help?", "dlg_14_2") + AddConversationOption(conversation, "I'm sorry, I'm busy.") + StartConversation(conversation, NPC, Spawn, "The names Trudger, youngin', Brink Trudger. I've been where you're going. I used to be an adventurer, wandering the Shattered Lands, but now I help the Matron of the Nursery by making clothing for newly awakened fae. Eh, I could use your help, if you're willing.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger003.mp3", "", "", 860825066, 492028532, Spawn) + AddConversationOption(conversation, "I can get the hides for you.", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "I'm running low on leather for my fae outfits. I'd go out hunting myself, but I don't think my old bones could take it. Hahaha! If you get me some growler pelts from the grey growlers west of here, I could tan them to make new strips of leather.") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger003_offer.mp3", "", "", 179963171, 4058842652, Spawn) + AddConversationOption(conversation, "This should be no problem.", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "Great! I appreciate it!") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger008.mp3", "", "", 1249335835, 2386333509, Spawn) + AddConversationOption(conversation, "Is there anything else I can help with?", "dlg_15_2") + AddConversationOption(conversation, "Thank you, Brink.") + StartConversation(conversation, NPC, Spawn, "Marvelous! Uhoh! This silk is very good quality! You, you did an excellent job, and I know the fae appreciate your hard work. You'll make a fine adventurer, .. GetName(Spawn) .. . A fine adventurer, indeed. Huhuh.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger010.mp3", "", "", 1214199522, 2851008750, Spawn) + AddConversationOption(conversation, "What kind of shells do you need?", "dlg_15_3") + AddConversationOption(conversation, "I don't feel like getting shells, goodbye.") + StartConversation(conversation, NPC, Spawn, "Hmmm... I'm running low on hard plates to use in making the armor for the heavy fighter types. If you get me the shells I need, I'd sure appreciate it.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger011.mp3", "", "", 4145013832, 3563128686, Spawn) + AddConversationOption(conversation, "I'll get the shells for you.", "dlg_15_4") + StartConversation(conversation, NPC, Spawn, "I've been using crustacean and turtle shells. The clawsnaps and sand sifters on the beach seem plentiful. If you bring me their shells, I'm sure I'll be able to make them into hard armor for newly awakened fae.") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger012.mp3", "", "", 3911384586, 1778696172, Spawn) + AddConversationOption(conversation, "Okay, I'll be right back.", "dlg_15_5") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". I'll be right here putting this gear together.") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger008.mp3", "", "", 1249335835, 2386333509, Spawn) + AddConversationOption(conversation, "Is there anything else I can help with?", "dlg_19_2") + AddConversationOption(conversation, "Thank you, Brink.") + StartConversation(conversation, NPC, Spawn, "Marvelous! Uhoh! This silk is very good quality! You, you did an excellent job, and I know the fae appreciate your hard work. You'll make a fine adventurer, .. GetName(Spawn) .. . A fine adventurer, indeed. Huhuh.") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger010.mp3", "", "", 1214199522, 2851008750, Spawn) + AddConversationOption(conversation, "What kind of shells do you need?", "dlg_19_3") + AddConversationOption(conversation, "I don't feel like getting shells, goodbye.") + StartConversation(conversation, NPC, Spawn, "Hmmm... I'm running low on hard plates to use in making the armor for the heavy fighter types. If you get me the shells I need, I'd sure appreciate it.") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger011.mp3", "", "", 4145013832, 3563128686, Spawn) + AddConversationOption(conversation, "I'll get the shells for you.", "dlg_19_4") + StartConversation(conversation, NPC, Spawn, "I've been using crustacean and turtle shells. The clawsnaps and sand sifters on the beach seem plentiful. If you bring me their shells, I'm sure I'll be able to make them into hard armor for newly awakened fae.") +end + +function dlg_19_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/brink_trudger/brink_trudger012.mp3", "", "", 3911384586, 1778696172, Spawn) + AddConversationOption(conversation, "Okay, I'll be right back.", "dlg_19_5") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". I'll be right here putting this gear together.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brink_trudger/_exp03/exp03_rgn_greater_faydark/quest/brink_trudger_low_level_c046f9f.mp3", "Hello, youngin'! Check back with me when you have a bit more experience under your belt. I may have some work for you then!", "", 1587078746, 1916787035, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/BrodoGillywump.lua b/Lua/SpawnScripts/GreaterFaydark/BrodoGillywump.lua new file mode 100755 index 000000000..d7b178a56 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BrodoGillywump.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BrodoGillywump.lua + Script Purpose : Brodo Gillywump + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/brodo_gillywump/_exp03/exp03_rgn_greater_faydark/quest/scp/brodo_gillywump_notonquest_35ff94cb.mp3", "Pleased to meet you.", "", 1682626456, 1452067375, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/BurgefSteelwright.lua b/Lua/SpawnScripts/GreaterFaydark/BurgefSteelwright.lua new file mode 100755 index 000000000..75540291f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BurgefSteelwright.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BurgefSteelwright.lua + Script Purpose : Burgef Steelwright + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "burgef_steelwright/_exp03/exp03_rgn_greater_faydark/burgef_steelwright/burgef001.mp3", "", "", 2532462337, 1199688824, Spawn) + AddConversationOption(conversation, "I'll leave you alone.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Can't stop workin'! These 'ere orcs will punish the others for it!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/BuzzVitikka.lua b/Lua/SpawnScripts/GreaterFaydark/BuzzVitikka.lua new file mode 100755 index 000000000..1c31bf8b7 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/BuzzVitikka.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/BuzzVitikka.lua + Script Purpose : Buzz Vitikka + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Hmm! Hmm! Hmm!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/CaptainR.K.Irontoe.lua b/Lua/SpawnScripts/GreaterFaydark/CaptainR.K.Irontoe.lua new file mode 100755 index 000000000..dbbe6b526 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/CaptainR.K.Irontoe.lua @@ -0,0 +1,444 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/CaptainR.K.Irontoe.lua + Script Purpose : Captain R.K. Irontoe + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe001.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Who are you?", "dlg_24_1") + AddConversationOption(conversation, "I do not know. Farewell.") + StartConversation(conversation, NPC, Spawn, "Bah! How does a dwarf feel at home with a canopy of leaves and not one of stone? ") + if convo==25 then + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe057.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "I would like to hear about Kaladim.", "dlg_25_1") + AddConversationOption(conversation, "My interest in serving the dwarven kingdom has risen.") + AddConversationOption(conversation, "I just wanted to say hello. Farewell now. ") + StartConversation(conversation, NPC, Spawn, "Ah! You again. Has your interest in dwarven history risen?") + end + + if convo==26 then + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe057.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "I would like to hear about Kaladim.", "dlg_26_1") + AddConversationOption(conversation, "My interest in serving the dwarven kingdom has risen.") + AddConversationOption(conversation, "I just wanted to say hello. Farewell now. ") + StartConversation(conversation, NPC, Spawn, "Ah! You again. Has your interest in dwarven history risen?") + end + +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe002.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "I would like to hear about Kaladim.", "dlg_24_2") + AddConversationOption(conversation, "Is there anything I can do to help reclaim the glory of Kaladim?") + AddConversationOption(conversation, "Nice to meet you, Captain, but I must go. Bye.") + StartConversation(conversation, NPC, Spawn, "I am Captain R.K. Irontoe, commanding officer of Greater Faydark operations for the Irontoe Brigade, sons of Kaladim! All raise yer milk for the past glory of Kaladim!") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe003.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What did Kaladim do during the War of the Fay?", "dlg_24_3") + AddConversationOption(conversation, "What is the Grand March?") + AddConversationOption(conversation, "What happened to Kaladim during the Age of Cataclysms?") + AddConversationOption(conversation, "What is the Irontoe Brigade?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Kaladim has endured a lot of pain since the War of the Fay. It has stood even after the Grand March removed most of its defenders. It endured the titanic quakes of the Age of Cataclysms. And for what? To see the Serilian Horde occupy its majestic halls.") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe004.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What were trolls and ogres doing in Lesser Faydark?", "dlg_24_4") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "During the great war, the brigades of the Stormguard marched from the gates of Kaladim to the forests of Kelethin where the Neriak Alliance was razing the realm of the elves. The dwarven army met great resistance from troll and ogre units within the Lesser Faydark, but nothing could keep us from reaching the besieged tree city.") +end + +function dlg_24_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe005.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Did the trolls and ogres stop the dwarven brigades?", "dlg_24_5") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The dark elf generals sent their brigades of monsters to halt the march of the dwarven armies there. They knew that we would come to rescue our elven brothers. We could break their sieges on Felwithe and Kelethin. So it was in the Lesser Faydark that monsters met mettle...dwarven mettle.") +end + +function dlg_24_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe006.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What happened at the Battle of Brute Hill?", "dlg_24_6") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The monsters did their best to surprise our army, managing to divide our brigades, but they could not stop us. One of the bloodiest battles fought there was the Battle of Brute Hill. That was where King Kazon Stormhammer and the Ogrebane Brigade were encircled. But the Ogrebane Brigade would not end that day.") +end + +function dlg_24_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe007.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "So they managed to reach Kelethin and rescue the city?", "dlg_24_7") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The fierce Ogrebane Brigade was outnumbered ten to one. The other brigades had their own battles and could not reach them. Death was certain, but King Kazon Stormhammer used the mighty Stormhammer, the great weapon bestowed to him by Brell Serilis. With a mighty rumble, the powers of the Underfoot shook and quaked, the ground claimed our foes and the march continued.") +end + +function dlg_24_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe008.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "The dark elves burned the forest?", "dlg_24_8") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Yes. The brigades reached the greater and then battles would abound throughout the land of the wood elves. Dwarf fought alongside elf against the evil dark elf army of Dreadguard and Crushbone orcs. During the many skirmishes, the dark elves set fire to the forest. This became known as the Fires of Faydark, the final battle. ") +end + +function dlg_24_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe009.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What about Felwithe, home of the high elves?", "dlg_24_9") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The Greater Faydark burned bright. Many platoons, both friend and foe, fell to the surrounding flames. It was a last ditch effort of the dark elves. They knew they had been beaten and they wished to throw a great dagger while passing through death's door. Regardless of the damage done, we were victorious and Kelethin survived. ") +end + +function dlg_24_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe010.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "So the gnomes and their machines freed Felwithe.", "dlg_24_10") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "If it were not for the tick-tocking, puffing and clanking army of the gnomes, I am sure Felwithe would be part of the dark elf empire to this day. The elite dark elf Dragoons, led by their king, had captured Felwithe. But the clockworks clambered over the mountain peaks that previously made the elven city in the clouds impervious to attack. ") +end + +function dlg_24_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe011.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What else occurred in the Siege of Felwithe?", "dlg_24_11") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Yes, but when the contraptions of the gnomes come to the rescue, you are sure to take severe damage from their good deed. The clockworks toppled much of the grand city in the process. Still, they did liberate the city and alongside the elite Koada'Vie, they not only thwarted the occupation, but managed to slay the evil King Naythox Thex. Unfortunately, not before the Dragoons slew the high elf king also. What a shame.") +end + +function dlg_24_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe012.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "I would like to hear more about Kaladim.", "dlg_24_12") + AddConversationOption(conversation, "Were there any significant dwarven battles in Greater Faydark?") + AddConversationOption(conversation, "Very well, I will run along. Farewell.") + StartConversation(conversation, NPC, Spawn, "Now listen here, I am a dwarven historian. I care little of the battles beyond our brigades. You are lucky enough to hear a bit about the occupation and liberation of Felwithe. Now run along, do something heroic.") +end + +function dlg_25_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe003.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What did Kaladim do during the War of the Fay?", "dlg_25_2") + AddConversationOption(conversation, "What is the Grand March?") + AddConversationOption(conversation, "What happened to Kaladim during the Age of Cataclysms?") + AddConversationOption(conversation, "What is the Irontoe Brigade?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Kaladim has endured a lot of pain since the War of the Fay. It has stood even after the Grand March removed most of its defenders. It endured the titanic quakes of the Age of Cataclysms. And for what? To see the Serilian Horde occupy its majestic halls.") +end + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe013.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Are you saying that everyone left Kaladim?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.", "dlg_25_3") + StartConversation(conversation, NPC, Spawn, "You ask about things only a son or daughter of Kaladim should know, but it is no secret. During the latter years of the Age of War, Kaladim lost much of its population to the grandest pilgrimage ever, a crusade given to us by Brell. ") +end + +function dlg_25_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe014.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Why would most of the dwarves abandon their grand kingdom of Kaladim?", "dlg_25_4") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Not everyone, but most. I cannot reveal the reasons why or even where they went, but I can say that it was a calling of Brell's. Long have we waited for word to reach us about the glorious halls of the Vaults of Serilis.") +end + +function dlg_25_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe015.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "They found out where this place is?", "dlg_25_5") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The Vaults have long been part of our mythology and our destiny. The Vaults of Serilis is the grandest temple in all Norrath. It is said that Brell made his temporary home on Norrath in the Vaults as he created his children and the creatures that would be deposited upon Norrath. It is the cradle of the first and destiny to us all.") +end + +function dlg_25_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe016.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Tell me more of the Vaults of Serilis and what this riddle was.", "dlg_25_6") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The riddle of its location reached Kaladim. The king and his lords studied the riddle for many years until a location could be determined. Unfortunately, the answer was accompanied by an impending doom if the Vaults could not be saved from a mysterious threat. ") +end + +function dlg_25_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe017.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "I would like to hear more about Kaladim.", "dlg_25_7") + AddConversationOption(conversation, "Very well, I will run along. Farewell.") + StartConversation(conversation, NPC, Spawn, "I have said too much about the whispers Brell bestowed upon the dwarves. You must abandon your query. I will tell you no more about the Grand March.") +end + +function dlg_25_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe003.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What did Kaladim do during the War of the Fay?", "dlg_25_8") + AddConversationOption(conversation, "What is the Grand March?") + AddConversationOption(conversation, "What happened to Kaladim during the Age of Cataclysms?") + AddConversationOption(conversation, "What is the Irontoe Brigade?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Kaladim has endured a lot of pain since the War of the Fay. It has stood even after the Grand March removed most of its defenders. It endured the titanic quakes of the Age of Cataclysms. And for what? To see the Serilian Horde occupy its majestic halls.") +end + +function dlg_25_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe018.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Did Kaladim take much damage during this time?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "As Norrath quaked and rumbled, Kaladim stood its greatest test. When the titanic quakes began, it was in grave danger, being the grandest city ever to be built under the mountains, grander even than the ticking city of Ak'Anon. ") +end + +function dlg_25_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe019.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What happened inside?", "dlg_25_10") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Kaladim has always been built in the sturdiest of environments. We dwarves know our rock! When other caves crumbled and collapsed, Kaladim stood strong. But the monuments and the free standing towers of the city did not fare so well... nor the residents within.") +end + +function dlg_25_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe020.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "But they were freed, were they not?", "dlg_25_11") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The world began to spasm and monuments cracked. Our finest monument was over the gates leading into Kaladim: the statue of Dagnor Butcherblock. The great stone hammer that was held by the statue fractured and broke free! It came crashing down, sealing the passage into Kaladim. All within became prisoners. ") +end + +function dlg_25_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe021.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "How did the dwarves inside manage to survive, or did they?", "dlg_25_12") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Unfortunately, the survivors were cut off from the surface world for a long time. The stone used for monuments is often quite dense and almost impossible to breach. It would be nearly a year before we could clear the gates of Kaladim. ") +end + +function dlg_25_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe022.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "An invasion from somewhere else? Where from?", "dlg_25_13") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "What few residents within that survived the quakes lived on resources which we dwarves always store in abundance. But this sustenance would not protect them from the unexpected invasion that would come: the invasion of the Serilian Horde.") +end + +function dlg_25_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe023.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "But now you can retake the city!", "dlg_25_14") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The great rumblings of the Age had created a fissure between our kingdom and the depths of the underworld. This fissure was the means used by an evil alliance of underworld denizens to enter Kaladim and slay every last dwarf, thereby claiming this city as their capital.") +end + +function dlg_25_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe024.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "I would like to hear more about Kaladim.", "dlg_25_15") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "By the time we managed to breach the collapse and enter our city, the horde had established an impregnable front. We lost many soldiers during our early assaults. We must bolster our forces to defend and expand Fort Irontoe, our new base of operations within Butcherblock Mountains. ") +end + +function dlg_25_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe003.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What did Kaladim do during the War of the Fay?", "dlg_25_16") + AddConversationOption(conversation, "What is the Grand March?") + AddConversationOption(conversation, "What happened to Kaladim during the Age of Cataclysms?") + AddConversationOption(conversation, "What is the Irontoe Brigade?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Kaladim has endured a lot of pain since the War of the Fay. It has stood even after the Grand March removed most of its defenders. It endured the titanic quakes of the Age of Cataclysms. And for what? To see the Serilian Horde occupy its majestic halls.") +end + +function dlg_25_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe032.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What is the Stormguard?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "We are the Irontoe Brigade. We are the final defenders of the dwarves within this land. Our brigade history is rich with heroism and tragedy. The brigade was formed long before my time. It was formed in the Monument Age and stood as the greatest champions of the Stormguard.") +end + +function dlg_25_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe033.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Why did they disband?", "dlg_25_18") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The Stormguard is the army of Kaladim. It is comprised of a number of brigades and the Irontoe Brigade stands as its most legendary. Long were they the champions of the king and kingdom. Then one day they disbanded. We are its revival.") +end + +function dlg_25_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe034.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What happend between the orcs and the brigade?", "dlg_25_19") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "During the Age of Enlightenment the king sent the Irontoe Brigade on a seemingly suicidal mission to reclaim a great artifact from the land of the orcs. Even a legendary brigade can be overwhelmed by great numbers. ") +end + +function dlg_25_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe035.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What were they sent to get from the ruins?", "dlg_25_20") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The orcs surrounded the brigade at an ancient dwarven stronghold that lay in ruins within orc country. The orcs had now made their citadel upon these ruins. The brigade was taking great losses to reach the inside of this citadel in hopes of finding access to the ruins. There were even greater losses to follow. ") +end + +function dlg_25_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe036.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "But you are an Irontoe Brigade officer. You must know what it was they brought back?", "dlg_25_21") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The secret of the artifact and ruins rests with the original Irontoe Brigade and King Kazon Stormhammer. They would be the only ones that would know what was brought back from the ruined vaults of the ruins that day in the Battle of Broken Skull Hill.") +end + +function dlg_25_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe037.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Where did they go?", "dlg_25_22") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The secret was never passed down. All that is known is that compared to the great losses that saw over three fourths of the brigade slain, the reward brought disillusion to the surviving members. After the artifact was brought safely back to the king, the leader of the Irontoe Brigade disbanded the organization. They then left Kaladim for parts unknown.") +end + +function dlg_25_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe038.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "So, you are not the same Irontoe Brigade?", "dlg_25_23") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The Irontoe Brigade's surviving members spread throughout Norrath, none close to another. All left, save their leader, Tumpy Irontoe. Tumpy remained in Kaladim, but cast away his life as a defender. He opened a tavern called 'Irontoe's Eats' where many of the brigade members would return to every year on the anniversary of the Battle of Broken Skull Hill.") +end + +function dlg_25_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe039.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "You came back to Kaladim, but why?", "dlg_25_24") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Dwarves live long, but sooner or later the sword or Lady Time reaches out to your soul. The original brigade took on apprentices. Each renamed their apprentice in a fashion that was uniform with the others, far in other lands. Those are the names we carried back to Kaladim when she needed us. ") +end + +function dlg_25_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe040.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Could I hear more about Kaladim?", "dlg_25_25") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Our help was necessary in training new guards that would be needed once the Stormguard left on the Grand March. We returned in the Age of War to train a new army to defend Kaladim. And that is how we came to be. ") +end + +function dlg_25_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe003.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What did Kaladim do during the War of the Fay?", "dlg_25_26") + AddConversationOption(conversation, "What is the Grand March?") + AddConversationOption(conversation, "What happened to Kaladim during the Age of Cataclysms?") + AddConversationOption(conversation, "What is the Irontoe Brigade?") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "Kaladim has endured a lot of pain since the War of the Fay. It has stood even after the Grand March removed most of its defenders. It endured the titanic quakes of the Age of Cataclysms. And for what? To see the Serilian Horde occupy its majestic halls.") +end + +function dlg_25_26(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe004.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "What were trolls and ogres doing in Lesser Faydark?", "dlg_25_27") + AddConversationOption(conversation, "I have no time for a history lesson. Farewell.") + StartConversation(conversation, NPC, Spawn, "During the great war, the brigades of the Stormguard marched from the gates of Kaladim to the forests of Kelethin where the Neriak Alliance was razing the realm of the elves. The dwarven army met great resistance from troll and ogre units within the Lesser Faydark, but nothing could keep us from reaching the besieged tree city.") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "captain_r.k._irontoe/_exp03/exp03_rgn_greater_faydark/captain_rk_irontoe/rk_irontoe042.mp3", "", "", 770633161, 1780911252, Spawn) + AddConversationOption(conversation, "Farewell.") + StartConversation(conversation, NPC, Spawn, "I am afraid you'll only get yourself hurt. Keep at your training and you'll soon be good enough to serve alongside the Irontoe Brigade.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/CaptainSteelforge.lua b/Lua/SpawnScripts/GreaterFaydark/CaptainSteelforge.lua new file mode 100755 index 000000000..ea8ec6e4f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/CaptainSteelforge.lua @@ -0,0 +1,231 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/CaptainSteelforge.lua + Script Purpose : Captain Steelforge + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, 152) then + -- initial response when not on Trillis quest, but also not on Spelunkle quest yet (convo 17) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge001.mp3", "", "", 3588015158, 768345314, Spawn) + AddConversationOption(conversation, "I'm not worried about any ole grobins.", "dlg_17_1") + AddConversationOption(conversation, "I'm out of here!") + StartConversation(conversation, NPC, Spawn, "Whoa, what are ye doin' out here? Thar be grobins in this cave that'll eat yer eyeballs and roast yer toes! Watch yerself youngin'.") + else + -- initial hail when on quest from Trillis + -- if convo==13 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge001.mp3", "", "", 3588015158, 768345314, Spawn) + AddConversationOption(conversation, "I brought a status report from Sentry Trillis.", "dlg_13_1") + AddConversationOption(conversation, "I'm not worried about any ole grobins.") + AddConversationOption(conversation, "I'm out of here!") + StartConversation(conversation, NPC, Spawn, "Whoa, what are ye doin' out here? Thar be grobins in this cave that'll eat yer eyeballs and roast yer toes! Watch yerself youngin'.") + end + + -- initial response when on Trillis quest, but not on Spelunkle quest + if convo==22 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge001.mp3", "", "", 3588015158, 768345314, Spawn) + AddConversationOption(conversation, "I brought a status report from Sentry Trillis.", "dlg_22_1") + AddConversationOption(conversation, "I'm out of here!") + StartConversation(conversation, NPC, Spawn, "Whoa, what are ye doin' out here? Thar be grobins in this cave that'll eat yer eyeballs and roast yer toes! Watch yerself youngin'.") + end + + -- completing Spelunkle quest + if convo==30 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge005.mp3", "", "", 2083248035, 1619033401, Spawn) + AddConversationOption(conversation, "He's fine. He also told me about the shrumbler queen they had in the cave.", "dlg_30_1") + AddConversationOption(conversation, "I haven't found him yet.") + StartConversation(conversation, NPC, Spawn, "Did ya find little Spelunkle? Tell me, is he okay?") + end + +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge006.mp3", "", "", 897068952, 3276150926, Spawn) + AddConversationOption(conversation, "Nah, I took care of it.", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "The shrumbler queen they 'had'? Did they go and move her or somethin'?") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge007.mp3", "", "", 1161262204, 1265134941, Spawn) + AddConversationOption(conversation, "I couldn't have done it without Spelunkle's help.", "dlg_5_3") + AddConversationOption(conversation, "Yeah, I'm that good.") + StartConversation(conversation, NPC, Spawn, "You did? Amazin'! You solved our problems on your own?") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge008.mp3", "", "", 647162173, 4086848516, Spawn) + AddConversationOption(conversation, "Thank you, Captain Steelforge.", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Cleanin' up the rest of these grobins should be a breeze now that you've destroyed their operation. You did a fine job, .. GetName(Spawn) .. . Please take this as payment. ") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge009.mp3", "", "", 195987972, 3354737418, Spawn) + AddConversationOption(conversation, "Sure, I can take it.", "dlg_5_5") + AddConversationOption(conversation, "No thanks, I'm busy.") + StartConversation(conversation, NPC, Spawn, "Oh, before you go... could you take this report of our activities to Jenthis Viridar at the Sapling Spur Outpost? You'll find the outpost through Echo Echo Canyon, east of here.") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge010.mp3", "", "", 247015049, 192968662, Spawn) + AddConversationOption(conversation, "You are welcome.", "dlg_5_6") + StartConversation(conversation, NPC, Spawn, "Thanks again for all your help!") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge002.mp3", "", "", 182585775, 224821525, Spawn) + AddConversationOption(conversation, "Grobins don't worry me. I already got rid of the ones at Amethyst Pond.", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "Private Trillis' report, ya say? Good, looks like 'All Clear' from up top, boys. Now ya best be gettin' to some place safe. Grobins ain't some wee pals to be playing ring-around-the-rosey-posey with.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge003.mp3", "", "", 2413910951, 3163146972, Spawn) + AddConversationOption(conversation, "I can handle it. What is going on?", "dlg_13_3") + AddConversationOption(conversation, "Into the cave? No thanks.") + StartConversation(conversation, NPC, Spawn, "Not worried, eh? We could all use a bit o' help if yer interested. But it involves goin' into Drippy Caves, so it be okay if ye want to back out.") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge004.mp3", "", "", 4222019617, 563206009, Spawn) + AddConversationOption(conversation, "You got it.", "dlg_13_4") + StartConversation(conversation, NPC, Spawn, "We got here a few minutes ago, and before we could even unload our packs, old Spelunkle darted into the caves to investigate. He's got no brains, but ya gotta admire his spunk. We need to set up the defenses here to contain the grobin, but I need you to check on Spelunkle and make sure he's okay.") +end + +function dlg_13_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge004_offer.mp3", "", "", 2284193320, 823728005, Spawn) + AddConversationOption(conversation, "I'll find him.", "dlg_13_5") + StartConversation(conversation, NPC, Spawn, "I'm sure he's fine, but that don't stop me from worrying.") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge003.mp3", "", "", 2413910951, 3163146972, Spawn) + AddConversationOption(conversation, "I can handle it. What is going on?", "dlg_17_2") + AddConversationOption(conversation, "Into the cave? No thanks.") + StartConversation(conversation, NPC, Spawn, "Not worried, eh? We could all use a bit o' help if yer interested. But it involves goin' into Drippy Caves, so it be okay if ye want to back out.") +end + +function dlg_17_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge004.mp3", "", "", 4222019617, 563206009, Spawn) + AddConversationOption(conversation, "You got it.", "dlg_17_3") + StartConversation(conversation, NPC, Spawn, "We got here a few minutes ago, and before we could even unload our packs, old Spelunkle darted into the caves to investigate. He's got no brains, but ya gotta admire his spunk. We need to set up the defenses here to contain the grobin, but I need you to check on Spelunkle and make sure he's okay.") +end + +function dlg_17_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge004_offer.mp3", "", "", 2284193320, 823728005, Spawn) + AddConversationOption(conversation, "I'll find him.", "dlg_17_4") + StartConversation(conversation, NPC, Spawn, "I'm sure he's fine, but that don't stop me from worrying.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge002.mp3", "", "", 182585775, 224821525, Spawn) + AddConversationOption(conversation, "Well, I'll be going.", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "Private Trillis' report, ya say? Good, looks like 'All Clear' from up top, boys. Now ya best be gettin' to some place safe. Grobins ain't some wee pals to be playing ring-around-the-rosey-posey with.") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge006.mp3", "", "", 897068952, 3276150926, Spawn) + AddConversationOption(conversation, "Nah, I took care of it.", "dlg_30_2") + StartConversation(conversation, NPC, Spawn, "The shrumbler queen they 'had'? Did they go and move her or somethin'?") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge007.mp3", "", "", 1161262204, 1265134941, Spawn) + AddConversationOption(conversation, "I couldn't have done it without Spelunkle's help.", "dlg_30_3") + AddConversationOption(conversation, "Yeah, I'm that good.") + StartConversation(conversation, NPC, Spawn, "You did? Amazin'! You solved our problems on your own?") +end + +function dlg_30_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge008.mp3", "", "", 647162173, 4086848516, Spawn) + AddConversationOption(conversation, "Thank you, Captain Steelforge.", "dlg_30_4") + StartConversation(conversation, NPC, Spawn, "Cleanin' up the rest of these grobins should be a breeze now that you've destroyed their operation. You did a fine job, .. GetName(Spawn) .. . Please take this as payment. ") +end + +function dlg_30_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge009.mp3", "", "", 195987972, 3354737418, Spawn) + AddConversationOption(conversation, "Sure, I can take it.", "dlg_30_5") + AddConversationOption(conversation, "No thanks, I'm busy.") + StartConversation(conversation, NPC, Spawn, "Oh, before you go... could you take this report of our activities to Jenthis Viridar at the Sapling Spur Outpost? You'll find the outpost through Echo Echo Canyon, east of here.") +end + +function dlg_30_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/captain_steelforge/captain_steelforge010.mp3", "", "", 247015049, 192968662, Spawn) + AddConversationOption(conversation, "You are welcome.", "dlg_30_6") + StartConversation(conversation, NPC, Spawn, "Thanks again for all your help!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/captain_steelforge/_exp03/exp03_rgn_greater_faydark/quest/captain_steelforge_spelunkle_c8071534.mp3", "Make sure Scout Spelunkle is okay. I worry about the little guy.", "glare", 2067280972, 25682853, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/CeftStoutarm.lua b/Lua/SpawnScripts/GreaterFaydark/CeftStoutarm.lua new file mode 100755 index 000000000..39a6dc710 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/CeftStoutarm.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/CeftStoutarm.lua + Script Purpose : Ceft Stoutarm + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ceft_stoutarm/_exp03/exp03_rgn_greater_faydark/ceft_stoutarm/ceft_001.mp3", "", "", 3428054775, 3943106008, Spawn) + AddConversationOption(conversation, "Is everything okay?", "dlg_19_1") + AddConversationOption(conversation, "I don't care.") + StartConversation(conversation, NPC, Spawn, "Well, hello there. if you're here to buy some ale, you're going to have to wait a while. It seems the magic of getting here affected some of my supplies.") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ceft_stoutarm/_exp03/exp03_rgn_greater_faydark/ceft_stoutarm/ceft_002.mp3", "", "", 1222026654, 3497444691, Spawn) + AddConversationOption(conversation, "Do you want me to get you a stick?", "dlg_19_2") + AddConversationOption(conversation, "A stick? Get it yourself.") + StartConversation(conversation, NPC, Spawn, "It hasn’t been the best trip for me that’s for sure. If you want any of my ale you are going to have to help out. My stir stick was broken by Grum, and now I am in need of another one. But it's not like I can use just any stick.") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ceft_stoutarm/_exp03/exp03_rgn_greater_faydark/ceft_stoutarm/ceft_003.mp3", "", "", 649655305, 3225332806, Spawn) + AddConversationOption(conversation, "I will find the most wicked tree in the faydark.", "dlg_19_3") + StartConversation(conversation, NPC, Spawn, "The stick needs to come from a tree that is home to bees. If you can find it on an evil tree that’s even better since it will impart some of its spirit to the ale.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/CelinistaRyannalis.lua b/Lua/SpawnScripts/GreaterFaydark/CelinistaRyannalis.lua new file mode 100755 index 000000000..a86c4e340 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/CelinistaRyannalis.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/CelinistaRyannalis.lua + Script Purpose : Celinista Ryannalis + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1011.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Scorched Skeletal Wizards", "dlg_12_1") + AddConversationOption(conversation, "I would like the writ: Fayflies") + AddConversationOption(conversation, "I will return later to lend my aid.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Order of Arcane, .. GetName(Spawn) .. . We could use your assistance if you are willing to lend a hand.") + if convo==13 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1011.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Scorched Skeletal Wizards", "dlg_13_1") + AddConversationOption(conversation, "I would like the writ: Fayflies") + AddConversationOption(conversation, "I will return later to lend my aid.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Order of Arcane, .. GetName(Spawn) .. . We could use your assistance if you are willing to lend a hand.") + end + +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll get started right away.", "dlg_13_2") + StartConversation(conversation, NPC, Spawn, "The Order of the Arcane would like for you to eliminate scorched skeletal wizards to further our cause. Doing so will earn you favor with our organization.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/CommanderMarcusTraeis.lua b/Lua/SpawnScripts/GreaterFaydark/CommanderMarcusTraeis.lua new file mode 100755 index 000000000..274501e4d --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/CommanderMarcusTraeis.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/CommanderMarcusTraeis.lua + Script Purpose : Commander Marcus Traeis + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Be careful if you're planning on entering the elven city. Visitors are not welcome there.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/CorrigStonecutter.lua b/Lua/SpawnScripts/GreaterFaydark/CorrigStonecutter.lua new file mode 100755 index 000000000..93e759fcf --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/CorrigStonecutter.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/CorrigStonecutter.lua + Script Purpose : Corrig Stonecutter + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "There's nothing wrong with looking, is there?", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "All right here's all the goods listed. If you find anything you want, let me know.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I've got the goods if you've got the time.", "beckon", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Cucumber.lua b/Lua/SpawnScripts/GreaterFaydark/Cucumber.lua new file mode 100755 index 000000000..040feb4f3 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Cucumber.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Cucumber.lua + Script Purpose : None, just me screwing around + Script Author : Jabantiz + Script Date : 5/31/2018 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function death(NPC, Spawn) + KillSpawn(Spawn, NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/DanariaRedvine.lua b/Lua/SpawnScripts/GreaterFaydark/DanariaRedvine.lua new file mode 100755 index 000000000..b729e0582 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/DanariaRedvine.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/DanariaRedvine.lua + Script Purpose : Danaria Redvine + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1067.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing, thanks.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Hello. Do you need something?") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/DarukGraniteNoseDobbson.lua b/Lua/SpawnScripts/GreaterFaydark/DarukGraniteNoseDobbson.lua new file mode 100755 index 000000000..3db648a23 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/DarukGraniteNoseDobbson.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/DarukGraniteNoseDobbson.lua + Script Purpose : Daruk Granite Nose Dobbson + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/daruk_granite_nose_dobbson/_exp03/exp03_rgn_greater_faydark/quest/scp/part_three/daruk_notonquest_f4793c32.mp3", "Don't bother me, I'm planning!", "", 400726950, 222322887, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/DerekTravllor.lua b/Lua/SpawnScripts/GreaterFaydark/DerekTravllor.lua new file mode 100755 index 000000000..cbbade7df --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/DerekTravllor.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/DerekTravllor.lua + Script Purpose : Derek Travllor + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "This is such a lovely city.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/DhalaVeera.lua b/Lua/SpawnScripts/GreaterFaydark/DhalaVeera.lua new file mode 100755 index 000000000..3b94a0acb --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/DhalaVeera.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/DhalaVeera.lua + Script Purpose : Dhala Veera + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/dhala_veera/_exp03/exp03_rgn_greater_faydark/quest/scp/dhala_veera_notonquest_80efa18a.mp3", "Welcome, friend.", "", 879274723, 3802246177, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/DirkiGerika.lua b/Lua/SpawnScripts/GreaterFaydark/DirkiGerika.lua new file mode 100755 index 000000000..fe40cad34 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/DirkiGerika.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/DirkiGerika.lua + Script Purpose : Dirki Gerika + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "What's that?", "confused", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/EagereyeMayweed.lua b/Lua/SpawnScripts/GreaterFaydark/EagereyeMayweed.lua new file mode 100755 index 000000000..3d5dcba6e --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/EagereyeMayweed.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/EagereyeMayweed.lua + Script Purpose : Eagereye Mayweed + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I'm eager to assist you!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/EbnixCogsworth.lua b/Lua/SpawnScripts/GreaterFaydark/EbnixCogsworth.lua new file mode 100755 index 000000000..28325c920 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/EbnixCogsworth.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/EbnixCogsworth.lua + Script Purpose : Ebnix Cogsworth + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_65_1") + StartConversation(conversation, NPC, Spawn, "You've yet to become a crafter. Please return once you've learned some crafting and I'll teach you more.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/EleoonaFaleisinae.lua b/Lua/SpawnScripts/GreaterFaydark/EleoonaFaleisinae.lua new file mode 100755 index 000000000..d5a36420f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/EleoonaFaleisinae.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/EleoonaFaleisinae.lua + Script Purpose : Eleoona Faleisinae + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/quest/quest_intro_eleoona_hail_2e22fc60.mp3", "Kelethin belongs to the Fae now.", "", 1403528353, 3139849181, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/quest/quest_intro_eleoona_hail_2e3cf704.mp3", "Times were much simpler when I was younger. So much has changed since then!", "", 1966167640, 4246981561, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/quest/quest_intro_eleoona_hail_60d7f941.mp3", "Nothing makes me laugh more than seeing someone take a wrong turn off a platform!", "chuckle", 2980400722, 2578144339, Spawn) + else + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/tutorials/qst_eleoona/qst_eleoona001.mp3", "", "", 2570228484, 695828840, Spawn) + AddConversationOption(conversation, "Jalmari Keletana sent me to ask your advice about the Grender.", "dlg_5_1") + AddConversationOption(conversation, "I seek nothing at this time.") + StartConversation(conversation, NPC, Spawn, "What do you seek?") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/tutorials/qst_eleoona/qst_eleoona002.mp3", "", "", 3929358033, 309978465, Spawn) + AddConversationOption(conversation, "They say that?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "The Grender? I've heard of it. They say it breathes fire and belches a thick gaseous cloud that poisons all it touches! They say its eyes are red hot coals and if you stare into them, you'll be blinded!") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/tutorials/qst_eleoona/qst_eleoona003.mp3", "", "", 2961784962, 1653403158, Spawn) + AddConversationOption(conversation, "Working with Kalamar Vesinger, I've located the Grender's lair beneath Kelethin. Jalmari wants to know what you recommend we do.", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Of course not! Heehee ... I'm just kidding! What do you need advice about?") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/tutorials/qst_eleoona/qst_eleoona004.mp3", "", "", 3699665352, 534069949, Spawn) + AddConversationOption(conversation, "But I...oh, nevermind.", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "I've no time for your foolishness! I'm planning the next social event for the self-defense force and it does not include waltzing with the Grender. Please, take your jokes elsewhere.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/quest/quest_intro_eleoona_hail_60d7f941.mp3", "Nothing makes me laugh more than seeing someone take a wrong turn off a platform!", "chuckle", 2980400722, 2578144339, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/quest/quest_intro_eleoona_hail_2e3cf704.mp3", "Times were much simpler when I was younger. So much has changed since then!", "", 1966167640, 4246981561, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/eleoona_faleisinae/_exp03/exp03_cty_kelethin/quest/quest_intro_eleoona_hail_2e22fc60.mp3", "Kelethin belongs to the Fae now.", "", 1403528353, 3139849181, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/EloncaNusback.lua b/Lua/SpawnScripts/GreaterFaydark/EloncaNusback.lua new file mode 100755 index 000000000..945e6d3b6 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/EloncaNusback.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/EloncaNusback.lua + Script Purpose : Elonca Nusback + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "elonca_nusback/_exp03/exp03_rgn_greater_faydark/elonca_nusback/elonca001.mp3", "", "", 1353203304, 503876671, Spawn) + AddConversationOption(conversation, "Sorry. What are you doing here?", "dlg_1_1") + AddConversationOption(conversation, "I'll leave you alone.") + StartConversation(conversation, NPC, Spawn, "Don't give away our position! We've got some serious work to do 'ere!") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "elonca_nusback/_exp03/exp03_rgn_greater_faydark/elonca_nusback/elonca002.mp3", "", "", 981351697, 2920342348, Spawn) + AddConversationOption(conversation, "That sounds like a lot of work for just a handful of you.", "dlg_1_2") + AddConversationOption(conversation, "I'll leave you to it.") + StartConversation(conversation, NPC, Spawn, "We are liberators! Those nasty Crushbone orcs 'ave taken some of our kin hostage, and we aim to free 'em!") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "elonca_nusback/_exp03/exp03_rgn_greater_faydark/elonca_nusback/elonca003.mp3", "", "", 2424859748, 3864182443, Spawn) + AddConversationOption(conversation, "How could I help you?", "dlg_1_3") + AddConversationOption(conversation, "No thanks, shorty.") + StartConversation(conversation, NPC, Spawn, "Aye, we 'ave our work cut out fer us. Say, someone like you would be a great 'elp in our fight against the orcs!") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "elonca_nusback/_exp03/exp03_rgn_greater_faydark/elonca_nusback/elonca004.mp3", "", "", 3150714366, 582904965, Spawn) + AddConversationOption(conversation, "What kind of trophies?", "dlg_1_4") + AddConversationOption(conversation, "Not interested.") + StartConversation(conversation, NPC, Spawn, "In order to rescue our kin, we need the orcs demoralized. If you take trophies from their finest warriors, that will 'elp us wear 'em down!") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "elonca_nusback/_exp03/exp03_rgn_greater_faydark/elonca_nusback/elonca005.mp3", "", "", 3498749910, 2147058017, Spawn) + AddConversationOption(conversation, "I'll do it.", "dlg_1_5") + AddConversationOption(conversation, "Not my problem really.") + StartConversation(conversation, NPC, Spawn, "Their centurions are always prancin' about with their fancy belts. If you collected a good number of 'em, that would show that they ain't so tough!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/EvaCorunnothes.lua b/Lua/SpawnScripts/GreaterFaydark/EvaCorunnothes.lua new file mode 100755 index 000000000..d78cc5d63 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/EvaCorunnothes.lua @@ -0,0 +1,151 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/EvaCorunnothes.lua + Script Purpose : Eva Corunno'thes + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1053.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're Tunare's prophet.", "dlg_19_1") + AddConversationOption(conversation, "I'm sorry to bother you. Excuse me.") + StartConversation(conversation, NPC, Spawn, "Tunare's blessings be with you. How may I assist you?") + if convo==20 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1053.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You're Tunare's prophet.", "dlg_20_1") + AddConversationOption(conversation, "I'm sorry to bother you. Excuse me.") + StartConversation(conversation, NPC, Spawn, "Tunare's blessings be with you. How may I assist you?") + end + +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_19_2") + AddConversationOption(conversation, "I'm not sure.") + AddConversationOption(conversation, "No.") + StartConversation(conversation, NPC, Spawn, "Correct. I am the High Priestess of Growth, one of Tunare's faithful. Are you a follower of the Mother of All as well?") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I follow Tunare?") + AddConversationOption(conversation, "I must think about this.", "dlg_19_3") + StartConversation(conversation, NPC, Spawn, "The blessings of Tunare surround us, for she is not only Mother of All, but goddess of Growth and Nature. If you wish to become one of her devotees, you need but ask me and I will help you find the way.") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "May I learn more about the Mother of All and Growth?", "dlg_19_4") + AddConversationOption(conversation, "I need to think about this before I continue.") + StartConversation(conversation, NPC, Spawn, "The way of Tunare is not an easy path. There are those who would foul the soil, destroy nature's bounty and claim that it is 'progress.' The Mother of All will not sit idly by and watch what she has given us be ruined.") +end + +function dlg_19_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "She is deserving of our faith.", "dlg_19_5") + AddConversationOption(conversation, "And Growth?") + AddConversationOption(conversation, "I'll be on my way now.") + StartConversation(conversation, NPC, Spawn, "The Mother of All is a name for our sacred lady, Tunare, Goddess of Life and Growth. She resides upon the Plane of Growth and watches over all of her creations. She is awakening from her long slumber to once again bless her faithful followers.") +end + +function dlg_19_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And now she will return?") + AddConversationOption(conversation, "I'll be on my way now.", "dlg_19_6") + StartConversation(conversation, NPC, Spawn, "Growth is the power of creation, a force that maintains and empowers all living things. It is Tunare's gift to us, that Norrath continue to thrive even during her long absence.") +end + +function dlg_19_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be on my way now.", "dlg_19_7") + StartConversation(conversation, NPC, Spawn, "Faith and patience are always rewarded, .. GetName(Spawn) .. . Though the gods, for whatever purpose, withdrew from our realms, they are returning. No one is more deserving of our service than Tunare.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_20_2") + AddConversationOption(conversation, "I'm not sure.") + AddConversationOption(conversation, "No.") + StartConversation(conversation, NPC, Spawn, "Correct. I am the High Priestess of Growth, one of Tunare's faithful. Are you a follower of the Mother of All as well?") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I follow Tunare?", "dlg_20_3") + AddConversationOption(conversation, "I must think about this.") + StartConversation(conversation, NPC, Spawn, "The blessings of Tunare surround us, for she is not only Mother of All, but goddess of Growth and Nature. If you wish to become one of her devotees, you need but ask me and I will help you find the way.") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "May I learn more about the Mother of All and Growth?", "dlg_20_4") + AddConversationOption(conversation, "I need to think about this before I continue.") + StartConversation(conversation, NPC, Spawn, "The way of Tunare is not an easy path. There are those who would foul the soil, destroy nature's bounty and claim that it is 'progress.' The Mother of All will not sit idly by and watch what she has given us be ruined.") +end + +function dlg_20_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "She is deserving of our faith.", "dlg_20_5") + AddConversationOption(conversation, "And Growth?") + AddConversationOption(conversation, "I'll be on my way now.") + StartConversation(conversation, NPC, Spawn, "The Mother of All is a name for our sacred lady, Tunare, Goddess of Life and Growth. She resides upon the Plane of Growth and watches over all of her creations. She is awakening from her long slumber to once again bless her faithful followers.") +end + +function dlg_20_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be on my way now.", "dlg_20_6") + StartConversation(conversation, NPC, Spawn, "Faith and patience are always rewarded, .. GetName(Spawn) .. . Though the gods, for whatever purpose, withdrew from our realms, they are returning. No one is more deserving of our service than Tunare.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GibrienMarsden.lua b/Lua/SpawnScripts/GreaterFaydark/GibrienMarsden.lua new file mode 100755 index 000000000..5b0c7ba93 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GibrienMarsden.lua @@ -0,0 +1,211 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GibrienMarsden.lua + Script Purpose : Gibrien Marsden + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Glad to see you around.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Good day to live in the trees.", "", 1689589577, 4560189, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm interested in becoming a citizen of Kelethin.", "dlg_57_1") + AddConversationOption(conversation, "I'd like to work on my citizenship with Kelethin.") + AddConversationOption(conversation, "Have I proven my worth to Kelethin yet?") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "What would you like more information about?") + if convo==58 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm interested in becoming a citizen of Kelethin.", "dlg_58_1") + AddConversationOption(conversation, "I'd like to work on my citizenship with Kelethin.") + AddConversationOption(conversation, "Have I proven my worth to Kelethin yet?") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "What would you like more information about?") + end + + if convo==59 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm interested in becoming a citizen of Kelethin.", "dlg_59_1") + AddConversationOption(conversation, "I'd like to work on my citizenship with Kelethin.") + AddConversationOption(conversation, "Have I proven my worth to Kelethin yet?") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "What would you like more information about?") + end + + if convo==60 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm interested in becoming a citizen of Kelethin.", "dlg_60_1") + AddConversationOption(conversation, "I'd like to work on my citizenship with Kelethin.") + AddConversationOption(conversation, "Have I proven my worth to Kelethin yet?") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "What would you like more information about?") + end + + if convo==61 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm interested in becoming a citizen of Kelethin.", "dlg_61_1") + AddConversationOption(conversation, "I'd like to work on my citizenship with Kelethin.") + AddConversationOption(conversation, "Have I proven my worth to Kelethin yet?") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "What would you like more information about?") + end + + if convo==62 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to work on my citizenship with Kelethin.", "dlg_62_1") + AddConversationOption(conversation, "Have I proven my worth to Kelethin yet?") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "What would you like more information about?") + end + + if convo==63 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to work on my citizenship with Kelethin.", "dlg_63_1") + AddConversationOption(conversation, "Have I proven my worth to Kelethin yet?") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "What would you like more information about?") + end + +end + +function dlg_57_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I do that?") + StartConversation(conversation, NPC, Spawn, "Hmm...let me see. Yes, it looks as though you've been doing quite a number of hours of community service for Kelethin. Congratulations, .. GetName(Spawn) .. . You now have the right to apply with Queen Amree for citizenship!") +end + +function dlg_58_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nevermind, I changed my mind.", "dlg_58_2") + StartConversation(conversation, NPC, Spawn, "Are you now? There are a couple of administrative tasks we need to take care of before you can get started. First off, where are you currently considered a citizen? Or are you currently in exile?") +end + +function dlg_59_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.") + AddConversationOption(conversation, "I need to take care of something else first.", "dlg_59_2") + StartConversation(conversation, NPC, Spawn, "The first thing Queen Amree requests is that you familiarize yourself with the community before you make any commitments that you cannot reverse. Please speak with Nimess Sessi, a courtier in the Royal Court. He only speaks Faerlie, so before you speak with him, if you haven't done so already Miella Maarsitotts will teach you.") +end + +function dlg_60_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I do that?") + StartConversation(conversation, NPC, Spawn, "Hmm...let me see. Yes, it looks as though you've been doing quite a number of hours of community service for Kelethin. Congratulations, .. GetName(Spawn) .. . You now have the right to apply with Queen Amree for citizenship!") +end + +function dlg_60_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That sounds great!", "dlg_60_3") + StartConversation(conversation, NPC, Spawn, "It's very simple, really. The Queen will ask you some questions to ascertain your sincerity about making this commitment and then she'll conduct the ceremony herself!") +end + +function dlg_61_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.") + AddConversationOption(conversation, "I need to take care of something else first.", "dlg_61_2") + StartConversation(conversation, NPC, Spawn, "The first thing Queen Amree requests is that you familiarize yourself with the community before you make any commitments that you cannot reverse. Please speak with Nimess Sessi, a courtier in the Royal Court. He only speaks Faerlie, so before you speak with him, if you haven't done so already Miella Maarsitotts will teach you.") +end + +function dlg_61_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_61_3") + StartConversation(conversation, NPC, Spawn, "Come back once you've done as he recommends and we can get you started on your community tasks.") +end + +function dlg_62_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_62_2") + AddConversationOption(conversation, "I need to take care of something else first.") + StartConversation(conversation, NPC, Spawn, "The first thing Queen Amree requests is that you familiarize yourself with the community before you make any commitments that you cannot reverse. Please speak with Nimess Sessi, a courtier in the Royal Court. He only speaks Faerlie, so before you speak with him, if you haven't done so already Miella Maarsitotts will teach you.") +end + +function dlg_62_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_62_3") + StartConversation(conversation, NPC, Spawn, "Come back once you've done as he recommends and we can get you started on your community tasks.") +end + +function dlg_63_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I do that?") + StartConversation(conversation, NPC, Spawn, "Hmm...let me see. Yes, it looks as though you've been doing quite a number of hours of community service for Kelethin. Congratulations, .. GetName(Spawn) .. . You now have the right to apply with Queen Amree for citizenship!") +end + +function dlg_63_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That sounds great!", "dlg_63_3") + StartConversation(conversation, NPC, Spawn, "It's very simple, really. The Queen will ask you some questions to ascertain your sincerity about making this commitment and then she'll conduct the ceremony herself!") +end + +function dlg_63_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks!", "dlg_63_4") + StartConversation(conversation, NPC, Spawn, "Best of luck to you, .. GetName(Spawn) .. . Welcome to Kelethin!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Glad to see you around.", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "Good day to live in the trees.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/GioiaGreenvale.lua b/Lua/SpawnScripts/GreaterFaydark/GioiaGreenvale.lua new file mode 100755 index 000000000..22a1fd962 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GioiaGreenvale.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GioiaGreenvale.lua + Script Purpose : Gioia Greenvale + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "With so many new faces in town, it's hard to keep everyone's names straight!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "There are more goods for sale elsewhere in Kelethin, if you know where to look.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GlavariusMarud.lua b/Lua/SpawnScripts/GreaterFaydark/GlavariusMarud.lua new file mode 100755 index 000000000..88ced97ec --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GlavariusMarud.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GlavariusMarud.lua + Script Purpose : Glavarius Marud + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "glavarius_marud/_exp03/exp03_rgn_greater_faydark/glavarius_marud/glavarius_marud000.mp3", "", "", 4001683736, 773203562, Spawn) + AddConversationOption(conversation, "A little pretentious, aren't we? Goodbye.", "dlg_44_1") + StartConversation(conversation, NPC, Spawn, "Leave me be. If those Koada'Dal of Felwithe, those... 'New Tunarians', do not believe they need my services as the royal oracle any longer, then I shall just decline to use my abilities for anyone. Hmph.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Glitterpuff.lua b/Lua/SpawnScripts/GreaterFaydark/Glitterpuff.lua new file mode 100755 index 000000000..9f8dafc1b --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Glitterpuff.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Glitterpuff.lua + Script Purpose : Glitterpuff + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/banker_glitterpuff/_exp03/exp03_rgn_greater_faydark/quest/nursery_banker_glitterpuff_hello_76bdb072.mp3", "Don't worry, we'll take good care of your coin and possessions.", "hello", 1591110716, 2078108189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/banker_glitterpuff/_exp03/exp03_rgn_greater_faydark/quest/nursery_banker_glitterpuff_hello_9897825c.mp3", "Welcome to the Spirit Bloom Nursery branch of the Kelethin First Regional Bank!", "hello", 52408031, 2927648896, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/banker_glitterpuff/_exp03/exp03_rgn_greater_faydark/quest/nursery_banker_glitterpuff_hello_8793aa70.mp3", "Don't carry around all that extra weight! Let us hold it for you!", "beckon", 3186681674, 2020413023, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GlurieStonegrip.lua b/Lua/SpawnScripts/GreaterFaydark/GlurieStonegrip.lua new file mode 100755 index 000000000..414649551 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GlurieStonegrip.lua @@ -0,0 +1,102 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GlurieStonegrip.lua + Script Purpose : Glurie Stonegrip + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_4_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I would like the writ: Crushbone Centurions") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_5_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I would like the writ: Crushbone Centurions") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + end + + if convo==6 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_6_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I would like the writ: Crushbone Centurions") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + end + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_7_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I would like the writ: Crushbone Centurions") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_15_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + end + + if convo==16 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_16_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + end + + if convo==94 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_94_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + end + + if convo==95 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Pawns", "dlg_95_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Footmen") + AddConversationOption(conversation, "I will return to assist you, later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Protectors of Growth, .. GetName(Spawn) .. . We are in need of your help if you are willing to assist us.") + end + +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll get started right away.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "The Protectors of Growth would like for you to eliminate Crushbone pawns to further our cause. Doing so will earn you favor with our organization.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Gomphum.lua b/Lua/SpawnScripts/GreaterFaydark/Gomphum.lua new file mode 100755 index 000000000..0fe26edc1 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Gomphum.lua @@ -0,0 +1,151 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Gomphum.lua + Script Purpose : Gomphum + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum000.mp3", "", "", 3624615111, 858972471, Spawn) + AddConversationOption(conversation, "So long as they allow it?", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "Gomphum welcomes you to Dyer Mycoria. You are free to stay so long as the grobins allow it.") + if convo==26 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum005.mp3", "", "", 3368360641, 1528435648, Spawn) + AddConversationOption(conversation, "I have.", "dlg_26_1") + StartConversation(conversation, NPC, Spawn, "Have you done it?") + end + + if convo==27 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum010.mp3", "", "", 4241201770, 2705100899, Spawn) + AddConversationOption(conversation, "Yes, but they will be less of a problem with Pengo and Turkrik gone.", "dlg_27_1") + StartConversation(conversation, NPC, Spawn, "Are the grobins still here?") + end + +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum001.mp3", "", "", 379711117, 2349384250, Spawn) + AddConversationOption(conversation, "Why don't you force them to leave?", "dlg_24_2") + StartConversation(conversation, NPC, Spawn, "Yes, they are very aggressive. They were not always here. They started to appear recently. It has been determined that they are not children of the earth as we are, so we don't think they sprung from the ground. We think perhaps they dug their way in. We do not mind their presence, but they are destructive, and have been stealing our proto-caplings. It is hard work growing these caplings.") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum002.mp3", "", "", 53321845, 3819069977, Spawn) + AddConversationOption(conversation, "What if I killed the grobins?", "dlg_24_3") + StartConversation(conversation, NPC, Spawn, "Gomphum does not understand what you mean. The grobins do not listen to us. Instead they smash things. The grobins have kept us from our west germinarium for some time now, and they are digging up our proto-caplings. It saddens us. They are not Shroomba. Why would they want our proto-caplings?") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum003.mp3", "", "", 3848512332, 3031309052, Spawn) + AddConversationOption(conversation, "All right.", "dlg_24_4") + StartConversation(conversation, NPC, Spawn, "That might work. The grobin diggers are our biggest concern. Please, go to our western germinarium and do as you suggest.") +end + +function dlg_24_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum004.mp3", "", "", 1140614510, 2295082242, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_24_5") + StartConversation(conversation, NPC, Spawn, "Thank you.") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum006.mp3", "", "", 103650992, 2944240477, Spawn) + AddConversationOption(conversation, "Pengo and Turkrik?", "dlg_26_2") + StartConversation(conversation, NPC, Spawn, "Ah, this pleases Gomphum. Perhaps this will stop the constant grobin activity. Perhaps they will go back into their cave paths and not return. They will return to Pengo and Turkrik and leave the Shroomba alone.") +end + +function dlg_26_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum007.mp3", "", "", 457205884, 1475917544, Spawn) + AddConversationOption(conversation, "I can take them out, that might stop the grobins from attacking.", "dlg_26_3") + StartConversation(conversation, NPC, Spawn, "Meanest of the grobins. They are like Gomphum, other grobins listen to them. They are why grobins come to Dyer Mycoria.") +end + +function dlg_26_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum008.mp3", "", "", 2731718193, 1770884141, Spawn) + AddConversationOption(conversation, "I will go.", "dlg_26_4") + StartConversation(conversation, NPC, Spawn, "That might happen. Gomphum thinks it is worth trying. Gomphum thanks you for your offer. Go to the cave path to the north west. Down those cave paths you will find them.") +end + +function dlg_26_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum009.mp3", "", "", 1786125202, 655475173, Spawn) + AddConversationOption(conversation, "Thank you.", "dlg_26_5") + StartConversation(conversation, NPC, Spawn, "Gomphum wishes you luck.") +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum011.mp3", "", "", 3639464975, 2923242531, Spawn) + AddConversationOption(conversation, "They also had an orc with them.", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "Ah, this is good to hear.") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum012.mp3", "", "", 3576000828, 164182188, Spawn) + AddConversationOption(conversation, "Uh, yes.", "dlg_27_3") + StartConversation(conversation, NPC, Spawn, "The beast of blue?") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum013.mp3", "", "", 665240647, 340790877, Spawn) + AddConversationOption(conversation, "Yes, I will tell Jenthis.", "dlg_27_4") + StartConversation(conversation, NPC, Spawn, "A man spoke to Gomphum of these beasts. He asked that Gomphum tell him if they are spotted, and now they have been. Would you find Jenthis Viridar and tell him as much? He is this man. He says he is south from the canyon our cave paths lead to. Sapling Spur Outpost, was what he called it.") +end + +function dlg_27_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/gomphum/_exp03/exp03_rgn_greater_faydark/shroomba/gomphum/gomphum014.mp3", "", "", 1778893315, 841928126, Spawn) + AddConversationOption(conversation, "You are welcome.", "dlg_27_5") + StartConversation(conversation, NPC, Spawn, "Gomphum once again thanks you.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GrandmasterFeldmanus.lua b/Lua/SpawnScripts/GreaterFaydark/GrandmasterFeldmanus.lua new file mode 100755 index 000000000..1d5690392 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GrandmasterFeldmanus.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GrandmasterFeldmanus.lua + Script Purpose : Grandmaster Feldmanus + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Come see me later, I may have some work for you once you're more skilled in your trade.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Grepurp.lua b/Lua/SpawnScripts/GreaterFaydark/Grepurp.lua new file mode 100755 index 000000000..566971207 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Grepurp.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Grepurp.lua + Script Purpose : Grepurp + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Are you a bard? I am looking for someone to entertain me while I wait.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GrimplySniffwistle.lua b/Lua/SpawnScripts/GreaterFaydark/GrimplySniffwistle.lua new file mode 100755 index 000000000..fe0b1630d --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GrimplySniffwistle.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GrimplySniffwistle.lua + Script Purpose : Grimply Sniffwistle + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "grimply_sniffwistle/_exp03/exp03_rgn_greater_faydark/grimply_sniffwistle/grimply_001.mp3", "", "", 1393243277, 1476468337, Spawn) + AddConversationOption(conversation, "What are you doing out here?", "dlg_21_1") + AddConversationOption(conversation, "Yeah you are small.") + StartConversation(conversation, NPC, Spawn, "Everything here is so huge isn't it? I feel even smaller than normal. It's beautiful.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "grimply_sniffwistle/_exp03/exp03_rgn_greater_faydark/grimply_sniffwistle/grimply_002.mp3", "", "", 4190695975, 702857219, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help? ", "dlg_21_2") + AddConversationOption(conversation, "Sounds like you need professional help.") + StartConversation(conversation, NPC, Spawn, "Well I was... I mean I am an inventor, I make most marvelous things, or I will make them once I can get my thinker thinking.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "grimply_sniffwistle/_exp03/exp03_rgn_greater_faydark/grimply_sniffwistle/grimply_003.mp3", "", "", 3838489501, 105443085, Spawn) + AddConversationOption(conversation, "So... You need fresh cut treant wood?", "dlg_21_3") + AddConversationOption(conversation, "Okay, sounds like you just need your space.") + StartConversation(conversation, NPC, Spawn, "Well let's see, I was working on a woodle fandoogler, to bring me more fresh cut treant wood, but if I remember correctly it ended up just bringing back fish, so I pushed it off the cliff. If I wanted fish, I would make a fishing Fooper.") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "grimply_sniffwistle/_exp03/exp03_rgn_greater_faydark/grimply_sniffwistle/grimply_004.mp3", "", "", 2812110834, 1230803512, Spawn) + AddConversationOption(conversation, "Treant chopping I go.", "dlg_21_4") + StartConversation(conversation, NPC, Spawn, "Yes, fresh cut treant wood, thanks. You can stack it up over there when you bring it back. Don't just pick up any log off the ground though, go cut it off a tree yourself, that makes for better fires. As a matter of fact treants give the best smokey smell to just about anything. Oh and if you see my woodle fandoogler kick it for me would you?") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GrullSilverstump.lua b/Lua/SpawnScripts/GreaterFaydark/GrullSilverstump.lua new file mode 100755 index 000000000..7a164d1ba --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GrullSilverstump.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GrullSilverstump.lua + Script Purpose : Grull Silverstump + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mender_grull_silverstump/_exp03/exp03_rgn_greater_faydark/quest/nursery_mender_grull_silverstump_hello_ea00152d.mp3", "Ah used to be an adventurer like ye, but ah lost me leg ta a cranky bugbear and had ta give up the profession. Luckily, ah could fall back on me smithy skills for a new stomper and livelihood! Haha!", "converse_male01", 42384471, 1863204866, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mender_grull_silverstump/_exp03/exp03_rgn_greater_faydark/quest/nursery_mender_grull_silverstump_hello_5c10e9eb.mp3", "Ah'll be takin' care o' any dings 'r dents ye get in yer gear. Just bring 'em ta me!", "hello", 441968040, 2307457527, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mender_grull_silverstump/_exp03/exp03_rgn_greater_faydark/quest/nursery_mender_grull_silverstump_hello_8d3b3b74.mp3", "The wee fae are pretty acceptin' o' outsiders if ye be respectful to 'em. They really dunnae like the orcs, tho', which is jus' fine by me!", "hello", 1095614171, 2889548526, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Grum.lua b/Lua/SpawnScripts/GreaterFaydark/Grum.lua new file mode 100755 index 000000000..cb4c113ff --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Grum.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Grum.lua + Script Purpose : Grum + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "grum/_exp03/exp03_rgn_greater_faydark/grum/grum_001.mp3", "", "", 2456014343, 373150177, Spawn) + AddConversationOption(conversation, "Well what do you want?", "dlg_17_1") + AddConversationOption(conversation, "No way. Stay away!") + StartConversation(conversation, NPC, Spawn, "Oh I see you I am hungry bring me small things. My mouth not so big to eat big things.") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "grum/_exp03/exp03_rgn_greater_faydark/grum/grum_002.mp3", "", "", 2366675475, 910741448, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_17_2") + AddConversationOption(conversation, "No way.") + StartConversation(conversation, NPC, Spawn, "Spiders bring me spider legs I dip them in goop here make them taste smashing. Lots of legs if each spider has two, six legs you bring me many more right yes?") +end + +function dlg_17_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "grum/_exp03/exp03_rgn_greater_faydark/grum/grum_003.mp3", "", "", 2187487488, 316668200, Spawn) + AddConversationOption(conversation, "Yeah, I am going to get you some.", "dlg_17_3") + StartConversation(conversation, NPC, Spawn, "Hungry! You bring snacks?") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GuardYlivaan.lua b/Lua/SpawnScripts/GreaterFaydark/GuardYlivaan.lua new file mode 100755 index 000000000..d4bd9d65f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GuardYlivaan.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GuardYlivaan.lua + Script Purpose : Guard Ylivaan + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I've no time just now for chatter.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/GundaFirehammer.lua b/Lua/SpawnScripts/GreaterFaydark/GundaFirehammer.lua new file mode 100755 index 000000000..33ac7f867 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/GundaFirehammer.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/GundaFirehammer.lua + Script Purpose : Gunda Firehammer + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Eh... who's there? I'm a bit hard o' seein'.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Brackus works so hard durin' the day. I'm so proud.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Have ya seen me husband, Brackus? He's workin' hard down in the Granite Hills.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/HamnalTeolofin.lua b/Lua/SpawnScripts/GreaterFaydark/HamnalTeolofin.lua new file mode 100755 index 000000000..d3b2fb805 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/HamnalTeolofin.lua @@ -0,0 +1,127 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/HamnalTeolofin.lua + Script Purpose : Hamnal Teolofin + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/quest/quest_intro_hamnal_hail_2e3cf704.mp3", "Times were much simpler when I was younger. So much has changed since then!", "", 3662633997, 945334687, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/quest/quest_intro_hamnal_hail_cec6199c.mp3", "Not too many Outsiders fall from the platforms anymore.", "sigh", 2765799254, 1455381840, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal001.mp3", "", "", 2895828066, 2742672495, Spawn) + AddConversationOption(conversation, "I've been learning the history of the Fae.", "dlg_3_1") + AddConversationOption(conversation, "Jalmari sent me to speak with you about the Grender.") + AddConversationOption(conversation, "Nothing, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes? What can I do for you?") + if convo==4 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal001.mp3", "", "", 2895828066, 2742672495, Spawn) + AddConversationOption(conversation, "I've been learning the history of the Fae.", "dlg_4_1") + AddConversationOption(conversation, "Jalmari sent me to speak with you about the Grender.") + AddConversationOption(conversation, "Nothing, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes? What can I do for you?") + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal002.mp3", "", "", 3893730348, 46248323, Spawn) + AddConversationOption(conversation, "Not yet. At least, I don't think so.", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "You're beginning the Rite of Passage? Good for you. I know you need to help your spirit bud reawaken. That helps prepare you for the challenges ahead. Have you been drawn to anything in particular yet?") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal003.mp3", "", "", 3572378326, 3165862508, Spawn) + AddConversationOption(conversation, "He seemed rather angry.", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "Sometimes it can take a while. I remember the shock of it, the first time my spirit began to recall things from its past -- from the Burning Ring. I sense that you have spoken with old Raimo. Don't let him worry you with his anti-Outsider rubbish.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal004.mp3", "", "", 3972764887, 2023370376, Spawn) + AddConversationOption(conversation, "Raimo mentioned Princess Saphronia...", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "His spirit and mine go way back. We're both warriors, you see, defending the Fae through the lives of all our spirits. In the Burning Ring, during the War of Fay, our spirits were slain defending Queen Maarita. He's taken it somewhat bitterly, poor fellow, even though our spirits have survived.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal005.mp3", "", "", 1909837591, 112454132, Spawn) + AddConversationOption(conversation, "How do I know which Outsiders are good and which are evil?", "dlg_3_5") + StartConversation(conversation, NPC, Spawn, "She's young still and her spirit is still reawakening. Her memories, like Raimo's, are sad and bitter. Outsiders caused trouble, yes, but many of them also came to our aid. Like the brownies that came to save Kelethin when we were under siege. Without them, neither you or I would be here.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal006.mp3", "", "", 1030007137, 1974015787, Spawn) + AddConversationOption(conversation, "I see. Well, thank you for your time.", "dlg_3_6") + StartConversation(conversation, NPC, Spawn, "It is impossible to tell by looking. There is something seeping through from somewhere into our lands, but who is to say that the Outsiders brought it? Perhaps it's been here all along.") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal012.mp3", "", "", 2850757242, 2097247143, Spawn) + AddConversationOption(conversation, "In working with Kalamar Vesinger, I've located the Grender's lair -- beneath Kelethin!") + StartConversation(conversation, NPC, Spawn, "Why does Jalmari think I'd be interested in more rumors and nonsense about that mythical creature?") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal013.mp3", "", "", 1457571777, 1576417874, Spawn) + AddConversationOption(conversation, "Jalmari wants your advice on the matter.", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "That's not good. We'll need to move swiftly against it. So it really exists? That is disheartening, that something could spread disease to our land and be hiding so close to our homes!") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/tutorials/qst_hamnal/qst_hamnal014.mp3", "", "", 2206859761, 150584229, Spawn) + AddConversationOption(conversation, "Thank you!", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "Move swiftly. If it is close by, then it would notice any sudden change in our behaviors. We must act before it suspects that we know where it is. And that it actually exists.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/quest/quest_intro_hamnal_hail_2e3cf704.mp3", "Times were much simpler when I was younger. So much has changed since then!", "", 3662633997, 945334687, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/hamnal_teolofin/_exp03/exp03_cty_kelethin/quest/quest_intro_hamnal_hail_cec6199c.mp3", "Not too many Outsiders fall from the platforms anymore.", "sigh", 2765799254, 1455381840, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/IbidEsslibris.lua b/Lua/SpawnScripts/GreaterFaydark/IbidEsslibris.lua new file mode 100755 index 000000000..374ba6273 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/IbidEsslibris.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/IbidEsslibris.lua + Script Purpose : Ibid Esslibris + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "If you look for it, you can still find evidence of the Shattering, but it's well-hidden now.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "It must be very interesting to have wings.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/IhieerScytheleaf.lua b/Lua/SpawnScripts/GreaterFaydark/IhieerScytheleaf.lua new file mode 100755 index 000000000..4890f011a --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/IhieerScytheleaf.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/IhieerScytheleaf.lua + Script Purpose : Ihieer Scytheleaf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Watch your step, or I'll slice you to ribbons!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/IkileHarmonia.lua b/Lua/SpawnScripts/GreaterFaydark/IkileHarmonia.lua new file mode 100755 index 000000000..35b8ec9b5 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/IkileHarmonia.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/IkileHarmonia.lua + Script Purpose : Ikile Harmonia + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes please, I don't know much about that stuff.", "dlg_77_1") + AddConversationOption(conversation, "Sure, I think I'm pretty comfortable with it all but I can always use a memory refresher.") + AddConversationOption(conversation, "No thanks, I have other things to do right now.") + StartConversation(conversation, NPC, Spawn, "Hello, friend! I'm here to teach interested people a little bit about how to harvest crafting materials, and how to craft tradeskilled items. Are you interested?") + if convo==78 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes please, I don't know much about that stuff.", "dlg_78_1") + AddConversationOption(conversation, "Sure, I think I'm pretty comfortable with it all but I can always use a memory refresher.") + AddConversationOption(conversation, "No thanks, I have other things to do right now.") + StartConversation(conversation, NPC, Spawn, "Hello, friend! I'm here to teach interested people a little bit about how to harvest crafting materials, and how to craft tradeskilled items. Are you interested?") + end + +end + +function dlg_77_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let's start from the beginning with the harvesting.", "dlg_77_2") + AddConversationOption(conversation, "I've already done some harvesting, tell me what I can do with it all.") + AddConversationOption(conversation, "Whoops, look at the time, got to go.") + StartConversation(conversation, NPC, Spawn, "Would you like to learn about harvesting, or skip straight to the crafting process? ") +end + +function dlg_78_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let's start from the beginning with the harvesting.") + AddConversationOption(conversation, "I've already done some harvesting, tell me what I can do with it all.", "dlg_78_2") + AddConversationOption(conversation, "Whoops, look at the time, got to go.") + StartConversation(conversation, NPC, Spawn, "Would you like to learn about harvesting, or skip straight to the crafting process? ") +end + +function dlg_78_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll get right on it.", "dlg_78_3") + StartConversation(conversation, NPC, Spawn, "Harvesting resources tend to be segregated by areas - for example, you'll be able to harvest items (often also called nodes) for making equipment for level 1-9 adventurers, in the same areas where you'll find level 1-9 adventurers hunting. There are seven types of harvestable item: wood, roots, ore, soft metal, animal dens, shrubs, and fish. I'd like you to get a few harvests from each type of harvestable item.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/IllaskoSilktree.lua b/Lua/SpawnScripts/GreaterFaydark/IllaskoSilktree.lua new file mode 100755 index 000000000..56a3ea2ee --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/IllaskoSilktree.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/IllaskoSilktree.lua + Script Purpose : Illasko Silktree + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Many paths may lead toward the same goal.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ImmeNaime.lua b/Lua/SpawnScripts/GreaterFaydark/ImmeNaime.lua new file mode 100755 index 000000000..8f74c8b45 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ImmeNaime.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ImmeNaime.lua + Script Purpose : Imme Naime + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Good day. Welcome to the Protectors of Growth!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/InnkeeperTwiggy.lua b/Lua/SpawnScripts/GreaterFaydark/InnkeeperTwiggy.lua new file mode 100755 index 000000000..4970f3937 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/InnkeeperTwiggy.lua @@ -0,0 +1,219 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/InnkeeperTwiggy.lua + Script Purpose : Innkeeper Twiggy + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/merchants/innkeeper_twiggy_hail_5d858d10.mp3", "I think I'll treat myself to a pruning.", "", 147248694, 3994611630, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/merchants/innkeeper_twiggy_hail_c9120666.mp3", "All this running around is likely to whittle me away to nothing!", "", 2824894623, 967344056, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy001.mp3", "", "", 493093901, 1676315046, Spawn) + AddConversationOption(conversation, "Please.", "dlg_85_1") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Hello, .. GetName(Spawn) .. . I am the Innkeeper for Kelethin. My name is Twiggy! We received word of your arrival and have a room prepared for you. Is there anything you'd like to know about housing before you move in?") + if convo==86 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy010.mp3", "", "", 232672131, 2109387803, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_86_1") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello again, .. GetName(Spawn) .. . What can I help you with?") + end + +end + +function dlg_85_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy002.mp3", "", "", 1017061939, 1561607192, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_85_2") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "What would you like to know?") +end + +function dlg_85_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy003.mp3", "", "", 943030445, 831464053, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_85_3") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_85_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy004.mp3", "", "", 2005553615, 4066801615, Spawn) + AddConversationOption(conversation, "Is any other housing available?", "dlg_85_4") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "There are a few different types of housing available in Kelethin. This particular tree is very comfortable and cozy, though you might later prefer to reside in one of those modern rental acorns.") +end + +function dlg_85_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy005.mp3", "", "", 2629356152, 4258694039, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_85_5") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes, Kelethin has houses ranging from the basic one bedroom model on up to four bedroom apartments, although the most ostentatious of these are only available to the most prestigious citizens of the city.") +end + +function dlg_85_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy003.mp3", "", "", 943030445, 831464053, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_85_6") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_85_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy004.mp3", "", "", 2005553615, 4066801615, Spawn) + AddConversationOption(conversation, "Is any other housing available?", "dlg_85_7") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "There are a few different types of housing available in Kelethin. This particular tree is very comfortable and cozy, though you might later prefer to reside in one of those modern rental acorns.") +end + +function dlg_85_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy006.mp3", "", "", 3891426709, 2870580979, Spawn) + AddConversationOption(conversation, "How do I sell items using my marketboard?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_85_8") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "The marketboard is a house item, similar to books, beds, pets and other such items. What sets the marketboard apart from the rest however is that once your marketboard is mounted on a wall in your home you can use it to sell items to other citizens of Kelethin. These items can be purchased by your fellow citizens at a Broker. Our Broker is based out of the Kelethin First Regional Bank.") +end + +function dlg_85_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy007.mp3", "", "", 3004508275, 2782950123, Spawn) + AddConversationOption(conversation, "I can sell things through a broker?", "dlg_85_9") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Selling through your market board works the same way as directly selling through a broker, it just allows you to do it from the comfort of your home.") +end + +function dlg_85_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_85_10") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes. For a fee, brokers are willing to post the goods you are willing to sell to other adventurers. We have our very own broker here within Kelethin, too!") +end + +function dlg_86_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy008.mp3", "", "", 572451551, 3490877103, Spawn) + AddConversationOption(conversation, "Anything else?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_86_2") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "You will find that your house has many uses, the first of which is the ability to store house items. Each house has a limit to the number of house items you can place in it, so as you gain more possessions you wish to display you will need larger houses to do so.") +end + +function dlg_86_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy009.mp3", "", "", 277136482, 2220542103, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_86_3") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes, houses have what we call vaults, which are extra storage within your house. The larger your house is, the more storage space is available. By placing items in this house vault and using your marketboard, you can sell these items to others without being in your room.") +end + +function dlg_86_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy004.mp3", "", "", 2005553615, 4066801615, Spawn) + AddConversationOption(conversation, "Is any other housing available?") + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_86_4") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "There are a few different types of housing available in Kelethin. This particular tree is very comfortable and cozy, though you might later prefer to reside in one of those modern rental acorns.") +end + +function dlg_86_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/quest/qst_twiggy/qst_twiggy005.mp3", "", "", 2629356152, 4258694039, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_86_5") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes, Kelethin has houses ranging from the basic one bedroom model on up to four bedroom apartments, although the most ostentatious of these are only available to the most prestigious citizens of the city.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/merchants/innkeeper_twiggy_hail_5d858d10.mp3", "I think I'll treat myself to a pruning.", "", 147248694, 3994611630, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/innkeeper_twiggy/_exp03/exp03_cty_kelethin/merchants/innkeeper_twiggy_hail_c9120666.mp3", "All this running around is likely to whittle me away to nothing!", "", 2824894623, 967344056, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/JalmariKeletana.lua b/Lua/SpawnScripts/GreaterFaydark/JalmariKeletana.lua new file mode 100755 index 000000000..eb3b85d87 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/JalmariKeletana.lua @@ -0,0 +1,92 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/JalmariKeletana.lua + Script Purpose : Jalmari Keletana + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/quest/quest_intro_jalmari_hail_1193678d.mp3", "Not all Fae are flighty.", "", 3091431058, 1671211988, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/quest/quest_intro_jalmari_hail_ff5378ca.mp3", "The key to good government is efficiency.", "", 824038916, 1598888890, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/tutorials/qst_jalmari/qst_jalmari001.mp3", "", "", 2121079748, 3485347487, Spawn) + AddConversationOption(conversation, "I need to speak with you about the Grender.", "dlg_2_1") + AddConversationOption(conversation, "Nothing right now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes? Can I help you?") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/tutorials/qst_jalmari/qst_jalmari002.mp3", "", "", 2082721768, 1564608519, Spawn) + AddConversationOption(conversation, "But I have proof!", "dlg_2_2") + AddConversationOption(conversation, "It is a waste of time, never mind.") + StartConversation(conversation, NPC, Spawn, "The Grender? I do not have time to listen to more rumors about a mythical creature!") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/tutorials/qst_jalmari/qst_jalmari003.mp3", "", "", 1197751578, 2295690654, Spawn) + AddConversationOption(conversation, "I was much younger then. And besides, there really is a Grender!", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "Where is your 'proof,' .. GetName(Spawn) .. . Do you think it's wise to pull a prank while you're undergoing the Rite of Passage? No one has forgotten that stunt you pulled in Joleena's Restaurant.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/tutorials/qst_jalmari/qst_jalmari004.mp3", "", "", 3695624936, 3885790951, Spawn) + AddConversationOption(conversation, "The scouts focused on areas farther away. The Grender is beneath Kelethin itself.", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "Where is the proof, then? How were you able to locate it while our scouts could not?") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/tutorials/qst_jalmari/qst_jalmari007.mp3", "", "", 1547507401, 2590251315, Spawn) + AddConversationOption(conversation, "I get to meet the Queen?", "dlg_2_5") + StartConversation(conversation, NPC, Spawn, "Interesting...then we'll need to hold a meeting to discuss what this could mean and how we're to handle it. The Queen will want to be involved. She's very hands-on. When you get to the Fae Royal Hall, speak with the Lady Milika Vikaarinen. She'll decide whether you get to meet Queen Amree today or not.") +end + +function dlg_2_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/tutorials/qst_jalmari/qst_jalmari008.mp3", "", "", 313118275, 4120683222, Spawn) + AddConversationOption(conversation, "I'll be on my way.", "dlg_2_6") + StartConversation(conversation, NPC, Spawn, "Before you seek an audience with her, speak to Hamnal and Eleoona. They're both members of the self-defense team stationed near the other two lifts. Explain to them what has happened and get their recommendations before you head to the Fae Royal Hall.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/quest/quest_intro_jalmari_hail_1193678d.mp3", "Not all Fae are flighty.", "", 3091431058, 1671211988, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/jalmari_keletana/_exp03/exp03_cty_kelethin/quest/quest_intro_jalmari_hail_ff5378ca.mp3", "The key to good government is efficiency.", "", 824038916, 1598888890, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/JeleetaAriaata.lua b/Lua/SpawnScripts/GreaterFaydark/JeleetaAriaata.lua new file mode 100755 index 000000000..2706ef7b8 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/JeleetaAriaata.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/JeleetaAriaata.lua + Script Purpose : Jeleeta Ariaata + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "There's nothing like sitting beside the waterfall and listening to the sounds.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Of course we measure time in Rings; who wouldn't?", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/JenthisViridar.lua b/Lua/SpawnScripts/GreaterFaydark/JenthisViridar.lua new file mode 100755 index 000000000..22cf963f0 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/JenthisViridar.lua @@ -0,0 +1,112 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/JenthisViridar.lua + Script Purpose : Jenthis Viridar + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis000.mp3", "", "", 6246646, 2119314563, Spawn) + AddConversationOption(conversation, "I am XXXXXXXX. What is the problem?", "dlg_34_1") + AddConversationOption(conversation, "I am Leighlah. I have a status report from Captain Steelforge.") + AddConversationOption(conversation, "I am Leighlah. I have news from Gomphum.") + StartConversation(conversation, NPC, Spawn, "Welcome to Sapling Spur Outpost. I am Jenthis Viridar, the current rank around here. I, well... I'd like to offer our assistance, but we're in a bit of a predicament right now.") + if convo==35 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis000.mp3", "", "", 6246646, 2119314563, Spawn) + AddConversationOption(conversation, "I am XXXXXXXX. What is the problem?", "dlg_35_1") + AddConversationOption(conversation, "I am Leighlah. I have news from Gomphum.") + StartConversation(conversation, NPC, Spawn, "Welcome to Sapling Spur Outpost. I am Jenthis Viridar, the current rank around here. I, well... I'd like to offer our assistance, but we're in a bit of a predicament right now.") + end + + if convo==36 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis000.mp3", "", "", 6246646, 2119314563, Spawn) + AddConversationOption(conversation, "I am XXXXXXXX. What is the problem?", "dlg_36_1") + StartConversation(conversation, NPC, Spawn, "Welcome to Sapling Spur Outpost. I am Jenthis Viridar, the current rank around here. I, well... I'd like to offer our assistance, but we're in a bit of a predicament right now.") + end + +end + +function dlg_34_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis001.mp3", "", "", 1747714105, 1617321160, Spawn) + AddConversationOption(conversation, "I've also got news from Gomphum.") + AddConversationOption(conversation, "What is the trouble you are having?", "dlg_34_2") + AddConversationOption(conversation, "Glad to be of service.") + StartConversation(conversation, NPC, Spawn, "Ah, very good. I will... I will get to this when there's time.") +end + +function dlg_35_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis_gomphum000.mp3", "", "", 3461568007, 163444975, Spawn) + AddConversationOption(conversation, "He's a Shroomba. He lives in Dyer Mycoria. There was an orc with the grobins in that cave system.") + StartConversation(conversation, NPC, Spawn, "What's a Gomphum?") +end + +function dlg_35_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis_gomphum001.mp3", "", "", 17746683, 2156800744, Spawn) + AddConversationOption(conversation, "Just one, I killed it.", "dlg_35_3") + StartConversation(conversation, NPC, Spawn, "Oooh, yes I recall him... An orc you say? I swear these things are spontaneously generated. How many orcs were there?") +end + +function dlg_35_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis_gomphum002.mp3", "", "", 283444902, 274954014, Spawn) + AddConversationOption(conversation, "What is the trouble you are having?", "dlg_35_4") + AddConversationOption(conversation, "Glad to be of service.") + StartConversation(conversation, NPC, Spawn, "Well... that's a relief. Still... the news gets worse and worse every day.") +end + +function dlg_36_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis002.mp3", "", "", 2753677390, 2626213352, Spawn) + AddConversationOption(conversation, "Yes?", "dlg_36_2") + StartConversation(conversation, NPC, Spawn, "Orcs. They've been spilling out of Crushbone and into the Faydark at an alarming rate. That they have managed to get so close to Tunare's Sapling is worrisome. I've asked for more soldiers, but my requests are being denied... I... I'm sorry, I shouldn't be complaining to you. Our problem, .. GetName(Spawn) .. . is that to the west lies 'Orc Hill,' a staging area for most of the orc attacks west and south of this position. On top of that, to the east...") +end + +function dlg_36_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis003.mp3", "", "", 3006752769, 442065699, Spawn) + AddConversationOption(conversation, "All right.", "dlg_36_3") + StartConversation(conversation, NPC, Spawn, "To the east is an area that was once peaceful. The bixies--friendly unless provoked--reside there, but lately orcs have been moving in. We've already waited too long and they're getting complacent. I need you to scatter these would-be orc settlers and ensure they find no ground -- save the ground they die upon. There are only Crushbone pawns there for now, but pawns are nothing if not forerunners.") +end + +function dlg_36_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/jenthis_viridar/_exp03/exp03_rgn_greater_faydark/scp/jenthis/jenthis004.mp3", "", "", 2745305146, 1693404774, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_36_4") + StartConversation(conversation, NPC, Spawn, "Good. Once this is done report back to me.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/JiaanaKaalikka.lua b/Lua/SpawnScripts/GreaterFaydark/JiaanaKaalikka.lua new file mode 100755 index 000000000..955edb89e --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/JiaanaKaalikka.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/JiaanaKaalikka.lua + Script Purpose : Jiaana Kaalikka + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Greetings!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Jilaen.lua b/Lua/SpawnScripts/GreaterFaydark/Jilaen.lua new file mode 100755 index 000000000..0e1f85a90 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Jilaen.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Jilaen.lua + Script Purpose : Jilaen + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am XXXXXXXX.", "dlg_38_1") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm Jilaen, who are you?") +end + +function dlg_38_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_38_2") + StartConversation(conversation, NPC, Spawn, "It's a pleasure to meet you! I love meeting new people, and exploring new places, and learning new things! Everyone I've met has taught me so much, even if they didn't want to! Have you met Lady Katri?") +end + +function dlg_38_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go find her.", "dlg_38_3") + StartConversation(conversation, NPC, Spawn, "Really? You should go speak with her! If you take the path west, staying left when you have a choice, you'll get to Kelethin. There you can ride the lift up right to the platform that Lady Katri is on! She can teach you about the Fae!") +end + +function dlg_38_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Goodbye.", "dlg_38_4") + StartConversation(conversation, NPC, Spawn, "Hooray! Goodbye for now!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/JysolinNerala.lua b/Lua/SpawnScripts/GreaterFaydark/JysolinNerala.lua new file mode 100755 index 000000000..6512c48ca --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/JysolinNerala.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/JysolinNerala.lua + Script Purpose : Jysolin Nerala + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing right now, thanks.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "What'll you have?") + if convo==7 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing right now, thanks.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "What'll you have?") + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/KaaleeInimaari.lua b/Lua/SpawnScripts/GreaterFaydark/KaaleeInimaari.lua new file mode 100755 index 000000000..5826466f6 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KaaleeInimaari.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KaaleeInimaari.lua + Script Purpose : Kaalee Inimaari + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "There's no shadow on my spirit, I can tell you that right now!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I love wandering Greater Faydark after the rain!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/KalamarVesinger.lua b/Lua/SpawnScripts/GreaterFaydark/KalamarVesinger.lua new file mode 100755 index 000000000..34b34e2fe --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KalamarVesinger.lua @@ -0,0 +1,208 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KalamarVesinger.lua + Script Purpose : Kalamar Vesinger + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/quest_kalamar_vesinger_maps_6657ebe1.mp3", "Maps are so interesting, aren't they?", "", 3408257918, 268204611, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/quest_kalamar_vesinger_maps_a5c2cc74.mp3", "Sometimes I like to come here just to see the new maps.", "", 2592389380, 2012943859, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/quest_kalamar_vesinger_maps_e032fc6a.mp3", "Fae Royal Messengers are also scouts, you know!", "", 2067512704, 3523424195, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger015.mp3", "", "", 1398288955, 2756756342, Spawn) + AddConversationOption(conversation, "I located several magical devices and destroyed them.", "dlg_0_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Any news, XXXXXXXX?") + if convo==98 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger001.mp3", "", "", 1370796179, 1768003050, Spawn) + AddConversationOption(conversation, "Lady Katri said you might be able to help me.", "dlg_98_1") + AddConversationOption(conversation, "Nothing, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes? How can I help you?") + end + + if convo==107 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger008.mp3", "", "", 1634811844, 2197818091, Spawn) + AddConversationOption(conversation, "I've been everywhere on the list but haven't seen anything about the Grender.", "dlg_107_1") + AddConversationOption(conversation, "I've misplaced the scroll you gave me.") + AddConversationOption(conversation, "I'm still searching.") + StartConversation(conversation, NPC, Spawn, "How goes the hunt?") + end + + if convo==108 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger008.mp3", "", "", 1634811844, 2197818091, Spawn) + AddConversationOption(conversation, "I've been everywhere on the list but haven't seen anything about the Grender.", "dlg_108_1") + AddConversationOption(conversation, "I've misplaced the scroll you gave me.") + AddConversationOption(conversation, "I'm still searching.") + StartConversation(conversation, NPC, Spawn, "How goes the hunt?") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger016.mp3", "", "", 820648021, 3003512637, Spawn) + AddConversationOption(conversation, "The central stump.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Ah...so the latest reports were true. Which stump is that beast using as its lair?") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger019.mp3", "", "", 1833569894, 3935541730, Spawn) + AddConversationOption(conversation, "Thank you! But what can I do to help now?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "XXXXXXXX, for someone who has not completed the Rite of Passage, you show commendable courage and initiative. I'm very impressed! Your spirit has found a worthy place to reawaken.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger018.mp3", "", "", 3857736542, 2958380917, Spawn) + AddConversationOption(conversation, "I'll do that.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "This might be beyond what Lady Katri had intended when she sent you to me. Perhaps you should check with her to see if she will allow you to assist us further. She will be working with other newcomers and Rite of Passage applicants near the Old Kelethin Acorn Lift.") +end + +function dlg_98_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger002.mp3", "", "", 3295585723, 2659074372, Spawn) + AddConversationOption(conversation, "It's about the Grender...I hear you're the first person who saw it.", "dlg_98_2") + StartConversation(conversation, NPC, Spawn, "Ah, if Lady Katri sent you, I'd be more than happy to help you. What is it you need, huh?") +end + +function dlg_98_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger003.mp3", "", "", 3687515657, 2071313746, Spawn) + AddConversationOption(conversation, "Why is that?", "dlg_98_3") + StartConversation(conversation, NPC, Spawn, "I haven't actually seen it myself, but I did some of the initial investigation into its existence. I'm sure it really exists. Some folks are skeptical, though.") +end + +function dlg_98_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger004.mp3", "", "", 738876397, 3999214733, Spawn) + AddConversationOption(conversation, "Have the scouts been able to learn anything?", "dlg_98_4") + StartConversation(conversation, NPC, Spawn, "For one thing, if such a creature existed, why hasn't anyone seen it before? Also, we can't find its lair. It's possible that it spreads its influence from Lesser Faydark, but then why haven't we seen evidence of disease on creatures anywhere else?") +end + +function dlg_98_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger005.mp3", "", "", 3011438280, 2479522140, Spawn) + AddConversationOption(conversation, "Sounds reasonable.", "dlg_98_5") + StartConversation(conversation, NPC, Spawn, "We've been debating whether or not no news is good news. No recent incidents have been reported around Kelethin. However, given that only creatures near our town have been affected, it's likely that the Grender is nearby.") +end + +function dlg_98_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger006.mp3", "", "", 370779524, 2237372107, Spawn) + AddConversationOption(conversation, "Of course!", "dlg_98_6") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "A creature that large could only hide in a few places. Perhaps you'd help out by investigating a few of these places?") +end + +function dlg_98_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger007.mp3", "", "", 1729927705, 3759911339, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_98_7") + StartConversation(conversation, NPC, Spawn, "Excellent. Here's a scroll for you. It has a list of some areas that shouldn't be too difficult for you to reach on your own. Take a quick look around, then come back and let me know what you find out.") +end + +function dlg_107_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger014.mp3", "", "", 3537512118, 3683878271, Spawn) + AddConversationOption(conversation, "Thanks!") + StartConversation(conversation, NPC, Spawn, "Fortunately, I have several copies of it. If anyone finds them, they appear to be simple travelogues, so no harm done!") +end + +function dlg_108_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger009.mp3", "", "", 3308883973, 1803706282, Spawn) + AddConversationOption(conversation, "Why's that?", "dlg_108_2") + StartConversation(conversation, NPC, Spawn, "No? That's disappointing, to say the least. We did receive one more report while you were gone, but it's not particularly credible.") +end + +function dlg_108_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger010.mp3", "", "", 2776180591, 2107105431, Spawn) + AddConversationOption(conversation, "If the Grender were inside the city, someone would sound the alarm.", "dlg_108_3") + StartConversation(conversation, NPC, Spawn, "The report indicates that the Grender is in Kelethin! That's just absurd. And yet, how else would a creature like this be able to affect saplings and other young creatures so close to our home?") +end + +function dlg_108_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger011.mp3", "", "", 2655458455, 91161091, Spawn) + AddConversationOption(conversation, "Well...there are some very large tree stumps.", "dlg_108_4") + StartConversation(conversation, NPC, Spawn, "My thoughts exactly. It is possible, however unlikely, that the Grender's lair is beneath Kelethin itself. You don't recall seeing anything out of the ordinary? Anything that a creature could hide in?") +end + +function dlg_108_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger012.mp3", "", "", 3801940384, 3412413593, Spawn) + AddConversationOption(conversation, "I could check out these stumps for you.", "dlg_108_5") + StartConversation(conversation, NPC, Spawn, "So you suspect the Grender is inside one of these stumps? Hm. This could be dangerous. Kelethin is linked to two of these stumps via bridges and platforms. If the Grender has a lair that close, we may have simply been searching for it too far away!") +end + +function dlg_108_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/qst_kalamar_vesinger/qst_kalamar_vesinger013.mp3", "", "", 4194593417, 1620249668, Spawn) + AddConversationOption(conversation, "I'll be thorough.", "dlg_108_6") + StartConversation(conversation, NPC, Spawn, "Yes...yes, that would be excellent! Search the stumps carefully. It could be that the Grender is using some sort of magical device to concentrate his influence around the city. That would certainly explain why these diseased creatures have only been seen nearby.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/quest_kalamar_vesinger_maps_e032fc6a.mp3", "Fae Royal Messengers are also scouts, you know!", "", 2067512704, 3523424195, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/quest_kalamar_vesinger_maps_6657ebe1.mp3", "Maps are so interesting, aren't they?", "", 3408257918, 268204611, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/kalamar_vesinger/_exp03/exp03_cty_kelethin/quest/quest_kalamar_vesinger_maps_a5c2cc74.mp3", "Sometimes I like to come here just to see the new maps.", "", 2592389380, 2012943859, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/KaleVilaaka.lua b/Lua/SpawnScripts/GreaterFaydark/KaleVilaaka.lua new file mode 100755 index 000000000..b6c5cdaf6 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KaleVilaaka.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KaleVilaaka.lua + Script Purpose : Kale Vilaaka + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Go ahead and use my test kitchen, so long as you clean up after yourself.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Mmm, mmm! Doesn't this smell like something that'll be good to eat?", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1039.mp3", "", "", 0, 0, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/KaljaSongstress.lua b/Lua/SpawnScripts/GreaterFaydark/KaljaSongstress.lua new file mode 100755 index 000000000..8fc695270 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KaljaSongstress.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KaljaSongstress.lua + Script Purpose : Kalja Songstress + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "La! La! La!", "orate", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/KarinaMulberry.lua b/Lua/SpawnScripts/GreaterFaydark/KarinaMulberry.lua new file mode 100755 index 000000000..6a417dfbc --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KarinaMulberry.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KarinaMulberry.lua + Script Purpose : Karina Mulberry + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Say(NPC, "I found this spawn 'unspawned', could not find her in Live, but we had her once, and have a script, so what's the deal? She valid or not?") + +--[[ + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Old Kelethin is closest to Tunare's Sapling.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'm glad to see so many Feir'Dal survived beyond Faydwer!", "", 1689589577, 4560189, Spawn) + else + end +--]] +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/KatrynLitewing.lua b/Lua/SpawnScripts/GreaterFaydark/KatrynLitewing.lua new file mode 100755 index 000000000..9d95400fb --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KatrynLitewing.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KatrynLitewing.lua + Script Purpose : Katryn Litewing + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Greetings friend. I am sorry, but I can only assist members of more advanced guilds with their cloak design.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/KieloNoronen.lua b/Lua/SpawnScripts/GreaterFaydark/KieloNoronen.lua new file mode 100755 index 000000000..b0b84edad --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KieloNoronen.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KieloNoronen.lua + Script Purpose : Kielo Noronen + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "You won't be sorry when you buy here!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "If you find anything you want, let me know!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Come on over and shop awhile!", "beckon", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Someone's bound to be selling exactly what you need!", "hello", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/KiirkinFelendril.lua b/Lua/SpawnScripts/GreaterFaydark/KiirkinFelendril.lua new file mode 100755 index 000000000..cfabd081e --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/KiirkinFelendril.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/KiirkinFelendril.lua + Script Purpose : Kiirkin Felendril + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "STOP! Whatever you do...DON'T move!", "lookaway", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Ah, it's you! I hear all your coin disappeared from the bank!", "point", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Shh! There it is again. The whispering. Can you hear it?", "listen", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Kresp.lua b/Lua/SpawnScripts/GreaterFaydark/Kresp.lua new file mode 100755 index 000000000..a6c65c1ec --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Kresp.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Kresp.lua + Script Purpose : Kresp + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "kresp/_exp03/exp03_rgn_greater_faydark/kresp/kresp_001.mp3", "", "", 3832374147, 290832441, Spawn) + AddConversationOption(conversation, "Sure I will help you.", "dlg_18_1") + AddConversationOption(conversation, "Sounds gross.") + StartConversation(conversation, NPC, Spawn, "I am Kresp the collector of things, many things, but not normal things people collect. I collect ears. Yes ears, they sell well if you know who to sell them to. So do you feel like doing some business with Kresp?") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "kresp/_exp03/exp03_rgn_greater_faydark/kresp/kresp_002.mp3", "", "", 4281501181, 3879995677, Spawn) + AddConversationOption(conversation, "No problem.", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "Bring Kresp twenty ears of the orcs they are slimy sometimes so make sure to not get slime off of ear.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/LadyAileetaReila.lua b/Lua/SpawnScripts/GreaterFaydark/LadyAileetaReila.lua new file mode 100755 index 000000000..c16529873 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/LadyAileetaReila.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/LadyAileetaReila.lua + Script Purpose : Lady Aileeta Reila + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_aileeta_reila/_exp03/exp03_cty_kelethin/quest/qst_aileeta_reila_hail_9730e02e.mp3", "Those pesky cats! They've run off with my feather pen again!", "", 2600248745, 2937953969, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_aileeta_reila/_exp03/exp03_cty_kelethin/quest/qst_aileeta_reila_hail_eca770db.mp3", "Kelethin is a safe place to live.", "", 73547504, 3028031888, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_aileeta_reila/_exp03/exp03_cty_kelethin/quest/qst_aileeta_reila_hail_44e0eea8.mp3", "Many things are happening all around Kelethin!", "", 3311909437, 1144669183, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/LadyAletheaJyleel.lua b/Lua/SpawnScripts/GreaterFaydark/LadyAletheaJyleel.lua new file mode 100755 index 000000000..439c1d24d --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/LadyAletheaJyleel.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/LadyAletheaJyleel.lua + Script Purpose : Lady Alethea Jyleel + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "", "The boughs of the great trees shall keep us safe from the dangers below.", "converse_female06", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "The great branches of Kelethin sway a graceful dance. Such a performance keeps the city safe.", "flourish", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "These fae are kind creatures of magic. The Feir'Dal owe them much.", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "May the blessings of Marr protect you on your journeys within the Faydark.", "fullcurtsey", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Beware the edges of the city. Many have plummeted to their death when not watching their footsteps.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/LadyAstaarEvinien.lua b/Lua/SpawnScripts/GreaterFaydark/LadyAstaarEvinien.lua new file mode 100755 index 000000000..265ea7987 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/LadyAstaarEvinien.lua @@ -0,0 +1,157 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/LadyAstaarEvinien.lua + Script Purpose : Lady Astaar Evinien + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What's that?", "dlg_37_1") + AddConversationOption(conversation, "No, thanks.") + StartConversation(conversation, NPC, Spawn, "Hello there! Are you here to participate in the Fae Ritual of Calling?") + if convo==101 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_101_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you placed the offering at the memorial?") + end + + if convo==102 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_102_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you placed the offering at the memorial?") + end + + if convo==103 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_103_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you placed the offering at the memorial?") + end + +end + +function dlg_37_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd love to do that.", "dlg_37_2") + AddConversationOption(conversation, "I'm not interested.") + StartConversation(conversation, NPC, Spawn, "It's a ritual that allows the Fae, as well as those who honor our ways, to return to Kelethin whenever they wish.") +end + +function dlg_37_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What must I do?", "dlg_37_3") + StartConversation(conversation, NPC, Spawn, "Excellent! I have already heard of your prowess from the Matron, .. GetName(Spawn) .. . so this will be easy for you. The Fae use these simple rituals to help us retain our sense of community, especially with so many changes coming our way lately.") +end + +function dlg_37_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I see.", "dlg_37_4") + AddConversationOption(conversation, "I'm not ready for this task just yet.") + StartConversation(conversation, NPC, Spawn, "You've heard of the Fae spirit buds and may have assumed that we are some type of plant! It's merely a figure of speech. Our spirit buds surround the city, observing and guiding us. When a spirit bud is ready for renewal, it chooses when and where to return. The ritual you'll perform welcomes a spirit back to us, helping it focus on our beloved city.") +end + +function dlg_37_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will do this.", "dlg_37_5") + StartConversation(conversation, NPC, Spawn, "Take this simple offering with you to the memorial inside Kelethin to those who fell during the Siege. The best way to welcome a new spirit is by honoring those spirits no longer with us.") +end + +function dlg_101_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It was a memorial to those who fell during the Siege of Kelethin.", "dlg_101_2") + AddConversationOption(conversation, "I don't understand the meaning of the memorial.") + StartConversation(conversation, NPC, Spawn, "Do you understand? Or do you have questions?") +end + +function dlg_101_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I see.", "dlg_101_3") + StartConversation(conversation, NPC, Spawn, "The memorial was placed on the remains of a tree burnt during the Siege. Many, not just Fae, lost their lives in that time. Many of our spirits were lost in that time...so we honor the returning Fae spirits that much more. We are glad that they can return, you see?") +end + +function dlg_102_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It was a memorial to those who fell during the Siege of Kelethin.", "dlg_102_2") + AddConversationOption(conversation, "I don't understand the meaning of the memorial.") + StartConversation(conversation, NPC, Spawn, "Do you understand? Or do you have questions?") +end + +function dlg_102_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I see.") + StartConversation(conversation, NPC, Spawn, "The memorial was placed on the remains of a tree burnt during the Siege. Many, not just Fae, lost their lives in that time. Many of our spirits were lost in that time...so we honor the returning Fae spirits that much more. We are glad that they can return, you see?") +end + +function dlg_103_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It was a memorial to those who fell during the Siege of Kelethin.", "dlg_103_2") + AddConversationOption(conversation, "I don't understand the meaning of the memorial.") + StartConversation(conversation, NPC, Spawn, "Do you understand? Or do you have questions?") +end + +function dlg_103_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I see.", "dlg_103_3") + StartConversation(conversation, NPC, Spawn, "The memorial was placed on the remains of a tree burnt during the Siege. Many, not just Fae, lost their lives in that time. Many of our spirits were lost in that time...so we honor the returning Fae spirits that much more. We are glad that they can return, you see?") +end + +function dlg_103_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.", "dlg_103_4") + StartConversation(conversation, NPC, Spawn, "May Tunare guide you, .. GetName(Spawn) .. . You've shown the Fae respect by honoring our ritual. I'm pleased to present you with the Call of Kelethin, so that your spirit may also return to us.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/LadyKatriEloranta.lua b/Lua/SpawnScripts/GreaterFaydark/LadyKatriEloranta.lua new file mode 100755 index 000000000..325945c89 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/LadyKatriEloranta.lua @@ -0,0 +1,538 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/LadyKatriEloranta.lua + Script Purpose : Lady Katri Eloranta + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri043.mp3", "", "", 1735617296, 447259139, Spawn) + AddConversationOption(conversation, "Apparently, it really does exist -- and it's using one of Kelethin's tree stumps as its lair!", "dlg_1_1") + AddConversationOption(conversation, "I'm still learning.") + StartConversation(conversation, NPC, Spawn, "Have you learned more about the Grender?") + if convo==18 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri_both001.mp3", "", "", 3983154354, 2409150172, Spawn) + AddConversationOption(conversation, "I am seeking adventure.", "dlg_18_1") + AddConversationOption(conversation, "I'll be on my way now.") + StartConversation(conversation, NPC, Spawn, "Hello, I am Lady Katri Eloranta, advisor. How may I help you?") + end + + if convo==36 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri009.mp3", "", "", 4145784618, 3223534278, Spawn) + AddConversationOption(conversation, "I completed the training, my lady.", "dlg_36_1") + AddConversationOption(conversation, "I am still working on it.") + StartConversation(conversation, NPC, Spawn, "How goes your self-defense training?") + end + + if convo==37 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri009.mp3", "", "", 4145784618, 3223534278, Spawn) + AddConversationOption(conversation, "I completed the training, my lady.", "dlg_37_1") + AddConversationOption(conversation, "I am still working on it.") + StartConversation(conversation, NPC, Spawn, "How goes your self-defense training?") + end + + if convo==89 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri015.mp3", "", "", 3835887931, 684375070, Spawn) + AddConversationOption(conversation, "Not yet, but I have some questions.", "dlg_89_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You've finished your Fae history studies so soon?") + end + + if convo==90 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri015.mp3", "", "", 3835887931, 684375070, Spawn) + AddConversationOption(conversation, "Not yet, but I have some questions.", "dlg_90_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You've finished your Fae history studies so soon?") + end + + if convo==91 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri015.mp3", "", "", 3835887931, 684375070, Spawn) + AddConversationOption(conversation, "Not yet, but I have some questions.", "dlg_91_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You've finished your Fae history studies so soon?") + end + + if convo==92 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri020.mp3", "", "", 1734937732, 3669646106, Spawn) + AddConversationOption(conversation, "We must cull those that are diseased.", "dlg_92_1") + AddConversationOption(conversation, "I cannot decide.") + StartConversation(conversation, NPC, Spawn, "You stand at the cusp of your adulthood. What do you recommend that we do with these creatures, .. GetName(Spawn) .. . What does your spirit tell you?") + end + + if convo==93 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri020.mp3", "", "", 1734937732, 3669646106, Spawn) + AddConversationOption(conversation, "We must cull those that are diseased.", "dlg_93_1") + AddConversationOption(conversation, "I cannot decide.") + StartConversation(conversation, NPC, Spawn, "You stand at the cusp of your adulthood. What do you recommend that we do with these creatures, .. GetName(Spawn) .. . What does your spirit tell you?") + end + + if convo==97 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri030.mp3", "", "", 601485501, 2301313071, Spawn) + AddConversationOption(conversation, "I wish we could have healed those creatures.", "dlg_97_1") + AddConversationOption(conversation, "I'd rather not speak about it now.") + StartConversation(conversation, NPC, Spawn, "You seem troubled, .. GetName(Spawn) .. . What is it?") + end + +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri044.mp3", "", "", 1161697637, 3743302883, Spawn) + AddConversationOption(conversation, "I want to help!", "dlg_1_2") + AddConversationOption(conversation, "I must take care of some personal business first.") + StartConversation(conversation, NPC, Spawn, "The Grender using one of our own trees as its lair is very bad news. When something is close to you, you tend to overlook it. This creature must be dealt with, and swiftly!") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri045.mp3", "", "", 3409419602, 4220390351, Spawn) + AddConversationOption(conversation, "Kelethin must be saved at all costs.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "No, .. GetName(Spawn) .. . You are in the midst of your Rite of Passage. If you leave now before it is complete, you may never be able to finish.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri046.mp3", "", "", 3666385411, 3496691954, Spawn) + AddConversationOption(conversation, "Yes. My spirit will renew someday, whether in me or in someone else.", "dlg_1_4") + AddConversationOption(conversation, "I need more time to consider this.") + StartConversation(conversation, NPC, Spawn, "You're willing to sacrifice your own future to save Kelethin?") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri047.mp3", "", "", 455754558, 1919269008, Spawn) + AddConversationOption(conversation, "You did?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "Well done, .. GetName(Spawn) .. . I knew I sensed greatness in you.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri050.mp3", "", "", 3603309443, 2534399133, Spawn) + AddConversationOption(conversation, "I'll speak with her now.", "dlg_1_6") + StartConversation(conversation, NPC, Spawn, "Of course! I venture to say that you will want to discuss strategies concerning the Grender with someone. It won't do to just rush blindly in for the attack. Speak with Jalmari Keletana, near the Old Kelethin Acorn Lift. She belongs to our self-defense counsel and will assist you.") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri001.mp3", "", "", 1049447300, 1949649811, Spawn) + AddConversationOption(conversation, "Yes! I can't wait!", "dlg_18_2") + AddConversationOption(conversation, "The Rite of Passage?") + AddConversationOption(conversation, "I'm not quite ready for that.") + StartConversation(conversation, NPC, Spawn, "Are you ready to begin your studies for the Rite of Passage?") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri002.mp3", "", "", 3689194229, 1343885891, Spawn) + AddConversationOption(conversation, "My spirit remembers quite a lot, but it forgot about the Rite of Passage.") + StartConversation(conversation, NPC, Spawn, "Once you complete the Rite of Passage, you are granted full access to the city of Kelethin. The Rite tests your knowledge, capability and competence and allows us to see what your spirit remembers.") +end + +function dlg_18_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri003.mp3", "", "", 4152347739, 1411384376, Spawn) + AddConversationOption(conversation, "I am ready.", "dlg_18_4") + AddConversationOption(conversation, "I'm not quite ready yet.") + StartConversation(conversation, NPC, Spawn, "That's natural. As time flows past us, our spirit buds save only what is absolutely necessary for our survival. The Rite of Passage has changed over time as we have changed ourselves. Are you ready to begin?") +end + +function dlg_18_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri004.mp3", "", "", 861135728, 126889941, Spawn) + AddConversationOption(conversation, "There are several tests, aren't there?", "dlg_18_5") + StartConversation(conversation, NPC, Spawn, "The Rite of Passage is a test of your maturity. While our spirits retain the essentials stored by our ancestors, we are only able to pass the Rite of Passage at the right time of our growth.") +end + +function dlg_18_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri005.mp3", "", "", 1325478030, 3761794570, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_18_6") + StartConversation(conversation, NPC, Spawn, "Correct. And you must pass each test, though you can certainly take as much time as you need. This isn't a test of speed, but of spirit.") +end + +function dlg_18_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri006.mp3", "", "", 3359362369, 2718053972, Spawn) + AddConversationOption(conversation, "What should I study first?", "dlg_18_7") + AddConversationOption(conversation, "I need to begin this another time.") + StartConversation(conversation, NPC, Spawn, "You will learn everything you need to know from the instructors, but which elements will be in your individual Rite of Passage will only be revealed in the final test.") +end + +function dlg_18_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri007.mp3", "", "", 2759194756, 1812971858, Spawn) + AddConversationOption(conversation, "I know!", "dlg_18_8") + StartConversation(conversation, NPC, Spawn, "Although we are peaceful, we all learn the art of self-defense. Go to the library, just one platform over, where you will learn about our self-defense postures. And be careful crossing the platforms, XXXXXXXX.") +end + +function dlg_18_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri008.mp3", "", "", 1488353085, 2480151876, Spawn) + AddConversationOption(conversation, "I will come back when I've completed this task.", "dlg_18_9") + StartConversation(conversation, NPC, Spawn, "I realize you've heard that all your life, but it would certainly be a shame to lose such a promising spirit at this point, wouldn't it?") +end + +function dlg_36_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri010.mp3", "", "", 2141344293, 2858138315, Spawn) + AddConversationOption(conversation, "I guess I'm so excited about the Rite of Passage that I forgot.", "dlg_36_2") + AddConversationOption(conversation, "I'm sorry, but I honestly don't remember.") + StartConversation(conversation, NPC, Spawn, "Don't be so formal, .. GetName(Spawn) .. . Please, call me 'Katri.' The title of 'Lady' is merely the way that advisors such as myself are distinguished in Kelethin. Or have you forgotten that?") +end + +function dlg_36_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri011.mp3", "", "", 2174466602, 3932055913, Spawn) + AddConversationOption(conversation, "Should I study more about history now?") + AddConversationOption(conversation, "I will need to return later.", "dlg_36_3") + StartConversation(conversation, NPC, Spawn, "Not to worry. The Rite of Passage exists to teach you not only how to conduct yourself but also how to retain the memories of your spirit so that they may be passed down through the generations.") +end + +function dlg_37_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri010.mp3", "", "", 2141344293, 2858138315, Spawn) + AddConversationOption(conversation, "I guess I'm so excited about the Rite of Passage that I forgot.", "dlg_37_2") + AddConversationOption(conversation, "I'm sorry, but I honestly don't remember.") + StartConversation(conversation, NPC, Spawn, "Don't be so formal, .. GetName(Spawn) .. . Please, call me 'Katri.' The title of 'Lady' is merely the way that advisors such as myself are distinguished in Kelethin. Or have you forgotten that?") +end + +function dlg_37_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri011.mp3", "", "", 2174466602, 3932055913, Spawn) + AddConversationOption(conversation, "Should I study more about history now?", "dlg_37_3") + AddConversationOption(conversation, "I will need to return later.") + StartConversation(conversation, NPC, Spawn, "Not to worry. The Rite of Passage exists to teach you not only how to conduct yourself but also how to retain the memories of your spirit so that they may be passed down through the generations.") +end + +function dlg_37_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri012.mp3", "", "", 1082992118, 2058500337, Spawn) + AddConversationOption(conversation, "She is a history teacher?", "dlg_37_4") + StartConversation(conversation, NPC, Spawn, "That's an excellent idea, .. GetName(Spawn) .. . Much of our history is inherited through our spirit bud and yet, there are still gaps. The collective memories of our community are what maintains our continuity. Your first instructor is my sister, Lyyti Eloranta.") +end + +function dlg_37_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri013.mp3", "", "", 1032451909, 2210988260, Spawn) + AddConversationOption(conversation, "I'll get started on my history lessons.", "dlg_37_5") + StartConversation(conversation, NPC, Spawn, "There are several, all in Kelethin. My sister, Lyyti Eloranta, is an excellent teacher.") +end + +function dlg_37_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri014.mp3", "", "", 895440625, 99177481, Spawn) + AddConversationOption(conversation, "Thank you!", "dlg_37_6") + StartConversation(conversation, NPC, Spawn, "Lyyti is minding her shop on the platform near the bank. If you get lost, ask any of the guards to help you find her.") +end + +function dlg_89_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri016.mp3", "", "", 3658860826, 2912932568, Spawn) + AddConversationOption(conversation, "I spoke with Raimo...he blames Outsiders for bringing disease to the Faydarks.", "dlg_89_2") + StartConversation(conversation, NPC, Spawn, "I'll do my best to answer. What is it?") +end + +function dlg_89_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri017.mp3", "", "", 4042847648, 718902311, Spawn) + AddConversationOption(conversation, "There is something to what he said. Look at those diseased treants so close to Kelethin.", "dlg_89_3") + AddConversationOption(conversation, "I don't believe all Outsiders are to blame, though I am troubled by the diseased treants.") + StartConversation(conversation, NPC, Spawn, "Dark events in Raimo's past lives continue to shadow his outlook to this day. Not all Fae believe Outsiders are evil.") +end + +function dlg_89_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri018.mp3", "", "", 3342872278, 3547383900, Spawn) + AddConversationOption(conversation, "Are all the treants of the Faydark at risk?") + AddConversationOption(conversation, "That's what we get for trusting Outsiders.", "dlg_89_4") + StartConversation(conversation, NPC, Spawn, "Ah, the poor treants, rotting from the inside out. We've tried to heal them, but by the time the disease is obvious, it's too late. And I fear the disease is spreading.") +end + +function dlg_90_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri016.mp3", "", "", 3658860826, 2912932568, Spawn) + AddConversationOption(conversation, "I spoke with Raimo...he blames Outsiders for bringing disease to the Faydarks.", "dlg_90_2") + StartConversation(conversation, NPC, Spawn, "I'll do my best to answer. What is it?") +end + +function dlg_90_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri017.mp3", "", "", 4042847648, 718902311, Spawn) + AddConversationOption(conversation, "There is something to what he said. Look at those diseased treants so close to Kelethin.", "dlg_90_3") + AddConversationOption(conversation, "I don't believe all Outsiders are to blame, though I am troubled by the diseased treants.") + StartConversation(conversation, NPC, Spawn, "Dark events in Raimo's past lives continue to shadow his outlook to this day. Not all Fae believe Outsiders are evil.") +end + +function dlg_90_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri018.mp3", "", "", 3342872278, 3547383900, Spawn) + AddConversationOption(conversation, "Are all the treants of the Faydark at risk?", "dlg_90_4") + AddConversationOption(conversation, "That's what we get for trusting Outsiders.") + StartConversation(conversation, NPC, Spawn, "Ah, the poor treants, rotting from the inside out. We've tried to heal them, but by the time the disease is obvious, it's too late. And I fear the disease is spreading.") +end + +function dlg_90_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri025.mp3", "", "", 3597144400, 4127372896, Spawn) + AddConversationOption(conversation, "I don't need to explain it, I just know that it is so.") + StartConversation(conversation, NPC, Spawn, "Like Raimo, you also believe the Outsiders are responsible for this disease? Tell me then, how are they doing this?") +end + +function dlg_91_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri016.mp3", "", "", 3658860826, 2912932568, Spawn) + AddConversationOption(conversation, "I spoke with Raimo...he blames Outsiders for bringing disease to the Faydarks.", "dlg_91_2") + StartConversation(conversation, NPC, Spawn, "I'll do my best to answer. What is it?") +end + +function dlg_91_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri017.mp3", "", "", 4042847648, 718902311, Spawn) + AddConversationOption(conversation, "There is something to what he said. Look at those diseased treants so close to Kelethin.", "dlg_91_3") + AddConversationOption(conversation, "I don't believe all Outsiders are to blame, though I am troubled by the diseased treants.") + StartConversation(conversation, NPC, Spawn, "Dark events in Raimo's past lives continue to shadow his outlook to this day. Not all Fae believe Outsiders are evil.") +end + +function dlg_91_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri018.mp3", "", "", 3342872278, 3547383900, Spawn) + AddConversationOption(conversation, "Are all the treants of the Faydark at risk?", "dlg_91_4") + AddConversationOption(conversation, "That's what we get for trusting Outsiders.") + StartConversation(conversation, NPC, Spawn, "Ah, the poor treants, rotting from the inside out. We've tried to heal them, but by the time the disease is obvious, it's too late. And I fear the disease is spreading.") +end + +function dlg_91_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri019.mp3", "", "", 272244520, 663798395, Spawn) + AddConversationOption(conversation, "What can we do about it?", "dlg_91_5") + StartConversation(conversation, NPC, Spawn, "All of nature is bound together. When one being suffers, those around it suffer as well. There are spiders and beetles that seem to show signs of disease as well, poor wretches.") +end + +function dlg_91_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri020.mp3", "", "", 1734937732, 3669646106, Spawn) + AddConversationOption(conversation, "We must cull those that are diseased.", "dlg_91_6") + AddConversationOption(conversation, "I cannot decide.") + StartConversation(conversation, NPC, Spawn, "You stand at the cusp of your adulthood. What do you recommend that we do with these creatures, .. GetName(Spawn) .. . What does your spirit tell you?") +end + +function dlg_91_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri022.mp3", "", "", 2209003630, 1705635007, Spawn) + AddConversationOption(conversation, "We...must cull the diseased creatures.") + AddConversationOption(conversation, "I need to think about this before I make a decision.", "dlg_91_7") + StartConversation(conversation, NPC, Spawn, "The decision is difficult, isn't it? I believe that you know what the answer is and you find it distasteful or you would not hesitate.") +end + +function dlg_92_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri023.mp3", "", "", 521100683, 3157912145, Spawn) + AddConversationOption(conversation, "I will remove the diseased creatures.", "dlg_92_2") + StartConversation(conversation, NPC, Spawn, "Destruction is not something we Fae take lightly, but it is sometimes the only way. We have quarantined those creatures beginning to show signs of disease here on Green Knoll.") +end + +function dlg_93_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri022.mp3", "", "", 2209003630, 1705635007, Spawn) + AddConversationOption(conversation, "We...must cull the diseased creatures.") + AddConversationOption(conversation, "I need to think about this before I make a decision.", "dlg_93_2") + StartConversation(conversation, NPC, Spawn, "The decision is difficult, isn't it? I believe that you know what the answer is and you find it distasteful or you would not hesitate.") +end + +function dlg_93_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri023.mp3", "", "", 521100683, 3157912145, Spawn) + AddConversationOption(conversation, "I will remove the diseased creatures.", "dlg_93_3") + StartConversation(conversation, NPC, Spawn, "Destruction is not something we Fae take lightly, but it is sometimes the only way. We have quarantined those creatures beginning to show signs of disease here on Green Knoll.") +end + +function dlg_93_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri024.mp3", "", "", 2967863976, 831925805, Spawn) + AddConversationOption(conversation, "I will.", "dlg_93_4") + StartConversation(conversation, NPC, Spawn, "Thank you, .. GetName(Spawn) .. . Let me know when you are ready to go on with your history lessons.") +end + +function dlg_97_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri031.mp3", "", "", 180224809, 481643814, Spawn) + AddConversationOption(conversation, "It just didn't seem right, hunting things that were so obviously sick.", "dlg_97_2") + StartConversation(conversation, NPC, Spawn, "So do we all. Whenever possible, we prefer the way of peace and harmony. When we must kill something, we prefer it be in self-defense. All things must be done for the greater good, even if it goes against our personal feelings on the matter. In that way, it is our personal Ring of Fate.") +end + +function dlg_97_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri032.mp3", "", "", 3434670788, 645022829, Spawn) + AddConversationOption(conversation, "What would make them so diseased they could not be healed?", "dlg_97_3") + StartConversation(conversation, NPC, Spawn, "I understand. And you wonder why I would ask someone on their Rite of Passage to do this task.") +end + +function dlg_97_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri033.mp3", "", "", 67685926, 1701511155, Spawn) + AddConversationOption(conversation, "Something trying to stir up trouble between the Fae and the Outsiders?", "dlg_97_4") + StartConversation(conversation, NPC, Spawn, "A good question. My suspicion is that some external force is at work. A force which knows that many Fae will blame the Outsiders for the sickness.") +end + +function dlg_97_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri034.mp3", "", "", 2195860271, 1512858419, Spawn) + AddConversationOption(conversation, "There must be something we can do to find out.", "dlg_97_5") + StartConversation(conversation, NPC, Spawn, "And amongst the Fae. Our Queen Amree welcomes Outsiders, yet her heir Princess Saphronia does not. We are so busy arguing about the Outsiders that this malevolent force is free to walk amongst us, unnoticed but for its ill effects.") +end + +function dlg_97_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri035.mp3", "", "", 188163743, 2258694829, Spawn) + AddConversationOption(conversation, "What sort of rumors?", "dlg_97_6") + StartConversation(conversation, NPC, Spawn, "Our information is very limited, yet... I've heard a few rumors...") +end + +function dlg_97_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri037.mp3", "", "", 2609946533, 3375103241, Spawn) + AddConversationOption(conversation, "No. What's that?", "dlg_97_7") + StartConversation(conversation, NPC, Spawn, "I would not distract you from the Rite of Passage, .. GetName(Spawn) .. . if it were not so important to protect these creatures from the ravages of disease. Have you heard of the Grender?") +end + +function dlg_97_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri038.mp3", "", "", 907147106, 801087342, Spawn) + AddConversationOption(conversation, "Has the Grender's involvement been proven?", "dlg_97_8") + StartConversation(conversation, NPC, Spawn, "The Grender is a twisted creature rumored to be half-man, half-beast. And like a parasite, it sucks the life force out of the world around it and gives nothing back in return.") +end + +function dlg_97_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri039.mp3", "", "", 491933054, 4035179845, Spawn) + AddConversationOption(conversation, "I'll locate the Grender!", "dlg_97_9") + AddConversationOption(conversation, "I must finish some other tasks before I begin this.") + StartConversation(conversation, NPC, Spawn, "No, it is only conjecture. In fact, no one has proven it even exists. But if all be true, our realm would be in considerable danger. One of the Fae Royal Messengers has been trying to locate its lair. Perhaps you can aid him?") +end + +function dlg_97_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri040.mp3", "", "", 1144328884, 1034744188, Spawn) + AddConversationOption(conversation, "Where will I find the Fae Royal Messenger?", "dlg_97_10") + StartConversation(conversation, NPC, Spawn, "Excellent, .. GetName(Spawn) .. . It might just be a rumor, but all rumors have some basis in fact. If nothing else, you may help disprove that the Grender even exists.") +end + +function dlg_97_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lady_katri_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_katri/qst_katri042.mp3", "", "", 1497033190, 2749193313, Spawn) + AddConversationOption(conversation, "I'll let you know what I find out.", "dlg_97_11") + StartConversation(conversation, NPC, Spawn, "Speak with Kalamar Vesinger, our local Grender expert. You'll find him at Joleena's Restaurant in Kelethin. Safe journeys.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/LadyMilikaVikaarinen.lua b/Lua/SpawnScripts/GreaterFaydark/LadyMilikaVikaarinen.lua new file mode 100755 index 000000000..279b33c23 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/LadyMilikaVikaarinen.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/LadyMilikaVikaarinen.lua + Script Purpose : Lady Milika Vikaarinen + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have news of the Grender!", "dlg_6_1") + AddConversationOption(conversation, "Nothing in particular. Just looking around.") + StartConversation(conversation, NPC, Spawn, "Greetings! What brings you into the Fae Royal Hall this day?") + if convo==70 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing in particular. Just looking around.", "dlg_70_1") + StartConversation(conversation, NPC, Spawn, "Greetings! What brings you into the Fae Royal Hall this day?") + end + +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Er...I don't think that's the same one.", "dlg_6_2") + StartConversation(conversation, NPC, Spawn, "The mythical beast that supposedly steals a Fae's wings at night?") +end + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "The one that's brought disease to Greater Faydark's creatures. Its lair is directly beneath Kelethin!", "dlg_6_3") + StartConversation(conversation, NPC, Spawn, "What Grender is it, then?") +end + +function dlg_6_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I know where it is. I'll go!", "dlg_6_4") + StartConversation(conversation, NPC, Spawn, "This is terrible news! We must defend Kelethin at all costs!") +end + +function dlg_6_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will.", "dlg_6_5") + StartConversation(conversation, NPC, Spawn, "You? Hm...I would prefer to send someone with more experience, but perhaps stealth is the wiser course. You know where it is and can hurry there before it escapes. Speak with Queen Amree and ask permission to undertake this task.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Queen Amree is the current ruler of the Fae.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/LarkMeadowswoon.lua b/Lua/SpawnScripts/GreaterFaydark/LarkMeadowswoon.lua new file mode 100755 index 000000000..894b6aba8 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/LarkMeadowswoon.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/LarkMeadowswoon.lua + Script Purpose : Lark Meadowswoon + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/lark_meadowswoon/_exp03/exp03_rgn_greater_faydark/fae/flavor_lark_meadowswoon_hail_4110c2bb.mp3", "The Shroombas are majestic, aren't they? They honor us by protecting this grove and the plants that grow here.", "", 1285635873, 695500372, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/lark_meadowswoon/_exp03/exp03_rgn_greater_faydark/fae/flavor_lark_meadowswoon_hail_9176e05b.mp3", "The seeds the Shroombas plant and protect are of great value to us!", "", 1853355142, 1854304162, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/lark_meadowswoon/_exp03/exp03_rgn_greater_faydark/fae/flavor_lark_meadowswoon_hail_ec97b992.mp3", "It's fascinating to watch the Shroombas work. They help keep our forest green and alive!", "", 2987054098, 2174581919, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/LyytiEloranta.lua b/Lua/SpawnScripts/GreaterFaydark/LyytiEloranta.lua new file mode 100755 index 000000000..f246d9684 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/LyytiEloranta.lua @@ -0,0 +1,128 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/LyytiEloranta.lua + Script Purpose : Lyyti Eloranta + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti001.mp3", "", "", 4088228408, 3514253455, Spawn) + AddConversationOption(conversation, "Lady Katri said that you're the history instructor.", "dlg_39_1") + AddConversationOption(conversation, "Not right now, thanks.") + StartConversation(conversation, NPC, Spawn, "May I help you with something?") + if convo==40 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti001.mp3", "", "", 4088228408, 3514253455, Spawn) + AddConversationOption(conversation, "Lady Katri said that you're the history instructor.", "dlg_40_1") + AddConversationOption(conversation, "Not right now, thanks.") + StartConversation(conversation, NPC, Spawn, "May I help you with something?") + end + + if convo==41 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti001.mp3", "", "", 4088228408, 3514253455, Spawn) + AddConversationOption(conversation, "Not right now, thanks.", "dlg_41_1") + StartConversation(conversation, NPC, Spawn, "May I help you with something?") + end + +end + +function dlg_39_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti002.mp3", "", "", 2837904161, 4185990953, Spawn) + AddConversationOption(conversation, "Sort of. Did you used to be a history teacher?", "dlg_39_2") + StartConversation(conversation, NPC, Spawn, "Are you wondering why she sent you to learn history from a merchant?") +end + +function dlg_39_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti003.mp3", "", "", 1895475560, 810904654, Spawn) + AddConversationOption(conversation, "Will these lessons fill in all the gaps?", "dlg_39_3") + StartConversation(conversation, NPC, Spawn, "I love our Fae heritage and when Katri told me she would be the Rite of Passage advisor, I told her I wanted to help. I believe my spirit used to inhabit that of a teacher. Each Fae's spirit holds memories and experiences from the ancestors, but they are often incomplete, leaving gaps in our history that only the community's knowledge can fill.") +end + +function dlg_39_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti005.mp3", "", "", 3025668755, 1997035225, Spawn) + AddConversationOption(conversation, "What must I do now, then?", "dlg_39_4") + AddConversationOption(conversation, "You want me to jump around?") + StartConversation(conversation, NPC, Spawn, "I'm not going to talk your ears off about history -- yet! Your spirit bud has begun to re-awaken. That's how you know it's time for you to consider the Rite of Passage. To help your spirit along, sometimes it needs to be -- jiggled.") +end + +function dlg_39_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti006.mp3", "", "", 407255999, 3852881, Spawn) + AddConversationOption(conversation, "Will all the old memories come back?") + StartConversation(conversation, NPC, Spawn, "Not really. Have you ever had the feeling that you've been somewhere before, but you honestly don't recall ever being there in your life? That's the re-awakening of your spirit bud. The Rite of Passage completes its re-awakening, revealing some of its experiences and memories to you.") +end + +function dlg_40_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti002.mp3", "", "", 2837904161, 4185990953, Spawn) + AddConversationOption(conversation, "Sort of. Did you used to be a history teacher?", "dlg_40_2") + StartConversation(conversation, NPC, Spawn, "Are you wondering why she sent you to learn history from a merchant?") +end + +function dlg_40_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti003.mp3", "", "", 1895475560, 810904654, Spawn) + AddConversationOption(conversation, "Will these lessons fill in all the gaps?", "dlg_40_3") + StartConversation(conversation, NPC, Spawn, "I love our Fae heritage and when Katri told me she would be the Rite of Passage advisor, I told her I wanted to help. I believe my spirit used to inhabit that of a teacher. Each Fae's spirit holds memories and experiences from the ancestors, but they are often incomplete, leaving gaps in our history that only the community's knowledge can fill.") +end + +function dlg_40_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti005.mp3", "", "", 3025668755, 1997035225, Spawn) + AddConversationOption(conversation, "What must I do now, then?", "dlg_40_4") + AddConversationOption(conversation, "You want me to jump around?") + StartConversation(conversation, NPC, Spawn, "I'm not going to talk your ears off about history -- yet! Your spirit bud has begun to re-awaken. That's how you know it's time for you to consider the Rite of Passage. To help your spirit along, sometimes it needs to be -- jiggled.") +end + +function dlg_40_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti008.mp3", "", "", 226867157, 1271697959, Spawn) + AddConversationOption(conversation, "And then? Where's the history in this lesson?", "dlg_40_5") + StartConversation(conversation, NPC, Spawn, "You will need to visit several areas of Kelethin to help your spirit further its re-awakening. Pay attention to the areas that stir your interest the most, for those are places that held importance to your spirit at some point along the way.") +end + +function dlg_40_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/lyyti_eloranta/_exp03/exp03_cty_kelethin/tutorials/qst_lyyti/qst_lyyti009.mp3", "", "", 1286146575, 1120239850, Spawn) + AddConversationOption(conversation, "All right.", "dlg_40_6") + StartConversation(conversation, NPC, Spawn, "You will speak to several different folks along the way -- I've written their names down for you in your journal. You should start with Banker Athinae over there. The history is within you. All we can do is help re-awaken it.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MasterBowyerMossberge.lua b/Lua/SpawnScripts/GreaterFaydark/MasterBowyerMossberge.lua new file mode 100755 index 000000000..f02555203 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MasterBowyerMossberge.lua @@ -0,0 +1,113 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MasterBowyerMossberge.lua + Script Purpose : Master Bowyer Mossberge + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge001.mp3", "", "", 3127429571, 2993577902, Spawn) + AddConversationOption(conversation, "Who are the Faydark's Champions?", "dlg_83_1") + AddConversationOption(conversation, "I'll keep that in mind.") + StartConversation(conversation, NPC, Spawn, "These new carpentry devices are great, but I prefer the old traditional ways of making bows. There is nothing like taking a plain old piece of wood and with your whittling knife, shape and transform it into a bow of beauty and power. The Faydark's Champions understood that quite well.") + if convo==84 then + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge001.mp3", "", "", 3127429571, 2993577902, Spawn) + AddConversationOption(conversation, "Who are the Faydark's Champions?", "dlg_84_1") + AddConversationOption(conversation, "I'll keep that in mind.") + StartConversation(conversation, NPC, Spawn, "These new carpentry devices are great, but I prefer the old traditional ways of making bows. There is nothing like taking a plain old piece of wood and with your whittling knife, shape and transform it into a bow of beauty and power. The Faydark's Champions understood that quite well.") + end + +end + +function dlg_83_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge002.mp3", "", "", 4179297404, 3815097672, Spawn) + AddConversationOption(conversation, "What happened to them?", "dlg_83_2") + StartConversation(conversation, NPC, Spawn, "The Champions were the ranger guild that once called Kelethin home long ago. They created exceptional weapons such as the Trueshot longbow, and the rare enchanted Rain Caller. Sadly, they are all gone now, casualties of the horrible War of the Fay.") +end + +function dlg_83_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge003.mp3", "", "", 3846923539, 1035605128, Spawn) + AddConversationOption(conversation, "Did they all die in the siege?", "dlg_83_3") + StartConversation(conversation, NPC, Spawn, "Most of them lost their lives valiantly defending the tree city they loved. While Kelethin was besieged and burning around them they heroically repelled the Teir'dal and orcish invaders to buy time for their loved ones to escape into the forest.") +end + +function dlg_83_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge004.mp3", "", "", 3957751629, 1890990204, Spawn) + AddConversationOption(conversation, "What was their mission?", "dlg_83_4") + StartConversation(conversation, NPC, Spawn, "All those rangers that stayed to protect Kelethin died to allow others to escape. However, there is a legend that tells of a small group of the Faydark's Champions that were sent on an urgent task as the Teir'dal army began closing around Kelethin to begin their siege. These few did not die but were able to slip by the enemy under the cover of night and proceed with their critical mission.") +end + +function dlg_83_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge005.mp3", "", "", 2721196409, 2451619839, Spawn) + AddConversationOption(conversation, "I understand. Thanks for the story.", "dlg_83_5") + AddConversationOption(conversation, "Hmph... I can handle anything. Goodbye!") + StartConversation(conversation, NPC, Spawn, "That part of the legend will have to wait till you are a little more experienced, I'm afraid. I'd hate to fill your head with exciting tales only to see you run off to relive them and get yourself killed in the process.") +end + +function dlg_84_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge002.mp3", "", "", 4179297404, 3815097672, Spawn) + AddConversationOption(conversation, "What happened to them?", "dlg_84_2") + StartConversation(conversation, NPC, Spawn, "The Champions were the ranger guild that once called Kelethin home long ago. They created exceptional weapons such as the Trueshot longbow, and the rare enchanted Rain Caller. Sadly, they are all gone now, casualties of the horrible War of the Fay.") +end + +function dlg_84_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge003.mp3", "", "", 3846923539, 1035605128, Spawn) + AddConversationOption(conversation, "Did they all die in the siege?", "dlg_84_3") + StartConversation(conversation, NPC, Spawn, "Most of them lost their lives valiantly defending the tree city they loved. While Kelethin was besieged and burning around them they heroically repelled the Teir'dal and orcish invaders to buy time for their loved ones to escape into the forest.") +end + +function dlg_84_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge004.mp3", "", "", 3957751629, 1890990204, Spawn) + AddConversationOption(conversation, "What was their mission?", "dlg_84_4") + StartConversation(conversation, NPC, Spawn, "All those rangers that stayed to protect Kelethin died to allow others to escape. However, there is a legend that tells of a small group of the Faydark's Champions that were sent on an urgent task as the Teir'dal army began closing around Kelethin to begin their siege. These few did not die but were able to slip by the enemy under the cover of night and proceed with their critical mission.") +end + +function dlg_84_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "master_bowyer_mossberge/_exp03/exp03_rgn_greater_faydark/master_bowyer_mossberge/master_bowyer_mossberge005.mp3", "", "", 2721196409, 2451619839, Spawn) + AddConversationOption(conversation, "I understand. Thanks for the story.", "dlg_84_5") + AddConversationOption(conversation, "Hmph... I can handle anything. Goodbye!") + StartConversation(conversation, NPC, Spawn, "That part of the legend will have to wait till you are a little more experienced, I'm afraid. I'd hate to fill your head with exciting tales only to see you run off to relive them and get yourself killed in the process.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua b/Lua/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua new file mode 100755 index 000000000..ecd1b4fc0 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua @@ -0,0 +1,346 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MatronoftheNursery.lua + Script Purpose : Matron of the Nursery + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +local QUEST_1 = 83 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "inRange", "leaveRange") + ProvidesQuest(NPC, QUEST_1) +end + +function inRange(NPC, Spawn) + if not HasCompletedQuest(Spawn, QUEST_1) and not HasQuest(Spawn, QUEST_1) then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/quest/quest_matron_of_the_bloom_nursery_help_66ff3ea.mp3", "Please! We need your help!", "wave", 1753177946, 2265055232, Spawn) + end +end + +function leaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + GenericHail(NPC, Spawn) + + if HasCompletedQuest(Spawn, QUEST_1) then + elseif HasQuest(Spawn, QUEST_1) then + onQuest1(NPC, Spawn) + else + beforeQuest1_1(NPC, Spawn) + end +end + +--[[ Quest 1 ]]-- + +function beforeQuest1_1(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "Let me help take care of this. Where are the shrumblers?", "beforeQuest1_2") + AddConversationOption(conversation, "What is this place?", "beforeQuest1_3") + AddConversationOption(conversation, "I can't assist right now. I'll return another time.") + StartConversation(conversation, NPC, Spawn, "I am so pleased that you answered my summons. Look at what has become of the Nursery! These shrumblers appeared suddenly, and have been devouring the roots of our precious flowers! The flowers could all wither and perish!") +end + +function beforeQuest1_2(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "I will see it done", "offerQuest1") + AddConversationOption(conversation, "Perhaps another time. Farewell!") + StartConversation(conversation, NPC, Spawn, "Look around the base of the flowers here in the Nursery. Destroy any of the shrumbler hatchlings you find!") +end + +function beforeQuest1_3(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "So these are all unborn fae? If the flowers die, what becomes of them?", "beforeQuest1_4") + AddConversationOption(conversation, "I see. Then it is crucial I take care of these shrumblers.", "beforeQuest1_2") + AddConversationOption(conversation, "Maybe another time. Farewell.") + StartConversation(conversation, NPC, Spawn, "These are the budding flowers for newborn fae, and this is the Nursery, in which we tend and care for them. When a fae dies naturally, the come a beautiful delicate flower, housing the spirit of the departed fae.") +end + +function beforeQuest1_4(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "I will. Where can I find the shrumblers?", "beforeQuest1_2") + AddConversationOption(conversation, "It seems like too big of a job for me. Farewell.") + StartConversation(conversation, NPC, Spawn, "The unborn fae will die, and all of the collective knowledge of their spirit will be lost forever. Please, you must help us prevent the lose of any more fae spirits!") +end + +function offerQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function onQuest1(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + if (GetQuestStep(Spawn, QUEST_1) == 2) then + else + StartConversation(conversation, NPC, Spawn, "Please hurry with your task.") + end +end + +--[[ + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 20, "inRange", "leaveRange") + ProvidesQuest(NPC, 133) + ProvidesQuest(NPC, 134) + ProvidesQuest(NPC, 135) + ProvidesQuest(NPC, 136) + ProvidesQuest(NPC, 137) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if HasQuest(Spawn, 133) then + -- she only shouts for help when you have not done her quest line + elseif HasCompletedQuest(Spawn, 133) then + -- she only shouts for help when you have not done her quest line + else + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/quest/quest_matron_of_the_bloom_nursery_help_66ff3ea.mp3", "Please! We need your help!", "wave", 1753177946, 2265055232, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, 133) then + if HasCompletedQuest(Spawn, 134) then + if HasCompletedQuest(Spawn, 135) then + if HasCompletedQuest(Spawn, 136) then + if HasCompletedQuest(Spawn, 137) then + QuestsComplete(NPC, Spawn) + elseif HasQuest(Spawn, 137) then + if GetQuestStep(Spawn, 137) == 1 then + -- quest not complete yet + Say(NPC, "Please finish your task", Spawn) + elseif GetQuestStep == 2 then + -- handing in quest + SetStepComplete(Spawn, 137, 2) + Quest5Done(NPC, Spawn) + end + else + -- does not have quest yet + MessageFromTheMatron(NPC, Spawn) + end + elseif HasQuest(Spawn, 136) then + if GetQuestStep(Spawn, 136) == 1 then + -- quest not complete yet + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, I have not gathered them yet.") + StartConversation(conversation, NPC, Spawn, "Welcome back, " .. GetName(Spawn) .. ". Were you able to gather the healing herbs I need?") + elseif GetQuestStep(Spawn, 136) == 2 then + -- handing in quest + SetStepComplete(Spawn, 136, 2) + Quest4Done(NPC, Spawn) + end + else + -- does not have quest yet + HerbsofHealing(NPC, Spawn) + end + elseif HasQuest(Spawn, 135) then + if GetQuestStep(Spawn, 135) == 1 then + -- quest not complete yet + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery009.mp3", "", "", 768214181, 1308439553, Spawn) + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Were you able to find out what the grobins at the pond were up to?") + elseif GetQuestStep(Spawn, 135) == 2 then + -- handing in quest + SetStepComplete(Spawn, 135, 2) + Quest3Done(NPC, Spawn) + end + else + -- does not have quest yet + GrobinTroubleAtThePond(NPC, Spawn) + end + elseif HasQuest(Spawn, 134) then + if GetQuestStep(Spawn, 134) == 1 then + -- quest not yet complete + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery006.mp3", "", "", 3086001028, 2261685856, Spawn) + AddConversationOption(conversation, "I am not sure yet.") + StartConversation(conversation, NPC, Spawn, "Are the grobin scouts still out there?") + elseif GetQuestStep(Spawn, 134) == 2 then + -- handing in quest + SetStepComplete(Spawn, 134, 2) + Quest2Done(NPC, Spawn) + end + else + -- does not have quest + RunningOffTheGrobinScouts(NPC, Spawn) + end + elseif HasQuest(Spawn, 133) then + if GetQuestStep(Spawn, 133) == 1 then + -- quest not complete yet + Say(NPC, "Please! You must get rid of the shrumblers before they eat the spirit blooms!", Spawn) + elseif GetQuestStep(Spawn, 133) == 2 then + -- handing in the quest + SetStepComplete(Spawn, 133, 2) + Quest1Done(NPC, Spawn) + end + else + -- does not have quest + Infestation(NPC, Spawn) + end +end + +------------------------------------------------------------------------------- +---------- Quest Dialogs ---------- +------------------------------------------------------------------------------- +function Infestation(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery001.mp3", "", "", 3995853929, 1976845236, Spawn) + AddConversationOption(conversation, "Yes, I'll get rid of the shrumblers.", "Infestation_dlg2") + AddConversationOption(conversation, "It's not my problem.") + StartConversation(conversation, NPC, Spawn, "Thank Tunare you're here! There's little time to explain. An infestation of shrumblers has appeared in the nursery and they're eating the spirit blooms! Can you help us?") +end + +function Infestation_dlg2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_bloom_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery002.mp3", "", "", 1028015490, 2786542994, Spawn) + AddConversationOption(conversation, "I'll be safe.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "The spirit blooms grow both to the east and west of here. Please be careful!") +end + +function RunningOffTheGrobinScouts(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery004.mp3", "", "", 849551346, 2426315385, Spawn) + AddConversationOption(conversation, "Sure, I'll check things out.", "OfferQuest2") + AddConversationOption(conversation, "I already helped you once, goodbye.") + StartConversation(conversation, NPC, Spawn, "The shrumblers came from the direction of the pond just to the southwest. Vile grobin scouts were recently seen in that area. I know it is much to ask, but could you check out the area and get rid of any grobin scouts that you find?") +end + +function GrobinTroubleAtThePond(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery007.mp3", "", "", 155606057, 734892147, Spawn) + AddConversationOption(conversation, "I'll stop them.", "OfferQuest3") + AddConversationOption(conversation, "I've helped you enough, goodbye.") + StartConversation(conversation, NPC, Spawn, "You noticed the grobins putting something in the pond's water? This is most troubling. The creatures and plants of this area depend on that enchanted water to grow big and strong! The grobins must be stopped or many things will suffer.") +end + +function HerbsofHealing(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery010.mp3", "", "", 2687383899, 130888406, Spawn) + AddConversationOption(conversation, "What is wrong?", "HerbsofHealing_dlg2") + StartConversation(conversation, NPC, Spawn, "So the grobin were behind the infestation! I knew it! Putting those eggs in the enchanted pond would make the shrumblers grow incredibly quick and strong. Hmm, I wonder where they were getting all those eggs, though. That question will have to wait, however. I've discovered a greater problem.") +end + +function HerbsofHealing_dlg2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery011.mp3", "", "", 1314428688, 3908522277, Spawn) + AddConversationOption(conversation, "I can get what you need.", "HerbsofHealing_dlg3") + AddConversationOption(conversation, "I've done enough to help, goodbye.") + StartConversation(conversation, NPC, Spawn, "It seems the shrumblers did more damage to the spirit blooms than I previously thought. I need to heal the blooms but I don't have the components with me.") +end + +function HerbsofHealing_dlg3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery011.mp3", "", "", 1314428688, 3908522277, Spawn) + AddConversationOption(conversation, "I'll go gather some.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". The herbs can be harvested from the faeicia plants not far from here to the west.") +end + +function MessageFromTheMatron(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery014.mp3", "", "", 1963879689, 3046606981, Spawn) + AddConversationOption(conversation, "You are welcome.", "MessageFromTheMatron_dlg_2") + StartConversation(conversation, NPC, Spawn, "Very good. I'll begin the healing of the spirit blooms. Thank you so much for all you've done. I don't know what we would've done if you hadn't awoken when you did.") +end + +function MessageFromTheMatron_dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery015.mp3", "", "", 2641012186, 3622995691, Spawn) + AddConversationOption(conversation, "I can take the message for you.", "MessageFromTheMatron_dlg_3") + AddConversationOption(conversation, "Forget it, I've helped enough.") + StartConversation(conversation, NPC, Spawn, "Before you go, can you do one last thing for me? I fear the grobins will try attacking the spirit blooms again. I need you to deliver a message to Sentry Trillis and warn him about the grobins.") +end + +function MessageFromTheMatron_dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery016.mp3", "", "", 3997346506, 1167918210, Spawn) + AddConversationOption(conversation, "Goodbye, Matron of the Nursery.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Thank you, .. GetName(Spawn) .. . May Tunare bless you for all you have done! Now I have some spirit blooms to heal.") +end +------------------------------------------------------------------------------- +---------- Offer Quests ---------- +------------------------------------------------------------------------------- +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, 133) +end + +function OfferQuest2(NPC, Spawn) + OfferQuest(NPC, Spawn, 134) +end + +function OfferQuest3(NPC, Spawn) + OfferQuest(NPC, Spawn, 135) +end + +function OfferQuest4(NPC, Spawn) + OfferQuest(NPC, Spawn, 136) +end + +function OfferQuest5(NPC, Spawn) + OfferQuest(NPC, Spawn, 137) +end + +------------------------------------------------------------------------------- +---------- Quest is done ---------- +------------------------------------------------------------------------------- +function Quest1Done(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_bloom_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery003.mp3", "", "", 3759250787, 3072440842, Spawn) + AddConversationOption(conversation, "Where did they come from?", "RunningOffTheGrobinScouts") + AddConversationOption(conversation, "Have a good day, goodbye.") + StartConversation(conversation, NPC, Spawn, "Thank you so much! The spirit blooms should be fine now. It was strange... we've never seen shrumblers that large or in such great numbers.") +end + +function Quest2Done(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery006.mp3", "", "", 3086001028, 2261685856, Spawn) + AddConversationOption(conversation, "I ran a few of them off.. I also saw some grobins putting something in the water of the pond.", "GrobinTroubleAtThePond") + AddConversationOption(conversation, "I am not sure yet.") + StartConversation(conversation, NPC, Spawn, "Are the grobin scouts still out there?") +end + +function Quest3Done(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery009.mp3", "", "", 768214181, 1308439553, Spawn) + AddConversationOption(conversation, "Yes. They had jars of shrumbler eggs that they were pouring into the pond.", "HerbsofHealing") + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Were you able to find out what the grobins at the pond were up to?") +end + +function Quest4Done(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery013.mp3", "", "", 793594959, 1637646288, Spawn) + AddConversationOption(conversation, "Yes, I have them right here.", "MessageFromTheMatron") + AddConversationOption(conversation, "No, I have not gathered them yet.") + StartConversation(conversation, NPC, Spawn, "Welcome back, .. GetName(Spawn) .. . Were you able to gather the healing herbs I need?") +end + +--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/MatstyrAlesmith.lua b/Lua/SpawnScripts/GreaterFaydark/MatstyrAlesmith.lua new file mode 100755 index 000000000..ba81dee3f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MatstyrAlesmith.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MatstyrAlesmith.lua + Script Purpose : Matstyr Alesmith + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "matstyr_alesmith/_exp03/exp03_rgn_greater_faydark/matstyr_alesmith/matstyr_001.mp3", "", "", 1937953293, 2767488861, Spawn) + AddConversationOption(conversation, "I was wondering if I could do anything for you.", "dlg_23_1") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Hail and good to meet ya. I am Matstyr, Your traveling Smith and all around do anything you need Dwarf. Is there anything I can do for you?") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "matstyr_alesmith/_exp03/exp03_rgn_greater_faydark/matstyr_alesmith/matstyr_002.mp3", "", "", 2958360418, 2661137078, Spawn) + AddConversationOption(conversation, "Sounds good, where can I start.", "dlg_23_2") + AddConversationOption(conversation, "I change my mind, I don’t have time.") + StartConversation(conversation, NPC, Spawn, "Well I am a bit back logged on my list of things to help people with. I guess I could hire you to help me out for a bit. No long term contract mind you. ") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "matstyr_alesmith/_exp03/exp03_rgn_greater_faydark/matstyr_alesmith/matstyr_003.mp3", "", "", 1881646035, 610210479, Spawn) + AddConversationOption(conversation, "I will return with the pelts.", "dlg_23_3") + AddConversationOption(conversation, "I don’t want to kill any wolves.") + StartConversation(conversation, NPC, Spawn, "Well I have an order to fill from one of those tree hugging elves. They need some wolf pelts to make leather armor for their young warriors. I told them it would be no problem, but it seems I underestimated how much they would need. If you could bring me a bundle of pelts it would help quite a bit.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MeehaPekko-Maarit.lua b/Lua/SpawnScripts/GreaterFaydark/MeehaPekko-Maarit.lua new file mode 100755 index 000000000..fb96ca7d3 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MeehaPekko-Maarit.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MeehaPekko-Maarit.lua + Script Purpose : Meeha Pekko-Maarit + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Greetings!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MeliinaCopperleaf.lua b/Lua/SpawnScripts/GreaterFaydark/MeliinaCopperleaf.lua new file mode 100755 index 000000000..2aaf68d60 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MeliinaCopperleaf.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MeliinaCopperleaf.lua + Script Purpose : Meliina Copperleaf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "I'd be careful in your home...if you get back to it. I overheard someone talking about the little prank they're playing on you.", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I don't know what's going on, friend...but you're being followed!", "peer", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "You're excused!", "stinky", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "I'll bet HE'LL never eat triggerfish pie again!", "chuckle", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MenthaHaora.lua b/Lua/SpawnScripts/GreaterFaydark/MenthaHaora.lua new file mode 100755 index 000000000..28c9a51e8 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MenthaHaora.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MenthaHaora.lua + Script Purpose : Mentha Haora + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mentha_haora/_exp03/exp03_rgn_greater_faydark/scp/part_two/mentha/mentha000.mp3", "", "", 2060469955, 1753572931, Spawn) + AddConversationOption(conversation, "I am XXXXXXXX. What do you mean formerly?", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "I am Mentha Haora. Formerly in charge of the counter Crushbone offensive in the area surrounding the Combine Spires.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mentha_haora/_exp03/exp03_rgn_greater_faydark/scp/part_two/mentha/mentha001.mp3", "", "", 926564266, 1509556740, Spawn) + AddConversationOption(conversation, "Well if the orcs are taken care of is there anything else I can help with?", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "There had been a much stronger orc presence here only a short while ago. I broke their camp and scattered their numbers. Unfortunately, when I asked for follow up orders, I was told to remain at Spireshadow Post. They had put someone else closer to the Crushbone threat, and they would be handling it from now on. When I asked who, they told me I didn't need to know! After all I'd done for them...") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mentha_haora/_exp03/exp03_rgn_greater_faydark/scp/part_two/mentha/mentha002.mp3", "", "", 160244099, 3171785528, Spawn) + AddConversationOption(conversation, "What do you have that I can do?", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "I suppose. They've given me duties... just not exciting ones. Er, I mean they've given me a lot of exciting things to do, and I would love if you helped me finish them up!") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mentha_haora/_exp03/exp03_rgn_greater_faydark/scp/part_two/mentha/mentha003.mp3", "", "", 1953644767, 2401370761, Spawn) + AddConversationOption(conversation, "Sure, I can get the samples.", "dlg_22_4") + StartConversation(conversation, NPC, Spawn, "Well, part of the duties of an officer at this post involves the study of the Combine Spires. Specifically, they wanted me to study the scorched skeletons that congregate around the Spires. Hardly boring work for one who has fought the Crushbone! Anyway, if you could gather some samples of scorched skeleton bones, it would help with a test I have to run.") +end + +function dlg_22_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/mentha_haora/_exp03/exp03_rgn_greater_faydark/scp/part_two/mentha/mentha004.mp3", "", "", 558577322, 2672691340, Spawn) + AddConversationOption(conversation, "All right.", "dlg_22_5") + StartConversation(conversation, NPC, Spawn, "Great! The spires are just north of us, I'm sure there will be no shortage of skeletons.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MerchantFallulah.lua b/Lua/SpawnScripts/GreaterFaydark/MerchantFallulah.lua new file mode 100755 index 000000000..a42d2486a --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MerchantFallulah.lua @@ -0,0 +1,100 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MerchantFallulah.lua + Script Purpose : Merchant Fallulah + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Your sister Melilah asked me...", "dlg_43_1") + AddConversationOption(conversation, "Have a nice day!") + StartConversation(conversation, NPC, Spawn, "Hello.") + if convo==51 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you want to talk about it?", "dlg_51_1") + AddConversationOption(conversation, "No problem.") + StartConversation(conversation, NPC, Spawn, "Oh. It's you again. Listen, sorry about my outburst earlier.") + end + + if convo==52 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you want to talk about it?", "dlg_52_1") + AddConversationOption(conversation, "No problem.") + StartConversation(conversation, NPC, Spawn, "Oh. It's you again. Listen, sorry about my outburst earlier.") + end + +end + +function dlg_43_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "She just wanted me to...", "dlg_43_2") + StartConversation(conversation, NPC, Spawn, "Oh, she did, did she? Well, if she wants to talk to me, she can jolly well come down here off her high...platform...and do so herself!") +end + +function dlg_43_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you want to see it?", "dlg_43_3") + StartConversation(conversation, NPC, Spawn, "Oh, I'm not angry with you! I'm angry with HER! Seasons go by without so much as a 'how're you doing' and then she sends a complete STRANGER to me with a note. A NOTE!") +end + +function dlg_43_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll let her know.", "dlg_43_4") + StartConversation(conversation, NPC, Spawn, "No. Take it away. You can tell her no matter what excuses she makes, I want the clock. Got it?") +end + +function dlg_52_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's what I thought. Melilah wants to start over with you.", "dlg_52_2") + StartConversation(conversation, NPC, Spawn, "It's just...our father died and he was the last family Melilah and I had in Kelethin, except for each other. I've never had to run the shop before and it's been really frustrating to me.") +end + +function dlg_52_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I think you two are overdue for a long, sisterly talk.", "dlg_52_3") + StartConversation(conversation, NPC, Spawn, "She does? I could really use the help! I mean...I miss her. And yes, I could use the help. She's always had a head for business. And I don't want the clock, I just want to be friends with her again.") +end + +function dlg_52_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Good luck with your business...and your sister!", "dlg_52_4") + StartConversation(conversation, NPC, Spawn, "Poor Melilah...all this time, I misjudged her. Thank you so much for getting us to see things straight. May Tunare's blessings be upon you!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MerchantMelilah.lua b/Lua/SpawnScripts/GreaterFaydark/MerchantMelilah.lua new file mode 100755 index 000000000..d9e02dc1f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MerchantMelilah.lua @@ -0,0 +1,170 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MerchantMelilah.lua + Script Purpose : Merchant Melilah + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That depends.", "dlg_17_1") + AddConversationOption(conversation, "No, thanks.") + StartConversation(conversation, NPC, Spawn, "Did you want to earn a little commission on a job for me?") + if convo==45 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes. She asked me to tell you...", "dlg_45_1") + AddConversationOption(conversation, "Um...I think I've lost the note you gave me earlier.") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you spoken with HER yet?") + end + + if convo==46 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes. She asked me to tell you...", "dlg_46_1") + AddConversationOption(conversation, "Um...I think I've lost the note you gave me earlier.") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you spoken with HER yet?") + end + + if convo==48 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You two are fighting over your father's estate?", "dlg_48_1") + AddConversationOption(conversation, "Relax! I just said 'hello' to you.") + StartConversation(conversation, NPC, Spawn, "Well?") + end + + if convo==49 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You two are fighting over your father's estate?", "dlg_49_1") + AddConversationOption(conversation, "Relax! I just said 'hello' to you.") + StartConversation(conversation, NPC, Spawn, "Well?") + end + +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Then why don't you go yourself?", "dlg_17_2") + StartConversation(conversation, NPC, Spawn, "I need to send a note to my sister Fallulah. She's just over there near the bank.") +end + +function dlg_17_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You want me to take a note to her so you don't have to speak to her yourself?", "dlg_17_3") + StartConversation(conversation, NPC, Spawn, "Because we're not SPEAKING with each other! Ooooh....she makes me SO angry! Just thinking about what she said...but...okay...I'm calmer now. Anyway, if I didn't need to contact her, I wouldn't, but it can't be avoided.") +end + +function dlg_17_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well. Okay.", "dlg_17_4") + StartConversation(conversation, NPC, Spawn, "Exactly. Like I said, a little commission for an easy job. I'd really appreciate it.") +end + +function dlg_45_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I won't.") + StartConversation(conversation, NPC, Spawn, "It figures. The one time...just a moment...let me write...out...another...note. Don't lose this one.") +end + +function dlg_46_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "She said to tell you that she 'wants the clock' and that you'll know what that means.", "dlg_46_2") + StartConversation(conversation, NPC, Spawn, "How DARE she presume to talk to me! Even if it's only through you! I have a good mind to...calm...deep breaths...What did she have to say?") +end + +function dlg_46_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Er, can I ask you what's going on between the two of you?", "dlg_46_3") + StartConversation(conversation, NPC, Spawn, "She can't HAVE the clock. It's MINE! I can't BELIEVE how grasping and conniving...") +end + +function dlg_46_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Um, okay.", "dlg_46_4") + StartConversation(conversation, NPC, Spawn, "You still have the note? Go ahead and read it. It explains everything.") +end + +function dlg_49_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Did you tell her how you felt?", "dlg_49_2") + StartConversation(conversation, NPC, Spawn, "I'm not fighting, SHE'S fighting. All I ever hear from her is, 'I want this,' or 'I want that.' She's never ONCE asked me how I was feeling, or said anything about how much work it's been for me to handle things.") +end + +function dlg_49_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Maybe. But folks show sadness in different ways. Maybe her way is different than yours.", "dlg_49_3") + StartConversation(conversation, NPC, Spawn, "It's obvious, isn't it?") +end + +function dlg_49_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "She needs you.", "dlg_49_4") + StartConversation(conversation, NPC, Spawn, "Hrmph. Maybe. She always did have it easier than me. Fallulah was daddy's favorite. She didn't have to set up shop until he passed away, and then she was always pestering me about how to do this and how to do that.") +end + +function dlg_49_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_49_5") + StartConversation(conversation, NPC, Spawn, "I hadn't really thought of it that way. Maybe I have misjudged her. I tell you what. Let me take back that note and write a different one. Would you take this one to her instead?") +end + +function dlg_49_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "merchant_melilah/_exp03/exp03_cty_kelethin/quest/qst_sisters/qst_melilah014.mp3", "", "", 3364592352, 3085055338, Spawn) + AddConversationOption(conversation, "Glad I could help.", "dlg_49_6") + StartConversation(conversation, NPC, Spawn, "And...thank you. You helped me look at things a different way.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MiahTanglebranch.lua b/Lua/SpawnScripts/GreaterFaydark/MiahTanglebranch.lua new file mode 100755 index 000000000..2b4152b87 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MiahTanglebranch.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MiahTanglebranch.lua + Script Purpose : Miah Tanglebranch + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "The blessings of Tunare can be felt all around us!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MiellaMaarsitotts.lua b/Lua/SpawnScripts/GreaterFaydark/MiellaMaarsitotts.lua new file mode 100755 index 000000000..9d4edeba0 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MiellaMaarsitotts.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MiellaMaarsitotts.lua + Script Purpose : Miella Maarsitotts + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "I love paying my respects at Tunare's Sapling. It's a lovely reminder of where we are!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "This is a beautiful place to live!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MissantratheStylist.lua b/Lua/SpawnScripts/GreaterFaydark/MissantratheStylist.lua new file mode 100755 index 000000000..8e27e54bc --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MissantratheStylist.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MissantratheStylist.lua + Script Purpose : Missantra the Stylist + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Change is good! You should get one!", "beckon", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "A new look for a new town, that's what I always say!", "smile", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I can help! Come closer for a consultation!", "converse_female01", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Morganellus.lua b/Lua/SpawnScripts/GreaterFaydark/Morganellus.lua new file mode 100755 index 000000000..f18b53dc6 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Morganellus.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Morganellus.lua + Script Purpose : Morganellus + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/morganellus/_exp03/exp03_rgn_greater_faydark/shroomba/morganellus/morganellus000.mp3", "", "", 1586930709, 170726345, Spawn) + AddConversationOption(conversation, "Hello, Morganellus. I am " .. GetName(Spawn) .. ".", "dlg_10_1") + AddConversationOption(conversation, "Child of the heavens?") + StartConversation(conversation, NPC, Spawn, "Hello, child of the heavens. I am Morganellus.") + +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/morganellus/_exp03/exp03_rgn_greater_faydark/shroomba/morganellus/morganellus001.mp3", "", "", 3125158687, 308390783, Spawn) + AddConversationOption(conversation, "Your friend?", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "It is pleasing to know you. This is a land we share, it would be well that we get along. Of this I find you will agree. In Dyer Mycoria we are taught to respect the children of the heavens, that is you. You should find yourself there sometime, it is pleasant to the senses when you are there. You should visit my friend.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/morganellus/_exp03/exp03_rgn_greater_faydark/shroomba/morganellus/morganellus002.mp3", "", "", 3545587475, 669880313, Spawn) + AddConversationOption(conversation, "I will visit Agarighus.", "dlg_10_3") + StartConversation(conversation, NPC, Spawn, "Agarighus. He tends to our groves in Dyer Mycoria, others--those others you see here--tend to groves outside Dyer Mycoria. This is a nice arrangement, I think.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/morganellus/_exp03/exp03_rgn_greater_faydark/shroomba/morganellus/morganellus003.mp3", "", "", 2602618474, 1319117149, Spawn) + AddConversationOption(conversation, "Do you want me to tell Agarighus that you say hello?", "dlg_10_4") + StartConversation(conversation, NPC, Spawn, "That is pleasing to know. To the east and to the south--both at the same time--you will come to a path that leads away from here, you children call it Echo Echo Canyon. In the canyon are two caves, take the second, and go south once within them, that way is quicker.") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/morganellus/_exp03/exp03_rgn_greater_faydark/shroomba/morganellus/morganellus004.mp3", "", "", 2956711105, 2602303407, Spawn) + AddConversationOption(conversation, "All right, I'll just find him.") + StartConversation(conversation, NPC, Spawn, "Why would I want that? You are going to Dyer Mycoria, not me.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/MulusViinikka.lua b/Lua/SpawnScripts/GreaterFaydark/MulusViinikka.lua new file mode 100755 index 000000000..4971fe2b1 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/MulusViinikka.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/MulusViinikka.lua + Script Purpose : Mulus Viinikka + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Well, well, what have we here?", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/NimessSessi.lua b/Lua/SpawnScripts/GreaterFaydark/NimessSessi.lua new file mode 100755 index 000000000..74a3fd174 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/NimessSessi.lua @@ -0,0 +1,186 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/NimessSessi.lua + Script Purpose : Nimess Sessi + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing, thanks.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Greetings! Is there something I can do for you?") + if convo==67 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was told to speak with you about becoming a citizen of Kelethin.", "dlg_67_1") + AddConversationOption(conversation, "Nothing, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings! Is there something I can do for you?") + end + + if convo==68 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I want to know more about becoming a citizen of Kelethin.", "dlg_68_1") + AddConversationOption(conversation, "Nothing, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings! Is there something I can do for you?") + end + + if convo==69 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I want to know more about becoming a citizen of Kelethin.", "dlg_69_1") + AddConversationOption(conversation, "Nothing, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings! Is there something I can do for you?") + end + +end + +function dlg_67_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "But I'm Fae! Why must I go through this process, too?", "dlg_67_2") + AddConversationOption(conversation, "What do I need to learn?") + StartConversation(conversation, NPC, Spawn, "You've come to the right place! It's my joyous duty to explain a little bit about Kelethin to those who seek permanent citizenship status.") +end + +function dlg_67_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not me!") + AddConversationOption(conversation, "Maybe a little.", "dlg_67_3") + AddConversationOption(conversation, "Of course not!") + AddConversationOption(conversation, "Yes.") + StartConversation(conversation, NPC, Spawn, "Becoming a citizen is simple, but living in Kelethin may be different than it is anywhere else. For one thing, our beautiful city is set in the trees, from which it is possible to fall off. Are you afraid of heights?") +end + +function dlg_68_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "But I'm Fae! Why must I go through this process, too?", "dlg_68_2") + AddConversationOption(conversation, "What do I need to learn?") + StartConversation(conversation, NPC, Spawn, "You've come to the right place! It's my joyous duty to explain a little bit about Kelethin to those who seek permanent citizenship status.") +end + +function dlg_68_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm definitely staying!", "dlg_68_3") + AddConversationOption(conversation, "I need to think about this.") + StartConversation(conversation, NPC, Spawn, "Queen Amree specifically requested that ALL who want to become citizens go through this step, including Fae. You can, of course, choose to seek citizenship in Qeynos instead. Even if your spirit bud has lived here for generations, it is up to you to decide whether you'll stay.") +end + +function dlg_68_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not me!", "dlg_68_4") + AddConversationOption(conversation, "Maybe a little.") + AddConversationOption(conversation, "Of course not!") + AddConversationOption(conversation, "Yes.") + StartConversation(conversation, NPC, Spawn, "Becoming a citizen is simple, but living in Kelethin may be different than it is anywhere else. For one thing, our beautiful city is set in the trees, from which it is possible to fall off. Are you afraid of heights?") +end + +function dlg_68_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh, all right. No, I'm not afraid of heights.") + StartConversation(conversation, NPC, Spawn, "Remember, the Queen herself asked that I go through this with all who wish to become citizens. I'm not pranking you, honest!") +end + +function dlg_69_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "But I'm Fae! Why must I go through this process, too?", "dlg_69_2") + AddConversationOption(conversation, "What do I need to learn?") + StartConversation(conversation, NPC, Spawn, "You've come to the right place! It's my joyous duty to explain a little bit about Kelethin to those who seek permanent citizenship status.") +end + +function dlg_69_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm definitely staying!", "dlg_69_3") + AddConversationOption(conversation, "I need to think about this.") + StartConversation(conversation, NPC, Spawn, "Queen Amree specifically requested that ALL who want to become citizens go through this step, including Fae. You can, of course, choose to seek citizenship in Qeynos instead. Even if your spirit bud has lived here for generations, it is up to you to decide whether you'll stay.") +end + +function dlg_69_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not me!", "dlg_69_4") + AddConversationOption(conversation, "Maybe a little.") + AddConversationOption(conversation, "Of course not!") + AddConversationOption(conversation, "Yes.") + StartConversation(conversation, NPC, Spawn, "Becoming a citizen is simple, but living in Kelethin may be different than it is anywhere else. For one thing, our beautiful city is set in the trees, from which it is possible to fall off. Are you afraid of heights?") +end + +function dlg_69_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's a little comforting.") + StartConversation(conversation, NPC, Spawn, "When the Fae rebuilt Kelethin with the Feir'Dal, we added some berms to each platform. They won't keep you from walking off if you aren't paying attention, but if you watch your step, you will see them and know where the edges are located.") +end + +function dlg_69_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's very comforting.", "dlg_69_6") + StartConversation(conversation, NPC, Spawn, "Additionally, each ramp has a little curved railing where it attaches to the next platform. This is another visual cue that will guide you toward the proper path. The ramps are very sturdy and do not sway, no matter how many people are actually on them.") +end + +function dlg_69_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh, come on! Now you ARE pulling my wings!", "dlg_69_7") + AddConversationOption(conversation, "That's good.") + AddConversationOption(conversation, "I see.") + AddConversationOption(conversation, "I need to finish this later.") + StartConversation(conversation, NPC, Spawn, "Good! Kelethin is not as large of a city as Qeynos, which helps us keep things very simple. We do have several amenities that are similar. We have a bank, lovely houses and several areas in which crafters can practice their trades.") +end + +function dlg_69_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks!", "dlg_69_8") + StartConversation(conversation, NPC, Spawn, "Heh! I wondered how long you'd put up with this! The Queen does want all Fae to go through the same process, but you're right, she said that we don't need all this stuff. Head back down to talk with Gibrien and you may begin to do your community service immediately. Good luck!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/NixiaCogsworth.lua b/Lua/SpawnScripts/GreaterFaydark/NixiaCogsworth.lua new file mode 100755 index 000000000..6a81b4a27 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/NixiaCogsworth.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/NixiaCogsworth.lua + Script Purpose : Nixia Cogsworth + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "We've all the basic supplies that you'll ever need. Are you looking for anything specific?", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/NooraMaki.lua b/Lua/SpawnScripts/GreaterFaydark/NooraMaki.lua new file mode 100755 index 000000000..6fbd6dd5d --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/NooraMaki.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/NooraMaki.lua + Script Purpose : Noora Maki + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_66_1") + StartConversation(conversation, NPC, Spawn, "You've yet to become a crafter. Please return once you've learned some crafting and I'll teach you more.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PaanalaFlutterleaf.lua b/Lua/SpawnScripts/GreaterFaydark/PaanalaFlutterleaf.lua new file mode 100755 index 000000000..b1721c62c --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PaanalaFlutterleaf.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PaanalaFlutterleaf.lua + Script Purpose : Paanala Flutterleaf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "I hear that things are less expensive now that more trade is happening with the Outside.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "We Fae need to welcome newcomers. They could turn out to be valuable friends.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PaivaKapanen.lua b/Lua/SpawnScripts/GreaterFaydark/PaivaKapanen.lua new file mode 100755 index 000000000..df4940144 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PaivaKapanen.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PaivaKapanen.lua + Script Purpose : Paiva Kapanen + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing, thanks.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "What can I get for you?") + if convo==9 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing, thanks.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "What can I get for you?") + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PhilosopherYubee.lua b/Lua/SpawnScripts/GreaterFaydark/PhilosopherYubee.lua new file mode 100755 index 000000000..11281d277 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PhilosopherYubee.lua @@ -0,0 +1,921 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PhilosopherYubee.lua + Script Purpose : Philosopher Yubee + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's so wonderful! I just want to go out and start basking in their glory right away!", "dlg_28_1") + AddConversationOption(conversation, "Feh. Gods, who needs em? Always a pain in yer neck! I'd sooner stick a knife in their gut than worship those churlish manifestations.") + AddConversationOption(conversation, "I'm really not interested at all.") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm sure you've heard all the hubbub about the deities coming back to us! Some people think it's grand, others not so much.") + if convo==29 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's so wonderful! I just want to go out and start basking in their glory right away!", "dlg_29_1") + AddConversationOption(conversation, "Feh. Gods, who needs em? Always a pain in yer neck! I'd sooner stick a knife in their gut than worship those churlish manifestations.") + AddConversationOption(conversation, "I'm really not interested at all.") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm sure you've heard all the hubbub about the deities coming back to us! Some people think it's grand, others not so much.") + end + + if convo==30 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's so wonderful! I just want to go out and start basking in their glory right away!", "dlg_30_1") + AddConversationOption(conversation, "Feh. Gods, who needs em? Always a pain in yer neck! I'd sooner stick a knife in their gut than worship those churlish manifestations.") + AddConversationOption(conversation, "I'm really not interested at all.") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm sure you've heard all the hubbub about the deities coming back to us! Some people think it's grand, others not so much.") + end + + if convo==31 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's so wonderful! I just want to go out and start basking in their glory right away!", "dlg_31_1") + AddConversationOption(conversation, "Feh. Gods, who needs em? Always a pain in yer neck! I'd sooner stick a knife in their gut than worship those churlish manifestations.") + AddConversationOption(conversation, "I'm really not interested at all.") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm sure you've heard all the hubbub about the deities coming back to us! Some people think it's grand, others not so much.") + end + + if convo==32 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's so wonderful! I just want to go out and start basking in their glory right away!", "dlg_32_1") + AddConversationOption(conversation, "Feh. Gods, who needs em? Always a pain in yer neck! I'd sooner stick a knife in their gut than worship those churlish manifestations.") + AddConversationOption(conversation, "I'm really not interested at all.") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm sure you've heard all the hubbub about the deities coming back to us! Some people think it's grand, others not so much.") + end + +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian001.mp3", "", "", 1885768155, 4071330533, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_28_2") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "Tunare, I think I would enjoy knowing where to speak with her prophet.") + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.") + AddConversationOption(conversation, "I hear the the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?") + AddConversationOption(conversation, "Please tell me where I may find the prophet of The Tribunal.") + AddConversationOption(conversation, "Where might I find Karana's prophet?") + AddConversationOption(conversation, "I've always been interested in the ways of Bertoxxulous. Where is his prophet?") + StartConversation(conversation, NPC, Spawn, "Well, you may wish to learn of their prophet's locations. Perhaps one of them will interest you with his tales.") +end + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?", "dlg_29_2") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_29_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_29_3") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_29_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_29_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "I hear the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?", "dlg_29_5") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I want to work with the law. Where is the Tribunal's prophet?") + AddConversationOption(conversation, "I serve the father of storms. Where can I find the prophet of Karana?") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_29_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_29_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.", "dlg_29_7") + AddConversationOption(conversation, "Tunare...tell me where to speak with her prophet.") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "I am searching for the prophet of the Prime Healer, Rodcet Nife.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_29_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian009.mp3", "", "", 3714246172, 3594253878, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.", "dlg_29_8") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Sir Bayden Cauldthorn may be found in Old Kelethin, not far from the research library. He seeks all brave and valorous enough to follow Mithaniel Marr!") +end + +function dlg_29_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_29_9") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_29_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.", "dlg_29_10") + AddConversationOption(conversation, "Tunare...tell me where to speak with her prophet.") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "I am searching for the prophet of the Prime Healer, Rodcet Nife.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_29_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian007.mp3", "", "", 1991516548, 1632985185, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_29_11") + StartConversation(conversation, NPC, Spawn, "Tunare's prophet, Eva Corunno'thes has taken up residence within Old Kelethin. If you wish to learn more about the Earthmother, I am certain she would be willing to share her faith with you.") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?", "dlg_30_2") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.", "dlg_30_3") + AddConversationOption(conversation, "Tunare...tell me where to speak with her prophet.") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "I am searching for the prophet of the Prime Healer, Rodcet Nife.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian007.mp3", "", "", 1991516548, 1632985185, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_30_4") + StartConversation(conversation, NPC, Spawn, "Tunare's prophet, Eva Corunno'thes has taken up residence within Old Kelethin. If you wish to learn more about the Earthmother, I am certain she would be willing to share her faith with you.") +end + +function dlg_30_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_5") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.", "dlg_30_6") + AddConversationOption(conversation, "Tunare...tell me where to speak with her prophet.") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "I am searching for the prophet of the Prime Healer, Rodcet Nife.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian008.mp3", "", "", 3677729012, 3031035319, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Sensei Shoda has delegated responsibility to an erudite named Merrek. You can find him at the top of the cliffs in Butcherblock overlooking the ocean.") +end + +function dlg_30_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_8") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.", "dlg_30_9") + AddConversationOption(conversation, "Tunare...tell me where to speak with her prophet.") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "I am searching for the prophet of the Prime Healer, Rodcet Nife.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you for your guidance. Farewell to you.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Following in the footsteps of Seeress Ealaynya Ithis, the Prophet Bainyn Fairwind has been preaching the word of the Prime Healer from within the Temple of Life in North Qeynos. If you wish to learn more about Rodcet Nife, then seek out Bainyn within the sacred temple.") +end + +function dlg_30_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_11") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.", "dlg_30_12") + AddConversationOption(conversation, "Tunare...tell me where to speak with her prophet.") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "I am searching for the prophet of the Prime Healer, Rodcet Nife.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "I hear the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?", "dlg_30_14") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I want to work with the law. Where is the Tribunal's prophet?") + AddConversationOption(conversation, "I serve the father of storms. Where can I find the prophet of Karana?") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian006.mp3", "", "", 491255471, 488102680, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.", "dlg_30_15") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Bronlor Stormhammer has gone to West Fort Irontoe here in the Butcherblock Mountains. You will need to seek him out if it is Brell Serilis you are interested in learning about.") +end + +function dlg_30_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_16") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "I hear the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?", "dlg_30_17") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I want to work with the law. Where is the Tribunal's prophet?") + AddConversationOption(conversation, "I serve the father of storms. Where can I find the prophet of Karana?") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian012.mp3", "", "", 63830979, 2698789391, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_30_18") + StartConversation(conversation, NPC, Spawn, "I believe Tobel Patadash is the one you should seek out. He's currently residing on the docks of the Enchanted Lands, near the Lost Village of Bobick.") +end + +function dlg_30_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_19") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "I hear the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?", "dlg_30_20") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I want to work with the law. Where is the Tribunal's prophet?") + AddConversationOption(conversation, "I serve the father of storms. Where can I find the prophet of Karana?") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Justinian Theo is near the settlement of Chrykori Village in Timorous Deep. His eyes scan the horizon, searching for those who seek justice and balance in Norrath. If that is what you seek, then speak with him.") +end + +function dlg_30_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_22") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "I hear the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?", "dlg_30_23") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I want to work with the law. Where is the Tribunal's prophet?") + AddConversationOption(conversation, "I serve the father of storms. Where can I find the prophet of Karana?") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Then I will go to him swiftly.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Askr can be found near the city of Gorowyn in Timorous Deep -- on the Green Outlook. He can tell you how to return the father of storms to the skies of Norrath.") +end + +function dlg_30_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_25") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "I hear the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?", "dlg_30_26") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I want to work with the law. Where is the Tribunal's prophet?") + AddConversationOption(conversation, "I serve the father of storms. Where can I find the prophet of Karana?") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_26(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_27(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_30_28") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_28(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian002.mp3", "", "", 1717778678, 2232573733, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.", "dlg_30_29") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "The Prophet of Fear, Danak Dhorentath, has gone to Dagnor's Pass here in Butcherblock. If you wish to learn more about Cazic-Thule, I would seek him out there.") +end + +function dlg_30_29(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_30") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_30(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_30_31") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_31(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian004.mp3", "", "", 2236120283, 3019102435, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_30_32") + StartConversation(conversation, NPC, Spawn, "Tychus Zeksworn has taken up a position east of East Fort Irontoe, overlooking one of the treacherous mountain passes. Perhaps he seeks to recruit the bugbears and kobolds to join an army of Rallos Zek!") +end + +function dlg_30_32(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_33") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_33(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_30_34") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_34(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian003.mp3", "", "", 3561850153, 4167915483, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Xilania Nevagon has gone to Greater Faydark, though to what end I do not know. I am certain that the Prophet of Innoruuk has only nefarious things in mind if she has gone to the home of the Fae!") +end + +function dlg_30_35(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_36") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_36(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_30_37") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_37(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Hrath Everstill can be found near the entrance to the city of Gorowyn in Timorous Deep. It's been said that he's been conducting some rather gruesome experiments on some of the locals in an attempt to unleash the wrath of Bertoxxulous, the Plaguebringer. Perhaps he could use your assistance.") +end + +function dlg_30_38(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_39") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_39(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_30_40") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_40(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You have been most helpful. I will take my leave now.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Once thought lost to the nothingness of the Void, Anashti Sul has found her way back to Norrath. Her Prophet, Plumetor Dul'Sadma, has taken up residence on the docks of the Sinking Sands. It is there you will need to travel if you wish to learn more about the nature of the Forgotten One.") +end + +function dlg_30_41(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_30_42") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_42(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_30_43") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_30_43(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_30_44(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_30_45") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_31_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian001.mp3", "", "", 1885768155, 4071330533, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_31_2") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "Tunare, I think I would enjoy knowing where to speak with her prophet.") + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.") + AddConversationOption(conversation, "I hear the the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?") + AddConversationOption(conversation, "Please tell me where I may find the prophet of The Tribunal.") + AddConversationOption(conversation, "Where might I find Karana's prophet?") + AddConversationOption(conversation, "I've always been interested in the ways of Bertoxxulous. Where is his prophet?") + StartConversation(conversation, NPC, Spawn, "Well, you may wish to learn of their prophet's locations. Perhaps one of them will interest you with his tales.") +end + +function dlg_31_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian002.mp3", "", "", 1717778678, 2232573733, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.", "dlg_31_3") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "The Prophet of Fear, Danak Dhorentath, has gone to Dagnor's Pass here in Butcherblock. If you wish to learn more about Cazic-Thule, I would seek him out there.") +end + +function dlg_31_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_31_4") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_31_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's so wonderful! I just want to go out and start basking in their glory right away!") + AddConversationOption(conversation, "Feh. Gods, who needs em? Always a pain in yer neck! I'd sooner stick a knife in their gut than worship those churlish manifestations.", "dlg_31_5") + AddConversationOption(conversation, "I'm really not interested at all.") + StartConversation(conversation, NPC, Spawn, "Hello there! I'm sure you've heard all the hubbub about the deities coming back to us! Some people think it's grand, others not so much.") +end + +function dlg_31_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian001.mp3", "", "", 1885768155, 4071330533, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_31_6") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "Tunare, I think I would enjoy knowing where to speak with her prophet.") + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.") + AddConversationOption(conversation, "I hear the the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?") + AddConversationOption(conversation, "Please tell me where I may find the prophet of The Tribunal.") + AddConversationOption(conversation, "Where might I find Karana's prophet?") + AddConversationOption(conversation, "I've always been interested in the ways of Bertoxxulous. Where is his prophet?") + StartConversation(conversation, NPC, Spawn, "Well, you may wish to learn of their prophet's locations. Perhaps one of them will interest you with his tales.") +end + +function dlg_31_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian003.mp3", "", "", 3561850153, 4167915483, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_31_7") + StartConversation(conversation, NPC, Spawn, "Xilania Nevagon has gone to Greater Faydark, though to what end I do not know. I am certain that the Prophet of Innoruuk has only nefarious things in mind if she has gone to the home of the Fae!") +end + +function dlg_31_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.", "dlg_31_8") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_32_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian001.mp3", "", "", 1885768155, 4071330533, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_32_2") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I've always been interested in Solusek Ro.") + AddConversationOption(conversation, "I'm born of the earth, now tell me about Brell Serilis!") + AddConversationOption(conversation, "Where might I find Quellious' prophet?") + AddConversationOption(conversation, "Tunare, I think I would enjoy knowing where to speak with her prophet.") + AddConversationOption(conversation, "Please tell me where I may find the prophet of Mithaniel Marr.") + AddConversationOption(conversation, "I hear the the prophet of Bristlebane is looking for a devoted prankster. Where might I find him?") + AddConversationOption(conversation, "Please tell me where I may find the prophet of The Tribunal.") + AddConversationOption(conversation, "Where might I find Karana's prophet?") + AddConversationOption(conversation, "I've always been interested in the ways of Bertoxxulous. Where is his prophet?") + StartConversation(conversation, NPC, Spawn, "Well, you may wish to learn of their prophet's locations. Perhaps one of them will interest you with his tales.") +end + +function dlg_32_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian004.mp3", "", "", 2236120283, 3019102435, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...") + StartConversation(conversation, NPC, Spawn, "Tychus Zeksworn has taken up a position east of East Fort Irontoe, overlooking one of the treacherous mountain passes. Perhaps he seeks to recruit the bugbears and kobolds to join an army of Rallos Zek!") +end + +function dlg_32_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian011.mp3", "", "", 1707355458, 1531415457, Spawn) + AddConversationOption(conversation, "I am interested in the powers of Good. Where might I find their prophets?") + AddConversationOption(conversation, "I walk my own path, and serve neither good nor evil. Where might I find the gods of neutrality?", "dlg_32_4") + AddConversationOption(conversation, "If you know what is good for you, then tell me where I can find the servants of the evil gods!") + AddConversationOption(conversation, "I don't have time to make this decision now. I will return another time.") + StartConversation(conversation, NPC, Spawn, "Ah ha! You're one of the people who think their return is wonderful! Well, if you're interested, I've been taking notes on where their prophets have gone. You can talk to them for more information. Prophets are always ready to welcome new followers to the flock.") +end + +function dlg_32_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You will tell me where to find the prophet of Cazic-Thule. Now!") + AddConversationOption(conversation, "Tell me where I can find the prophet of Rallos Zek.") + AddConversationOption(conversation, "I want to find out more about Innoruuk.", "dlg_32_5") + AddConversationOption(conversation, "I wish to learn more about Bertoxxulous, the Plaguebringer.") + AddConversationOption(conversation, "I am interested in learning more about the Forgotten One, Anashti Sul.") + AddConversationOption(conversation, "My apologies, I don't think I'm interested in any of those. What other choices might I have?") + AddConversationOption(conversation, "Actually, this is something I want to consider more carefully right now. Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Which one were you inquiring about?") +end + +function dlg_32_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "philosopher_rhimes/_exp03/deity/deity_historian004.mp3", "", "", 2236120283, 3019102435, Spawn) + AddConversationOption(conversation, "Very good, I will be on my way then.") + AddConversationOption(conversation, "On second thought...", "dlg_32_6") + StartConversation(conversation, NPC, Spawn, "Tychus Zeksworn has taken up a position east of East Fort Irontoe, overlooking one of the treacherous mountain passes. Perhaps he seeks to recruit the bugbears and kobolds to join an army of Rallos Zek!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PickleVelvetleaf.lua b/Lua/SpawnScripts/GreaterFaydark/PickleVelvetleaf.lua new file mode 100755 index 000000000..4ba5d70f8 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PickleVelvetleaf.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PickleVelvetleaf.lua + Script Purpose : Pickle Velvetleaf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Why couldn't I have been named after a flower?", "sigh", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PirgettaMaarit.lua b/Lua/SpawnScripts/GreaterFaydark/PirgettaMaarit.lua new file mode 100755 index 000000000..cfeee4973 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PirgettaMaarit.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PirgettaMaarit.lua + Script Purpose : Pirgetta Maarit + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll work towards that end then.", "dlg_80_1") + StartConversation(conversation, NPC, Spawn, "I'm sorry, until you have chosen a specialty in your craft I do not have any work orders for you. Come see me when you're more practiced in your trade.") + if convo==81 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll work towards that end then.", "dlg_81_1") + StartConversation(conversation, NPC, Spawn, "I'm sorry, until you have chosen a specialty in your craft I do not have any work orders for you. Come see me when you're more practiced in your trade.") + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PoggleFizzpop.lua b/Lua/SpawnScripts/GreaterFaydark/PoggleFizzpop.lua new file mode 100755 index 000000000..2a7a07161 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PoggleFizzpop.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PoggleFizzpop.lua + Script Purpose : Poggle Fizzpop + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,10) + + if choice == 1 then + PlayFlavor(NPC, "", "I must have crossed the springwire too close to the grindgasket. Well, I'll just have to try again. Don't worry Fido, we'll be rich soon enough.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "A little grinding here, a little mixing there...", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "We're gonna be rich Fido!", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Fido! I think it's ready to go. We're gonna be rich!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Well, here goes nothing!", "", 1689589577, 4560189, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "", "I can't believe it, it's working! We're rich Fido!", "", 1689589577, 4560189, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "", "Wait... what's happening!", "", 1689589577, 4560189, Spawn) + elseif choice == 8 then + PlayFlavor(NPC, "", "Nooooo!", "", 1689589577, 4560189, Spawn) + elseif choice == 9 then + PlayFlavor(NPC, "", "Fido, bring me that crankratchet over there. Thanks, good boy.", "", 1689589577, 4560189, Spawn) + elseif choice == 10 then + PlayFlavor(NPC, "", "I'm almost there!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PrestonPepperpicker.lua b/Lua/SpawnScripts/GreaterFaydark/PrestonPepperpicker.lua new file mode 100755 index 000000000..441b3de64 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PrestonPepperpicker.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PrestonPepperpicker.lua + Script Purpose : Preston Pepperpicker + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "preston_pepperpicker/_exp03/deity/bristlebane/preston/preston001.mp3", "", "", 3088335751, 4271045047, Spawn) + StartConversation(conversation, NPC, Spawn, "Preston Pepperpicker's the name. I'm poised to appeal to your particular penchant for powerful peppers! Go on, please peruse!") +end + +function dlg_75_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "preston_pepperpicker/_exp03/deity/bristlebane/preston/preston001.mp3", "", "", 3088335751, 4271045047, Spawn) + StartConversation(conversation, NPC, Spawn, "Preston Pepperpicker's the name. I'm poised to appeal to your particular penchant for powerful peppers! Go on, please peruse!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/PrincessSaphronia.lua b/Lua/SpawnScripts/GreaterFaydark/PrincessSaphronia.lua new file mode 100755 index 000000000..732b5d61a --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/PrincessSaphronia.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/PrincessSaphronia.lua + Script Purpose : Princess Saphronia + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "princess_saphronia/_exp03/exp03_cty_kelethin/quest/qst_princess_saphronia/princess_saphronia002.mp3", "", "", 3619994345, 1485938345, Spawn) + AddConversationOption(conversation, "Uh... I think I'll be going now.", "dlg_72_1") + StartConversation(conversation, NPC, Spawn, "All of these outsiders coming in and out of doors and hailing everyone they see... like we aren't busy enough trying to clean up their mess! They'll only bring trouble to our city I tell you. I hope you don't favor their presence here. We didn't rebuild Kelethin only to see those people cause its destruction again.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ProfessorEbenezerCogsworthVI.lua b/Lua/SpawnScripts/GreaterFaydark/ProfessorEbenezerCogsworthVI.lua new file mode 100755 index 000000000..5d6880e8f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ProfessorEbenezerCogsworthVI.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ProfessorEbenezerCogsworthVI.lua + Script Purpose : Professor Ebenezer Cogsworth VI + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "You look like you need help. Can I help you find something?", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/QueenAmree.lua b/Lua/SpawnScripts/GreaterFaydark/QueenAmree.lua new file mode 100755 index 000000000..c9d413e09 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/QueenAmree.lua @@ -0,0 +1,139 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/QueenAmree.lua + Script Purpose : Queen Amree + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have!", "dlg_0_1") + AddConversationOption(conversation, "I am on my way there now.") + StartConversation(conversation, NPC, Spawn, "Have you successfully slain the Grender?") + if convo==7 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I seek permission to hunt the Grender!", "dlg_7_1") + AddConversationOption(conversation, "Nothing at the moment, Your Majesty.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Hall. What is it you seek?") + end + + if convo==71 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, Ma'am.", "dlg_71_1") + AddConversationOption(conversation, "No, Ma'am.") + StartConversation(conversation, NPC, Spawn, "Are you prepared for the citizenship ceremony, XXXXXXXX?") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, Ma'am!", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Excellent! I've heard of you from my cousin, Lady Katri. She has been quite pleased with your progress.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I don't know what to say!", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "She's so pleased, in fact, that she considers the completion of this deed sufficient to prove your spirit's awakening. .. GetName(Spawn) .. . you have successfully completed your Rite of Passage! Congratulations!") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you!", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Your dedication to Kelethin has been admirable. Go now and receive your reward from Lady Katri. Good luck to you always, .. GetName(Spawn) .. . May Tunare bless you.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I've heard them, too.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Ah, so you're the one who has proven its existence! You wouldn't believe some of the tales I've been hearing about it.") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, Ma'am.", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Kelethin is grateful for your assistance. This will be an excellent challenge for you. Go, then, and come see me when you have completed this task.") +end + +function dlg_71_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_71_2") + AddConversationOption(conversation, "I must think about it further.") + StartConversation(conversation, NPC, Spawn, "You have renounced your allegiance to the cities which have given you shelter, seeking to serve the city of Kelethin and to promote Growth throughout Norrath?") +end + +function dlg_71_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_71_3") + AddConversationOption(conversation, "I knew I was forgetting something.") + StartConversation(conversation, NPC, Spawn, "You have claimed all your worldly possessions from your old home and bank accounts, enabling you to put roots in your new community without longing for the old?") +end + +function dlg_71_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I do.", "dlg_71_4") + AddConversationOption(conversation, "I need a moment to gather my thoughts!") + StartConversation(conversation, NPC, Spawn, "XXXXXXXX, your works have proven your commitment to Kelethin. Your services will enable us to continue our work towards the promotion and protection of Growth, both in Faydwer and abroad. Do you make known your commitment here, in the presence of myself and others, forsaking allegiance to all other cities in Norrath?") +end + +function dlg_71_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I do.", "dlg_71_5") + StartConversation(conversation, NPC, Spawn, "Then so be it: you shall become a citizen of Kelethin, defender of the Fae of Kelethin and a guardian of the sacred powers of Growth. Do you solemnly affirm that you will fulfill your obligations to these principles without hesitation?") +end + +function dlg_71_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, Ma'am.", "dlg_71_6") + StartConversation(conversation, NPC, Spawn, "Welcome to Kelethin, .. GetName(Spawn) .. . I am very glad you will be one of us. You may seek out our local trainers if you have need of updating any training you received previously. Good luck, Leighlah.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/RaimoHeinila.lua b/Lua/SpawnScripts/GreaterFaydark/RaimoHeinila.lua new file mode 100755 index 000000000..cf259fc54 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/RaimoHeinila.lua @@ -0,0 +1,94 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/RaimoHeinila.lua + Script Purpose : Raimo Heinila + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/ecology/pub_warrior_raimo_hail_2e22fc60.mp3", "Kelethin belongs to the Fae now.", "", 2984282599, 4013295687, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/ecology/pub_warrior_raimo_hail_2e3cf704.mp3", "Times were much simpler when I was younger. So much has changed since then!", "", 2710697396, 295720892, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/ecology/pub_warrior_raimo_hail_cf24d0e6.mp3", "I remember the old days...before the Outsiders arrived.", "", 1611261803, 2099858771, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/quest/qst_raimo_heinila/qst_raimo_heinila001.mp3", "", "", 1429033185, 3057559002, Spawn) + AddConversationOption(conversation, "I've started the Rite of Passage and...", "dlg_87_1") + AddConversationOption(conversation, "Sorry to bother you.") + StartConversation(conversation, NPC, Spawn, "Yes? What do you want?") +end + +function dlg_87_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/quest/qst_raimo_heinila/qst_raimo_heinila002.mp3", "", "", 3640055551, 3826016721, Spawn) + AddConversationOption(conversation, "But Lyyti said to speak with you!", "dlg_87_2") + StartConversation(conversation, NPC, Spawn, "That gives you the right to interrupt me on my walk? It's bad enough that the Outsiders won't leave me in peace, but a young sprout like you should know better.") +end + +function dlg_87_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/quest/qst_raimo_heinila/qst_raimo_heinila003.mp3", "", "", 1326667193, 2814659187, Spawn) + AddConversationOption(conversation, "What kind of mistakes?", "dlg_87_3") + StartConversation(conversation, NPC, Spawn, "And if Lyyti said to jump off one of the bridges, would you? The value in history, sprout, is that when you remember it, you can avoid making the same mistakes. I am still trying to learn that lesson.") +end + +function dlg_87_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/quest/qst_raimo_heinila/qst_raimo_heinila004.mp3", "", "", 2298966137, 2453405549, Spawn) + AddConversationOption(conversation, "We could heal the treants...or cull them.", "dlg_87_4") + StartConversation(conversation, NPC, Spawn, "Mistakes in war and in peace! We should never have allowed the Outsiders to come to Kelethin. Huh! Look at the poor, diseased treants on Green Knoll -- they're dying of an Outsiders' disease. Before long, the disease will waste away treants throughout the Faydarks and who knows what else must suffer for that.") +end + +function dlg_87_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/quest/qst_raimo_heinila/qst_raimo_heinila005.mp3", "", "", 3829827816, 2730687571, Spawn) + AddConversationOption(conversation, "Queen Amree says...", "dlg_87_5") + StartConversation(conversation, NPC, Spawn, "Our healing has proved useless against whatever plague the Outsiders have placed upon those defenseless treants. You're so eager to defend the Outsiders, you are free to clean up after them as well. Princess Saphronia is right. They'll bring nothing but death, as they always have.") +end + +function dlg_87_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/quest/qst_raimo_heinila/qst_raimo_heinila006.mp3", "", "", 875120539, 3120603699, Spawn) + AddConversationOption(conversation, "I'm sorry to have bothered you.", "dlg_87_6") + StartConversation(conversation, NPC, Spawn, "Queen Amree's spirit comes from a different Ring entirely. You want to listen to happy stories, go see Hamnal Teolofin. Now, please, leave an old spirit in peace. Ugh. Mark my words -- we'll be sorry for the day the Outsiders arrived.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/ecology/pub_warrior_raimo_hail_2e22fc60.mp3", "Kelethin belongs to the Fae now.", "", 2984282599, 4013295687, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/ecology/pub_warrior_raimo_hail_cf24d0e6.mp3", "I remember the old days...before the Outsiders arrived.", "", 1611261803, 2099858771, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/raimo_heinila/_exp03/exp03_cty_kelethin/ecology/pub_warrior_raimo_hail_2e3cf704.mp3", "Times were much simpler when I was younger. So much has changed since then!", "", 2710697396, 295720892, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/RalikaMekkila.lua b/Lua/SpawnScripts/GreaterFaydark/RalikaMekkila.lua new file mode 100755 index 000000000..92713ae41 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/RalikaMekkila.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/RalikaMekkila.lua + Script Purpose : Ralika Mekkila + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, please teach me.", "dlg_76_1") + AddConversationOption(conversation, "No, not at the moment.") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade, good. We can always use talented artisans. I can help you get started, would you be interested?") +end + +function dlg_76_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will start on that now.", "dlg_76_2") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting specialty.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/RanduKvan.lua b/Lua/SpawnScripts/GreaterFaydark/RanduKvan.lua new file mode 100755 index 000000000..30170c959 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/RanduKvan.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/RanduKvan.lua + Script Purpose : Randu K'van + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "randu_k_van/_exp03/exp03_rgn_greater_faydark/randu_kvan/randu_001.mp3", "", "", 961418872, 1648740410, Spawn) + AddConversationOption(conversation, "And the sun should set on my shoulders.", "dlg_20_1") + AddConversationOption(conversation, "Excuse me.") + StartConversation(conversation, NPC, Spawn, "Even the bugs here are giant. Why must I endure this suffering, when I should be leading these blue orcs around pillaging the land?") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "randu_k_van/_exp03/exp03_rgn_greater_faydark/randu_kvan/randu_002.mp3", "", "", 2731381489, 2263143427, Spawn) + AddConversationOption(conversation, "Your story is amusing, maybe you should do something about it.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "You know at one time the orcs followed the rule of a Teir'Dal. But it seems in our years of absence they have forgotten who their true masters are.") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "randu_k_van/_exp03/exp03_rgn_greater_faydark/randu_kvan/randu_003.mp3", "", "", 2679582233, 3793547301, Spawn) + AddConversationOption(conversation, "Sure, I will see what I can find.", "dlg_20_3") + AddConversationOption(conversation, "I don't feel like helping you today.") + StartConversation(conversation, NPC, Spawn, "We must remedy this. Find out for me what they are up to. Having information is the key to success, so bring it to me. Any information you may find on them. Are you up to the task?") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "randu_k_van/_exp03/exp03_rgn_greater_faydark/randu_kvan/randu_004.mp3", "", "", 4004780597, 2871106835, Spawn) + AddConversationOption(conversation, "Why thank you.", "dlg_20_4") + StartConversation(conversation, NPC, Spawn, "Tell me of their plans. If you happen to have to interrogate any Crushbone centurions, you have my blessing for using deadly force.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/RelcTulin.lua b/Lua/SpawnScripts/GreaterFaydark/RelcTulin.lua new file mode 100755 index 000000000..36139e9d4 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/RelcTulin.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/RelcTulin.lua + Script Purpose : Relc Tulin + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Saplings", "dlg_1_1") + AddConversationOption(conversation, "I would like the writ: Frenzied Virosinoids") + AddConversationOption(conversation, "I will return to aid you, later.") + StartConversation(conversation, NPC, Spawn, "Rest easy here in the House of Falling Stars, .. GetName(Spawn) .. . However, if you are willing, we could really use your help.") + if convo==9 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Saplings", "dlg_9_1") + AddConversationOption(conversation, "I would like the writ: Frenzied Virosinoids") + AddConversationOption(conversation, "I would like the writ: Crushbone Trainers") + AddConversationOption(conversation, "I will return to aid you, later.") + StartConversation(conversation, NPC, Spawn, "Rest easy here in the House of Falling Stars, .. GetName(Spawn) .. . However, if you are willing, we could really use your help.") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Saplings", "dlg_10_1") + AddConversationOption(conversation, "I would like the writ: Frenzied Virosinoids") + AddConversationOption(conversation, "I would like the writ: Crushbone Trainers") + AddConversationOption(conversation, "I will return to aid you, later.") + StartConversation(conversation, NPC, Spawn, "Rest easy here in the House of Falling Stars, .. GetName(Spawn) .. . However, if you are willing, we could really use your help.") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Saplings", "dlg_11_1") + AddConversationOption(conversation, "I would like the writ: Frenzied Virosinoids") + AddConversationOption(conversation, "I would like the writ: Crushbone Trainers") + AddConversationOption(conversation, "I will return to aid you, later.") + StartConversation(conversation, NPC, Spawn, "Rest easy here in the House of Falling Stars, .. GetName(Spawn) .. . However, if you are willing, we could really use your help.") + end + + if convo==12 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Saplings", "dlg_12_1") + AddConversationOption(conversation, "I would like the writ: Frenzied Virosinoids") + AddConversationOption(conversation, "I would like the writ: Crushbone Trainers") + AddConversationOption(conversation, "I will return to aid you, later.") + StartConversation(conversation, NPC, Spawn, "Rest easy here in the House of Falling Stars, .. GetName(Spawn) .. . However, if you are willing, we could really use your help.") + end + +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll get started right away.", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "The House of Falling Stars would like for you to eliminate angry saplings to further our cause. Doing so will earn you favor with our organization.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/RestauranteurBrizeylMyrika.lua b/Lua/SpawnScripts/GreaterFaydark/RestauranteurBrizeylMyrika.lua new file mode 100755 index 000000000..a70c143aa --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/RestauranteurBrizeylMyrika.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/RestauranteurBrizeylMyrika.lua + Script Purpose : Restauranteur Brizeyl Myrika + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/restauranteur_brizeyl_myrika/_exp03/exp03_cty_kelethin/merchants/baker_brizeyl_hail_36d424e1.mp3", "What can I get for you?", "", 881288795, 1873888107, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/restauranteur_brizeyl_myrika/_exp03/exp03_cty_kelethin/merchants/baker_brizeyl_hail_47373be1.mp3", "Welcome to Joleena's Restaurant!", "", 2536223001, 3270976923, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/RooleeanFelodaan.lua b/Lua/SpawnScripts/GreaterFaydark/RooleeanFelodaan.lua new file mode 100755 index 000000000..3d02d06c1 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/RooleeanFelodaan.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/RooleeanFelodaan.lua + Script Purpose : Rooleean Felodaan + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I'm sorry... do I know you? Please, back away from me, your armor stinks.", "sniff", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/SadeMaki.lua b/Lua/SpawnScripts/GreaterFaydark/SadeMaki.lua new file mode 100755 index 000000000..6ede5d403 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SadeMaki.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SadeMaki.lua + Script Purpose : Sade Maki + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "We've all the basic supplies that you'll ever need. Are you looking for anything specific?", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/SaelirVarryn.lua b/Lua/SpawnScripts/GreaterFaydark/SaelirVarryn.lua new file mode 100755 index 000000000..79a1b7f71 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SaelirVarryn.lua @@ -0,0 +1,456 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SaelirVarryn.lua + Script Purpose : Saelir Varryn + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have collected the materials.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Well? Did you collect all the materials?") + if convo==8 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have the declarations.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Did you manage to get the declarations?") + end + + if convo==14 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have the Sul Spheres.", "dlg_14_1") + StartConversation(conversation, NPC, Spawn, "Hi, XXXXXXXX.") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have the Sul Spheres.", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Hi, XXXXXXXX.") + end + + if convo==104 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why do you say that?", "dlg_104_1") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Greetings. Enjoying your stroll? No, I don't suppose you would be.") + end + + if convo==105 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why do you say that?", "dlg_105_1") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Greetings. Enjoying your stroll? No, I don't suppose you would be.") + end + + if convo==106 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why do you say that?", "dlg_106_1") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Greetings. Enjoying your stroll? No, I don't suppose you would be.") + end + +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What did you say?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Good. Unfortunately I was ejected from the Fae Royal court. They won't let me back in. I was, erm, a little rude once I got inside.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Fine. Where are they?", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "That's not important. Needless to say I feel dumb for having done it and they're not letting me back in there anytime soon. I need you to go get the declarations.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "... don't do what you did?", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "Somewhere in the Fae royal court. And don't...") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right. I'll return.", "dlg_2_5") + StartConversation(conversation, NPC, Spawn, "Right. While you're doing that I'm going to research whose Sul Spheres I'd like to steal.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You still haven't told me what your plan is.", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "Good work. Now we need only collect the Sul Spheres and we can act.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "They won't listen.", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "Well, like I said, I want to laugh at those who buy into this foolishness. What I'd like to do is break the Sul Spheres they hold so dear. I'd like to think that such an act would snap them into their senses, but I doubt that will happen. At the least, I will call out the emotion they will ooze forth at the destruction of an inanimate object.") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what must we do?", "dlg_8_4") + StartConversation(conversation, NPC, Spawn, "It is the duty of an artist to be misunderstood, .. GetName(Spawn) .. . Some will see what I'm saying, and they'll know we're right. That is enough for me.") +end + +function dlg_8_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And run?", "dlg_8_5") + StartConversation(conversation, NPC, Spawn, "Once we have the Sul Spheres we're going to sneak into Sammial's apartment at Aerie Kolmas. We've already acquired the components we'll need to use the machine. I've read up on the inner workings of it and know a way to overload its controls in such a way that we can destroy the Sul Spheres we place inside. Then we'll place the essay I've written, along with the Post-Mortem Declarations of Honor, near the machine for the guards to find.") +end + +function dlg_8_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "They will be pretty mad.", "dlg_8_6") + StartConversation(conversation, NPC, Spawn, "Yes, then we run. We don't want to get caught doing this, but we do want them to know it was us. We'll sign our names at the bottom of the essay. To show them how serious I am, I will be destroying my Great Uncle Saayes' Sul Sphere. My parents bought one despite my objections.") +end + +function dlg_8_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I suppose. What do I need to do?", "dlg_8_7") + StartConversation(conversation, NPC, Spawn, "Well... I'll just get them another Sul Sphere, that seemed to do well enough to stifle their emotions when he died. And if they are mad, and embrace their anger, then I'll have done them a favor.") +end + +function dlg_8_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_8_8") + StartConversation(conversation, NPC, Spawn, "Collect the Sul Spheres. I've taken care to find a number of Sul Spheres that were made for well known people, this way it won't just affect their immediate families. First, I'd like you to steal the Sul Sphere of Hiraen Aravirta. He was a poet of much renown. His Sul Sphere is kept by his son, Eljas. He is a scribe and can be found near the bank.") +end + +function dlg_8_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_8_9") + StartConversation(conversation, NPC, Spawn, "Next, I'd like you to steal the Sul Sphere of The Greenlight. His true name has been lost, but his legend lives on--and his Sul Sphere is held by the Protector's of Growth, near Gearheart's Forge. Legend names him a great philanthropist, he has done a great deal for Kelethin.") +end + +function dlg_8_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_8_10") + StartConversation(conversation, NPC, Spawn, "Then I'd like you to travel to the House of Falling Stars. They hold the Sul Sphere of Maayiri Ellia. She was one of Kelethin's first citizens and helped create policies and rules which are still followed to this day.") +end + +function dlg_8_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_8_11") + StartConversation(conversation, NPC, Spawn, "Finally, I'd like you to collect the Sul Sphere of Jyoril Maarson. His love for Alaya Meriaan was legendary. Countless males from every generation following his have tried in vain to reuse his poetry to woo women of their own, but none could ever match the eloquence of Jyoril the Warrior-Poet. He was slain in combat with orcs before he and Alaya could ever marry. His Sul Sphere is now held by Alaya's daughter, Bettina Meriaan.") +end + +function dlg_8_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_8_12") + StartConversation(conversation, NPC, Spawn, "Once you have collected all the Sul Spheres return to me. I will have written the essay and acquired my great uncle's Sul Sphere. Then we can move.") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is it?", "dlg_14_2") + StartConversation(conversation, NPC, Spawn, "I... yes.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are you chickening out on me?", "dlg_14_3") + StartConversation(conversation, NPC, Spawn, "There was a portrait of my great uncle next to his Sul Sphere. I had forgotten what he looked like.") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why not?", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "No! I... I just. I don't know. I don't think I can go through with this.") +end + +function dlg_14_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I know exactly what you mean. You're giving up!", "dlg_14_5") + AddConversationOption(conversation, "I think I do know what you mean. It's not like--") + StartConversation(conversation, NPC, Spawn, "It's so... I mean yeah, I think it's silly to purchase a globe to remind ourselves of our loved ones, but who am I to tell an entire city that what they're doing is wrong? This was MY great uncle, .. GetName(Spawn) .. . I didn't think doing something like this would affect me, but I don't think I can destroy his Sul Sphere. I can't explain it, but maybe you know what I mean.") +end + +function dlg_14_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "But we didn't go through with it, that's the important part.") + StartConversation(conversation, NPC, Spawn, "It's not like having these stones around is actually hurting anybody. Sure, it may be a little sad, but I don't think it's unhealthy. We almost did a horrible thing.") +end + +function dlg_14_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It's all right. Have a nice day, Saelir.", "dlg_14_7") + StartConversation(conversation, NPC, Spawn, "I agree. Here, I'll take these Sul Stones back to their proper owners. I'm sorry to have gotten you mixed up in this, XXXXXXXX.") +end + +function dlg_14_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Goodbye.", "dlg_14_8") + StartConversation(conversation, NPC, Spawn, "You too, .. GetName(Spawn) .. . Thank you.") +end + +function dlg_104_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yeah, I think I do. It's like they don't trust me to be as good as they are.", "dlg_104_2") + AddConversationOption(conversation, "What do you mean?") + AddConversationOption(conversation, "No, I don't feel it.") + StartConversation(conversation, NPC, Spawn, "How can anyone enjoy it here? This city is stifling. Don't you feel it?") +end + +function dlg_104_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I get that feeling too. It's like they don't trust me to be as good as they are.") + AddConversationOption(conversation, "Their experience is quite valuable. You should be thankful they care enough about you to keep trying despite your attitude.", "dlg_104_3") + StartConversation(conversation, NPC, Spawn, "What do I mean? It's horrid living here. Have you ever met so many people who all have something to say about how you should be living your life? About what good you should be doing? About what evil you should be thwarting? I... well I realize that their intentions are good, but you cannot force choices upon someone. I feel as if I'm... I feel like I am not trusted to make a correct decision on my own.") +end + +function dlg_104_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Good luck finding yourself, Saelir.") + StartConversation(conversation, NPC, Spawn, "Oh... so you ARE one of them. I'm through talking with you.") +end + +function dlg_105_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yeah, I think I do. It's like they don't trust me to be as good as they are.", "dlg_105_2") + AddConversationOption(conversation, "What do you mean?") + AddConversationOption(conversation, "No, I don't feel it.") + StartConversation(conversation, NPC, Spawn, "How can anyone enjoy it here? This city is stifling. Don't you feel it?") +end + +function dlg_105_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_105_3") + AddConversationOption(conversation, "I guess, but they probably just have our best interests in mind. I'm sure they aren't intentionally being disrespectful.") + StartConversation(conversation, NPC, Spawn, "Yes! It is so disrespectful, don't you think?") +end + +function dlg_105_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Good luck finding yourself, Saelir.") + StartConversation(conversation, NPC, Spawn, "Oh... so you ARE one of them. I'm through talking with you.") +end + +function dlg_106_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yeah, I think I do. It's like they don't trust me to be as good as they are.", "dlg_106_2") + AddConversationOption(conversation, "What do you mean?") + AddConversationOption(conversation, "No, I don't feel it.") + StartConversation(conversation, NPC, Spawn, "How can anyone enjoy it here? This city is stifling. Don't you feel it?") +end + +function dlg_106_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I get that feeling too. It's like they don't trust me to be as good as they are.") + AddConversationOption(conversation, "Their experience is quite valuable. You should be thankful they care enough about you to keep trying despite your attitude.", "dlg_106_3") + StartConversation(conversation, NPC, Spawn, "What do I mean? It's horrid living here. Have you ever met so many people who all have something to say about how you should be living your life? About what good you should be doing? About what evil you should be thwarting? I... well I realize that their intentions are good, but you cannot force choices upon someone. I feel as if I'm... I feel like I am not trusted to make a correct decision on my own.") +end + +function dlg_106_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_106_4") + AddConversationOption(conversation, "I guess, but they probably just have our best interests in mind. I'm sure they aren't intentionally being disrespectful.") + StartConversation(conversation, NPC, Spawn, "Yes! It is so disrespectful, don't you think?") +end + +function dlg_106_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How were you going to do that?", "dlg_106_5") + StartConversation(conversation, NPC, Spawn, "Ah. It's so refreshing to finally meet someone who agrees. Everyone else frowns at me and tells me I'm unpatriotic. One even had the nerve to ask me where my parents were! I swear, one day I'm going to show them all!") +end + +function dlg_106_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, maybe I'd like to show them all as well.", "dlg_106_6") + StartConversation(conversation, NPC, Spawn, "Well... I have my plans. I don't see why that would matter to you though.") +end + +function dlg_106_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm in.", "dlg_106_7") + StartConversation(conversation, NPC, Spawn, "Heh... yeah. Yeah... All right, we can do this together, partner. And when all is said and done, we'll leave Kelethin behind and strike out on our own, eh?") +end + +function dlg_106_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_106_8") + StartConversation(conversation, NPC, Spawn, "Great. So here's my plan. They always insult my lack of experience. I haven't seen the world as they have, and as such am naive and make foolish decisions. Well, I'd like to poke fun at the foolishness they adhere to. Despite their 'enlightened' and 'experienced tempered' view on life, they still hold to pointlessly impractical rituals.") +end + +function dlg_106_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No, who is he?", "dlg_106_9") + AddConversationOption(conversation, "Yeah, I know his work.") + AddConversationOption(conversation, "Does it matter?") + StartConversation(conversation, NPC, Spawn, "Have you ever heard of Sammial Geravius?") +end + +function dlg_106_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What's a Sul Sphere?", "dlg_106_10") + StartConversation(conversation, NPC, Spawn, "He's an artist. A gnome. He's lived in Kelethin all his life. He... well, he's got technical talent, I won't argue that, but his work is so disgustingly sentimental. His work is specifically made to remind people of what makes them sad, and because of that he earns praise. All he's doing is exploiting emotions. His latest atrocity is something he calls Sul Spheres.") +end + +function dlg_106_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what do you want to do about it?", "dlg_106_11") + StartConversation(conversation, NPC, Spawn, "A glass sphere that he fills with dyes and magicks. Sure, it's pretty to look at, but he claims to somehow capture the essence of a relative that's passed on and imbue it into the sphere. The only reason people buy them is because they feel bad for having lost a loved one and believe that this will fill the void. They believe that because this is what he tells them. 'Keep their memory close with a Sul Sphere,' I've heard him say. It's exploitive.") +end + +function dlg_106_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are the components?", "dlg_106_12") + StartConversation(conversation, NPC, Spawn, "I want to laugh in the face of everyone who buys into this pretentious junk. If I'm the naive one, then why are they the ones who are spending their valuable gold on a glass ball with color inside? Because they're fools. I am going to sneak into the Fae Royal Court to steal some Post Mortem Declarations of Honor, I think that will help with my message. Deeds are real, globes are... globes. While I do that I'd like you to gather some of the components necessary to work Sammial's machine that creates the Sul Spheres.") +end + +function dlg_106_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right, I'll gather them.", "dlg_106_13") + StartConversation(conversation, NPC, Spawn, "First you'll need a red-blooded and yellow-blooded mushroom from the forest floor near Tunare's Sapling Lift. You'll also need some purple berries, you can purchase those from Restauranteur Brizeyl Myrika over in Joleena's Restaurant. Finally you'll need a handful of seeds from the reedmace down on the Green Gnoll, just north west of the Fae Royal Court.") +end + +function dlg_106_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "All right.", "dlg_106_14") + StartConversation(conversation, NPC, Spawn, "Great. I'll meet you back here once I've stolen the declarations.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Greetings. Enjoy Kelethin, I suppose.", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/SannorVilika.lua b/Lua/SpawnScripts/GreaterFaydark/SannorVilika.lua new file mode 100755 index 000000000..3b07c96ca --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SannorVilika.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SannorVilika.lua + Script Purpose : Sannor Vilika + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll work towards that end then.", "dlg_79_1") + StartConversation(conversation, NPC, Spawn, "I'm sorry, until you have chosen a specialty in your craft I do not have any work orders for you. Come see me when you're more practiced in your trade.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/SassirahFallenleaf.lua b/Lua/SpawnScripts/GreaterFaydark/SassirahFallenleaf.lua new file mode 100755 index 000000000..e555f41f1 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SassirahFallenleaf.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SassirahFallenleaf.lua + Script Purpose : Sassirah Fallenleaf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Come see the latest!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ScoutSpelunkle.lua b/Lua/SpawnScripts/GreaterFaydark/ScoutSpelunkle.lua new file mode 100755 index 000000000..e1266656a --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ScoutSpelunkle.lua @@ -0,0 +1,123 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ScoutSpelunkle.lua + Script Purpose : Scout Spelunkle + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) + SpawnSet(NPC, "visual_state", "221") -- Start crouch_idle +end + +function hailed(NPC, Spawn) + + SpawnSet(NPC, "visual_state", "0") -- Stop crouch_idle + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- when done with Queen, this is his standard response. + -- PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/quest/scout_spelunkle_completed_a127dc51.mp3", "Good work with that shrumbler queen! You sure squashed her good!", "", 1471734703, 3961292565, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle001.mp3", "", "", 1120182218, 3612192920, Spawn) + AddConversationOption(conversation, "Captain Steelforge wanted to know if you were okay. You shouldn't go running off alone.", "dlg_4_1") + AddConversationOption(conversation, "I was just exploring, sorry.") + StartConversation(conversation, NPC, Spawn, "AAAAAHHHHH! Oh wait, yer not a grobin... What are you doin' scaring me like that!?") + + if convo==29 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle001.mp3", "", "", 1120182218, 3612192920, Spawn) + AddConversationOption(conversation, "Captain Steelforge wanted to know if you were okay. You shouldn't go running off alone.", "dlg_29_1") + AddConversationOption(conversation, "I was just exploring, sorry.") + StartConversation(conversation, NPC, Spawn, "AAAAAHHHHH! Oh wait, yer not a grobin... What are you doin' scaring me like that!?") + end + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle002.mp3", "", "", 846928893, 15725150, Spawn) + AddConversationOption(conversation, "Have you discovered anything while you were down here?", "dlg_4_2") + AddConversationOption(conversation, "I see. Well, I'll be leaving, goodbye.") + StartConversation(conversation, NPC, Spawn, "Doh! I knew I forgot something... orders... I need to remember to get me orders first! Everything's okay here, I just really like my job as a Specialist Spelunker. Nothin' like crawlin' around in a dark, musty cave.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle003.mp3", "", "", 4168182811, 2184104853, Spawn) + AddConversationOption(conversation, "They need to be stopped. What do you have planned?", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "I found where the grobins are gettin' their shrumbler eggs. They're keepin' a big shrumbler in a cave near the back... and boy, she's a big one! They scoop up the icky eggs she lays, put 'em in jars and then they carry 'em out of here. ") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle004.mp3", "", "", 4233413026, 410396832, Spawn) + AddConversationOption(conversation, "I'll do it.", "dlg_4_4") + AddConversationOption(conversation, "Forget it, I'm out of here.") + StartConversation(conversation, NPC, Spawn, "Me?! I'm not a sword swingin' or finger wigglin' type. I'm just an explorer! Maybe you can do it! You could get to the shrumbler queen you could take her out! ") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle005.mp3", "", "", 3135812044, 2119680514, Spawn) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, NPC, Spawn, "Good. All you have to do is eliminate the shrumbler queen. That'll stop the grobins from gettin those shrumbler eggs. Once you finish that, go back to the captain and let him know what happened.") +end + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle002.mp3", "", "", 846928893, 15725150, Spawn) + AddConversationOption(conversation, "Have you discovered anything while you were down here?", "dlg_29_2") + AddConversationOption(conversation, "I see. Well, I'll be leaving, goodbye.") + StartConversation(conversation, NPC, Spawn, "Doh! I knew I forgot something... orders... I need to remember to get me orders first! Everything's okay here, I just really like my job as a Specialist Spelunker. Nothin' like crawlin' around in a dark, musty cave.") +end + +function dlg_29_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle003.mp3", "", "", 4168182811, 2184104853, Spawn) + AddConversationOption(conversation, "They need to be stopped. What do you have planned?", "dlg_29_3") + StartConversation(conversation, NPC, Spawn, "I found where the grobins are gettin' their shrumbler eggs. They're keepin' a big shrumbler in a cave near the back... and boy, she's a big one! They scoop up the icky eggs she lays, put 'em in jars and then they carry 'em out of here. ") +end + +function dlg_29_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle004.mp3", "", "", 4233413026, 410396832, Spawn) + AddConversationOption(conversation, "I'll do it.", "dlg_29_4") + AddConversationOption(conversation, "Forget it, I'm out of here.") + StartConversation(conversation, NPC, Spawn, "Me?! I'm not a sword swingin' or finger wigglin' type. I'm just an explorer! Maybe you can do it! You could get to the shrumbler queen you could take her out! ") +end + +function dlg_29_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/scout_spelunkle/_exp03/exp03_rgn_greater_faydark/scout_spelunkle/scout_spelunkle005.mp3", "", "", 3135812044, 2119680514, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_29_5") + StartConversation(conversation, NPC, Spawn, "Good. All you have to do is eliminate the shrumbler queen. That'll stop the grobins from gettin those shrumbler eggs. Once you finish that, go back to the captain and let him know what happened.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ScribeEljasAravirta.lua b/Lua/SpawnScripts/GreaterFaydark/ScribeEljasAravirta.lua new file mode 100755 index 000000000..91020a7ca --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ScribeEljasAravirta.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ScribeEljasAravirta.lua + Script Purpose : Scribe Eljas Aravirta + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Why hello there!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Oh, hello! I'm sorry I didn't see you, how can I help you, friend?", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/SentryTrillis.lua b/Lua/SpawnScripts/GreaterFaydark/SentryTrillis.lua new file mode 100755 index 000000000..354aa6604 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SentryTrillis.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SentryTrillis.lua + Script Purpose : Sentry Trillis + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, 160) +end + +function respawn(NPC) + Spawn(NPC) +end + +function InRange(NPC, Spawn) + +end + +function LeaveRange(NPC, Spawn) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + + if HasCompletedQuest(Spawn, 137) then + if HasQuest(Spawn, 160) then + if GetQuestStep(Spawn, 160) == 1 then + -- quest not yet complete + Say(NPC, "Quest not complete yet", Spawn) + end + else + -- does not have Sentry Trellis' quest + SentryTrellisReport_dlg_2(NPC, Spawn) + end + else + -- completing Matron quest + MessageFromTheMatron(NPC, Spawn) + end +end + +function MessageFromTheMatron(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sentry_trillis/_exp03/exp03_rgn_greater_faydark/sentry_trillis/sentry_trillis000.mp3", "", "", 3549519021, 54059459, Spawn) + AddConversationOption(conversation, "The Matron of the Nursery has a message for you.", "SentryTrellisReport") + AddConversationOption(conversation, "Just admiring the view.") + StartConversation(conversation, NPC, Spawn, "Greetings, young one. What brings you to my post?") +end + +-- PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sentry_trillis/_exp03/exp03_rgn_greater_faydark/quest/sentry_trillis_careful_a49efdc.mp3", "Be careful out there. The Faydark can be a very dangerous place.", "hello", 1238010868, 445756514, Spawn) + +function SentryTrellisReport(NPC, Spawn) + if HasQuest(Spawn, 137) then + SetStepComplete(Spawn, 137, 1) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sentry_trillis/_exp03/exp03_rgn_greater_faydark/sentry_trillis/sentry_trillis001.mp3", "", "", 46388781, 2562325140, Spawn) + AddConversationOption(conversation, "Where did they go?", "SentryTrellisReport_dlg_2") + StartConversation(conversation, NPC, Spawn, "She does? Hmmm... she's worried about the grobins, but she should rest easy. I spotted where the grobins ran off to when you scared them away from the pond. I already alerted my friend, Captain Steelforge.") +end + +function SentryTrellisReport_dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sentry_trillis/_exp03/exp03_rgn_greater_faydark/sentry_trillis/sentry_trillis002.mp3", "", "", 1624769357, 1800752258, Spawn) + AddConversationOption(conversation, "Sure. I can take the report for you.", "OfferQuest1") + AddConversationOption(conversation, "No thanks. I don't want to get involved in any caves.") + StartConversation(conversation, NPC, Spawn, "If you look west of here you might be able to make out the cave the grobins ran into. Captain Steelforge has been dispatched to investigate. If you want to help, you could take my report to him. ") +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, 160) +end + + diff --git a/Lua/SpawnScripts/GreaterFaydark/SirBaydenCauldthorn.lua b/Lua/SpawnScripts/GreaterFaydark/SirBaydenCauldthorn.lua new file mode 100755 index 000000000..15209b862 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SirBaydenCauldthorn.lua @@ -0,0 +1,161 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SirBaydenCauldthorn.lua + Script Purpose : Sir Bayden Cauldthorn + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1034.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who are you?", "dlg_35_1") + AddConversationOption(conversation, "Whose return are you talking about?") + AddConversationOption(conversation, "I wish to gain favor with Mithaniel Marr. What can I do?") + StartConversation(conversation, NPC, Spawn, "Greetings, adventurer. Remember to always hold to your courage and share it with your comrades. It will quicken His return.") +end + +function dlg_35_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You sound pretty enthusiastic.") + StartConversation(conversation, NPC, Spawn, "He is the Defender of the Light, the Lightbringer, the God of Valor, Mithaniel Marr. It is through him that the courageous warriors of good will fight back the evils that threaten us in these shattered times.") +end + +function dlg_35_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You were sent to Qeynos?", "dlg_35_3") + AddConversationOption(conversation, "What is the Order of Marr?") + StartConversation(conversation, NPC, Spawn, "You'll have to excuse me if I do. I've been told I can be overzealous when speaking about my god, and on the battlefield. I believe that is why those few years ago I was sent by the elders of the Order of Marr to serve our Queen.") +end + +function dlg_35_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what about your title?") + AddConversationOption(conversation, "Thank you for speaking with me. Goodbye.", "dlg_35_4") + StartConversation(conversation, NPC, Spawn, "The Order of Marr works to preserve the ideals of the Marr twins, Valor and Love. We await the return of the Truthbringer and strive to hasten his coming by recovering important artifacts and knowledge that are sacred to the faithful of Mithaniel Marr. Through these means are we able to properly worship our lord. ") +end + +function dlg_35_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's impressive.", "dlg_35_5") + AddConversationOption(conversation, "Good luck with that. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It was very recently that the elders of my order approached me with this calling. They explained to me that they all independently came to the conclusion that Lord Marr has chosen me as his voice at this time, I guess his prophet so to speak. ") +end + +function dlg_35_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It sounds like you were chosen for a reason.", "dlg_35_6") + AddConversationOption(conversation, "I think you are right.") + StartConversation(conversation, NPC, Spawn, "I guess, but I'm not all too comfortable with it. I think I had the same impressions that the elders did, but I dismissed the thoughts. I still believe my place is out in the field, fighting back the evil that threatens all the shattered lands. Wouldn't a priest be more appropriate for this kind of thing?") +end + +function dlg_35_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can you tell me more of the Truthbringer?", "dlg_35_7") + AddConversationOption(conversation, "Goodbye.") + StartConversation(conversation, NPC, Spawn, "You could be right. I wouldn't begin to claim I understand the grand scheme of the Truthbringer. I guess we shall have to let time tell us if the choice was right.") +end + +function dlg_35_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You sound pretty enthusiastic.", "dlg_35_8") + StartConversation(conversation, NPC, Spawn, "He is the Defender of the Light, the Lightbringer, the God of Valor, Mithaniel Marr. It is through him that the courageous warriors of good will fight back the evils that threaten us in these shattered times.") +end + +function dlg_35_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You were sent to Qeynos?", "dlg_35_9") + AddConversationOption(conversation, "What is the Order of Marr?") + StartConversation(conversation, NPC, Spawn, "You'll have to excuse me if I do. I've been told I can be overzealous when speaking about my god, and on the battlefield. I believe that is why those few years ago I was sent by the elders of the Order of Marr to serve our Queen.") +end + +function dlg_35_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sir_bayden_cauldthorn/liveevents/exp03/marr_bayden010.mp3", "", "", 1989160172, 3091398690, Spawn) + AddConversationOption(conversation, "So you are oathbound to Qeynos?", "dlg_35_10") + AddConversationOption(conversation, "I see. Well, I have to go. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yes. Queen Antonia requested the help of the Order of Marr to assist in the efforts to establish Qeynos as a safe haven for all people. The elders determined I was better suited to defending Qeynos than the more subtle work that was being carried on in the Overlord's backyard. I think they were afraid I was going to take on the entire Freeport Militia myself one day. Hahaha. ") +end + +function dlg_35_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_35_11") + AddConversationOption(conversation, "I have to go now, Goodbye.") + StartConversation(conversation, NPC, Spawn, "I swore before Queen Antonia and her most trusted confidant, Murrar Shar, that I would serve her and protect her people with all of the Valor in Lord Marr's Halls of Honor. However, a matter of greater importance is upon us this day.") +end + +function dlg_35_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's impressive.", "dlg_35_12") + AddConversationOption(conversation, "Good luck with that. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It was very recently that the elders of my order approached me with this calling. They explained to me that they all independently came to the conclusion that Lord Marr has chosen me as his voice at this time, I guess his prophet so to speak. ") +end + +function dlg_35_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "It sounds like you were chosen for a reason.", "dlg_35_13") + AddConversationOption(conversation, "I think you are right.") + StartConversation(conversation, NPC, Spawn, "I guess, but I'm not all too comfortable with it. I think I had the same impressions that the elders did, but I dismissed the thoughts. I still believe my place is out in the field, fighting back the evil that threatens all the shattered lands. Wouldn't a priest be more appropriate for this kind of thing?") +end + +function dlg_35_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can you tell me more of the Truthbringer?", "dlg_35_14") + AddConversationOption(conversation, "Goodbye.") + StartConversation(conversation, NPC, Spawn, "You could be right. I wouldn't begin to claim I understand the grand scheme of the Truthbringer. I guess we shall have to let time tell us if the choice was right.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/SuaAugren.lua b/Lua/SpawnScripts/GreaterFaydark/SuaAugren.lua new file mode 100755 index 000000000..66a9c4735 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SuaAugren.lua @@ -0,0 +1,141 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SuaAugren.lua + Script Purpose : Sua Augren + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren001.mp3", "", "", 3127279058, 3080550258, Spawn) + AddConversationOption(conversation, "I understand, goodbye.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "I'd love to chat but I've so much work to do.") + if convo==9 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren001.mp3", "", "", 3127279058, 3080550258, Spawn) + AddConversationOption(conversation, "Ami wants you to fix her coat. She broke the buttons... but wants you to know she didn't mean it.", "dlg_9_1") + AddConversationOption(conversation, "I understand, goodbye.") + StartConversation(conversation, NPC, Spawn, "I'd love to chat but I've so much work to do.") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren001.mp3", "", "", 3127279058, 3080550258, Spawn) + AddConversationOption(conversation, "Ami wants you to fix her coat. She broke the buttons... but wants you to know she didn't mean it.", "dlg_11_1") + AddConversationOption(conversation, "I understand, goodbye.") + StartConversation(conversation, NPC, Spawn, "I'd love to chat but I've so much work to do.") + end + +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren002.mp3", "", "", 1571651111, 2153698072, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_9_2") + StartConversation(conversation, NPC, Spawn, "Oh, Ami... what am I going to do with you? Everything is such a crisis with her right now. This journey has been rough on her.") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren003.mp3", "", "", 611419261, 1072752840, Spawn) + AddConversationOption(conversation, "Oh no.", "dlg_9_3") + StartConversation(conversation, NPC, Spawn, "My husband, daughter, and I used to live on the island of Mara. My husband wanted to leave the isle once all the outsiders began visiting our village, and he realized the world was a much bigger place. He paid for passage on a ship for all three of us, but the sailors on the ship were evil.") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren004.mp3", "", "", 1417138229, 4170289581, Spawn) + AddConversationOption(conversation, "That's good. So why is Ami upset?", "dlg_9_4") + StartConversation(conversation, NPC, Spawn, "They took our money and dumped us on a nearby shore a few weeks ago. The captain even took my jewelry... that seawitch! But good fortune was on our side. The lovely fairy people here took us in. Now, my husband and I work to pull our own weight; I sew clothes for the new fae and he guards the city of Kelethin.") +end + +function dlg_9_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren005.mp3", "", "", 3498594905, 1976708, Spawn) + AddConversationOption(conversation, "I'll get the doll back for her.", "dlg_9_5") + AddConversationOption(conversation, "That's too bad. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The ride across the ocean scared her, but worst of all she lost her favorite doll. When our things were unceremoniously thrown ashore, a large bee lady named Yellowjacket swooped in and snatched up Ami's doll.") +end + +function dlg_9_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren006.mp3", "", "", 2584537319, 806721000, Spawn) + AddConversationOption(conversation, "No problem. I'll get the doll for Ami.", "dlg_9_6") + StartConversation(conversation, NPC, Spawn, "I couldn't ask you to do that. It would be wonderful if Ami got her doll back, but it's too dangerous. ") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren002.mp3", "", "", 1571651111, 2153698072, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "Oh, Ami... what am I going to do with you? Everything is such a crisis with her right now. This journey has been rough on her.") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren003.mp3", "", "", 611419261, 1072752840, Spawn) + AddConversationOption(conversation, "Oh no.", "dlg_11_3") + StartConversation(conversation, NPC, Spawn, "My husband, daughter, and I used to live on the island of Mara. My husband wanted to leave the isle once all the outsiders began visiting our village, and he realized the world was a much bigger place. He paid for passage on a ship for all three of us, but the sailors on the ship were evil.") +end + +function dlg_11_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren004.mp3", "", "", 1417138229, 4170289581, Spawn) + AddConversationOption(conversation, "That's good. So why is Ami upset?", "dlg_11_4") + StartConversation(conversation, NPC, Spawn, "They took our money and dumped us on a nearby shore a few weeks ago. The captain even took my jewelry... that seawitch! But good fortune was on our side. The lovely fairy people here took us in. Now, my husband and I work to pull our own weight; I sew clothes for the new fae and he guards the city of Kelethin.") +end + +function dlg_11_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren005.mp3", "", "", 3498594905, 1976708, Spawn) + AddConversationOption(conversation, "I'll get the doll back for her.", "dlg_11_5") + AddConversationOption(conversation, "That's too bad. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The ride across the ocean scared her, but worst of all she lost her favorite doll. When our things were unceremoniously thrown ashore, a large bee lady named Yellowjacket swooped in and snatched up Ami's doll.") +end + +function dlg_11_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/sua_augren/sua_augren006.mp3", "", "", 2584537319, 806721000, Spawn) + AddConversationOption(conversation, "No problem. I'll get the doll for Ami.", "dlg_11_6") + StartConversation(conversation, NPC, Spawn, "I couldn't ask you to do that. It would be wonderful if Ami got her doll back, but it's too dangerous. ") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/sua_augren/_exp03/exp03_rgn_greater_faydark/quest/sua_augren_parent_completed_2c6d84eb.mp3", "Thank you for helping my daughter. You don't know how happy she is to have her doll back.", "thanks", 4098571631, 889694424, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/SunnevaNepenthes.lua b/Lua/SpawnScripts/GreaterFaydark/SunnevaNepenthes.lua new file mode 100755 index 000000000..e558b2b69 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/SunnevaNepenthes.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/SunnevaNepenthes.lua + Script Purpose : Sunneva Nepenthes + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Whoa! Watch your fingers! Goliath hasn't eaten all day.", "point", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TheGrenderGuardian.lua b/Lua/SpawnScripts/GreaterFaydark/TheGrenderGuardian.lua new file mode 100755 index 000000000..74f69ea32 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TheGrenderGuardian.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TheGrenderGuardian.lua + Script Purpose : The Grender Guardian + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Qrb Mstosbf mpxq tp qwgx Kf Ckihq", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ThekelaGillywump.lua b/Lua/SpawnScripts/GreaterFaydark/ThekelaGillywump.lua new file mode 100755 index 000000000..3dc5526dc --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ThekelaGillywump.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ThekelaGillywump.lua + Script Purpose : Thekela Gillywump + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/thekela_gillywump/_exp03/exp03_rgn_greater_faydark/scp/thekela/thekela000.mp3", "", "", 1458913689, 1852168109, Spawn) + AddConversationOption(conversation, "XXXXXXXX.", "dlg_33_1") + StartConversation(conversation, NPC, Spawn, "Greetings! I'm Thekela! What's your name?") +end + +function dlg_33_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/thekela_gillywump/_exp03/exp03_rgn_greater_faydark/scp/thekela/thekela001.mp3", "", "", 2313264132, 2462849563, Spawn) + AddConversationOption(conversation, "What do you need?", "dlg_33_2") + StartConversation(conversation, NPC, Spawn, "It's a pleasure to meet you, .. GetName(Spawn) .. . Say, if you're going to be helping Jenthis out, how'd you like to gather some ingredients for my cooking?") +end + +function dlg_33_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/thekela_gillywump/_exp03/exp03_rgn_greater_faydark/scp/thekela/thekela002.mp3", "", "", 3411928341, 3381720539, Spawn) + AddConversationOption(conversation, "Sure, I'll fetch some honey.", "dlg_33_3") + StartConversation(conversation, NPC, Spawn, "Lots of stuff. Normally, Brodo does the restocking for me, but he's been preoccupied lately and he really hasn't been much help. If you're willing, I could really use some honey. East of Memorial Hill--which overlooks Sapling Spur Outpost just to the east--the Growzzat bixies keep lots of honey. Would you be dear and fetch me some?") +end + +function dlg_33_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/thekela_gillywump/_exp03/exp03_rgn_greater_faydark/scp/thekela/thekela003.mp3", "", "", 4020219974, 1441799321, Spawn) + AddConversationOption(conversation, "I'll be back.", "dlg_33_4") + StartConversation(conversation, NPC, Spawn, "Great! They store their honey on the trees in small hives. They shouldn't be too hard to find!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TraegerVerdegreen.lua b/Lua/SpawnScripts/GreaterFaydark/TraegerVerdegreen.lua new file mode 100755 index 000000000..7ba2cab79 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TraegerVerdegreen.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TraegerVerdegreen.lua + Script Purpose : Traeger Verdegreen + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/traeger_verdegreen/_exp03/exp03_cty_kelethin/quest/quest_wood_elf_01_hail_96c288a3.mp3", "The Fae have really made Kelethin what it is today.", "", 3187813743, 3153290793, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/traeger_verdegreen/_exp03/exp03_cty_kelethin/quest/quest_wood_elf_01_hail_3fb4a76d.mp3", "There are so many Fae now.", "", 1959195557, 1316598135, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerArillaLarivaara.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerArillaLarivaara.lua new file mode 100755 index 000000000..eb44b0e7f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerArillaLarivaara.lua @@ -0,0 +1,577 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerArillaLarivaara.lua + Script Purpose : Trainer Arilla Larivaara + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara007.mp3", "", "", 3148880847, 947148371, Spawn) + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". I'm here to teach folks the finer points of combat. I don't like to get into a fight, but if I do, I prefer to win. Know what I mean?") + if convo==5 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara007.mp3", "", "", 3148880847, 947148371, Spawn) + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_5_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". I'm here to teach folks the finer points of combat. I don't like to get into a fight, but if I do, I prefer to win. Know what I mean?") + end + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara008.mp3", "", "", 2898686401, 1752530734, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_4_2") + AddConversationOption(conversation, "Tell me about melee combat.") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara009.mp3", "", "", 1613933242, 1197148922, Spawn) + AddConversationOption(conversation, "How do I begin the battle?", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara010.mp3", "", "", 1755891240, 3796028834, Spawn) + AddConversationOption(conversation, "So I can fight anyone or anything I want?", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara011.mp3", "", "", 3723859553, 908527971, Spawn) + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_4_5") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help you or give quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara012.mp3", "", "", 3752439035, 2733336647, Spawn) + AddConversationOption(conversation, "What classes specialize in melee combat?", "dlg_4_6") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function dlg_4_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara013.mp3", "", "", 1434116742, 4225387141, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_4_7") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Monks, and Paladins stand at the front lines of battle facing the enemy. Crafty scouts such as Swashbucklers, Rangers, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function dlg_4_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara014.mp3", "", "", 3046408427, 2592738256, Spawn) + AddConversationOption(conversation, "How do I launch a ranged attack?") + StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.") +end + +function dlg_4_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara015.mp3", "", "", 3151700367, 2431538473, Spawn) + AddConversationOption(conversation, "What classes specialize in ranged combat?", "dlg_4_9") + StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.") +end + +function dlg_4_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara016.mp3", "", "", 1497976155, 2895560497, Spawn) + AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "dlg_4_10") + StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Swashbucklers, Troubadors, Dirges, and particularly Rangers specialize in ranged physical attacks. Mages, priests, and Paladins have spells that do damage to their foes from a distance.") +end + +function dlg_4_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara017.mp3", "", "", 893336149, 277723094, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_4_11") + AddConversationOption(conversation, "Tell me about melee combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.") +end + +function dlg_4_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara012.mp3", "", "", 3752439035, 2733336647, Spawn) + AddConversationOption(conversation, "What classes specialize in melee combat?") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function dlg_4_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara013.mp3", "", "", 1434116742, 4225387141, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_4_13") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Monks, and Paladins stand at the front lines of battle facing the enemy. Crafty scouts such as Swashbucklers, Rangers, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function dlg_4_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara018.mp3", "", "", 2556228609, 3589317469, Spawn) + AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?") + StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.") +end + +function dlg_4_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara019.mp3", "", "", 4159604095, 2208350646, Spawn) + AddConversationOption(conversation, "Are certain types of targets more rewarding than others?", "dlg_4_15") + StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it. Talk to Trainer Tahvolo Viljaan for more information on evaluating your opponents.") +end + +function dlg_4_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara020.mp3", "", "", 3722520538, 550116332, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_4_16") + AddConversationOption(conversation, "Tell me about melee combat.") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.") +end + +function dlg_4_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara021.mp3", "", "", 801103527, 2875309924, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.") + AddConversationOption(conversation, "Teach me about knowing my surroundings.") + AddConversationOption(conversation, "Tell me about using my abilities.") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_4_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many advanced combat techniques that you will learn over time. There's no substitute for experience, .. GetName(Spawn) .. . I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.") +end + +function dlg_4_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara022.mp3", "", "", 187572586, 450509917, Spawn) + AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "dlg_4_18") + StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.") +end + +function dlg_4_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara023.mp3", "", "", 4040652289, 1699138117, Spawn) + AddConversationOption(conversation, "What resources should I be keeping an eye on?", "dlg_4_19") + StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names. Talk to Trainer Tahvolo Viljaan for more information on evaluating your opponents.") +end + +function dlg_4_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara024.mp3", "", "", 3598297774, 910017607, Spawn) + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_4_20") + AddConversationOption(conversation, "Tell me about using my abilities.") + AddConversationOption(conversation, "Teach me the basics of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.") +end + +function dlg_4_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara025.mp3", "", "", 302868023, 1058230652, Spawn) + AddConversationOption(conversation, "Anything else I should watch out for?", "dlg_4_21") + StartConversation(conversation, NPC, Spawn, "Keeping your surroundings in mind is crucial to victory. Fighting in areas with lots of aggressive creatures is a bad idea, because they won't hesitate to gang up on you.") +end + +function dlg_4_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara026.mp3", "", "", 2395836258, 4167880022, Spawn) + AddConversationOption(conversation, "Any other tips?", "dlg_4_22") + StartConversation(conversation, NPC, Spawn, "Staying too long on the exact spot where you just defeated a foe can be dangerous. Another enemy is likely to show up there soon after, which can be an unpleasant surprise if you're already in another battle.") +end + +function dlg_4_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara027.mp3", "", "", 3335927389, 418360840, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_4_23") + AddConversationOption(conversation, "Tell me about using my abilities.") + AddConversationOption(conversation, "Teach me the basics of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You should be aware of what's going on around you. Using your mouse wheel to scroll out into third person and holding down the left mouse button allows you to move the camera around your character. It's a good idea to do this when fighting in dangerous areas to make sure nothing sneaks up on you.") +end + +function dlg_4_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara028.mp3", "", "", 3915273076, 3111917162, Spawn) + AddConversationOption(conversation, "What do you mean?") + StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you are well-prepared and are active during combat. You should use every spell or combat art that has a positive effect on your chances to win.") +end + +function dlg_4_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara029.mp3", "", "", 2179864552, 3125288554, Spawn) + AddConversationOption(conversation, "What about during battle?", "dlg_4_25") + StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs,' so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.") +end + +function dlg_4_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara030.mp3", "", "", 2306274826, 3024519845, Spawn) + AddConversationOption(conversation, "What else should I know about spells and arts?", "dlg_4_26") + StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select 'Examine' to see details on their effects.") +end + +function dlg_4_26(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara031.mp3", "", "", 2411688474, 2950057017, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_4_27") + AddConversationOption(conversation, "Teach me about knowing my surroundings.") + AddConversationOption(conversation, "Teach me the basics of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Valtteri Yliveri.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara008.mp3", "", "", 2898686401, 1752530734, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_5_2") + AddConversationOption(conversation, "Tell me about melee combat.") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara009.mp3", "", "", 1613933242, 1197148922, Spawn) + AddConversationOption(conversation, "How do I begin the battle?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara010.mp3", "", "", 1755891240, 3796028834, Spawn) + AddConversationOption(conversation, "So I can fight anyone or anything I want?", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara011.mp3", "", "", 3723859553, 908527971, Spawn) + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_5_5") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help you or give quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara012.mp3", "", "", 3752439035, 2733336647, Spawn) + AddConversationOption(conversation, "What classes specialize in melee combat?", "dlg_5_6") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function dlg_5_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara013.mp3", "", "", 1434116742, 4225387141, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_5_7") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Monks, and Paladins stand at the front lines of battle facing the enemy. Crafty scouts such as Swashbucklers, Rangers, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function dlg_5_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara014.mp3", "", "", 3046408427, 2592738256, Spawn) + AddConversationOption(conversation, "How do I launch a ranged attack?") + StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.") +end + +function dlg_5_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara015.mp3", "", "", 3151700367, 2431538473, Spawn) + AddConversationOption(conversation, "What classes specialize in ranged combat?", "dlg_5_9") + StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.") +end + +function dlg_5_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara016.mp3", "", "", 1497976155, 2895560497, Spawn) + AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "dlg_5_10") + StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Swashbucklers, Troubadors, Dirges, and particularly Rangers specialize in ranged physical attacks. Mages, priests, and Paladins have spells that do damage to their foes from a distance.") +end + +function dlg_5_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara017.mp3", "", "", 893336149, 277723094, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_5_11") + AddConversationOption(conversation, "Tell me about melee combat.") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.") +end + +function dlg_5_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara018.mp3", "", "", 2556228609, 3589317469, Spawn) + AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?") + StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.") +end + +function dlg_5_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara019.mp3", "", "", 4159604095, 2208350646, Spawn) + AddConversationOption(conversation, "Are certain types of targets more rewarding than others?", "dlg_5_13") + StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it. Talk to Trainer Tahvolo Viljaan for more information on evaluating your opponents.") +end + +function dlg_5_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara020.mp3", "", "", 3722520538, 550116332, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_5_14") + AddConversationOption(conversation, "Tell me about melee combat.") + AddConversationOption(conversation, "Tell me about ranged combat.") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.") +end + +function dlg_5_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara021.mp3", "", "", 801103527, 2875309924, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.") + AddConversationOption(conversation, "Teach me about knowing my surroundings.") + AddConversationOption(conversation, "Tell me about using my abilities.") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_5_15") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many advanced combat techniques that you will learn over time. There's no substitute for experience, .. GetName(Spawn) .. . I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.") +end + +function dlg_5_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara022.mp3", "", "", 187572586, 450509917, Spawn) + AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "dlg_5_16") + StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.") +end + +function dlg_5_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara023.mp3", "", "", 4040652289, 1699138117, Spawn) + AddConversationOption(conversation, "What resources should I be keeping an eye on?", "dlg_5_17") + StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names. Talk to Trainer Tahvolo Viljaan for more information on evaluating your opponents.") +end + +function dlg_5_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara024.mp3", "", "", 3598297774, 910017607, Spawn) + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_5_18") + AddConversationOption(conversation, "Tell me about using my abilities.") + AddConversationOption(conversation, "Teach me the basics of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.") +end + +function dlg_5_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara025.mp3", "", "", 302868023, 1058230652, Spawn) + AddConversationOption(conversation, "Anything else I should watch out for?", "dlg_5_19") + StartConversation(conversation, NPC, Spawn, "Keeping your surroundings in mind is crucial to victory. Fighting in areas with lots of aggressive creatures is a bad idea, because they won't hesitate to gang up on you.") +end + +function dlg_5_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara026.mp3", "", "", 2395836258, 4167880022, Spawn) + AddConversationOption(conversation, "Any other tips?", "dlg_5_20") + StartConversation(conversation, NPC, Spawn, "Staying too long on the exact spot where you just defeated a foe can be dangerous. Another enemy is likely to show up there soon after, which can be an unpleasant surprise if you're already in another battle.") +end + +function dlg_5_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara027.mp3", "", "", 3335927389, 418360840, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_5_21") + AddConversationOption(conversation, "Tell me about using my abilities.") + AddConversationOption(conversation, "Teach me the basics of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You should be aware of what's going on around you. Using your mouse wheel to scroll out into third person and holding down the left mouse button allows you to move the camera around your character. It's a good idea to do this when fighting in dangerous areas to make sure nothing sneaks up on you.") +end + +function dlg_5_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara028.mp3", "", "", 3915273076, 3111917162, Spawn) + AddConversationOption(conversation, "What do you mean?") + StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you are well-prepared and are active during combat. You should use every spell or combat art that has a positive effect on your chances to win.") +end + +function dlg_5_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara029.mp3", "", "", 2179864552, 3125288554, Spawn) + AddConversationOption(conversation, "What about during battle?", "dlg_5_23") + StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs,' so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.") +end + +function dlg_5_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara030.mp3", "", "", 2306274826, 3024519845, Spawn) + AddConversationOption(conversation, "What else should I know about spells and arts?", "dlg_5_24") + StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select 'Examine' to see details on their effects.") +end + +function dlg_5_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara031.mp3", "", "", 2411688474, 2950057017, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_5_25") + AddConversationOption(conversation, "Teach me about knowing my surroundings.") + AddConversationOption(conversation, "Teach me the basics of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Valtteri Yliveri.") +end + +function dlg_5_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_arilla_larivaara/_exp03/exp03_cty_kelethin/tutorials/qst_larivaara/qst_laarivaara008.mp3", "", "", 2898686401, 1752530734, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.") + AddConversationOption(conversation, "Tell me about melee combat.") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_5_26") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerEivarraLaceleaf.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerEivarraLaceleaf.lua new file mode 100755 index 000000000..a21177a8e --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerEivarraLaceleaf.lua @@ -0,0 +1,231 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerEivarraLaceleaf.lua + Script Purpose : Trainer Eivarra Laceleaf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/trainers/intro_collection_harvesting_collect_5c4e2fe9.mp3", "None of the rest of you touch these collectibles! They're mine!", "", 2808230529, 2769568795, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/trainers/intro_collection_harvesting_collect_df57b24b.mp3", "I'm hurrying! Don't rush me.", "", 3622690165, 1121532609, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra001.mp3", "", "", 1784643111, 2793677851, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "dlg_73_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Don't be shy! Come closer, m'dear, and I'd be happy to answer any questions you have about collections or harvesting!") + if convo==74 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra001.mp3", "", "", 1784643111, 2793677851, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "dlg_74_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Don't be shy! Come closer, m'dear, and I'd be happy to answer any questions you have about collections or harvesting!") + end + + if convo==88 then + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra001.mp3", "", "", 1784643111, 2793677851, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "dlg_88_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Don't be shy! Come closer, m'dear, and I'd be happy to answer any questions you have about collections or harvesting!") + end + +end + +function dlg_73_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra002.mp3", "", "", 1395864315, 2817792447, Spawn) + AddConversationOption(conversation, "What happens next?", "dlg_73_2") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select 'harvest.' The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function dlg_73_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra003.mp3", "", "", 3674289603, 3031375930, Spawn) + AddConversationOption(conversation, "How do I complete the collection?", "dlg_73_3") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function dlg_73_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra004.mp3", "", "", 863765125, 2737196345, Spawn) + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "dlg_73_4") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +function dlg_73_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are harvestables used for?", "dlg_73_5") + StartConversation(conversation, NPC, Spawn, "Harvestables come in five forms, each tied to its own respective skill. These skills can be seen by opening your Skills window by pressing the P key, clicking on the Skills tab and selecting your General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and plants increase gathering.") +end + +function dlg_73_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra006.mp3", "", "", 237784044, 654858074, Spawn) + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "dlg_73_6") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function dlg_73_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra007.mp3", "", "", 3552014978, 1436740562, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections now.", "dlg_73_7") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end + +function dlg_74_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are harvestables used for?") + StartConversation(conversation, NPC, Spawn, "Harvestables come in five forms, each tied to its own respective skill. These skills can be seen by opening your Skills window by pressing the P key, clicking on the Skills tab and selecting your General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and plants increase gathering.") +end + +function dlg_74_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra006.mp3", "", "", 237784044, 654858074, Spawn) + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "dlg_74_3") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function dlg_74_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra007.mp3", "", "", 3552014978, 1436740562, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections now.", "dlg_74_4") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end + +function dlg_74_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra002.mp3", "", "", 1395864315, 2817792447, Spawn) + AddConversationOption(conversation, "What happens next?", "dlg_74_5") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select 'harvest.' The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function dlg_74_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra003.mp3", "", "", 3674289603, 3031375930, Spawn) + AddConversationOption(conversation, "How do I complete the collection?", "dlg_74_6") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function dlg_74_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra004.mp3", "", "", 863765125, 2737196345, Spawn) + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "dlg_74_7") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +function dlg_88_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are harvestables used for?") + StartConversation(conversation, NPC, Spawn, "Harvestables come in five forms, each tied to its own respective skill. These skills can be seen by opening your Skills window by pressing the P key, clicking on the Skills tab and selecting your General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and plants increase gathering.") +end + +function dlg_88_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra006.mp3", "", "", 237784044, 654858074, Spawn) + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "dlg_88_3") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function dlg_88_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra007.mp3", "", "", 3552014978, 1436740562, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections now.", "dlg_88_4") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end + +function dlg_88_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra002.mp3", "", "", 1395864315, 2817792447, Spawn) + AddConversationOption(conversation, "What happens next?", "dlg_88_5") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select 'harvest.' The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function dlg_88_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra003.mp3", "", "", 3674289603, 3031375930, Spawn) + AddConversationOption(conversation, "How do I complete the collection?", "dlg_88_6") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function dlg_88_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/tutorials/qst_eivarra/qst_eivarra004.mp3", "", "", 863765125, 2737196345, Spawn) + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "dlg_88_7") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/trainers/intro_collection_harvesting_collect_df57b24b.mp3", "I'm hurrying! Don't rush me.", "", 3622690165, 1121532609, Spawn) + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_eivarra_laceleaf/_exp03/exp03_cty_kelethin/trainers/intro_collection_harvesting_collect_5c4e2fe9.mp3", "None of the rest of you touch these collectibles! They're mine!", "", 2808230529, 2769568795, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua new file mode 100755 index 000000000..61ae1bc0b --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark + Script Purpose : Trainer Kaali Saarinen + Script Author : Unsafemodder (a.k.a Pokchop1) + Script Date : 2013.010.6 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + start(NPC, Spawn) +end + +function start(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about banking", "dlg_1_1") + AddConversationOption(conversation, "Tell me about mending items.", "dlg_1_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can tell you all about mending and banking! Banking and mending! Which do you want to hear about?") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I open my bank?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "You may already have an account with the Kelethin First Regional Bank. Go see Banker Athinae in Kelethin to access your account. You can access your Kelethin bank account from Qeynos, but not from Freeport.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_1_3") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see eight general slots and four " .. '"shared" slots. You can put bags or containers in your bank to increase the number of available slots.') +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, 'What are "shared" bank slots?', "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the shift key and drag, then enter the quantity.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coins) placed in your shared slots can be accessed by other characters on your account that are also citizens of Kelethin. Lore and No-Trade items cannot be put into the shared slots. Characters that are not Kelethin Citizens cannot access a Kelethin bank. So, you could not access a bank in Qeynos or Freeport.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I want to learn about mending items", "dlg_1_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, 'If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting "Guild Bank".') +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about banking", "dlg_1_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Kaarlo Karpela at Gearheart's Forge in Kelethin, to get them repaired. Speak to Trainer Leianna Teiampa if you wish to learn more about the effects of death.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua new file mode 100755 index 000000000..00e37861f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua @@ -0,0 +1,108 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua + Script Purpose : Trainer Leianna Teiampa + Script Author : Unsafemodder (a.k.a Pokchop1) + Script Date : 2013.010.7 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + start(NPC, Spawn) +end + +function start(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can cause my death", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Even the bravest defender of Queen Amree will meet an untimely end on occasion. Let me teach you the consequences of death and how you can recover properly.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How will I know when I'm going to die?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why green?", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "Just keep an eye on your health bar, the green line located beneath your name in the upper left of your screen. At least...you hope it's green.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happens then?", "dlg_1_4") + AddConversationOption(conversation, "I need to finish this conversation later.") + StartConversation(conversation, NPC, Spawn, "Green means you're healthy. As your health diminishes, the bar turns yellow, then orange, and finally red. If the bar is empty, you die. You pay the debt, which cancels all others, if you get my meaning.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So death is not the end?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "Your spirit lays trapped in your fallen body, unable to move. At this point, you have a choice: wait for a nearby ally to revive you, or choose a location from the window in the center of your screen at which to reappear. In some cases you'll have a single choice, in others multiple choices.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the consequences?", "dlg_1_6") + StartConversation(conversation, NPC, Spawn, "Fortunately for all of us, death in Norrath is a temporary thing. If another adventurer revives you, you reappear at the spot of your death. If you choose a location to revive, you will appear at that spot. There are consequences to death, however.") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is experience debt?", "dlg_1_7") + AddConversationOption(conversation, "I think I've learned enough for now.") + StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more XP (experience points). Second, you suffer a revive sickness that lowers your abilities for a shot time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") +end + +function dlg_1_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is revive sickness like?", "dlg_1_8") + StartConversation(conversation, NPC, Spawn, "Experience debt is indicated by a red line on your XP bar. As you earn experience going forward, part of your XP will go toward paying off your debt while the rest will continue to advance you toward your next level. Mousing over your XP bar also tells how much debt you have.") +end + +function dlg_1_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the results of item damage?", "dlg_1_9") + StartConversation(conversation, NPC, Spawn, "You'll see an icon for revive sickness in your spell effects window. Mousing over the icon will tell you how long it will remain. The type of sickness you have depends on how you were revived, but no matter what there will be a negative effect. Don't worry, it passes soon enough.") +end + +function dlg_1_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do about item damage?", "dlg_1_10") + StartConversation(conversation, NPC, Spawn, "Your equipped items usually take about 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, " .. GetName(Spawn)) +end + +function dlg_1_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for your advice.") + StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability. Speaker to Trainer Kaali to learn more about repairing your gear. Should your equipment take damage, Mender Kaarlo at Gearheart's Forge in Kelethin can repair things for you.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerModjiVilivarinen.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerModjiVilivarinen.lua new file mode 100755 index 000000000..2f6e8b9b9 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerModjiVilivarinen.lua @@ -0,0 +1,164 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerModjiVilivarinen.lua + Script Purpose : Trainer Modji Vilivarinen + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji001.mp3", "", "", 629194324, 2384115675, Spawn) + AddConversationOption(conversation, "Tell me about items and equipment.", "dlg_53_1") + AddConversationOption(conversation, "Tell me about my inventory.") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Good day, .. GetName(Spawn) .. . I'm here to teach our Queen's newest recruits about equipment and inventory space. Good equipment is one of the most important tools of any adventurer!") +end + +function dlg_53_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji002.mp3", "", "", 4288682285, 68250990, Spawn) + AddConversationOption(conversation, "What can I do with the treasures I earn while adventuring?", "dlg_53_2") + StartConversation(conversation, NPC, Spawn, "Norrath is full of treasures for brave heroes like you. Sometimes the opponents you defeat in battle leave behind treasure chests with valuable loot. You can also buy items from other players, craft them as an artisan, or be awarded items for completing quests.") +end + +function dlg_53_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji003.mp3", "", "", 198169293, 2421181305, Spawn) + AddConversationOption(conversation, "What does the item information tell me?", "dlg_53_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items you obtain can be equipped on your person. If you find weapons, armor, jewelry, or certain other goodies, you may be able to use them. To look at a piece of equipment and determine if you can use it, move your mouse pointer over the item.") +end + +function dlg_53_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji004.mp3", "", "", 4004083620, 1433115076, Spawn) + AddConversationOption(conversation, "Are things like attribute bonuses important?", "dlg_53_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "For items that can be equipped, such as weapons and armor, mousing over it tells you which professions can use the item and at what level it can be equipped. You'll also see any benefits, such as attribute bonuses and resists, that the equipment provides. Learn about attributes by talking to Trainer Rafela Kosimo.") +end + +function dlg_53_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji005.mp3", "", "", 3148308825, 1768781135, Spawn) + AddConversationOption(conversation, "How can I tell which of two weapons is better?", "dlg_53_5") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A wise adventurer is always trying to improve his or her equipment. Whenever you see gear that provides an overall greater benefit than what you have, that item is an upgrade for you.") +end + +function dlg_53_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji006.mp3", "", "", 4261563052, 2529314534, Spawn) + AddConversationOption(conversation, "How can I tell which of two pieces of armor is better?", "dlg_53_6") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Weapons have a Damage Rating that shows the relative damage you can do with them. A higher Damage Rating is always better. Be sure you are comparing weapons of the same type, such as a two-handed weapon with another two-hander, or one dual-wield weapon with another.") +end + +function dlg_53_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji007.mp3", "", "", 3055447161, 740281223, Spawn) + AddConversationOption(conversation, "What about scouts and priests?", "dlg_53_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function dlg_53_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji008.mp3", "", "", 2976794585, 1667594161, Spawn) + AddConversationOption(conversation, "What do I do with equipment I can't use?", "dlg_53_8") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Scouts and priests need varying amounts of protection depending on how they play. If they find themselves at the forefront of battle, protection becomes very important. If they stay out of harms way, attribute bonuses may be more valuable.") +end + +function dlg_53_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji009.mp3", "", "", 3026014011, 3128688235, Spawn) + AddConversationOption(conversation, "Why are some items marked 'No Value' or 'No Trade'?", "dlg_53_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "An item can be sold to a non-player merchant for cash unless it has the 'No Value' flag on it. Items can be sold or traded to another player unless it has the 'No Trade' flag. If an item says it is 'Lore,' you can only have one of them on your character at a time.") +end + +function dlg_53_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji010.mp3", "", "", 3548366649, 3737415014, Spawn) + AddConversationOption(conversation, "What does it mean when an item says it is 'Attuneable'?", "dlg_53_10") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items are marked 'No Value' because they are easy to obtain, such as harvested goods. You have to work to earn wealth, .. GetName(Spawn) .. . Items are marked 'No Trade' in order to ensure that you earn them yourself, such as defeating a very tough monster or completing a long quest.") +end + +function dlg_53_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji011.mp3", "", "", 2574691428, 2245769529, Spawn) + AddConversationOption(conversation, "How do I manage my inventory?", "dlg_53_11") + StartConversation(conversation, NPC, Spawn, "If an item is marked 'Attuneable,' you must attune it to yourself before it provides any benefits. You'll notice a message on screen when you are wearing an item that must be attuned. To attune it, right-click on the item and select 'Attune.' Once attuned, that item can no longer be traded or sold to another player.") +end + +function dlg_53_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji012.mp3", "", "", 2929542360, 815972363, Spawn) + AddConversationOption(conversation, "Can I put bags inside of bags?", "dlg_53_12") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Press the I key to open your inventory. Beneath your portrait are six slots that can hold items. You can place bags or other containers in those slots, which will give you even more storage space. Press the B key to open all your bags at once.") +end + +function dlg_53_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/tutorials/qst_modji/qst_modji013.mp3", "", "", 1237588561, 2769256355, Spawn) + AddConversationOption(conversation, "So one item takes up one bag slot?", "dlg_53_13") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function dlg_53_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back if I need to refresh my memory on this.", "dlg_53_14") + StartConversation(conversation, NPC, Spawn, "Certain items, such as ammunition or harvested resources, can be stacked up to 200 at a time, depending on the item. Many goods, such as armor and clothing, cannot be stacked at all.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_modji_vilivarinen/_exp03/exp03_cty_kelethin/trainers/intro_items_modji_eivar_ecfbed22.mp3", "Isn't Eivarra cute, running around collecting things? Even if they are imaginary...", "", 4211386415, 353845935, Spawn) +--]] + diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerRafelaKosimo.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerRafelaKosimo.lua new file mode 100755 index 000000000..6e9a5260b --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerRafelaKosimo.lua @@ -0,0 +1,182 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerRafelaKosimo.lua + Script Purpose : Trainer Rafela Kosimo + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela001.mp3", "", "", 369190615, 678098833, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_56_1") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". You look like you keep both your body and mind in good shape. Even so, I bet you could use more information on your physical attributes: Strength, Agility, Stamina, Intelligence, and Wisdom. That's what I'm here to teach you!") +end + +function dlg_56_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela002.mp3", "", "", 269298887, 2860978242, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_56_2") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Monks, and Paladins have.") +end + +function dlg_56_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela003.mp3", "", "", 618428185, 2242815487, Spawn) + AddConversationOption(conversation, "Tell me about Stamina.", "dlg_56_3") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Agility helps you avoid physical attacks. The more Agility you have, the higher your Avoidance ability. Agility also determines the maximum amount of power Swashbucklers, Rangers, Troubadors, and Dirges have.") +end + +function dlg_56_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela004.mp3", "", "", 3361827642, 1990974736, Spawn) + AddConversationOption(conversation, "Tell me about Intelligence.", "dlg_56_4") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Stamina gives you more Health points. The more Health you have, the longer you can survive in battle. Stamina is a useful attribute for every class.") +end + +function dlg_56_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela005.mp3", "", "", 1693600094, 3506813775, Spawn) + AddConversationOption(conversation, "Tell me about Wisdom.", "dlg_56_5") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Intelligence is more than just a sign of how smart you are. The more Intelligence you have, the more damage you do with spells in combat. Intelligence also determines the maximum amount of power Wizards, Warlocks, Illusionists, Conjurors, Troubadors, and Dirges have.") +end + +function dlg_56_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela006.mp3", "", "", 2596932055, 833533845, Spawn) + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_56_6") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Wisdom increases your resistances to magical types of attacks: Heat, Cold, Disease, Poison, Magic, Mental and Divine. Wisdom also determines the maximum amount of power Templars, Mystics, Furies, Wardens, and Paladins have.") +end + +function dlg_56_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela007.mp3", "", "", 3801545950, 4239189434, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_56_7") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + +function dlg_56_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela002.mp3", "", "", 269298887, 2860978242, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_56_8") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Monks, and Paladins have.") +end + +function dlg_56_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela007.mp3", "", "", 3801545950, 4239189434, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_56_9") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + +function dlg_56_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela008.mp3", "", "", 2282437179, 3119891904, Spawn) + AddConversationOption(conversation, "Are there other ways?") + AddConversationOption(conversation, "Thank you for the information.", "dlg_56_10") + StartConversation(conversation, NPC, Spawn, "Your physical attributes, as well as other aspects of your character, can be improved in a number of ways. Many items add points to your attributes, resistances, Health, or Power. Hold your mouse pointer over your items to see what benefits they provide.") +end + +function dlg_56_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela009.mp3", "", "", 1243763931, 281213796, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_56_11") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Many spells and combat arts enhance your attributes. Some of these can be cast on yourself, while others can improve other player characters that you group with. Grouping with other classes provides a wider variety of ways to improve your attributes.") +end + +function dlg_56_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela007.mp3", "", "", 3801545950, 4239189434, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_56_12") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + +function dlg_56_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela002.mp3", "", "", 269298887, 2860978242, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_56_13") + AddConversationOption(conversation, "How do I view my physical attributes?") + AddConversationOption(conversation, "How do I improve my physical attributes?") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Monks, and Paladins have.") +end + +function dlg_56_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_rafela_kosimo/_exp03/exp03_cty_kelethin/tutorials/qst_rafela/qst_rafela007.mp3", "", "", 3801545950, 4239189434, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_56_14") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua new file mode 100755 index 000000000..fafe35c70 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua @@ -0,0 +1,158 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua + Script Purpose : Trainer Tahvolo Viljaan + Script Author : Unsafemodder (a.k.a Pokchop1) + Script Date : 2013.010.8 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + start(NPC, Spawn) +end + +function start(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_1_1") + AddConversationOption(conversation, "I'll return later.") + StartConversation(conversation, NPC, Spawn, "Welcome, adventurer! I sense that you will fight many battles and that you will one day be known as a great hero of Kelethin. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I target an opponent?", "dlg_1_3") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_1_4") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the level indicate?", "dlg_1_6") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, 'The Target window tells you several important facts, which collectively form what is referred to as the "con" (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.') +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_1_7") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") +end + +function dlg_1_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_1_8") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") +end + +function dlg_1_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the colors?", "dlg_1_9") + StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger its color indicates, the greater the threat it represents.") +end + +function dlg_1_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_1_10") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") +end + +function dlg_1_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_1_11") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") +end + +function dlg_1_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do up arrows mean?", "dlg_1_12") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") +end + +function dlg_1_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_1_13") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") +end + +function dlg_1_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_1_14") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") +end + +function dlg_1_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_1_15") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") +end + +function dlg_1_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, instructor.") + StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath. Learn well and you will indeed become the great champion I know you can be!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerValtteriYliveri.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerValtteriYliveri.lua new file mode 100755 index 000000000..9771d0158 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerValtteriYliveri.lua @@ -0,0 +1,266 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerValtteriYliveri.lua + Script Purpose : Trainer Valtteri Yliveri + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri001.mp3", "", "", 936350332, 90364249, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_55_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "Greetings, adventurer! On behalf of Queen Amree of the Fae, I'm here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them. It is my pleasure to share my vast knowledge with you!") +end + +function dlg_55_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri002.mp3", "", "", 2453379956, 3310442892, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_55_2") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_55_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri003.mp3", "", "", 19488271, 366896859, Spawn) + AddConversationOption(conversation, "Who uses Spells?", "dlg_55_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A Spell is a magical ability, and spells have a variety of uses. Some allow you to damage an enemy, while others might provide benefits to yourself or an ally. You can hold your mouse pointer over a Spell's icon to see a description of what it does, or right-click on it and select 'Examine.'") +end + +function dlg_55_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri004.mp3", "", "", 2334805237, 1906671194, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_55_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Mages, priests, paladins, shadowknights, troubadors, and dirges all cast Spells. Each class has a list of Spells that's unique. While other classes may have similar Spells, no one has capabilities exactly like that of another class. Also, certain magical items may be imbued with Spell effects that can be cast or that activate on their own.") +end + +function dlg_55_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri002.mp3", "", "", 2453379956, 3310442892, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_55_5") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_55_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri005.mp3", "", "", 3424416600, 3943456320, Spawn) + AddConversationOption(conversation, "Who uses Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.", "dlg_55_6") + StartConversation(conversation, NPC, Spawn, "Combat Arts are a lot like Spells, but they usually take less time to cast and cannot be interrupted. As their name implies, many Combat Arts focus on some aspect of battle.") +end + +function dlg_55_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri006.mp3", "", "", 1083934086, 2427192984, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_55_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All fighters and scouts use Combat Arts. Each of these classes has unique Combat Arts that help distinguish them from other classes. Combat Arts have names and effects that fit the class that uses them.") +end + +function dlg_55_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri002.mp3", "", "", 2453379956, 3310442892, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_55_8") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_55_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri007.mp3", "", "", 2389866686, 2371365661, Spawn) + AddConversationOption(conversation, "How are Abilities different from Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Abilities are general things your character can do, along with certain capabilities specific to your race. Some of your Abilities are extremely useful, such as Sprint, which allows you to run very fast for a short period of time. You can also Call for Help when you're in danger, or launch a Ranged Attack if you have a ranged weapon and, of course, ammo.") +end + +function dlg_55_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri008.mp3", "", "", 2279765563, 3684024592, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_55_10") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Unlike Spells and Combat Arts, Abilities cannot be upgraded. Most of your Abilities are received when you first begin your adventures in Norrath, although certain new ones can be granted as you become more experienced.") +end + +function dlg_55_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri002.mp3", "", "", 2453379956, 3310442892, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_55_11") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_55_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri009.mp3", "", "", 1987652975, 3025156912, Spawn) + AddConversationOption(conversation, "How do I use my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All your Spells and Combat Arts, as well as other Abilities, are found in your Knowledge Book. Press the K key to open it at any time, and click the name of the tab you wish to view: Abilities, Spells, or Combat Arts.") +end + +function dlg_55_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri010.mp3", "", "", 1721125392, 1598552634, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_55_13") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To use a Spell, Combat Art, or Ability, drag its icon from your Knowledge Book onto your hotbar. Some have already been placed there for you. To use one, simply click its icon on your hotbar or press the key assigned to it. You can open additional hotbars by right-clicking on a hotbar and selecting 'Open New Hotbar.'") +end + +function dlg_55_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri002.mp3", "", "", 2453379956, 3310442892, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_55_14") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_55_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri011.mp3", "", "", 2108757362, 940715089, Spawn) + AddConversationOption(conversation, "How can I judge the effectiveness of my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels from 1 to 50 and will be automatically scribed in your Knowledge Book. Certain special Spells or Combat Arts can be obtained by doing quests. Once you are level 51 and higher, you must find new ways to purchase or obtain your new Spells and Combat Arts.") +end + +function dlg_55_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri012.mp3", "", "", 2145626237, 3819170760, Spawn) + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "dlg_55_16") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "There are three main ranks of Spells and Combat Arts: Apprentice, Adept, and Master. Within each rank are up to four tiers of quality. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice I rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function dlg_55_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri013.mp3", "", "", 272235720, 2321960215, Spawn) + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "dlg_55_17") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You can buy Apprentice II versions of your first six levels of Spells or Combat Arts. You just purchase them from the appropriate merchant. When you go back up into Kelethin, you will find a Class Trainer that sells Apprentice II versions of your Spells or Combat Arts.") +end + +function dlg_55_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri017.mp3", "", "", 1752657986, 2894689158, Spawn) + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "dlg_55_18") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells and arts as you defeat opponents in battle. Many enemies will carry Adept I versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master I versions.") +end + +function dlg_55_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri014.mp3", "", "", 986284660, 3435757183, Spawn) + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "dlg_55_19") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Apprentice IV quality spells, as well as valuable Adept III scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function dlg_55_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri015.mp3", "", "", 1198165250, 2103504074, Spawn) + AddConversationOption(conversation, "How can I keep all these Spells and Arts straight in my Knowledge Book?", "dlg_55_20") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many completely new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The names and icons of these upgrades are often quite similar, but the newer versions are more effective. Again, you will want to obtain the highest rank of these new abilities that you can.") +end + +function dlg_55_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri016.mp3", "", "", 2671971735, 2047415775, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_55_21") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your individual, personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities that you wish to use.") +end + +function dlg_55_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_valtteri_yliveri/_exp03/exp03_cty_kelethin/tutorials/qst_valtteri/qst_valtteri002.mp3", "", "", 2453379956, 3310442892, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_55_22") + AddConversationOption(conversation, "Tell me about Combat Arts.") + AddConversationOption(conversation, "Tell me about Abilities.") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TrainerVantanPerikato.lua b/Lua/SpawnScripts/GreaterFaydark/TrainerVantanPerikato.lua new file mode 100755 index 000000000..4b77d7d4f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TrainerVantanPerikato.lua @@ -0,0 +1,167 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TrainerVantanPerikato.lua + Script Purpose : Trainer Vantan Perikato + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan001.mp3", "", "", 1775741681, 796680136, Spawn) + AddConversationOption(conversation, "What are Heroic Opportunities?", "dlg_54_1") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Hello, friend! I look at you and see someone eager to defend Kelethin by facing fierce opponents in battle. Well, I have great news! I can teach you about Heroic Opportunities, a way for you and your allies to accomplish great feats of combat prowess!") +end + +function dlg_54_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan002.mp3", "", "", 42663805, 3000263371, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities complicated?", "dlg_54_2") + AddConversationOption(conversation, "I need to finish another task.") + StartConversation(conversation, NPC, Spawn, "Beginning at level 5, Heroic Opportunities can be triggered in combat. They allow both lone adventurers and groups of allies to combine their attacks into a series of spells or combat arts performed in a specific order. When successful, Heroic Opportunities give beneficial effects such as extra attacks against your foes or beneficial magic to heal or enhance your abilities.") +end + +function dlg_54_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan003.mp3", "", "", 3602737112, 1910313531, Spawn) + AddConversationOption(conversation, "So how does a Heroic Opportunity arise?", "dlg_54_3") + StartConversation(conversation, NPC, Spawn, "Rest assured, someone with battle skills will find them easy! Once you start using them, you'll wonder how you ever got along without them.") +end + +function dlg_54_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan004.mp3", "", "", 810984177, 2791021896, Spawn) + AddConversationOption(conversation, "Okay, that does sound easy. How do I begin a Heroic Opportunity?", "dlg_54_4") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Let me tell you the short and simple version first so that you can see how easy Heroic Opportunities are to use. All you need to do is use your ability that triggers the Heroic Opportunity, then use the spells or combat arts that are blinking on your hotbar or in your Knowledge Book. Easy, isn't it?") +end + +function dlg_54_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan005.mp3", "", "", 3484157799, 4148998383, Spawn) + AddConversationOption(conversation, "Can I trigger a Starter Chain whenever I want?", "dlg_54_5") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities have two parts called the Starter Chain and the Combat Wheel. At level 5, every adventure class gains an ability that triggers a Starter Chain: Fighting Chance, Divine Providence, Arcane Augur, or Lucky Break. Open your Knowledge book by pressing K and click the Abilities tab to see it. You can drag its icon to your hotbar to use it.") +end + +function dlg_54_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan006.mp3", "", "", 2038098568, 3233011247, Spawn) + AddConversationOption(conversation, "What happens when I trigger a Starter Chain?", "dlg_54_6") + StartConversation(conversation, NPC, Spawn, "Starter Chains can only be triggered while in battle with an enemy. After all, Heroic Opportunities are all about becoming great in combat! When you or an ally triggers a Starter Chain, you will see it appear in the corner of your screen.") +end + +function dlg_54_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan007.mp3", "", "", 4289723720, 1132527077, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities only usable in groups?", "dlg_54_7") + AddConversationOption(conversation, "I'll need to continue this later.") + StartConversation(conversation, NPC, Spawn, "Once a Starter Chain is initiated, it shows different ability icons flashing on the screen. A Starter Chain will generally display four different icons that indicate which spells or combat arts advance the Heroic Opportunity to the next stage. Icons will be blue, yellow, red, or green, depending on which class has the ability.") +end + +function dlg_54_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan008.mp3", "", "", 411831633, 722981254, Spawn) + AddConversationOption(conversation, "How do I know what I should do to advance the Starter Chain?", "dlg_54_8") + AddConversationOption(conversation, "I need to finish something else now.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities can be used alone or in groups. If you fight alone you will have a limited number of ways to advance the Starter Chain, but if you are in a group made up of different classes then you will be able to advance the Starter Chain in different ways to unleash a variety of Heroic Opportunities.") +end + +function dlg_54_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan009.mp3", "", "", 4143425822, 1952224436, Spawn) + AddConversationOption(conversation, "Use the spell or art that is blinking. That's all there is to it?", "dlg_54_9") + AddConversationOption(conversation, "I'll be back later.") + StartConversation(conversation, NPC, Spawn, "Any spells or combat arts that can advance the Heroic Opportunity will flash on your hotbar and in your Knowledge Book. You have 10 seconds to complete the Starter Chain and advance to the Combat Wheel. See, it's easy: just use the spell or art that blinks!") +end + +function dlg_54_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan010.mp3", "", "", 3052449410, 2146152555, Spawn) + AddConversationOption(conversation, "Why does it trigger one of three?", "dlg_54_10") + StartConversation(conversation, NPC, Spawn, "It's quite simple. After you've advanced the Starter Chain, the bright and colorful Combat Wheel appears. The Combat Wheel shows a series of icons and displays the name of the Heroic Opportunity you have triggered. A Starter Chain will initiate one of three different Heroic Opportunities.") +end + +function dlg_54_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan011.mp3", "", "", 2898004073, 2013528750, Spawn) + AddConversationOption(conversation, "What does the Combat Wheel tell me?", "dlg_54_11") + AddConversationOption(conversation, "I'll be back another time.") + StartConversation(conversation, NPC, Spawn, "There are three potential Heroic Opportunities: common, uncommon and rare. Each provides a different benefit. Though even the common ones are valuable, the rare event can sometimes turn the tide of battle in your favor!") +end + +function dlg_54_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan012.mp3", "", "", 3594960522, 2732369829, Spawn) + AddConversationOption(conversation, "How can I tell the difference?", "dlg_54_12") + StartConversation(conversation, NPC, Spawn, "As with the Starter Chain, the Combat Wheel indicates which spells or arts must be performed to advance and eventually complete the heroic event. Sometimes these spells or abilities must be performed in a particular order. Other times there is no order.") +end + +function dlg_54_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan013.mp3", "", "", 3798550664, 498535596, Spawn) + AddConversationOption(conversation, "How long do I have to complete the Heroic Opportunity?", "dlg_54_13") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "In the very center of the Wheel, you'll see either a clockwise-pointing arrow or arrows pointing in different directions. The clockwise arrow indicates that the abilities must be completed in order. The other types of arrows mean that the abilities can be completed in any order.") +end + +function dlg_54_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan015.mp3", "", "", 1045091019, 199555181, Spawn) + AddConversationOption(conversation, "Any other tricks I should know?", "dlg_54_14") + AddConversationOption(conversation, "I must go now.") + StartConversation(conversation, NPC, Spawn, "It really is! As you become more familiar with using Heroic Opportunities, you can take note of the members of your group and plan out ahead of time which Opportunities will provide you the greatest benefit.") +end + +function dlg_54_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_vantan_perikato/_exp03/exp03_cty_kelethin/tutorials/qst_vantan/qst_vantan016.mp3", "", "", 1785885434, 1190045579, Spawn) + AddConversationOption(conversation, "Thank you for the information. I'll try Heroic Opportunities as soon as I can!", "dlg_54_15") + StartConversation(conversation, NPC, Spawn, "Scout classes have a little something extra. By using their Coin icon, the Scout can shift to another Heroic Opportunity. This shift can only happen once per Combat Wheel. This ability must also be used before any other spell or combat art has been used to advance the Wheel.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TuathilLaeds.lua b/Lua/SpawnScripts/GreaterFaydark/TuathilLaeds.lua new file mode 100755 index 000000000..a244404d0 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TuathilLaeds.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TuathilLaeds.lua + Script Purpose : Tuathil Laeds + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/tuathil_laeds/_exp03/exp03_rgn_greater_faydark/quest/scp/part_three/tuathil_notonquest_821c8558.mp3", "Hello there.", "", 1262918617, 2680803852, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/TunaresSaplingAcornLift.lua b/Lua/SpawnScripts/GreaterFaydark/TunaresSaplingAcornLift.lua new file mode 100755 index 000000000..f6b69d19d --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TunaresSaplingAcornLift.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TunaresSaplingAcornLift.lua + Script Purpose : Automate the Kelethin lifts + Script Author : Jabantiz + Script Date : 5/29/2018 + Script Notes : +--]] + +function spawn(NPC) + AddTransportSpawn(NPC) + AddTimer(NPC, 35000, "UseLift") +end + +function respawn(NPC) + spawn(NPC) +end + +function UseLift(NPC) + UseWidget(NPC) + AddTimer(NPC, 35000, "UseLift") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/TurgoBargedown.lua b/Lua/SpawnScripts/GreaterFaydark/TurgoBargedown.lua new file mode 100755 index 000000000..0049dde3d --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/TurgoBargedown.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/TurgoBargedown.lua + Script Purpose : Turgo Bargedown + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "turgo_bargedown/_exp03/exp03_rgn_greater_faydark/turgo_bargedown/turgo_bargedown001.mp3", "", "", 1152177657, 3698837613, Spawn) + AddConversationOption(conversation, "Good luck against the orcs.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Nobody but NOBODY holds a son or daughter of Kaladim hostage! We'll be splittin' some orc heads to get our kinsmen back home.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/VargorntheHistorian.lua b/Lua/SpawnScripts/GreaterFaydark/VargorntheHistorian.lua new file mode 100755 index 000000000..e404e7560 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/VargorntheHistorian.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/VargorntheHistorian.lua + Script Purpose : Vargorn the Historian + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "vargorn_the_historian/_exp03/exp03_rgn_greater_faydark/vargorn_the_historian/vargorn001.mp3", "", "", 308911171, 691504057, Spawn) + AddConversationOption(conversation, "I'm not going to hit you. I didn't think orcs had scholars.", "dlg_3_1") + AddConversationOption(conversation, "You're lucky I don't kill you, orc.") + StartConversation(conversation, NPC, Spawn, "Do not hit! Vargorn is a scholar, not a fighter! Vargorn even speak your language, though not as good as he speak orc.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "vargorn_the_historian/_exp03/exp03_rgn_greater_faydark/vargorn_the_historian/vargorn002.mp3", "", "", 3408288477, 2844321717, Spawn) + AddConversationOption(conversation, "What use is history to a people bent on conquest?", "dlg_3_2") + AddConversationOption(conversation, "I'll leave you to your books.") + StartConversation(conversation, NPC, Spawn, "Clan Crushbone far more advanced than other orcs! We know powerful magic and have rich history that go back centuries. Many Crushbone orcs great writers, even in your language!") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "vargorn_the_historian/_exp03/exp03_rgn_greater_faydark/vargorn_the_historian/vargorn003.mp3", "", "", 4079716341, 594828245, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_3_3") + AddConversationOption(conversation, "I don't have an interest in this.") + StartConversation(conversation, NPC, Spawn, "Remembering history very important. Helps us not make same mistakes again. But sometimes being historian is hard work.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "vargorn_the_historian/_exp03/exp03_rgn_greater_faydark/vargorn_the_historian/vargorn004.mp3", "", "", 2082002835, 357817721, Spawn) + AddConversationOption(conversation, "What kind of conflicts?", "dlg_3_4") + AddConversationOption(conversation, "This doesn't have anything to do with me.") + StartConversation(conversation, NPC, Spawn, "Clan Crushbone history very complex, not always easy to understand. Lately Vargorn find conflicting writings that not make sense to him.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "vargorn_the_historian/_exp03/exp03_rgn_greater_faydark/vargorn_the_historian/vargorn005.mp3", "", "", 3599587592, 3365249265, Spawn) + AddConversationOption(conversation, "What sort of papers?", "dlg_3_5") + AddConversationOption(conversation, "Speaking of going...") + StartConversation(conversation, NPC, Spawn, "Vargorn... Vargorn better not say too much out loud. Historian who had job before Vargorn went missing after he uncover some lost papers written long ago. Vargorn not want to go missing too!") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "vargorn_the_historian/_exp03/exp03_rgn_greater_faydark/vargorn_the_historian/vargorn006.mp3", "", "", 776831458, 368161193, Spawn) + AddConversationOption(conversation, "I will go talk to him.", "dlg_3_6") + AddConversationOption(conversation, "No thanks, run your own errands.") + StartConversation(conversation, NPC, Spawn, "Vargorn just have a few scraps. They found by friend of mine, Gorreth. He work inside castle to keep it clean. It not safe for Vargorn to talk to Gorreth to see if he find any more. Maybe you do it for me?") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/VenlaVaara.lua b/Lua/SpawnScripts/GreaterFaydark/VenlaVaara.lua new file mode 100755 index 000000000..c3417f7b8 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/VenlaVaara.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/VenlaVaara.lua + Script Purpose : Venla Vaara + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I don't have any at the moment.", "dlg_38_1") + StartConversation(conversation, NPC, Spawn, "Hello there! If you have any collections that you've completed, I can take them off your hands and reward you for your time. I love collecting things!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/VestinaPinaarian.lua b/Lua/SpawnScripts/GreaterFaydark/VestinaPinaarian.lua new file mode 100755 index 000000000..2be7d52ec --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/VestinaPinaarian.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/VestinaPinaarian.lua + Script Purpose : Vestina Pinaarian + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I am sorry but I cannot stop to chat just now!", "curtsey", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/Whittier.lua b/Lua/SpawnScripts/GreaterFaydark/Whittier.lua new file mode 100755 index 000000000..d1f5a442c --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/Whittier.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/Whittier.lua + Script Purpose : Whittier + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo/whittier/_exp03/exp03_cty_kelethin/quest/quest_whittier_noquest_7082ff66.mp3", "Have you spoken with Lady Aileeta? Or perhaps Traeger Verdegreen? They're always interested in helping young folks out.", "", 3367616050, 2231632654, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/YarinSkystride.lua b/Lua/SpawnScripts/GreaterFaydark/YarinSkystride.lua new file mode 100755 index 000000000..9af0b4fc5 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/YarinSkystride.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/YarinSkystride.lua + Script Purpose : Yarin Skystride + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Sentries", "dlg_2_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Conscripts") + AddConversationOption(conversation, "I am too busy at this time to help, though it is a worthy cause.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Sylvan Hunters, .. GetName(Spawn) .. . The lands of Faydwer can be a very dangerous place. We could use your help making it safer for our people and allies.") + if convo==3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Sentries", "dlg_3_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Conscripts") + AddConversationOption(conversation, "I am too busy at this time to help, though it is a worthy cause.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Sylvan Hunters, .. GetName(Spawn) .. . The lands of Faydwer can be a very dangerous place. We could use your help making it safer for our people and allies.") + end + + if convo==16 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like the writ: Crushbone Sentries", "dlg_16_1") + AddConversationOption(conversation, "I would like the writ: Crushbone Conscripts") + AddConversationOption(conversation, "I would like the writ: Crushbone Sparrers") + AddConversationOption(conversation, "I am too busy at this time to help, though it is a worthy cause.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Sylvan Hunters, .. GetName(Spawn) .. . The lands of Faydwer can be a very dangerous place. We could use your help making it safer for our people and allies.") + end + +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll get started right away.", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "The Sylvan Hunters would like for you to eliminate Crushbone sentries to further our cause. Doing so will earn you favor with our organization.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/YstanaMirefaith.lua b/Lua/SpawnScripts/GreaterFaydark/YstanaMirefaith.lua new file mode 100755 index 000000000..5b2a90fd5 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/YstanaMirefaith.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/YstanaMirefaith.lua + Script Purpose : Ystana Mirefaith + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/ystana_mirefaith/_exp03/exp03_rgn_greater_faydark/quest/scp/ystana_mirefaith_notonquest_3bf17faa.mp3", "This land is amazingly beautiful.", "", 3090745431, 792109295, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ZeegoMiemo.lua b/Lua/SpawnScripts/GreaterFaydark/ZeegoMiemo.lua new file mode 100755 index 000000000..91c89a3df --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ZeegoMiemo.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ZeegoMiemo.lua + Script Purpose : Zeego Miemo + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Well met!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ZemketheWolf.lua b/Lua/SpawnScripts/GreaterFaydark/ZemketheWolf.lua new file mode 100755 index 000000000..4218c8d40 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ZemketheWolf.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ZemketheWolf.lua + Script Purpose : Zemke the Wolf + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I hope you're ready for some serious training!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ZephyreViolethair.lua b/Lua/SpawnScripts/GreaterFaydark/ZephyreViolethair.lua new file mode 100755 index 000000000..166ff87f8 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ZephyreViolethair.lua @@ -0,0 +1,164 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ZephyreViolethair.lua + Script Purpose : Zephyre Violethair + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I might.", "dlg_21_1") + AddConversationOption(conversation, "Actually, I was hoping you could tell me a bit about Kelethin.") + AddConversationOption(conversation, "No, sorry.") + StartConversation(conversation, NPC, Spawn, "Hi! Do you have a moment to help me out?") + if convo==22 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I might.", "dlg_22_1") + AddConversationOption(conversation, "Actually, I was hoping you could tell me a bit about Kelethin.") + AddConversationOption(conversation, "No, sorry.") + StartConversation(conversation, NPC, Spawn, "Hi! Do you have a moment to help me out?") + end + + if convo==23 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I might.", "dlg_23_1") + AddConversationOption(conversation, "Actually, I was hoping you could tell me a bit about Kelethin.") + AddConversationOption(conversation, "No, sorry.") + StartConversation(conversation, NPC, Spawn, "Hi! Do you have a moment to help me out?") + end + +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did the Fae come to take over the city?") + AddConversationOption(conversation, "I've changed my mind. What did you need help with?", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "Yes. What would you like to know?") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd be glad to help.") + AddConversationOption(conversation, "Sorry, I have something else to attend to just now.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "My family has always lived in Kelethin and I'd like to honor their memories. The problem I'm having is those darn orcs! They send out their scouts and disrupt me at my prayers. I'd like to have them cleared out so that I can finish the ritual to honor my ancestors in peace.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did the Fae come to take over the city?") + AddConversationOption(conversation, "I've changed my mind. What did you need help with?", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "Yes. What would you like to know?") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened to your family?", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "It wasn't a 'take over.' Not the way the orcs would've done. They developed an affinity for us, the Feir'Dal. We're quite similar in many ways, actually. The Fae helped rebuild Kelethin after the War of the Fay, and over time, came to look upon it as their home.") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "There are very few wood elves in Kelethin now.", "dlg_22_4") + StartConversation(conversation, NPC, Spawn, "My family's roots have been in Kelethin for many Ages. I'm the last one now, so it's important for me to keep up what traditions are left. When the Word of the Tranquil came to Kelethin, most of my friends left, presumably to Qeynos. Others wandered away, seeking guidance from the gods. And of course, the gods did not respond.") +end + +function dlg_22_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Have the orcs ever attacked Kelethin directly?", "dlg_22_5") + AddConversationOption(conversation, "I see.") + StartConversation(conversation, NPC, Spawn, "Seems that way, doesn't it? Many of us prefer to keep to ourselves now. Some, like me and Traeger, are fine with all the newcomers. Maybe it's the catalyst we need, to stop living in the past and to think of the future.") +end + +function dlg_22_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How long did that last?", "dlg_22_6") + StartConversation(conversation, NPC, Spawn, "Those cowards have seen fit only to besiege Kelethin, for they know that our magic is stronger than theirs. Ours is the power of Growth, which their kind cannot appreciate. When the Second Rallosian Army rampaged elsewhere, the orcs tried to burn us down, then settled beneath us in siege.") +end + +function dlg_22_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did Kelethin survive?", "dlg_22_7") + StartConversation(conversation, NPC, Spawn, "Long enough, unfortunately. Though Growth is our ally, it cannot conjure up sustenance for a city for that length of time. And many perished defending the lifts. The Fae erected a barrier beneath Kelethin to keep the orcs away, but they weren't strong enough to deter them entirely.") +end + +function dlg_22_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What was it you needed help with again?", "dlg_22_8") + AddConversationOption(conversation, "Thank you for telling me this.") + StartConversation(conversation, NPC, Spawn, "The Rallosian Army was defeated by the Green Mist. Our orcs met a different scourge--the brownies of the Lesser Faydark. We're not sure what motivated them, but they came to our aid, breaking the siege. And when they'd won, they simply returned home. I suspect they routed the orcs just because they could.") +end + +function dlg_22_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd be glad to help.", "dlg_22_9") + AddConversationOption(conversation, "Sorry, I have something else to attend to just now.") + StartConversation(conversation, NPC, Spawn, "My family has always lived in Kelethin and I'd like to honor their memories. The problem I'm having is those darn orcs! They send out their scouts and disrupt me at my prayers. I'd like to have them cleared out so that I can finish the ritual to honor my ancestors in peace.") +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd be glad to help.", "dlg_23_2") + AddConversationOption(conversation, "Sorry, I have something else to attend to just now.") + StartConversation(conversation, NPC, Spawn, "My family has always lived in Kelethin and I'd like to honor their memories. The problem I'm having is those darn orcs! They send out their scouts and disrupt me at my prayers. I'd like to have them cleared out so that I can finish the ritual to honor my ancestors in peace.") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll do my best.", "dlg_23_3") + StartConversation(conversation, NPC, Spawn, "Could you? That's great! Though the Feir'Dal are not as prominent here as we once were, we still keep to the old ways as much as we can. You have no idea what your help means to me!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ZilendarPilimaartu.lua b/Lua/SpawnScripts/GreaterFaydark/ZilendarPilimaartu.lua new file mode 100755 index 000000000..c454b68bb --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ZilendarPilimaartu.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ZilendarPilimaartu.lua + Script Purpose : Zilendar Pilimaartu + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1040.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "No, thanks.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Can I help you?") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/aCrushboneemissary.lua b/Lua/SpawnScripts/GreaterFaydark/aCrushboneemissary.lua new file mode 100755 index 000000000..48841b692 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aCrushboneemissary.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aCrushboneemissary.lua + Script Purpose : a Crushbone emissary + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/orc_crushbone3/ft/_exp03/orc/orc_crushbone_3_garbled_af736579.mp3", "cnshwy iwop mjf awq esfsd ghlkap adohab qweuo!", "", 1761139167, 3632284500, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/aCrushbonepawn.lua b/Lua/SpawnScripts/GreaterFaydark/aCrushbonepawn.lua new file mode 100755 index 000000000..ee6f57f0b --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aCrushbonepawn.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aCrushbonepawn.lua + Script Purpose : a Crushbone pawn + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/orc_crushbone_common1/ft/_exp03/orc/orc_crushbone_common_1_garbled_cb5832b1.mp3", "lkjlk werw zvxc iopoi qerwer!", "", 3260126986, 183723036, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/aGigglegibberGoblinGamblinGameVendor.lua b/Lua/SpawnScripts/GreaterFaydark/aGigglegibberGoblinGamblinGameVendor.lua new file mode 100755 index 000000000..079d95316 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aGigglegibberGoblinGamblinGameVendor.lua @@ -0,0 +1,237 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aGigglegibberGoblinGamblinGameVendor.lua + Script Purpose : a Gigglegibber Goblin Gamblin' Game Vendor + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_0_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + if convo==1 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_1_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==2 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_2_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==3 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_3_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==8 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_8_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==9 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_9_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==10 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_10_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==16 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_16_1") + AddConversationOption(conversation, "What do you know about the disappearance of Lord Bowsprite?") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + + if convo==20 then + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did a goblin get in here? Don't you kill people?", "dlg_20_1") + AddConversationOption(conversation, "I think I'd rather keep my money, thanks.") + StartConversation(conversation, NPC, Spawn, "Buy ticket, you! Only ten shiny coins! You give just ten shiny coins and maybe you get um... many shinier coins!") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bowsprite... Not Bowspit.") + AddConversationOption(conversation, "On second thought, I'll be going now.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Lord who? I's never met no one named Bowspit.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who said he was an elf? Fess up or I'll tell everyone the Gigglegibber gambling game is rigged!", "dlg_0_3") + AddConversationOption(conversation, "Yeah, this is going to be like pulling teeth. Nevermind.") + StartConversation(conversation, NPC, Spawn, "Oh... Well, um, I's still don't know nothing about that elf.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me where it is. You don't want me to ruin your business do you?", "dlg_0_4") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Noes, noes, you can't do that! Fine, I'll tells you everything. We have Bowspit at the super secret hideout, but you can't go there. No way.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've been helpful, thanks.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "You gonna gets me in a lot of trouble, you know. I'll tells you, but I don't exactly remember where it is. All I remember is the entrance is at the bottom of the water, under the docks, where the halfies and fairies play. We all haves to take the boat to get there. That's all I'm telling you! Now goes away.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bowsprite... Not Bowspit.") + AddConversationOption(conversation, "On second thought, I'll be going now.", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Lord who? I's never met no one named Bowspit.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are potatoes funny?", "dlg_2_2") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Gigglegibber goblins not kill people! War no fun at all. Gigglegibber goblins like shiny coins and funny things! We like frogs, fluffy kittens, potatoes... You have potatoes?") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll think about it.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "They tasty! Not funny!... though Gribbik carved funny face in a potato once. That was funny until he eated it. Hey! No try to tricks me with talk about potatoes. You still pays ten shiny coins for ticket! Buy many tickets! If you buys more maybe you win more than many shiny coins!") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are potatoes funny?", "dlg_9_2") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Gigglegibber goblins not kill people! War no fun at all. Gigglegibber goblins like shiny coins and funny things! We like frogs, fluffy kittens, potatoes... You have potatoes?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll think about it.", "dlg_9_3") + StartConversation(conversation, NPC, Spawn, "They tasty! Not funny!... though Gribbik carved funny face in a potato once. That was funny until he eated it. Hey! No try to tricks me with talk about potatoes. You still pays ten shiny coins for ticket! Buy many tickets! If you buys more maybe you win more than many shiny coins!") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are potatoes funny?", "dlg_10_2") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Gigglegibber goblins not kill people! War no fun at all. Gigglegibber goblins like shiny coins and funny things! We like frogs, fluffy kittens, potatoes... You have potatoes?") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll think about it.", "dlg_10_3") + StartConversation(conversation, NPC, Spawn, "They tasty! Not funny!... though Gribbik carved funny face in a potato once. That was funny until he eated it. Hey! No try to tricks me with talk about potatoes. You still pays ten shiny coins for ticket! Buy many tickets! If you buys more maybe you win more than many shiny coins!") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Bowsprite... Not Bowspit.") + AddConversationOption(conversation, "On second thought, I'll be going now.", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "Lord who? I's never met no one named Bowspit.") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who said he was an elf? Fess up or I'll tell everyone the gambling game is rigged!", "dlg_16_3") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Ohh... Well, um, I's still don't know nothing about that elf.") +end + +function dlg_16_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me where it is. You don't want me to ruin your business do you?", "dlg_16_4") + AddConversationOption(conversation, "On second thought, I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Noes, noes, you can't do that! Fine, I'll tells you everything. We have Bowspit at the super secret hideout, but you can't go there. No way.") +end + +function dlg_16_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You've been helpful, thanks.", "dlg_16_5") + StartConversation(conversation, NPC, Spawn, "You gonna gets me in a lot of trouble, you know. I'll tells you, but I don't exactly remember where it is. All I remember is the entrance is at the bottom of the water, under the docks, where the halfies and fairies play. We all haves to take the boat to get there. That's all I'm telling you! Now goes away before no one wants tickets anymore.") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator1.lua b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator1.lua new file mode 100755 index 000000000..26d74a164 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator1.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aShroombacultivator1.lua + Script Purpose : Shroomba Cultivator wanderer + Script Author : John Adams + Script Date : 2009.03.29 + Script Notes : There are a few of these, different wander paths. +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -82.36, -31.72, -300.98, 3, 0) + MovementLoopAddLocation(NPC, -61.74, -32.41, -286.65, 3, 0) + MovementLoopAddLocation(NPC, -55.17, -32.44, -285.26, 3, 0) + MovementLoopAddLocation(NPC, -42.96, -32.35, -285.70, 3, 0) + MovementLoopAddLocation(NPC, -57.95, -32.44, -284.10, 3, 0) + MovementLoopAddLocation(NPC, -62.57, -32.42, -288.96, 3, 0) + MovementLoopAddLocation(NPC, -74.56, -31.57, -292.37, 3, 0) + MovementLoopAddLocation(NPC, -79.73, -31.08, -299.55, 3, 0) + MovementLoopAddLocation(NPC, -82.31, -31.99, -302.37, 3, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator2.lua b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator2.lua new file mode 100755 index 000000000..dc550468d --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator2.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aShroombacultivator2.lua + Script Purpose : Shroomba Cultivator wanderer + Script Author : John Adams + Script Date : 2009.03.29 + Script Notes : There are a few of these, different wander paths. +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -59.50, -32.48, -282.04, 3, 0) + MovementLoopAddLocation(NPC, -64.61, -33.52, -270.39, 3, 0) + MovementLoopAddLocation(NPC, -67.55, -34.13, -265.84, 3, 0) + MovementLoopAddLocation(NPC, -74.28, -37.07, -255.57, 3, 0) + MovementLoopAddLocation(NPC, -81.84, -40.42, -231.17, 3, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator3.lua b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator3.lua new file mode 100755 index 000000000..4239d7a89 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator3.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aShroombacultivator3.lua + Script Purpose : Shroomba Cultivator wanderer + Script Author : John Adams + Script Date : 2009.03.29 + Script Notes : There are a few of these, different wander paths. +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -37.30, -32.48, -286.42, 3, 0) + MovementLoopAddLocation(NPC, -32.70, -32.56, -287.75, 3, 0) + MovementLoopAddLocation(NPC, -27.33, -32.93, -288.51, 3, 0) + MovementLoopAddLocation(NPC, -24.45, -33.66, -291.42, 3, 0) + MovementLoopAddLocation(NPC, -20.75, -34.78, -297.80, 3, 0) + MovementLoopAddLocation(NPC, -19.32, -35.35, -301.71, 3, 0) + MovementLoopAddLocation(NPC, -15.30, -35.85, -304.51, 3, 0) + MovementLoopAddLocation(NPC, -11.54, -36.41, -308.52, 3, 0) + MovementLoopAddLocation(NPC, -11.80, -36.62, -311.61, 3, 0) + MovementLoopAddLocation(NPC, -7.48, -37.27, -319.21, 3, 0) + MovementLoopAddLocation(NPC, -7.80, -37.40, -321.31, 3, 0) + MovementLoopAddLocation(NPC, -3.70, -37.75, -326.00, 3, 0) + MovementLoopAddLocation(NPC, 2.35, -37.95, -330.94, 3, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator4.lua b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator4.lua new file mode 100755 index 000000000..972288574 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator4.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aShroombacultivator4.lua + Script Purpose : Shroomba Cultivator wanderer + Script Author : John Adams + Script Date : 2009.03.29 + Script Notes : There are a few of these, different wander paths. +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -1.12, -38.15, -337.43, 3, 0) + MovementLoopAddLocation(NPC, -2.92, -38.36, -343.18, 3, 0) + MovementLoopAddLocation(NPC, -6.57, -38.35, -346.78, 3, 0) + MovementLoopAddLocation(NPC, -9.25, -38.31, -352.26, 3, 0) + MovementLoopAddLocation(NPC, -7.18, -38.33, -352.04, 3, 0) + MovementLoopAddLocation(NPC, -14.03, -38.33, -359.53, 3, 0) + MovementLoopAddLocation(NPC, -12.99, -38.33, -359.51, 3, 0) + MovementLoopAddLocation(NPC, -19.66, -38.13, -363.79, 3, 0) + MovementLoopAddLocation(NPC, -28.06, -38.08, -369.64, 3, 0) + MovementLoopAddLocation(NPC, -37.48, -37.98, -375.70, 3, 0) + MovementLoopAddLocation(NPC, -40.94, -37.90, -378.42, 3, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator5.lua b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator5.lua new file mode 100755 index 000000000..37983bb7f --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aShroombacultivator5.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aShroombacultivator5.lua + Script Purpose : Shroomba Cultivator wanderer + Script Author : John Adams + Script Date : 2009.03.29 + Script Notes : There are a few of these, different wander paths. +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -41.56, -37.86, -377.56, 3, 0) + MovementLoopAddLocation(NPC, -27.47, -38.07, -367.70, 3, 0) + MovementLoopAddLocation(NPC, -23.42, -37.96, -367.50, 3, 0) + MovementLoopAddLocation(NPC, -14.07, -38.32, -360.40, 3, 0) + MovementLoopAddLocation(NPC, -16.16, -38.28, -360.46, 3, 0) + MovementLoopAddLocation(NPC, -10.24, -38.31, -352.91, 3, 0) + MovementLoopAddLocation(NPC, -7.47, -38.33, -350.15, 3, 0) + MovementLoopAddLocation(NPC, -6.03, -38.37, -345.24, 3, 0) + MovementLoopAddLocation(NPC, -2.93, -38.33, -341.59, 3, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/GreaterFaydark/afaesoldier.lua b/Lua/SpawnScripts/GreaterFaydark/afaesoldier.lua new file mode 100755 index 000000000..38aa3b106 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/afaesoldier.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/afaesoldier.lua + Script Purpose : a fae soldier + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Watch out, those grobins can be pretty tricky buggers.", "glare", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Thinking happy thoughts won't get you airborne. It takes practice and strength to soar!", "scold", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Ick... caves. I hate being trapped underground, it makes it so hard to fly away from danger.", "cringe", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/aformidablesparringpartner.lua b/Lua/SpawnScripts/GreaterFaydark/aformidablesparringpartner.lua new file mode 100755 index 000000000..844d13474 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aformidablesparringpartner.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aformidablesparringpartner.lua + Script Purpose : a formidable sparring partner + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/agrobindigger.lua b/Lua/SpawnScripts/GreaterFaydark/agrobindigger.lua new file mode 100755 index 000000000..da76afe83 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/agrobindigger.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/agrobindigger.lua + Script Purpose : a grobin digger + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_4e5ee4ae.mp3", "Smash the squishies.", "", 3016834030, 2330929155, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/agrobineggkeeper.lua b/Lua/SpawnScripts/GreaterFaydark/agrobineggkeeper.lua new file mode 100755 index 000000000..779778171 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/agrobineggkeeper.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/agrobineggkeeper.lua + Script Purpose : a grobin eggkeeper + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_death_31b8eb31.mp3", "I shall grow no more!", "", 2582377610, 2713862197, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/agrobinpolluter.lua b/Lua/SpawnScripts/GreaterFaydark/agrobinpolluter.lua new file mode 100755 index 000000000..c093383a1 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/agrobinpolluter.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/agrobinpolluter.lua + Script Purpose : a grobin polluter + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_aggro_c809bb68.mp3", "I grow bigger than you!", "", 1365081195, 1786804084, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/agrobinscout.lua b/Lua/SpawnScripts/GreaterFaydark/agrobinscout.lua new file mode 100755 index 000000000..4907c70cc --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/agrobinscout.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/agrobinscout.lua + Script Purpose : a grobin scout + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_603b0f3b.mp3", "Run away from the mines!", "", 861506750, 2339330363, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/agrobinsentry.lua b/Lua/SpawnScripts/GreaterFaydark/agrobinsentry.lua new file mode 100755 index 000000000..9cbc82729 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/agrobinsentry.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/agrobinsentry.lua + Script Purpose : a grobin sentry + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_aggro_c809bb68.mp3", "I grow bigger than you!", "", 1365081195, 1786804084, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_25d9a433.mp3", "Grum! Grum! ", "", 1460066353, 1003945639, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_death_31b8eb31.mp3", "I shall grow no more!", "", 2582377610, 2713862197, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_4e5ee4ae.mp3", "Smash the squishies.", "", 3016834030, 2330929155, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/agrobinsporeharvester.lua b/Lua/SpawnScripts/GreaterFaydark/agrobinsporeharvester.lua new file mode 100755 index 000000000..e420d7d69 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/agrobinsporeharvester.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/agrobinsporeharvester.lua + Script Purpose : a grobin sporeharvester + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_aggro_c809bb68.mp3", "I grow bigger than you!", "", 1365081195, 1786804084, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_death_31b8eb31.mp3", "I shall grow no more!", "", 2582377610, 2713862197, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/amininglookout(female).lua b/Lua/SpawnScripts/GreaterFaydark/amininglookout(female).lua new file mode 100755 index 000000000..54c57fe76 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/amininglookout(female).lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/amininglookout(female).lua + Script Purpose : a mining lookout + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "I'm 'ere to watch the miners' backs down there.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'm keepin' me eyes peeled!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "If there be any threats, I sound the alarm.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/amininglookout.lua b/Lua/SpawnScripts/GreaterFaydark/amininglookout.lua new file mode 100755 index 000000000..0a8e4d611 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/amininglookout.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/amininglookout.lua + Script Purpose : a mining lookout + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + hailed(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "I'm 'ere to watch the miners' backs down there.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'm keepin' me eyes peeled!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Look at Brackus down there! I'm glad 'is wife is hard of seein'.", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "If there be any threats, I sound the alarm.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/anaveragesparringpartner.lua b/Lua/SpawnScripts/GreaterFaydark/anaveragesparringpartner.lua new file mode 100755 index 000000000..88de1faaf --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/anaveragesparringpartner.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/anaveragesparringpartner.lua + Script Purpose : an average sparring partner + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/anexpeditionguard.lua b/Lua/SpawnScripts/GreaterFaydark/anexpeditionguard.lua new file mode 100755 index 000000000..fe8280f65 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/anexpeditionguard.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/anexpeditionguard.lua + Script Purpose : an expedition guard + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Don't disturb us! We 'ave work to do!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/apunishedmagiapprentice.lua b/Lua/SpawnScripts/GreaterFaydark/apunishedmagiapprentice.lua new file mode 100755 index 000000000..0be1ced6c --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/apunishedmagiapprentice.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/apunishedmagiapprentice.lua + Script Purpose : a punished magi apprentice + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "a_punished_magi_apprentice/_exp03/exp03_rgn_greater_faydark/punished_orc_magi/punished_orc_magi001.mp3", "", "", 1609553154, 632780580, Spawn) + AddConversationOption(conversation, "Why are you working here with the slaves?", "dlg_2_1") + AddConversationOption(conversation, "Nothing, I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Whatta you want? ") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "a_punished_magi_apprentice/_exp03/exp03_rgn_greater_faydark/punished_orc_magi/punished_orc_magi002.mp3", "", "", 2021609601, 1807140680, Spawn) + AddConversationOption(conversation, "Good luck with the hard labor.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "I'm being punished by that old inky hag. So what if I scorched her precious robe! She's a horrible teacher!") +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalapprentice.lua b/Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalapprentice.lua new file mode 100755 index 000000000..aa6af64fe --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalapprentice.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ascorchedskeletalapprentice.lua + Script Purpose : a scorched skeletal apprentice + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/skeleton_greater_faydark_spires_1/ft/_exp03/skeleton/skeleton_greater_faydark_spires_1_aggro_c9c1b5c3.mp3", "The fires of the ether are under my control.", "", 3718978052, 2123849989, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/skeleton_greater_faydark_spires_1/ft/_exp03/skeleton/skeleton_greater_faydark_spires_1_death_82c44f30.mp3", "I will return.", "", 1809370740, 654770967, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalwizard.lua b/Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalwizard.lua new file mode 100755 index 000000000..20aab7310 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/ascorchedskeletalwizard.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/ascorchedskeletalwizard.lua + Script Purpose : a scorched skeletal wizard + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/skeleton_greater_faydark_spires_1/ft/_exp03/skeleton/skeleton_greater_faydark_spires_1_battle_56eb06a6.mp3", "When the spires come back to life, so shall I.", "", 2290356808, 2998409398, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/astablemaster.lua b/Lua/SpawnScripts/GreaterFaydark/astablemaster.lua new file mode 100755 index 000000000..0a67fc1ae --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/astablemaster.lua @@ -0,0 +1,265 @@ + --[[ + Script Name : SpawnScripts/GreaterFaydark/astablemaster.lua + Script Purpose : a stable master (1140115) + Script Author : Neatz09 + Script Date : 4/16/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 202854 then + --Butcherblock Mountains-- + AddConversationOption(con, "To Crushbone", "BBMToCrush") + AddConversationOption(con, "To Kelethin.", "BBMToKel") + AddConversationOption(con, "To Lesser Faydark.", "BBMToLFay") + AddConversationOption(con, "To Loping Plains.", "BBMToPlains") + AddConversationOption(con, "To New Tunaria.", "BBMToTuna") + AddConversationOption(con, "To Steamfont Mountains.", "BBMToSFM") + elseif GetSpawnLocationID(NPC) == 595026 then + --Crushbone-- + AddConversationOption(con, "To Butcherblock Mountains.", "CrushToBBM") + AddConversationOption(con, "To Kelethin.", "CrushToKel") + AddConversationOption(con, "To Lesser Faydark.", "CrushToLFay") + AddConversationOption(con, "To Loping Plains.", "CrushToPlains") + AddConversationOption(con, "To New Tunaria.", "CrushToTuna") + AddConversationOption(con, "To Steamfont Mountains.", "CrushToSFM") + elseif GetSpawnLocationID(NPC) == 1586029 then + --Lesser Faydark-- + AddConversationOption(con, "To Butcherblock Mountains.", "LFayToBBM") + AddConversationOption(con, "To Crushbone.", "LFayToCrush") + AddConversationOption(con, "To Kelethin.", "LFayToKel") + AddConversationOption(con, "To Loping Plains.", "LFayToPlains") + AddConversationOption(con, "To New Tunaria.", "LFayToTuna") + AddConversationOption(con, "To Steamfont Mountains.", "LFayToSFM") + elseif GetSpawnLocationID(NPC) == 202850 then + --Loping Plains-- + AddConversationOption(con, "To Butcherblock Mountains.", "PlainsToBBM") + AddConversationOption(con, "To Crushbone.", "PlainsToCrush") + AddConversationOption(con, "To Kelethin.", "PlainsToKel") + AddConversationOption(con, "To Lesser Faydark.", "PlainsToLFay") + AddConversationOption(con, "To New Tunaria.", "PlainsToTuna") + AddConversationOption(con, "To Steamfont Mountains.", "PlainsToSFM") + elseif GetSpawnLocationID(NPC) == 202847 then + --New Tunaria-- + AddConversationOption(con, "To Butcherblock Mountains.", "TunaToBBM") + AddConversationOption(con, "To Crushbone.", "TunaToCrush") + AddConversationOption(con, "To Kelethin.", "TunaToKel") + AddConversationOption(con, "To Lesser Faydark.", "TunaToLFay") + AddConversationOption(con, "To Loping Plains.", "TunaToPlains") + AddConversationOption(con, "To Steamfont Mountains.", "TunaToSFM") + elseif GetSpawnLocationID(NPC) == 202849 then + --Steamfont Mountains-- + AddConversationOption(con, "To Butcherblock Mountains.", "SFMToBBM") + AddConversationOption(con, "To Crushbone.", "SFMToCrush") + AddConversationOption(con, "To Kelethin.", "SFMToKel") + AddConversationOption(con, "To Lesser Faydark.", "SFMToLFay") + AddConversationOption(con, "To Loping Plains.", "SFMToPlains") + AddConversationOption(con, "To New Tunaria.", "SFMToTuna") + --MISSING KELETHIN STATIONS KEL ID 205477 + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function BBMToCrush(NPC, Spawn) + StartAutoMount(Spawn, 140) + SetMount(Spawn, 6846) +end + +function BBMToKel(NPC, Spawn) + StartAutoMount(Spawn, 129) + SetMount(Spawn, 6846) +end + +function BBMToLFay(NPC, Spawn) + StartAutoMount(Spawn, 143) + SetMount(Spawn, 6846) +end + +function BBMToPlains(NPC, Spawn) + StartAutoMount(Spawn, 144) + SetMount(Spawn, 6846) +end + +function BBMToTuna(NPC, Spawn) + StartAutoMount(Spawn, 141) + SetMount(Spawn, 6846) +end + +function BBMToSFM(NPC, Spawn) + StartAutoMount(Spawn, 142) + SetMount(Spawn, 6846) +end + +function CrushToBBM(NPC, Spawn) + StartAutoMount(Spawn, 146) + SetMount(Spawn, 6846) +end + +function CrushToKel(NPC, Spawn) + StartAutoMount(Spawn, 132) + SetMount(Spawn, 6846) +end + +function CrushToLFay(NPC, Spawn) + StartAutoMount(Spawn, 148) + SetMount(Spawn, 6846) +end + +function CrushToPlains(NPC, Spawn) + StartAutoMount(Spawn, 149) + SetMount(Spawn, 6846) +end + +function CrushToTuna(NPC, Spawn) + StartAutoMount(Spawn, 145) + SetMount(Spawn, 6846) +end + +function CrushToSFM(NPC, Spawn) + StartAutoMount(Spawn, 147) + SetMount(Spawn, 6846) +end + +function LFayToBBM(NPC, Spawn) + StartAutoMount(Spawn, 151) + SetMount(Spawn, 6846) +end + +function LFayToCrush(NPC, Spawn) + StartAutoMount(Spawn, 150) + SetMount(Spawn, 6846) +end + +function LFayToKel(NPC, Spawn) + StartAutoMount(Spawn, 133) + SetMount(Spawn, 6846) +end + +function LFayToPlains(NPC, Spawn) + StartAutoMount(Spawn, 154) + SetMount(Spawn, 6846) +end + +function LFayToTuna(NPC, Spawn) + StartAutoMount(Spawn, 153) + SetMount(Spawn, 6846) +end + +function LFayToSFM(NPC, Spawn) + StartAutoMount(Spawn, 152) + SetMount(Spawn, 6846) +end + +function PlainsToBBM(NPC, Spawn) + StartAutoMount(Spawn, 156) + SetMount(Spawn, 6846) +end + +function PlainsToCrush(NPC, Spawn) + StartAutoMount(Spawn, 155) + SetMount(Spawn, 6846) +end + +function PlainsToKel(NPC, Spawn) + StartAutoMount(Spawn, 134) + SetMount(Spawn,6846) +end + +function PlainsToLFay(NPC, Spawn) + StartAutoMount(Spawn, 158) + SetMount(Spawn, 6846) +end + +function PlainsToTuna(NPC, Spawn) + StartAutoMount(Spawn, 159) + SetMount(Spawn, 6846) +end + +function PlainsToSFM(NPC, Spawn) + StartAutoMount(Spawn, 157) + SetMount(Spawn, 6846) +end + +function DocksToFoothills(NPC, Spawn) + StartAutoMount(Spawn, 43) + SetMount(Spawn, 6846) +end + +function TunaToBBM(NPC, Spawn) + StartAutoMount(Spawn, 161) + SetMount(Spawn, 6846) +end + +function TunaToCrush(NPC, Spawn) + StartAutoMount(Spawn, 160) + SetMount(Spawn, 6846) +end + +function TunaToKel(NPC, Spawn) + StartAutoMount(Spawn, 130) + SetMount(Spawn, 6846) +end + +function TunaToLFay(NPC, Spawn) + StartAutoMount(Spawn, 163) + SetMount(Spawn, 6846) +end + +function TunaToPlains(NPC, Spawn) + StartAutoMount(Spawn, 164) + SetMount(Spawn, 6846) +end + +function TunaToSFM(NPC, Spawn) + StartAutoMount(Spawn, 162) + SetMount(Spawn, 6846) +end + +function SFMToBBM(NPC, Spawn) + StartAutoMount(Spawn, 136) + SetMount(Spawn, 6846) +end + +function SFMToCrush(NPC, Spawn) + StartAutoMount(Spawn, 135) + SetMount(Spawn, 6846) +end + +function SFMToKel(NPC, Spawn) + StartAutoMount(Spawn, 131) + SetMount(Spawn, 6846) +end + +function SFMToLFay(NPC, Spawn) + StartAutoMount(Spawn, 138) + SetMount(Spawn, 6846) +end + +function SFMToPlains(NPC, Spawn) + StartAutoMount(Spawn, 139) + SetMount(Spawn, 6846) +end + +function SFMToTuna(NPC, Spawn) + StartAutoMount(Spawn, 137) + SetMount(Spawn, 6846) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/GreaterFaydark/aweaksparringpartner.lua b/Lua/SpawnScripts/GreaterFaydark/aweaksparringpartner.lua new file mode 100755 index 000000000..606cd66f7 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/aweaksparringpartner.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/aweaksparringpartner.lua + Script Purpose : a weak sparring partner + Script Author : John Adams + Script Date : 2009.03.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/GreaterFaydark/grobins.lua b/Lua/SpawnScripts/GreaterFaydark/grobins.lua new file mode 100755 index 000000000..4145a0e71 --- /dev/null +++ b/Lua/SpawnScripts/GreaterFaydark/grobins.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/GreaterFaydark/generic_grobin.lua + Script Purpose : a grobin (anything) + Script Author : John Adams + Script Date : 2009.02.06 + Script Notes : JA - the math.random upper value, I just made up. Tune to your liking. + : Also note that if you run across a "grobin" that should say something different, create a new spawnscript for it. +--]] + + +function aggro(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_aggro_68f43c9.mp3", "Arroop!", "", 789139818, 1768762311, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_aggro_c809bb68.mp3", "I grow bigger than you!", "", 1365081195, 1786804084, Spawn) + else + -- say nothing + end + +end + +function healthchanged(NPC) + + if GetCurrentHP(NPC) <= (GetMaxHP(NPC) / 2) then + choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_25d9a433.mp3", "Grum! Grum! ", "", 1460066353, 1003945639, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_4e5ee4ae.mp3", "Smash the squishies.", "", 3016834030, 2330929155, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_603b0f3b.mp3", "Run away from the mines!", "", 861506750, 2339330363, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_battle_cf61b767.mp3", "Groblin's go!", "", 1309387887, 223459313, Spawn) + else + -- say nothing + end + end + +end + +function death(NPC, Spawn) + choice = math.random(1,1) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/exp03_combatvo/goblin_greater_faydark/ft/_exp03/goblin/goblin_greater_faydark_death_31b8eb31.mp3", "I shall grow no more!", "", 2582377610, 2713862197, Spawn) + end +end diff --git a/Lua/SpawnScripts/Haven/GrabbyGigglegibber.lua b/Lua/SpawnScripts/Haven/GrabbyGigglegibber.lua new file mode 100755 index 000000000..f5b4d597c --- /dev/null +++ b/Lua/SpawnScripts/Haven/GrabbyGigglegibber.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Haven/GrabbyGigglegibber.lua + Script Purpose : Grabby Gigglegibber + Script Author : TyroneSWG + Script Date : 2019.01.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "If you gets treats off creepy crawly or undead beasties, do let me know!", "nod", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/IllbodingDark1/OrugDeathmaker.lua b/Lua/SpawnScripts/IllbodingDark1/OrugDeathmaker.lua new file mode 100755 index 000000000..d9fa05213 --- /dev/null +++ b/Lua/SpawnScripts/IllbodingDark1/OrugDeathmaker.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/CaveofIllbodingDark/OrugDeathmaker.lua + Script Purpose : for the spawn "Orug Deathmaker" + Script Author : theFoof + Script Date : 2013.6.19 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "Warning") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function Warning(NPC) + PlayFlavor(NPC, "", "You dare to meddle with Orug Deathmaker? You will fall here!", "", 1689589577, 4560189) +end + diff --git a/Lua/SpawnScripts/IllbodingDark1/blackshard.lua b/Lua/SpawnScripts/IllbodingDark1/blackshard.lua new file mode 100755 index 000000000..d06f14ddb --- /dev/null +++ b/Lua/SpawnScripts/IllbodingDark1/blackshard.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/IllbodingDark1/blackshard.lua + Script Purpose : for the black shard spawns in zone 516 and 517 + Script Author : theFoof + Script Date : 2013.6.19 + Script Notes : +--]] + +local SeveringHead = 72 + +function spawn(NPC) + SpawnSet(NPC, "action_state", "2623") + SetRequiredQuest(GetSpawnByLocationID(GetZone(NPC), 465212), SeveringHead, 2) + SetRequiredQuest(GetSpawnByLocationID(GetZone(NPC), 465211), SeveringHead) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Smash the stone!" then + if GetQuestStep(Spawn, SeveringHead) == 2 then + SetStepComplete(Spawn, SeveringHead, 2) + SpawnSet(GetSpawnByLocationID(GetZone(NPC), 465211), "visual_state", "0") + SpawnSet(NPC, "visual_state", "18193") + AddTimer(NPC, 500, "Despawn") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/JarsathWastes/asokokartamer.lua b/Lua/SpawnScripts/JarsathWastes/asokokartamer.lua new file mode 100755 index 000000000..9ee89725f --- /dev/null +++ b/Lua/SpawnScripts/JarsathWastes/asokokartamer.lua @@ -0,0 +1,373 @@ +--[[ + Script Name : SpawnScripts/JarsathWastes/asokokartamer.lua + Script Purpose : a sokokar Tamer (2650089) + Script Author : Neatz09 + Script Date : 4/20/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 587011 then + --Danak Shipyards-- + AddConversationOption(con, "To Howling Stones.", "DanakToHowl") + AddConversationOption(con, "To Sel'Nok Camp.", "DanakToSel") + AddConversationOption(con, "To Skleross Encampment.", "DanakToRoss") + AddConversationOption(con, "To Skyfire Mountains.", "DanakToSky") + AddConversationOption(con, "To Stonehoof Badlands.", "DanakToBadland") + AddConversationOption(con, "To Temple of Red Lord.", "DanakToRed") + AddConversationOption(con, "To Temple of White Lady.", "DanakToWhite") + elseif GetSpawnLocationID(NPC) == 587012 then + --Howling Stones-- + AddConversationOption(con, "To Danak Shipyards", "HowlToDanak") + AddConversationOption(con, "To Sel'Nok Camp.", "HowlToSel") + AddConversationOption(con, "To Skleross Encampment.", "HowlToRoss") + AddConversationOption(con, "To Skyfire Mountains.", "HowlToSky") + AddConversationOption(con, "To Stonehoof Badlands.", "HowlToBadland") + AddConversationOption(con, "To Temple of Red Lord.", "HowlToRed") + AddConversationOption(con, "To Temple of White Lady.", "HowlToWhite") + elseif GetSpawnLocationID(NPC) == 587007 then + --Sel'Nok Camp-- + AddConversationOption(con, "To Danak Shipyards", "SelToDanak") + AddConversationOption(con, "To Howling Stones.", "SelToHowl") + AddConversationOption(con, "To Skleross Encampment.", "SelToRoss") + AddConversationOption(con, "To Skyfire Mountains.", "SelToSky") + AddConversationOption(con, "To Stonehoof Badlands.", "SelToBadland") + AddConversationOption(con, "To Temple of Red Lord.", "SelToRed") + AddConversationOption(con, "To Temple of White Lady.", "SelToWhite") + elseif GetSpawnLocationID(NPC) == 587010 then + --Skleross Encampment-- + AddConversationOption(con, "To Danak Shipyards", "RossToDanak") + AddConversationOption(con, "To Howling Stones.", "RossToHowl") + AddConversationOption(con, "To Sel'Nok Camp.", "RossToSel") + AddConversationOption(con, "To Skyfire Mountains.", "RossToSky") + AddConversationOption(con, "To Stonehoof Badlands.", "RossToBadland") + AddConversationOption(con, "To Temple of Red Lord.", "RossToRed") + AddConversationOption(con, "To Temple of White Lady.", "RossToWhite") + elseif GetSpawnLocationID(NPC) == 587009 then + --Skyfire Mountains-- + AddConversationOption(con, "To Danak Shipyards", "SkyToDanak") + AddConversationOption(con, "To Howling Stones.", "SkyToHowl") + AddConversationOption(con, "To Sel'Nok Camp.", "SkyToSel") + AddConversationOption(con, "To Skleross Encampment.", "SkyToRoss") + AddConversationOption(con, "To Stonehoof Badlands.", "SkyToBadland") + AddConversationOption(con, "To Temple of Red Lord.", "SkyToRed") + AddConversationOption(con, "To Temple of White Lady.", "SkyToWhite") + elseif GetSpawnLocationID(NPC) == 587008 then + --Stonehoof Badlands-- + AddConversationOption(con, "To Danak Shipyards", "BadlandToDanak") + AddConversationOption(con, "To Howling Stones.", "BadlandToHowl") + AddConversationOption(con, "To Sel'Nok Camp.", "BadlandToSel") + AddConversationOption(con, "To Skleross Encampment.", "BadlandToRoss") + AddConversationOption(con, "To Skyfire Mountains.", "BadlandToSky") + AddConversationOption(con, "To Temple of Red Lord.", "BadlandToRed") + AddConversationOption(con, "To Temple of White Lady.", "BadlandToWhite") + elseif GetSpawnLocationID(NPC) == 587005 then + --Temple of Red Lord-- + AddConversationOption(con, "To Danak Shipyards", "RedToDanak") + AddConversationOption(con, "To Howling Stones.", "RedToHowl") + AddConversationOption(con, "To Sel'Nok Camp.", "RedToSel") + AddConversationOption(con, "To Skleross Encampment.", "RedToRoss") + AddConversationOption(con, "To Skyfire Mountains.", "RedToSky") + AddConversationOption(con, "To Stonehoof Badlands.", "RedToBadland") + AddConversationOption(con, "To Temple of White Lady.", "RedToWhite") + elseif GetSpawnLocationID(NPC) == 587006 then + --Temple of Red Lord-- + AddConversationOption(con, "To Danak Shipyards", "WhiteToDanak") + AddConversationOption(con, "To Howling Stones.", "WhiteToHowl") + AddConversationOption(con, "To Sel'Nok Camp.", "WhiteToSel") + AddConversationOption(con, "To Skleross Encampment.", "WhiteToRoss") + AddConversationOption(con, "To Skyfire Mountains.", "WhiteToSky") + AddConversationOption(con, "To Stonehoof Badlands.", "WhiteToBadland") + AddConversationOption(con, "To Temple of Red Lord.", "WhiteToRed") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function DanakToHowl(NPC, Spawn) + StartAutoMount(Spawn, 345) + SetMount(Spawn, 7253) +end + +function DanakToSel(NPC, Spawn) + StartAutoMount(Spawn, 373) + SetMount(Spawn, 7253) +end + +function DanakToRoss(NPC, Spawn) + StartAutoMount(Spawn, 376) + SetMount(Spawn, 7253) +end + +function DanakToBadland(NPC, Spawn) + StartAutoMount(Spawn, 372) + SetMount(Spawn, 7253) +end + +function DanakToRed(NPC, Spawn) + StartAutoMount(Spawn, 374) + SetMount(Spawn, 7253) +end + +function DanakToWhite(NPC, Spawn) + StartAutoMount(Spawn, 375) + SetMount(Spawn, 7253) +end + +function HowlToDanak(NPC, Spawn) + StartAutoMount(Spawn, 341) + SetMount(Spawn, 7253) +end + +function HowlToSel(NPC, Spawn) + StartAutoMount(Spawn, 377) + SetMount(Spawn, 7253) +end + +function HowlToRoss(NPC, Spawn) + StartAutoMount(Spawn, 342) + SetMount(Spawn, 7253) +end + +function HowlToSky(NPC, Spawn) + StartAutoMount(Spawn, 344) + SetMount(Spawn, 7253) +end + +function HowlToBadland(NPC, Spawn) + StartAutoMount(Spawn, 343) + SetMount(Spawn, 7253) +end + +function HowlToRed(NPC, Spawn) + StartAutoMount(Spawn, 378) + SetMount(Spawn, 7253) +end + +function HowlToWhite(NPC, Spawn) + StartAutoMount(Spawn, 379) + SetMount(Spawn, 7253) +end + +function SelToDanak(NPC, Spawn) + StartAutoMount(Spawn, 391) + SetMount(Spawn, 7253) +end + +function SelToHowl(NPC, Spawn) + StartAutoMount(Spawn, 389) + SetMount(Spawn, 7253) +end + +function SelToRoss(NPC, Spawn) + StartAutoMount(Spawn, 392) + SetMount(Spawn, 7253) +end + +function SelToBadland(NPC, Spawn) + StartAutoMount(Spawn, 388) + SetMount(Spawn, 7253) +end + +function SelToRed(NPC, Spawn) + StartAutoMount(Spawn, 360) + SetMount(Spawn, 7253) +end + +function SelToWhite(NPC, Spawn) + StartAutoMount(Spawn, 390) + SetMount(Spawn, 7253) +end + +function RossToDanak(NPC, Spawn) + StartAutoMount(Spawn, 396) + SetMount(Spawn, 7253) +end + +function RossToHowl(NPC, Spawn) + StartAutoMount(Spawn, 362) + SetMount(Spawn,7253) +end + +function RossToSel(NPC, Spawn) + StartAutoMount(Spawn, 393) + SetMount(Spawn, 7253) +end + +function RossToSky(NPC, Spawn) + StartAutoMount(Spawn, 364) + SetMount(Spawn, 7253) +end + +function RossToBadland(NPC, Spawn) + StartAutoMount(Spawn, 363) + SetMount(Spawn, 7253) +end + +function RossToRed(NPC, Spawn) + StartAutoMount(Spawn, 394) + SetMount(Spawn, 7253) +end + +function RossToWhite(NPC, Spawn) + StartAutoMount(Spawn, 395) + SetMount(Spawn,7253) +end + +function SkyToDanak(NPC, Spawn) + StartAutoMount(Spawn, 350) + SetMount(Spawn, 7253) +end + +function SkyToHowl(NPC, Spawn) + StartAutoMount(Spawn, 354) + SetMount(Spawn, 7253) +end + +function SkyToSel(NPC, Spawn) + StartAutoMount(Spawn, 351) + SetMount(Spawn, 7253) +end + +function SkyToRoss(NPC, Spawn) + StartAutoMount(Spawn, 352) + SetMount(Spawn, 7253) +end + +function SkyToBadland(NPC, Spawn) + StartAutoMount(Spawn, 348) + SetMount(Spawn, 7253) +end + +function SkyToRed(NPC, Spawn) + StartAutoMount(Spawn, 349) + SetMount(Spawn, 7253) +end + +function SkyToWhite(NPC, Spawn) + StartAutoMount(Spawn, 353) + SetMount(Spawn, 7253) +end + +function BadlandToDanak(NPC, Spawn) + StartAutoMount(Spawn, 383) + SetMount(Spawn, 7253) +end + +function BadlandToHowl(NPC, Spawn) + StartAutoMount(Spawn, 338) + SetMount(Spawn, 7253) +end + +function BadlandToSel(NPC, Spawn) + StartAutoMount(Spawn, 380) + SetMount(Spawn, 7253) +end + +function BadlandToRoss(NPC, Spawn) + StartAutoMount(Spawn, 340) + SetMount(Spawn, 7253) +end + +function BadlandToSky(NPC, Spawn) + StartAutoMount(Spawn, 339) + SetMount(Spawn, 7253) +end + +function BadlandToRed(NPC, Spawn) + StartAutoMount(Spawn, 381) + SetMount(Spawn, 7253) +end + +function BadlandToWhite(NPC, Spawn) + StartAutoMount(Spawn, 382) + SetMount(Spawn, 7253) +end + +function RedToDanak(NPC, Spawn) + StartAutoMount(Spawn, 386) + SetMount(Spawn, 7253) +end + +function RedToHowl(NPC, Spawn) + StartAutoMount(Spawn, 385) + SetMount(Spawn, 7253) +end + +function RedToSel(NPC, Spawn) + StartAutoMount(Spawn, 355) + SetMount(Spawn, 7253) +end + +function RedToRoss(NPC, Spawn) + StartAutoMount(Spawn, 387) + SetMount(Spawn, 7253) +end + +function RedToSky(NPC, Spawn) + StartAutoMount(Spawn, 356) + SetMount(Spawn, 7253) +end + +function RedToBadland(NPC, Spawn) + StartAutoMount(Spawn, 384) + SetMount(Spawn, 7253) +end + +function RedToWhite(NPC, Spawn) + StartAutoMount(Spawn, 357) + SetMount(Spawn, 7253) +end + +function WhiteToDanak(NPC, Spawn) + StartAutoMount(Spawn, 368) + SetMount(Spawn, 7253) +end + +function WhiteToHowl(NPC, Spawn) + StartAutoMount(Spawn, 369) + SetMount(Spawn, 7253) +end + +function WhiteToSel(NPC, Spawn) + StartAutoMount(Spawn, 370) + SetMount(Spawn, 7253) +end + +function WhiteToRoss(NPC, Spawn) + StartAutoMount(Spawn, 371) + SetMount(Spawn, 7253) +end + +function WhiteToSky(NPC, Spawn) + StartAutoMount(Spawn, 359) + SetMount(Spawn, 7253) +end + +function WhiteToBadland(NPC, Spawn) + StartAutoMount(Spawn, 367) + SetMount(Spawn, 7253) +end + +function WhiteToRed(NPC, Spawn) + StartAutoMount(Spawn, 358) + SetMount(Spawn, 7253) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/KunzarJungle/asokokartamer.lua b/Lua/SpawnScripts/KunzarJungle/asokokartamer.lua new file mode 100755 index 000000000..941adcfe2 --- /dev/null +++ b/Lua/SpawnScripts/KunzarJungle/asokokartamer.lua @@ -0,0 +1,223 @@ +--[[ + Script Name : SpawnScripts/KunzarJungle/asokokartamer.lua + Script Purpose : a sokokar Tamer (2610001) + Script Author : Neatz09 + Script Date : 4/16/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 373743 then + --Fallen Village-- + AddConversationOption(con, "To Hidden Plunderers", "FallenToHidden") + AddConversationOption(con, "To Jinisk.", "FallenToJinisk") + AddConversationOption(con, "To Murkdweller's River.", "FallenToRiver") + AddConversationOption(con, "To Outer Sebilis.", "FallenToSeb") + AddConversationOption(con, "To Tabernacle of Pain.", "FallenToTab") + elseif GetSpawnLocationID(NPC) == 373741 then + --Hidden Plunderers-- + AddConversationOption(con, "To Fallen Village.", "HiddenToFallen") + AddConversationOption(con, "To Jinisk.", "HiddenToJinisk") + AddConversationOption(con, "To Murkdweller's River.", "HiddenToRiver") + AddConversationOption(con, "To Outer Sebilis.", "HiddenToSeb") + AddConversationOption(con, "To Tabernacle of Pain.", "HiddenToTab") + elseif GetSpawnLocationID(NPC) == 373745 then + --Jinisk-- + AddConversationOption(con, "To Fallen Village.", "JiniskToFallen") + AddConversationOption(con, "To Hidden Plunderers.", "JiniskToHidden") + AddConversationOption(con, "To Murkdweller's River.", "JiniskToRiver") + AddConversationOption(con, "To Outer Sebilis.", "JiniskToSeb") + AddConversationOption(con, "To Tabernacle of Pain.", "JiniskToTab") + elseif GetSpawnLocationID(NPC) == 373746 then + --Murkdweller's River-- + AddConversationOption(con, "To Fallen Village.", "RiverToFallen") + AddConversationOption(con, "To Hidden Plunderers.", "RiverToHidden") + AddConversationOption(con, "To Jinisk.", "RiverToJinisk") + AddConversationOption(con, "To Outer Sebilis", "RiverToSeb") + AddConversationOption(con, "To Tabernacle of Pain", "RiverToTab") + elseif GetSpawnLocationID(NPC) == 373742 then + --Outer Sebilis-- + AddConversationOption(con, "To Fallen Village.", "SebToFallen") + AddConversationOption(con, "To Hidden Plunderers.", "SebToHidden") + AddConversationOption(con, "To Jinisk.", "SebToJinisk") + AddConversationOption(con, "To Murkdweller's River.", "SebToRiver") + AddConversationOption(con, "To Tabernacle of Pain.", "SebToTab") + elseif GetSpawnLocationID(NPC) == 373744 then + --Tabernacle of Pain-- + AddConversationOption(con, "To Fallen Village.", "TabToFallen") + AddConversationOption(con, "To Hidden Plunderers.", "TabToHidden") + AddConversationOption(con, "To Jinisk.", "TabToJinisk") + AddConversationOption(con, "To Murkdweller's River.", "TabToRiver") + AddConversationOption(con, "To Outer Sebilis.", "TabToSeb") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function FallenToHidden(NPC, Spawn) + StartAutoMount(Spawn, 910) + SetMount(Spawn, 7253) +end + +function FallenToJinisk(NPC, Spawn) + StartAutoMount(Spawn, 928) + SetMount(Spawn, 7253) +end + +function FallenToRiver(NPC, Spawn) + StartAutoMount(Spawn, 929) + SetMount(Spawn, 7253) +end + +function FallenToSeb(NPC, Spawn) + StartAutoMount(Spawn, 911) + SetMount(Spawn, 7253) +end + +function FallenToTab(NPC, Spawn) + StartAutoMount(Spawn, 912) + SetMount(Spawn, 7253) +end + +function HiddenToFallen(NPC, Spawn) + StartAutoMount(Spawn, 916) + SetMount(Spawn, 7253) +end + +function HiddenToJinisk(NPC, Spawn) + StartAutoMount(Spawn, 917) + SetMount(Spawn, 7253) +end + +function HiddenToRiver(NPC, Spawn) + StartAutoMount(Spawn, 932) + SetMount(Spawn, 7253) +end + +function HiddenToSeb(NPC, Spawn) + StartAutoMount(Spawn, 930) + SetMount(Spawn, 7253) +end + +function HiddenToTab(NPC, Spawn) + StartAutoMount(Spawn, 931) + SetMount(Spawn, 7253) +end + +function JiniskToFallen(NPC, Spawn) + StartAutoMount(Spawn, 934) + SetMount(Spawn, 7253) +end + +function JiniskToHidden(NPC, Spawn) + StartAutoMount(Spawn, 913) + SetMount(Spawn, 7253) +end + +function JiniskToRiver(NPC, Spawn) + StartAutoMount(Spawn, 914) + SetMount(Spawn, 7253) +end + +function JiniskToSeb(NPC, Spawn) + StartAutoMount(Spawn, 933) + SetMount(Spawn, 7253) +end + +function JiniskToTab(NPC, Spawn) + StartAutoMount(Spawn, 915) + SetMount(Spawn, 7253) +end + +function RiverToFallen(NPC, Spawn) + StartAutoMount(Spawn, 936) + SetMount(Spawn, 7253) +end + +function RiverToHidden(NPC, Spawn) + StartAutoMount(Spawn, 935) + SetMount(Spawn, 7253) +end + +function RiverToJinisk(NPC, Spawn) + StartAutoMount(Spawn, 918) + SetMount(Spawn, 7253) +end + +function RiverToSeb(NPC, Spawn) + StartAutoMount(Spawn, 919) + SetMount(Spawn, 7253) +end + +function RiverToTab(NPC, Spawn) + StartAutoMount(Spawn, 920) + SetMount(Spawn, 7253) +end + +function SebToFallen(NPC, Spawn) + StartAutoMount(Spawn, 921) + SetMount(Spawn,7253) +end + +function SebToHidden(NPC, Spawn) + StartAutoMount(Spawn, 937) + SetMount(Spawn, 7253) +end + +function SebToJinisk(NPC, Spawn) + StartAutoMount(Spawn, 939) + SetMount(Spawn, 7253) +end + +function SebToRiver(NPC, Spawn) + StartAutoMount(Spawn, 922) + SetMount(Spawn, 7253) +end + +function SebToTab(NPC, Spawn) + StartAutoMount(Spawn, 938) + SetMount(Spawn, 7253) +end + +function TabToFallen(NPC, Spawn) + StartAutoMount(Spawn, 923) + SetMount(Spawn,7253) +end + +function TabToHidden(NPC, Spawn) + StartAutoMount(Spawn, 927) + SetMount(Spawn, 7253) +end + +function TabToJinisk(NPC, Spawn) + StartAutoMount(Spawn, 924) + SetMount(Spawn, 7253) +end + +function TabToRiver(NPC, Spawn) + StartAutoMount(Spawn, 925) + SetMount(Spawn, 7253) +end + +function TabToSeb(NPC, Spawn) + StartAutoMount(Spawn, 926) + SetMount(Spawn, 7253) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/KylongPlains/asokokartamer.lua b/Lua/SpawnScripts/KylongPlains/asokokartamer.lua new file mode 100755 index 000000000..86388888c --- /dev/null +++ b/Lua/SpawnScripts/KylongPlains/asokokartamer.lua @@ -0,0 +1,217 @@ +--[[ + Script Name : SpawnScripts/KylongPlains/asokokartamer.lua + Script Purpose : a stable master (2620004) + Script Author : Neatz09 + Script Date : 4/15/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 612480 then + --Dreg's Landing-- + AddConversationOption(con, "To Fens of Nathsar", "DregsToFens") + AddConversationOption(con, "To Highton.", "DregsToHighton") + AddConversationOption(con, "To Jarsath Wastes.", "DregsToJarsath") + AddConversationOption(con, "To Kunzar's Edge.", "DregsToKunzar") + AddConversationOption(con, "To Teren's Grasp.", "DregsToTeren") + elseif GetSpawnLocationID(NPC) == 612479 then + --Kunzar's Edge-- + AddConversationOption(con, "To Dreg's Landing.", "KunzarToDregs") + AddConversationOption(con, "To Fens of Nathsar.", "KunzarToFens") + AddConversationOption(con, "To Highton.", "KunzarToHighton") + AddConversationOption(con, "To Jarsath Wastes.", "KunzarToJarsath") + AddConversationOption(con, "To Teren's Grasp.", "KunzarToTeren") + elseif GetSpawnLocationID(NPC) == 365542 then + --Fens of Nathsar-- + AddConversationOption(con, "To Dreg's Landing.", "FensToDregs") + AddConversationOption(con, "To Highton.", "FensToHighton") + AddConversationOption(con, "To Jarsath Wastes.", "FensToJarsath") + AddConversationOption(con, "To Kunzar's Edge.", "FensToKunzar") + AddConversationOption(con, "To Teren's Grasp.", "FensToTeren") + elseif GetSpawnLocationID(NPC) == 365543 then + --Teren's Grasp(possibly missing Kunzar Edge Path)-- + AddConversationOption(con, "To Dreg's Landing.", "TerenToDregs") + AddConversationOption(con, "To Fens of Nathsar.", "TerenToFens") + AddConversationOption(con, "To Highton.", "TerenToHighton") + AddConversationOption(con, "To Jarsath Wastes.", "TerenToJarsath") + elseif GetSpawnLocationID(NPC) == 612481 then + --Highton-- + AddConversationOption(con, "To Dreg's Landing.", "HightonToDregs") + AddConversationOption(con, "To Fens of Nathsar.", "HightonToFens") + AddConversationOption(con, "To Kunzar's Edge.", "HightonToKunzar") + AddConversationOption(con, "To Jarsath Wastes.", "HightonToJarsath") + AddConversationOption(con, "To Teren's Grap.", "HightonToTeren") + elseif GetSpawnLocationID(NPC) == 612482 then + --Jarsath Wastes-- + AddConversationOption(con, "To Dreg's Landing.", "JarsathToDregs") + AddConversationOption(con, "To Fens of Nathsar.", "JarsathToFens") + AddConversationOption(con, "To Highton.", "JarsathToHighton") + AddConversationOption(con, "To Kunzar's Edge.", "JarsathToKunzar") + AddConversationOption(con, "To Teren's Grasp.", "JarsathToTeren") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function DregsToFens(NPC, Spawn) + StartAutoMount(Spawn, 308) + SetMount(Spawn, 7253) +end + +function DregsToHighton(NPC, Spawn) + StartAutoMount(Spawn, 310) + SetMount(Spawn, 7253) +end + +function DregsToJarsath(NPC, Spawn) + StartAutoMount(Spawn, 328) + SetMount(Spawn, 7253) +end + +function DregsToKunzar(NPC, Spawn) + StartAutoMount(Spawn, 309) + SetMount(Spawn, 7253) +end + +function DregsToTeren(NPC, Spawn) + StartAutoMount(Spawn, 307) + SetMount(Spawn, 7253) +end + +function KunzarToDregs(NPC, Spawn) + StartAutoMount(Spawn, 311) + SetMount(Spawn, 7253) +end + +function KunzarToFens(NPC, Spawn) + StartAutoMount(Spawn, 312) + SetMount(Spawn, 7253) +end + +function KunzarToHighton(NPC, Spawn) + StartAutoMount(Spawn, 337) + SetMount(Spawn, 7253) +end + +function KunzarToJarsath(NPC, Spawn) + StartAutoMount(Spawn, 336) + SetMount(Spawn, 7253) +end + +function KunzarToTerens(NPC, Spawn) + StartAutoMount(Spawn, 313) + SetMount(Spawn, 7253) +end + +function TerenToDregs(NPC, Spawn) + StartAutoMount(Spawn, 317) + SetMount(Spawn, 7253) +end + +function TerenToFens(NPC, Spawn) + StartAutoMount(Spawn, 318) + SetMount(Spawn, 7253) +end + +function TerenToHighton(NPC, Spawn) + StartAutoMount(Spawn, 319) + SetMount(Spawn, 7253) +end + +function TerenToJarsath(NPC, Spawn) + StartAutoMount(Spawn, 320) + SetMount(Spawn, 7253) +end + +function HightonToDregs(NPC, Spawn) + StartAutoMount(Spawn, 323) + SetMount(Spawn, 7253) +end + +function HightonToFens(NPC, Spawn) + StartAutoMount(Spawn, 331) + SetMount(Spawn, 7253) +end + +function HightonToJarsath(NPC, Spawn) + StartAutoMount(Spawn, 322) + SetMount(Spawn, 7253) +end + +function HightonToKunzar(NPC, Spawn) + StartAutoMount(Spawn, 332) + SetMount(Spawn, 7253) +end + +function HightonToTeren(NPC, Spawn) + StartAutoMount(Spawn, 321) + SetMount(Spawn, 7253) +end + +function JarsathToDregs(NPC, Spawn) + StartAutoMount(Spawn, 335) + SetMount(Spawn, 7253) +end + +function JarsathToFens(NPC, Spawn) + StartAutoMount(Spawn, 333) + SetMount(Spawn,7253) +end + +function JarsathToHighton(NPC, Spawn) + StartAutoMount(Spawn, 324) + SetMount(Spawn, 7253) +end + +function JarsathToKunzar(NPC, Spawn) + StartAutoMount(Spawn, 334) + SetMount(Spawn, 7253) +end + +function JarsathToTerens(NPC, Spawn) + StartAutoMount(Spawn, 325) + SetMount(Spawn, 7253) +end + +function FensToDregs(NPC, Spawn) + StartAutoMount(Spawn, 315) + SetMount(Spawn, 7253) +end + +function FensToHighton(NPC, Spawn) + StartAutoMount(Spawn, 330) + SetMount(Spawn,7253) +end + +function FensToJarsath(NPC, Spawn) + StartAutoMount(Spawn, 329) + SetMount(Spawn, 7253) +end + +function FensToKunzar(NPC, Spawn) + StartAutoMount(Spawn, 316) + SetMount(Spawn, 7253) +end + +function FensToTeren(NPC, Spawn) + StartAutoMount(Spawn, 314) + SetMount(Spawn, 7253) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Lavastorm/VulcanuSlayer.lua b/Lua/SpawnScripts/Lavastorm/VulcanuSlayer.lua new file mode 100755 index 000000000..fe3e56c21 --- /dev/null +++ b/Lua/SpawnScripts/Lavastorm/VulcanuSlayer.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Lavastorm/VulcanuSlayer.lua + Script Purpose : Proximity Call + Script Author : Scribble + Script Date : 08.27.16 + Script Notes : When you get close to A vulcanu slayer he will tell you "You ruined your own lands, + don't think you can start on ours!" when you are withing 30 click and when you leave he will stop. +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 30, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + hailed(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Say(NPC, "You ruined your own lands, don't think you can start on ours!", 0, 19) +end + + diff --git a/Lua/SpawnScripts/Lavastorm/najenaelevatorcontrol.lua b/Lua/SpawnScripts/Lavastorm/najenaelevatorcontrol.lua new file mode 100755 index 000000000..5e9c93e7e --- /dev/null +++ b/Lua/SpawnScripts/Lavastorm/najenaelevatorcontrol.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/Lavastorm/najenaElevatorcontrol.lua + Script Author : smash + Script Date : 2016.01.14 09:01:52 + Script Purpose : + : +--]] + +function spawn(NPC) +end + + +function casted_on(NPC, Caster, SpellName) +--Say(NPC, SpellName) + MoveElevator(NPC, SpellName) +end + +--There are three possible locations for this Elevator - top, middle, bottom - it can be raised or lowered +function MoveElevator(NPC, Direction) + local Elevator = GetSpawn(NPC, 1710230) + if GetTempVariable(Elevator, "moving") == "true" then + return + end + + local current_pos = GetTempVariable(Elevator, "current_pos") + if Direction == "Raise Elevator" then + if current_pos == "middle" then + AddTimer(NPC, 3000, "MoveElevatorToTop", 1, Elevator) + SetElevatorMoving(NPC, Elevator) + elseif current_pos == "bottom" then + AddTimer(NPC, 3000, "MoveElevatorToMiddle", 1, Elevator) + SetElevatorMoving(NPC, Elevator) + end + elseif Direction == "Lower Elevator" then +--Say(NPC, "Lower Elevator branch") + if current_pos == "top" then +--Say(NPC, "Lower - top") + AddTimer(NPC, 3000, "MoveElevatorToMiddle", 1, Elevator) + SetElevatorMoving(NPC, Elevator) + elseif current_pos == "middle" then +--Say(NPC, "Lower - middle") + AddTimer(NPC, 3000, "MoveElevatorToBottom", 1, Elevator) + SetElevatorMoving(NPC, Elevator) + end + end +end + +--The trip from top->middle takes about 18 seconds, middle->bottom about 17 seconds - add 3 seconds to account for delay +function MoveElevatorToTop(NPC, Elevator) + MoveToLocation(Elevator, -37.9433, -127.518, 205.8) + SetTempVariable(Elevator, "current_pos", "top") + AddTimer(NPC, 21000, "SetElevatorNotMoving", 1, Elevator) +end + +function MoveElevatorToMiddle(NPC, Elevator) +--Say(NPC, "MoveElevatorToMiddle function") + local current_pos = GetTempVariable(Elevator, "current_pos") + MoveToLocation(Elevator, -37.9433, -212.726, 205.8) + SetTempVariable(Elevator, "current_pos", "middle") + if current_pos == "top" then + AddTimer(NPC, 21000, "SetElevatorNotMoving", 1, Elevator) + else + AddTimer(NPC, 20000, "SetElevatorNotMoving", 1, Elevator) + end +end + +function MoveElevatorToBottom(NPC, Elevator) + MoveToLocation(Elevator, -37.9433, -294.3962, 205.8) + SetTempVariable(Elevator, "current_pos", "bottom") + AddTimer(NPC, 20000, "SetElevatorNotMoving", 1, Elevator) +end + +function SetElevatorMoving(NPC, Elevator) + SetTempVariable(Elevator, "moving", "true") +end + +function SetElevatorNotMoving(NPC, Elevator) +--Say(NPC, "Done moving") + SetTempVariable(Elevator, "moving", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Lavastorm/woes_elevator.lua b/Lua/SpawnScripts/Lavastorm/woes_elevator.lua new file mode 100755 index 000000000..0f1d3b123 --- /dev/null +++ b/Lua/SpawnScripts/Lavastorm/woes_elevator.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Lavastorm/woes_elevator.lua + Script Author : smash + Script Date : 2016.1.14 + Script Purpose : + : +--]] + +function spawn(NPC) + SetSpeed(NPC, 4) + AddMultiFloorLift(NPC) + SetTempVariable(NPC, "current_pos", "top") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/LesserFaydark/astablemaster.lua b/Lua/SpawnScripts/LesserFaydark/astablemaster.lua new file mode 100755 index 000000000..fc74f3e1e --- /dev/null +++ b/Lua/SpawnScripts/LesserFaydark/astablemaster.lua @@ -0,0 +1,217 @@ +--[[ + Script Name : SpawnScripts/LesserFaydark/astablemaster.lua + Script Purpose : a stable master (1150001) + Script Author : Neatz09 + Script Date : 4/14/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 383888 then + AddConversationOption(con, "To Butcherblock Mountains", "FaeToBBM") + -- AddConversationOption(con, "To Greater Faydark.", "FaeToGFay")-- + AddConversationOption(con, "To Loping Plains.", "FaeToPlains") + AddConversationOption(con, "To Lower Grove.", "FaeToLowerGrove") + AddConversationOption(con, "To Upper Grove.", "FaeToUpperGrove") + elseif GetSpawnLocationID(NPC) == 383892 then + AddConversationOption(con, "To Fae Court.", "BBMToFae") + AddConversationOption(con, "To Greater Faydark.", "BBMToGFay") + AddConversationOption(con, "To Loping Plains.", "BBMToPlains") + AddConversationOption(con, "To Lower Grove.", "BBMToLowerGrove") + AddConversationOption(con, "To Upper grove.", "BBMToUpperGrove") + elseif GetSpawnLocationID(NPC) == 383890 then + AddConversationOption(con, "To Butcherblock Mountains.", "UpperGroveToBBM") + AddConversationOption(con, "To Fae Court.", "UpperGroveToFae") + AddConversationOption(con, "To Greater Faydark.", "UpperGroveToGFay") + AddConversationOption(con, "To Loping Plains.", "UpperGroveToPlains") + AddConversationOption(con, "To Lower Grove.", "UpperGroveToLowerGrove") + elseif GetSpawnLocationID(NPC) == 383889 then + AddConversationOption(con, "To Butcherblock Mountains.", "LowerGroveToBBM") + AddConversationOption(con, "To Fae Court.", "LowerGroveToFae") + AddConversationOption(con, "To Greater Faydark.", "LowerGroveToGFay") + AddConversationOption(con, "To Loping Plains.", "LowerGroveToPlains") + AddConversationOption(con, "To Upper Grove.", "LowerGroveToUpperGrove") + elseif GetSpawnLocationID(NPC) == 383891 then + AddConversationOption(con, "To Butcherblock Mountains.", "PlainsToBBM") + AddConversationOption(con, "To Fae Court.", "PlainsToFae") + AddConversationOption(con, "To Greater Faydark.", "PlainsToGFay") + AddConversationOption(con, "To Lower Grove.", "PlainsToLowerGrove") + AddConversationOption(con, "To Upper Grove.", "PlainsToUpperGrove") + elseif GetSpawnLocationID(NPC) == 383887 then + AddConversationOption(con, "To Butcherblock Mountains.", "GFayToBBM") + AddConversationOption(con, "To Fae Court.", "GFayToFae") + AddConversationOption(con, "To Loping Plains.", "GFayToPlains") + AddConversationOption(con, "To Lower Grove.", "GFayToLower") + AddConversationOption(con, "To Misty Grove.", "GFayToUpper") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function FaeToBBM(NPC, Spawn) + StartAutoMount(Spawn, 943) + SetMount(Spawn, 6846) +end + +-- function FaeToGFay(NPC, Spawn) + StartAutoMount(Spawn, 0) + SetMount(Spawn, 6846) +end -- + +function FaeToPlains(NPC, Spawn) + StartAutoMount(Spawn, 944) + SetMount(Spawn, 6846) +end + +function FaeToLowerGrove(NPC, Spawn) + StartAutoMount(Spawn, 959) + SetMount(Spawn, 6846) +end + +function FaeToUpperGrove(NPC, Spawn) + StartAutoMount(Spawn, 945) + SetMount(Spawn, 6846) +end + +function BBMToFae(NPC, Spawn) + StartAutoMount(Spawn, 941) + SetMount(Spawn, 6846) +end + +function BBMToGFay(NPC, Spawn) + StartAutoMount(Spawn, 958) + SetMount(Spawn, 6846) +end + +function BBMToPlains(NPC, Spawn) + StartAutoMount(Spawn, 940) + SetMount(Spawn, 6846) +end + +function BBMToLowerGrove(NPC, Spawn) + StartAutoMount(Spawn, 957) + SetMount(Spawn, 6846) +end + +function BBMUpperGrove(NPC, Spawn) + StartAutoMount(Spawn, 942) + SetMount(Spawn, 6846) +end + +function UpperGroveToBBM(NPC, Spawn) + StartAutoMount(Spawn, 951) + SetMount(Spawn, 6846) +end + +function UpperGroveToFae(NPC, Spawn) + StartAutoMount(Spawn, 953) + SetMount(Spawn, 6846) +end + +function UpperGroveToGFay(NPC, Spawn) + StartAutoMount(Spawn, 955) + SetMount(Spawn, 6846) +end + +function UpperGroveToPlains(NPC, Spawn) + StartAutoMount(Spawn, 952) + SetMount(Spawn, 6846) +end + +function UpperGroveToLowerGrove(NPC, Spawn) + StartAutoMount(Spawn, 956) + SetMount(Spawn, 6846) +end + +function LowerGroveToBBM(NPC, Spawn) + StartAutoMount(Spawn, 965) + SetMount(Spawn, 6846) +end + +function LowerGroveToFae(NPC, Spawn) + StartAutoMount(Spawn, 968) + SetMount(Spawn, 6846) +end + +function LowerGroveToGFay(NPC, Spawn) + StartAutoMount(Spawn, 950) + SetMount(Spawn, 6846) +end + +function LowerGroveToPlains(NPC, Spawn) + StartAutoMount(Spawn, 966) + SetMount(Spawn, 6846) +end + +function LowwerGroveToUpperGrove(NPC, Spawn) + StartAutoMount(Spawn, 967) + SetMount(Spawn, 6846) +end + +function PlainsToBBM(NPC, Spawn) + StartAutoMount(Spawn, 947) + SetMount(Spawn,6846) +end + +function PlainsToFae(NPC, Spawn) + StartAutoMount(Spawn, 948) + SetMount(Spawn, 6846) +end + +function PlainsToGFay(NPC, Spawn) + StartAutoMount(Spawn, 963) + SetMount(Spawn, 6846) +end + +function PlainsToLowerGrove(NPC, Spawn) + StartAutoMount(Spawn, 964) + SetMount(Spawn, 6846) +end + +function PlainsToUpperGrove(NPC, Spawn) + StartAutoMount(Spawn, 949) + SetMount(Spawn, 6846) +end + +function GFayToBBM(NPC, Spawn) + StartAutoMount(Spawn, 960) + SetMount(Spawn, 6846) +end + +function GFayToFae(NPC, Spawn) + StartAutoMount(Spawn, 954) + SetMount(Spawn, 6846) +end + +function GFayToPlains(NPC, Spawn) + StartAutoMount(Spawn, 961) + SetMount(Spawn, 6846) +end + +function GFayToLowerGrove(NPC, Spawn) + StartAutoMount(Spawn, 946) + SetMount(Spawn, 6846) +end + +function GFayToUpperGrove(NPC, Spawn) + StartAutoMount(Spawn,962) + SetMount(Spawn, 6846) +end diff --git a/Lua/SpawnScripts/Longshadow/AlanaramalZAste.lua b/Lua/SpawnScripts/Longshadow/AlanaramalZAste.lua new file mode 100755 index 000000000..a4ee7ccbf --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/AlanaramalZAste.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/Longshadow/AlanaramalZAste.lua + Script Purpose : Alanaramal Z'Aste + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, please teach me.", "dlg_6_1") + AddConversationOption(conversation, "No, not at the moment.") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade, good. We can always use talented artisans. I can help you get started, would you be interested?") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will start on that now.", "dlg_6_2") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting specialty.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/AlderaVExxa.lua b/Lua/SpawnScripts/Longshadow/AlderaVExxa.lua new file mode 100755 index 000000000..16028a87c --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/AlderaVExxa.lua @@ -0,0 +1,449 @@ +--[[ + Script Name : SpawnScripts/Longshadow/AlderaVExxa.lua + Script Purpose : Aldera V'Exxa + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Race ID's +local DARK_ELF = 1 + +-- Quest ID's +local QUEST_1 = 335 -- A Clear Understanding +local QUEST_2 = 336 -- A Lesson to Learn +local QUEST_3 = 337 -- Brewing Trouble +local QUEST_4 = 338 -- A Lesson Learned +local QUEST_5 = 339 -- Meet the Custodian (listed under Graveyard) + +-- Item ID's +local POISONED_LOAF_OF_BREAD = 10496 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + Say(NPC, "There is nothing left for you here.", Spawn) + elseif HasQuest(Spawn, QUEST_5) then + Say(NPC, "Go now to Custodian Zaddar Sullissia in the Graveyard, he is waiting for you.", Spawn) + else + OfferQuest5(NPC, Spawn) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + IKnowNow(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + BePatient(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + RevengeSweet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetRace(Spawn) == DARK_ELF then + Greetings(NPC, Spawn, conversation) + else + Say(NPC, "You're no dark elf!", Spawn) + end + end +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------- + +function Greetings(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_001.mp3", "", "", 85248466, 2292456525, Spawn) + AddConversationOption(conversation, "I am not bewildered. I am in a hurry. There is a difference, so what is it that you want of me already?", "dlg_0_1") + AddConversationOption(conversation, "If I seem ill-tempered, it's because I'm being accosted by a complete stranger.", "dlg_0_1") + AddConversationOption(conversation, "Sorry, I am in a hurry right now. Maybe I will come back later.") + StartConversation(conversation, NPC, Spawn, "Greetings. You seem a bit bewildered, but worry not; I can sense the hate in you. It is a wild, flowing hatred, but we can temper that, and you, into a creature of Innoruuk's vengeance still. ") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_002.mp3", "", "", 2316308522, 1859341999, Spawn) + AddConversationOption(conversation, "My apologies, Aldera. What advice would you give on harnessing the strength of the Teir'Dal? ", "dlg_0_2") + AddConversationOption(conversation, "If you say so. However, I am interested in becoming a creature of Innoruuk's vengeance as you mentioned earlier.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Do not speak with such a sharp tongue. Teir'Dal may be above the rest of Norrath's people, but we are still equals unto each other. As such, you should show respect, lest you dishonor yourself. My name is Aldera.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_017.mp3", "", "", 2479816263, 523601088, Spawn) + AddConversationOption(conversation, "You mean this slum?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "You will learn all that you need to know...in time. Before we begin, it is important for you to know the inner workings of Longshadow Alley, our home in Freeport.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_018.mp3", "", "", 1618945391, 1224746522, Spawn) + AddConversationOption(conversation, "Very true. Tell me about Longshadow Alley, then.", "dlg_0_4") + AddConversationOption(conversation, "I am very patiently waiting for you to continue.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "It is not a beautiful place, that is true, but we make do. We Teir'Dal are patient and vigilant, for opportunities can arise suddenly and we must be prepared for them. Those who are unwilling or unable to restrain themselves may end up living in this slum forever.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_019.mp3", "", "", 3051373305, 2764364895, Spawn) + AddConversationOption(conversation, "I agree.", "OfferQuest1") + AddConversationOption(conversation, "Unfortunately, I haven't got time at the moment.") + StartConversation(conversation, NPC, Spawn, "Good. For though we live here by decree of the Overlord, the Teir'Dal will rise again for we are the children of Innoruuk -- we are his chosen. And those who stand against us, thinking us weak, will find themselves unprepared. Preparedness includes knowing one's way around a neighborhood, whether by light or dark.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 5 then + AddConversationOption(conversation, "The Koada'Dal should pay for what they did to us.", "KoadaDalShouldPay") + StartConversation(conversation, NPC, Spawn, "As you see, Longshadow Alley and its passages wind, but the Teir'Dal do not fear these things. Long ago, our people lived in Neriak and through Koada'Dal trickey, it was sealed away from those of us on the surface.") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/qst_aldera_vexxa_not_done_207adfdc.mp3", "Come back when you are finished with the task I gave you.", "", 2514310256, 1161188523, Spawn) + end +end + +function KoadaDalShouldPay(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Revenge can be sweet.", "RevengeSweet") + StartConversation(conversation, NPC, Spawn, "And someday, they will. Remember: we are the patient ones. Though fruit may rippen off the vine, it is much tastier when picked at its ripest. So is with our opportunities for revenge. When they are ripe, we shall pluck them.") +end + +function RevengeSweet(NPC, Spawn, conversation) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 5) + end + + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + AddConversationOption(conversation, "I want to learn the Teir'Dal's ability to control the dark arts.", "DarkArts") + StartConversation(conversation, NPC, Spawn, "We must remain vigilant against the enemies of the virtuous: sloth, greed, and impatience. We will choose the time and place to unveil ourselves. In the way, we control the outcome, regardless of the cause.") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +------------------------------------------------------------------------------------------------------------------- + +function DarkArts(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Who is Teah? What dishonor do you speak of?", "WhoIsTeah") + StartConversation(conversation, NPC, Spawn, "I will direct you to that later. First, you must learn what it is to be a Teir'Dal. You must realize that you cannot show your contempt for another of your kind so openly to them. Doing so will only bring disrespect to yourself like it did to that sloth, Teah.") +end + +function WhoIsTeah(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So, if everyone knows he's a thief, why don't you do something about it?", "KnowsThief") + StartConversation(conversation, NPC, Spawn, "Teah is a Teir'Dal who has lost all sense of subtlety. He thinks only of stuffing himself with whatever food he can pilfer. I am sure now he is even trying to find a way to steal more food from our merchants.") +end + +function KnowsThief(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you want me to do?", "WhatToDo") + AddConversationOption(conversation, "Maybe we can work on this a bit later; I am tied up at the moment.") + StartConversation(conversation, NPC, Spawn, "I believe you may be right. It is time to teach him a lesson. A true Teir'Dal would never be so blatant about their actions. Just because we are stuck in this dingy alley does not mean we can act like common thieves.") +end + +function WhatToDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll return with the Shadow's Kiss for you.", "OfferQuest2") + AddConversationOption(conversation, "Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "For now, go find Shadow's Kiss, a fungus that grows around town. You may want to check near the entrance to the Thieves' Way for it. Collect some of this for me and come back here so we can discuss what needs to be done next.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_2) == 2 then + SetStepComplete(Spawn, QUEST_2, 2) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_015.mp3", "", "", 2193463922, 2436480205, Spawn) + AddConversationOption(conversation, "But what about my training?", "BePatient") + AddConversationOption(conversation, "I will return in a moment then.") + StartConversation(conversation, NPC, Spawn, "Ahh good you have it! I will begin mixing this right away. Speak to me again in a moment so I can concentrate on mixing this.") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/qst_aldera_vexxa_not_done_207adfdc.mp3", "Come back when you are finished with the task I gave you.", "", 2514310256, 1161188523, Spawn) + end +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +------------------------------------------------------------------------------------------------------------------- + +function BePatient(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_007.mp3", "", "", 1365697342, 971507038, Spawn) + AddConversationOption(conversation, "You seem fairly handy with that.", "dlg_1_2") + AddConversationOption(conversation, "I'm sorry for interrupting. Patience is difficult for me.") + StartConversation(conversation, NPC, Spawn, "Remember to be patient, " .. GetName(Spawn) .. ". Fortunately, Shadow's Kiss is a soft substance and crushes quickly. It is almost ready to be distilled. What is it you would like to know that cannot wait?") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_008.mp3", "", "", 3324572671, 2665510191, Spawn) + AddConversationOption(conversation, "Very true.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "Patience can be learned, but you should realize by now that our keen intellect lends itself well to studies such as these. Alchemy is something any Teir'Dal can master, if the desire is present.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_009.mp3", "", "", 1554086941, 3193226131, Spawn) + AddConversationOption(conversation, "We are fortunate, indeed.", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Throughout all of our history, our ranks have always included the greatest members of the arcane societies, especially concerning necromantic magic. It was Innoruuk's gift to us after all.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_010.mp3", "", "", 4208003561, 3975044464, Spawn) + AddConversationOption(conversation, "Kalraath is just going to give this to me for free?", "OfferQuest3") + AddConversationOption(conversation, "I will have to seek out Kalraath later, I do not have time for it now.") + StartConversation(conversation, NPC, Spawn, "Enough of that though, this is done distilling already. You must see Kalraath; he is another Teir'Dal here in Longshadow Alley. He likes to watch the people who pass back and forth through the gate to North Freeport. When you find him, let him know that I need an ingestible medium for the Shadow's Kiss you harvested.") +end + +function OfferQuest3(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_3) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_012.mp3", "", "", 1172068349, 1938187919, Spawn) + AddConversationOption(conversation, "I told him the truth; you are teaching me the proper ways to be a Teir'Dal.", "dlg_3_1") + AddConversationOption(conversation, "To be honest, I am not ready to continue this quite yet.") + StartConversation(conversation, NPC, Spawn, "Good, you are back. I need not ask if you told him what we are mixing with it, right?") + elseif GetQuestStep(Spawn, QUEST_3) == 3 then + dlg_3_2(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/qst_aldera_vexxa_not_done_207adfdc.mp3", "Come back when you are finished with the task I gave you.", "", 2514310256, 1161188523, Spawn) + end +end + +function dlg_3_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_013.mp3", "", "", 2737459827, 1482233190, Spawn) + AddConversationOption(conversation, "What will happen next?", "dlg_3_2") + AddConversationOption(conversation, "I will give you the preparation time you need, then return so we can finish this.") + StartConversation(conversation, NPC, Spawn, "He would be hard pressed to find a more true statement than that. Let me mix these together before you take these to Lynsia. Her shop is set up near the Destroyed Knowledge Portal; Teah has frequently stolen from her and the time is ripe to take action.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_021.mp3", "", "", 2067404292, 2649687751, Spawn) + AddConversationOption(conversation, "What exactly do you want to know?", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "Before I give this to you, I want to be sure you remember all that we have discussed about this.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_034.mp3", "", "", 1004106866, 1845074140, Spawn) + AddConversationOption(conversation, "A Teir'Dal named Teah.", "dlg_3_4") + AddConversationOption(conversation, "A Teir'Dal named Kalraath.", "dlg_3_5") + AddConversationOption(conversation, "A Teir'Dal named Astara.", "dlg_3_5") + AddConversationOption(conversation, "Maybe we can do this later. I am in a bit of hurry right now.") + StartConversation(conversation, NPC, Spawn, "First, who is it that we are after?") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_022.mp3", "", "", 2302640409, 2008647580, Spawn) + AddConversationOption(conversation, "Because thats what Teir'Dal do?", "dlg_3_5") + AddConversationOption(conversation, "Because Teah brings shame to the name Teir'Dal?", "dlg_3_15") + AddConversationOption(conversation, "Because I have nothing else better to do?", "dlg_3_5") + AddConversationOption(conversation, "Maybe we can do this later. I am in a bit of hurry right now.") + StartConversation(conversation, NPC, Spawn, "Now, why exactly are we doing this?") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_033.mp3", "", "", 898006331, 3816257793, Spawn) + AddConversationOption(conversation, "Fine, let's just be done with this already.", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "Not exactly, why don't we run over this again.") +end + +function dlg_3_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_023.mp3", "", "", 1198802346, 4122362903, Spawn) + AddConversationOption(conversation, "I need to leave it at the vendor booth where you can purchase food.", "dlg_3_24") + AddConversationOption(conversation, "I need to leave it at the docks. We decided the guards may be more deserving than Teah after all.", "dlg_3_3") + AddConversationOption(conversation, "I need to give it back to Kalraath to further poison it.", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "Good, I am glad you agree. That sloth of a man does nothing but degrade our race. Now where do you need to leave this?") +end + +function dlg_3_24(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_035.mp3", "", "", 4107808894, 2985104549, Spawn) + AddConversationOption(conversation, "I understand.", "IKnowNow") + AddConversationOption(conversation, "Interesting. Well, I'll be back later.") + StartConversation(conversation, NPC, Spawn, "You are correct. Although it would be amusing if the wrong person ate this. I am sure you do not want to collect all the parts again, so I had to be certain you would know what to do.") +end + +------------------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_3_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_036.mp3", "", "", 4060114825, 325379989, Spawn) + AddConversationOption(conversation, "We Teir'Dal should always calculate the costs.", "dlg_3_26") + StartConversation(conversation, NPC, Spawn, "I'm glad, for though this matter may seem trivial, there are often underlying reasons why we must do what we must do. In his indolence, Teah had stolen something without calculating its true cost. By thinking only of the moment and not of the future, he has sealed his doom.") +end + +function IKnowNow(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_024.mp3", "", "", 2075867357, 796948736, Spawn) + AddConversationOption(conversation, "I am ready if you are.", "OfferQuest4") + AddConversationOption(conversation, "You mean we finally get to kill him?", "OfferQuest4") + AddConversationOption(conversation, "Let me finish something else before we begin.") + StartConversation(conversation, NPC, Spawn, "I know now that you understand how a proper Teir'Dal should act and are ready to teach Teah his first, and final, lesson. One that would not be necessary if he had learned that the Teir'Dal are above sloth and greed.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_4) == 1 then + -- Poisoned Loaf of Bread + if not HasItem(Spawn, POISONED_LOAF_OF_BREAD) then + SummonItem(Spawn, POISONED_LOAF_OF_BREAD) + SendMessage(Spawn, "You receive 1 Poisoned Loaf of Bread") + end + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, NPC, Spawn, "I know now that you understand and are ready to teach Teah his first, and final, lesson. One that would not be necessary if he had learned that the Teir'Dal are above sloth and greed.") + elseif GetQuestStep(Spawn, QUEST_4) == 2 then + SetStepComplete(Spawn, QUEST_4, 2) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_031.mp3", "", "", 150259067, 4055890326, Spawn) + AddConversationOption(conversation, "I do what I can to get rid of scum like that.", "OfferQuest5") + AddConversationOption(conversation, "Finally, it took us long enough.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Good good, I have heard of Teah's departure from this world. Excellent work. ") + end +end + +------------------------------------------------------------------------------------------------------------------------- +-- QUEST 5 +------------------------------------------------------------------------------------------------------------------------- + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +function dlg_3_28(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_026.mp3", "", "", 2507386365, 667468455, Spawn) + AddConversationOption(conversation, "There is nothing wrong with that. We all wish to return to our true home.", "dlg_3_29") + StartConversation(conversation, NPC, Spawn, "Know that the Teir'Dal are a divided people. There are Teir'Dal who, while not happy, can abide living in Freeport while we work towards regaining our past glories. There are also the Thexians, who believe that staying anywhere other than Neriak shows great weakness. They actively strive to find Neriak as we speak.") +end + +function dlg_3_29(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_027.mp3", "", "", 3730174469, 543687528, Spawn) + AddConversationOption(conversation, "Good point.", "dlg_3_30") + AddConversationOption(conversation, "What wrong with being a zealot?", "dlg_3_30") + StartConversation(conversation, NPC, Spawn, "Ah, but you see, many view the Thexians as zealots, impatiently rushing toward the unknown. Most do not return. Trust in patience: approach the matter slowly, when you have more strength and knowledge on the matter rather than throwing your life away.") +end + +function dlg_3_30(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_028.mp3", "", "", 941228334, 1597894001, Spawn) + AddConversationOption(conversation, "Yes, I am ready to begin.", "dlg_3_31") + StartConversation(conversation, NPC, Spawn, "This is all my view on the matter and as a fellow Teir'Dal, I feel obliged to share it with you. You must choose which path to follow in the end, if any. In any event, your current path leads you to take one of these specially baked loaves of bread from behind me to Lynsia's booth.") +end + +function dlg_3_31(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/aldera_v_exxa/fprt_hood05/quests/alderavexxa/aldera_x1_029.mp3", "", "", 4238359707, 1850134526, Spawn) + AddConversationOption(conversation, "I will be back when I have put our lesson plan in its place.") + StartConversation(conversation, NPC, Spawn, "Place the bread on Lynsia's counter. I have already sent an anonymous message to her to be sure she does not add it to her normal stock. With the blessing of Innoruuk, Teah will find the food shortly, and well, he will learn the hard way that sloth and greed are unbecoming to the Teir'Dal.") +end + diff --git a/Lua/SpawnScripts/Longshadow/ArmsdealerTNyvez.lua b/Lua/SpawnScripts/Longshadow/ArmsdealerTNyvez.lua new file mode 100755 index 000000000..c3706ee5c --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/ArmsdealerTNyvez.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Longshadow/ArmsdealerTNyvez.lua + Script Purpose : Armsdealer T`Nyvez + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/weaponsmith/darkelf_weaponsmith_service_evil_1_hail_gf_9d2ef5c4.mp3", "A good weapon at your side is the only real friend you'll ever have!", "agree", 2557998412, 1299746806, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/CaptainLNek.lua b/Lua/SpawnScripts/Longshadow/CaptainLNek.lua new file mode 100755 index 000000000..06db462d9 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/CaptainLNek.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/CaptainLNek.lua + Script Purpose : Captain L`Nek + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/captain_l_nek/fprt_hood05/100_captain_lnek_multhail5_54f94dfc.mp3", "Hmm ... I am mistaken. You are not the one I seek.", "", 3750262963, 2820443341, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/CizraJYax.lua b/Lua/SpawnScripts/Longshadow/CizraJYax.lua new file mode 100755 index 000000000..c70b28492 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/CizraJYax.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Longshadow/CizraJYax.lua + Script Purpose : Cizra J`Yax + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_arcanescientists/ft/eco/evil/darkelf_female_eco_evil_arcanescientists_hail_gf_ec2a8705.mp3", "Mindless brutes that feed on the weak make up the ranks of the Freeport Militia.", "", 3674227482, 1789009112, Spawn) +end + diff --git a/Lua/SpawnScripts/Longshadow/DBeph.lua b/Lua/SpawnScripts/Longshadow/DBeph.lua new file mode 100755 index 000000000..ea13096f3 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/DBeph.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Longshadow/DBeph.lua + Script Purpose : D`Beph + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1, 4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3330899926, 205777100, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 3071777755, 1811086423, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3455786340, 1963116786, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 3432620709, 3039361332, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/EzriaMLinar.lua b/Lua/SpawnScripts/Longshadow/EzriaMLinar.lua new file mode 100755 index 000000000..84ed9bb97 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/EzriaMLinar.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Longshadow/EzriaMLinar.lua + Script Purpose : Ezria M'Linar + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/merchant_ezria_milnar/fprt_hood05/std_de_female_ezria_mlinar.mp3", "", "", 1300269011, 2618097834, Spawn) + AddConversationOption(conversation, "I'm still deciding. I'll let you know if I want anything.", "dlg_1_1") + AddConversationOption(conversation, "What is Neriak?") + StartConversation(conversation, NPC, Spawn, "Ah. How lovely. Perhaps you are a fellow sophisticate with a palate for the finer things? I am a vintner, you see. Ezria M'Linar is my name. My wines capture the essence of a long lost Neriak.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/merchant_ezria_milnar/fprt_hood05/std_de_female_ezria_mlinar003.mp3", "", "", 1051883363, 861878972, Spawn) + AddConversationOption(conversation, "Who are the Teir'Dal?") + StartConversation(conversation, NPC, Spawn, "Oh my. Please. Are you youngsters so ignorant of history? Neriak is the ancient homeland of the Teir'Dal, lost for centuries beneath the forest lands to the north.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/merchant_ezria_milnar/fprt_hood05/std_de_female_ezria_mlinar004.mp3", "", "", 2552789619, 2468887624, Spawn) + AddConversationOption(conversation, "Ok.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "I weep for the future. Teir'Dal, my poor uninformed friend, is the proper elvish name for the dark elf race. Now please. Leave me be.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/ImnatDVren.lua b/Lua/SpawnScripts/Longshadow/ImnatDVren.lua new file mode 100755 index 000000000..48691a31d --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/ImnatDVren.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/ImnatDVren.lua + Script Purpose : Imnat D`Vren + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/imnat_d_vren/fprt_hood05/100_std_de_male_imnat_dvren_callout_c7828a4.mp3", "Bah! That Maliz keeps breaking everything. He's not allowed near what little furniture we have left! What do you want? Can't you see I'm busy!", "", 3649396705, 3766219054, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/InnkeeperTMel.lua b/Lua/SpawnScripts/Longshadow/InnkeeperTMel.lua new file mode 100755 index 000000000..f4acf7123 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/InnkeeperTMel.lua @@ -0,0 +1,162 @@ +--[[ + Script Name : SpawnScripts/Longshadow/InnkeeperTMel.lua + Script Purpose : Innkeeper T`Mel + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeep_t_mel/fprt_hood05/innkeeper010.mp3", "", "", 2340348153, 751626447, Spawn) + AddConversationOption(conversation, "Please.", "dlg_9_1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Hello .. GetName(Spawn) .. . I am the Innkeeper for this district. We have received word of your arrival and have a room prepared for you. Would you like to know more about housing?") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeep_t_mel/fprt_hood05/innkeeper001.mp3", "", "", 1604544073, 412984361, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_9_2") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "What would you like to know?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper002.mp3", "", "", 2240470987, 2600508927, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_9_3") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house you must first find the item in your inventory, once you have done so right-click on the item and select the ‘place’ option. You will then see a tinted outline of your item in your house, when the item is highlighted green you may place it in that location, if it is highlighted red you cannot.") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper003.mp3", "", "", 3084973441, 655607663, Spawn) + AddConversationOption(conversation, "Is any other housing available?", "dlg_9_4") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Many different kinds of housing are available in the city of Freeport. In reward for your services, the Overlord has awarded you a one bedroom house for free at this time.") +end + +function dlg_9_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper004.mp3", "", "", 3828782678, 3247840746, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_9_5") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes, the grand city of Freeport has houses ranging from the basic one bedroom model on up to 5 bedroom apartments, although the most ostentatious of these are only available to the most prestigious citizens of the city.") +end + +function dlg_9_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper002.mp3", "", "", 2240470987, 2600508927, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_9_6") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house you must first find the item in your inventory, once you have done so right-click on the item and select the ‘place’ option. You will then see a tinted outline of your item in your house, when the item is highlighted green you may place it in that location, if it is highlighted red you cannot.") +end + +function dlg_9_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper005.mp3", "", "", 3482692093, 3042315270, Spawn) + AddConversationOption(conversation, "How do I sell items using my marketboard?") + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_9_7") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "The marketboard is a house item, similar to books, beds, pets and other such items. What sets the marketboard apart from the rest however is that once your marketboard is mounted on a wall in your home you can use it to sell items to other citizens of Freeport. These items can be purchased by your fellow citizens at a Broker. Brokers can be found in all primary districts of the city as well as in the Tradeskill wholesalers.") +end + +function dlg_9_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper006.mp3", "", "", 2103390575, 2406130630, Spawn) + AddConversationOption(conversation, "I can sell things through a broker?", "dlg_9_8") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Selling through your market board works the same way as directly selling through a broker, it just allows you to do it from the comfort of your home.") +end + +function dlg_9_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_9_9") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes. For a fee, brokers are willing to post the goods you are willing to sell to other adventurers. Brokers can be found in all primary districts of the city as well as in the Tradeskill wholesalers.") +end + +function dlg_9_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper005.mp3", "", "", 3482692093, 3042315270, Spawn) + AddConversationOption(conversation, "How do I sell items using my marketboard?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_9_10") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "The marketboard is a house item, similar to books, beds, pets and other such items. What sets the marketboard apart from the rest however is that once your marketboard is mounted on a wall in your home you can use it to sell items to other citizens of Freeport. These items can be purchased by your fellow citizens at a Broker. Brokers can be found in all primary districts of the city as well as in the Tradeskill wholesalers.") +end + +function dlg_9_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper007.mp3", "", "", 3903539507, 2186966695, Spawn) + AddConversationOption(conversation, "Anything else?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_9_11") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "You will find that your house has many uses, the first of which is the ability to store house items. Each house has a limit to the number of house items you can place in it, so as you gain more possessions you wish to display you will need larger houses to do so.") +end + +function dlg_9_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood05/innkeeper008.mp3", "", "", 3708157773, 1757079976, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_9_12") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Yes, houses have what we call vaults; these are extra storage within your house, the larger your house is, the more storage space available. By placing items in this house vault and using your marketboard, you can sell these items to other citizens of Freeport without being in your room.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/InnuraeVTarris.lua b/Lua/SpawnScripts/Longshadow/InnuraeVTarris.lua new file mode 100755 index 000000000..8085d347b --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/InnuraeVTarris.lua @@ -0,0 +1,152 @@ +--[[ + Script Name : SpawnScripts/Longshadow/InnuraeVTarris.lua + Script Purpose : Innurae V`Tarris + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae.mp3", "", "", 505131296, 528063113, Spawn) + AddConversationOption(conversation, "And where, pray tell, shall you be moving on to?", "dlg_12_1") + AddConversationOption(conversation, "Then move on, hag, and leave the space for those who can provide some use!") + StartConversation(conversation, NPC, Spawn, "Don't expect anything from me, young one. This place is but a mere rest stop before I move on.") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae000.mp3", "", "", 3567010242, 2488453546, Spawn) + AddConversationOption(conversation, "Home, what home, you foolish old woman?! Neriak was destroyed centuries ago!", "dlg_12_2") + AddConversationOption(conversation, "Ha! While you die searching for your lost Neriak, I will be prospering and gaining power!") + StartConversation(conversation, NPC, Spawn, "Neriak is the place of my birth, and it shall be the place of my death. While you remain here in the care of the humans, I will be home. ") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae001.mp3", "", "", 4044045516, 2985844795, Spawn) + AddConversationOption(conversation, "Neriak has been found?!", "dlg_12_3") + AddConversationOption(conversation, "Wake up and accept reality! Neriak is gone!") + StartConversation(conversation, NPC, Spawn, "Yes, Neriak was once lost to us, but not all of us chose to debase ourselves in a contemptible union with the humans. Those of us who care about our heritage, those of us who are truly TeirDal, are searching for a way to return to the grace and legacy of our people. It would seem that such a way has already been found...") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae002.mp3", "", "", 3686330680, 1121720833, Spawn) + AddConversationOption(conversation, "What siege?", "dlg_12_4") + AddConversationOption(conversation, "Who are the loyalists?", "dlg_12_9") + AddConversationOption(conversation, "How was the foreign quarter destroyed?", "dlg_12_11") + AddConversationOption(conversation, "So you found some ruins, eh? Yeah, good luck with that.") + StartConversation(conversation, NPC, Spawn, "Not entirely. The loyalists to the cause believe that they have uncovered what was once an entrance to the Foreign Quarter. However, as that portion of the city was destroyed in the siege, we may have some time left before we can find our home.") +end + +function dlg_12_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae003.mp3", "", "", 4154815778, 4054614513, Spawn) + AddConversationOption(conversation, "So, Neriak fell to a group of halflings?", "dlg_12_5") + AddConversationOption(conversation, "What happened in Faydwer?") + AddConversationOption(conversation, "I have no time to listen to this now.") + StartConversation(conversation, NPC, Spawn, "During the age of Turmoil, Neriak was besieged by Leatherfoot Raiders. The forces of Neriak were thin, as Faydwer had deployed most of the Indigo Brotherhood. So we were unsuspecting and unprepared for such an attack. ") +end + +function dlg_12_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae004.mp3", "", "", 2883566286, 1697596405, Spawn) + AddConversationOption(conversation, "You obviously have no love for your ruler; why return to Neriak then?", "dlg_12_6") + AddConversationOption(conversation, "I have no time to listen to this now.") + StartConversation(conversation, NPC, Spawn, "In a way, yes, but the city also fell to the greedy ambitions of a warlord king who neglected the needs of his people and soiled the legacy of his great heritage in pursuit of conquest over the refuse and swine that slithers upon the surface of this world.") +end + +function dlg_12_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae005.mp3", "", "", 895354264, 3005681462, Spawn) + AddConversationOption(conversation, "Why are you so against conquering the surface world?", "dlg_12_7") + AddConversationOption(conversation, "I have no time to listen to this now.") + StartConversation(conversation, NPC, Spawn, "If the city has been shut out from the rest of the world and returned to its proper place of dominion in the Underfoot, then there are no longer any wasteful attempts at conquering this abominable haven of refuse, now are there?") +end + +function dlg_12_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae006.mp3", "", "", 1523175183, 964525033, Spawn) + AddConversationOption(conversation, "So, now that Neriak is found, you will return home?", "dlg_12_8") + AddConversationOption(conversation, "I have no time to listen to this now.") + StartConversation(conversation, NPC, Spawn, "No surface campaign has proved fruitful. The TeirDal are the ruling force in the Underfoot. No subterranean race rivals our power and none can withstand our dominion. Besides, ownership of the surface world would be tantamount to owning a dung hill festering with maggots and flies.") +end + +function dlg_12_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae010.mp3", "", "", 852727047, 1895315430, Spawn) + AddConversationOption(conversation, "What about the siege?", "dlg_12_9") + AddConversationOption(conversation, "Who are the loyalists?") + AddConversationOption(conversation, "How was the foreign quarter destroyed?") + AddConversationOption(conversation, "Not at the moment. If I need any more information, I'll be back.") + StartConversation(conversation, NPC, Spawn, "I long for the day when I return home. While I am still here, though, I choose to educate curiosity-seekers. Would you like to know anything else?") +end + +function dlg_12_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae008.mp3", "", "", 787145551, 4172782462, Spawn) + AddConversationOption(conversation, "So the loyalists have been successful? Why are you still here then, woman?!") + StartConversation(conversation, NPC, Spawn, "The loyalists are all that is left of the TeirDal; all the others are traitorous whelps who only wear our dark skin and fair hair. The loyalists are dedicated to the cause of being restored to our nation.") +end + +function dlg_12_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae010.mp3", "", "", 852727047, 1895315430, Spawn) + AddConversationOption(conversation, "What about the siege?", "dlg_12_11") + AddConversationOption(conversation, "Who are the loyalists?") + AddConversationOption(conversation, "How was the foreign quarter destroyed?", "dlg_12_11") + AddConversationOption(conversation, "Not at the moment. If I need any more information, I'll be back.") + StartConversation(conversation, NPC, Spawn, "I long for the day when I return home. While I am still here, though, I choose to educate curiosity-seekers. Would you like to know anything else?") +end + +function dlg_12_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae007.mp3", "", "", 1084233029, 4258746911, Spawn) + AddConversationOption(conversation, "If Neriak has been found, will you return to it?") + AddConversationOption(conversation, "I have no time to listen to this now.") + StartConversation(conversation, NPC, Spawn, "I was very young when the siege began, but I saw the entrance collapsing as I fought in the forest with the other dragoons. It became silent as the rumbling destruction came to pass. All fighting ceased; everyone was in awe of the unexpected event. I can't be certain of what happened, exactly. All that I know is that a great force collapsed the cavern.") +end + +function dlg_12_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/innurae_v_tarris/fprt_hood05/quests/innuraevtarris/lore_innurae010.mp3", "", "", 852727047, 1895315430, Spawn) + AddConversationOption(conversation, "What about the siege?", "dlg_12_13") + AddConversationOption(conversation, "Who are the loyalists?") + AddConversationOption(conversation, "How was the foreign quarter destroyed?") + AddConversationOption(conversation, "Not at the moment. If I need any more information, I'll be back.") + StartConversation(conversation, NPC, Spawn, "I long for the day when I return home. While I am still here, though, I choose to educate curiosity-seekers. Would you like to know anything else?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/JuturnaPostumus.lua b/Lua/SpawnScripts/Longshadow/JuturnaPostumus.lua new file mode 100755 index 000000000..7fd4a94ff --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/JuturnaPostumus.lua @@ -0,0 +1,278 @@ +--[[ + Script Name : SpawnScripts/Longshadow/JuturnaPostumus.lua + Script Purpose : Juturna Postumus + Script Author : John Adams + Script Date : 2009.04.11 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing. Just saying hello.", "dlg_0_1") + AddConversationOption(conversation, "Nothing. Good bye.") + StartConversation(conversation, NPC, Spawn, "What do you want from me?") + if convo==2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing. Just saying hello.", "dlg_2_1") + AddConversationOption(conversation, "Nothing. Good bye.") + StartConversation(conversation, NPC, Spawn, "What do you want from me?") + end + + if convo==3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Nothing. Just saying hello.", "dlg_3_1") + AddConversationOption(conversation, "Nothing. Good bye.") + StartConversation(conversation, NPC, Spawn, "What do you want from me?") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened to your son?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Forgive me...that was rather rude of me! You caught me remembering the past...thinking about my son, may the gods preserve his memory.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where would you have gone?", "dlg_0_3") + AddConversationOption(conversation, "I'm not interested in your story anyway.") + StartConversation(conversation, NPC, Spawn, "I don't want to burden you with the details. He's...been dead now for many years. Even now, though, I remember his smile and laugh. If only I'd listened to my heart and left when I had the chance.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why didn't you join them, then?", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "I have relatives...elsewhere. They're warm, friendly and caring people. Their minds and hearts are open. Their lives are rich and full of beauty. I'm not speaking of wealth, but of another sort of richness.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm sorry to hear that.", "dlg_0_5") + AddConversationOption(conversation, "It's been a long time since then, you said. Get over it.") + StartConversation(conversation, NPC, Spawn, "My husband would not leave Freeport then. When he finally did leave, it was to take our son and...and... Well...my husband got what he deserved in the end, but not my son. He deserved a much better end.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "A client?", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "You seem like an open-minded person. We squires can sense that about others. I...can tell you more about this, if you would become a client of mine.") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You have relatives elsewhere. Why don't you stay with them now?", "dlg_0_7") + StartConversation(conversation, NPC, Spawn, "There are a handful of squires in Freeport who assist their clients in learning more about other places, where our lives would not be filled with the stress that living here in Freeport can bring.") +end + +function dlg_0_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can get the coin, but it will take a bit of time.", "dlg_0_8") + AddConversationOption(conversation, "If I gave you the coin, it would be a gift and not a loan.") + AddConversationOption(conversation, "I've heard this story a thousand times. You'll not get anything from me!") + AddConversationOption(conversation, "Nice try. Hah! Good riddance.") + StartConversation(conversation, NPC, Spawn, "Widowed as young as I was, I've been unable to save anything. I barely scrape by as it is. If...if you could lend me five hundred gold, I could go to my relatives. I'd pay you back...I would!") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened to your son?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Forgive me...that was rather rude of me! You caught me remembering the past...thinking about my son, may the gods preserve his memory.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where would you have gone?", "dlg_2_3") + AddConversationOption(conversation, "I'm not interested in your story anyway.") + StartConversation(conversation, NPC, Spawn, "I don't want to burden you with the details. He's...been dead now for many years. Even now, though, I remember his smile and laugh. If only I'd listened to my heart and left when I had the chance.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why didn't you join them, then?", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "I have relatives...elsewhere. They're warm, friendly and caring people. Their minds and hearts are open. Their lives are rich and full of beauty. I'm not speaking of wealth, but of another sort of richness.") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm sorry to hear that.", "dlg_2_5") + AddConversationOption(conversation, "It's been a long time since then, you said. Get over it.") + StartConversation(conversation, NPC, Spawn, "My husband would not leave Freeport then. When he finally did leave, it was to take our son and...and... Well...my husband got what he deserved in the end, but not my son. He deserved a much better end.") +end + +function dlg_2_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "A client?", "dlg_2_6") + StartConversation(conversation, NPC, Spawn, "You seem like an open-minded person. We squires can sense that about others. I...can tell you more about this, if you would become a client of mine.") +end + +function dlg_2_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You have relatives elsewhere. Why don't you stay with them now?", "dlg_2_7") + StartConversation(conversation, NPC, Spawn, "There are a handful of squires in Freeport who assist their clients in learning more about other places, where our lives would not be filled with the stress that living here in Freeport can bring.") +end + +function dlg_2_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can get the coin, but it will take a bit of time.", "dlg_2_8") + AddConversationOption(conversation, "If I gave you the coin, it would be a gift and not a loan.") + AddConversationOption(conversation, "I've heard this story a thousand times. You'll not get anything from me!") + AddConversationOption(conversation, "Nice try. Hah! Good riddance.") + StartConversation(conversation, NPC, Spawn, "Widowed as young as I was, I've been unable to save anything. I barely scrape by as it is. If...if you could lend me five hundred gold, I could go to my relatives. I'd pay you back...I would!") +end + +function dlg_2_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me more.") + StartConversation(conversation, NPC, Spawn, "I was right: your heart and mind are open. There is no need to give me anything. I have much that I can give you, though. There is a way to .. GetName(Spawn) .. . and security. Are you interested in learning about it?") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened to your son?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Forgive me...that was rather rude of me! You caught me remembering the past...thinking about my son, may the gods preserve his memory.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Where would you have gone?", "dlg_3_3") + AddConversationOption(conversation, "I'm not interested in your story anyway.") + StartConversation(conversation, NPC, Spawn, "I don't want to burden you with the details. He's...been dead now for many years. Even now, though, I remember his smile and laugh. If only I'd listened to my heart and left when I had the chance.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why didn't you join them, then?", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "I have relatives...elsewhere. They're warm, friendly and caring people. Their minds and hearts are open. Their lives are rich and full of beauty. I'm not speaking of wealth, but of another sort of richness.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm sorry to hear that.", "dlg_3_5") + AddConversationOption(conversation, "It's been a long time since then, you said. Get over it.") + StartConversation(conversation, NPC, Spawn, "My husband would not leave Freeport then. When he finally did leave, it was to take our son and...and... Well...my husband got what he deserved in the end, but not my son. He deserved a much better end.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "A client?", "dlg_3_6") + StartConversation(conversation, NPC, Spawn, "You seem like an open-minded person. We squires can sense that about others. I...can tell you more about this, if you would become a client of mine.") +end + +function dlg_3_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You have relatives elsewhere. Why don't you stay with them now?", "dlg_3_7") + StartConversation(conversation, NPC, Spawn, "There are a handful of squires in Freeport who assist their clients in learning more about other places, where our lives would not be filled with the stress that living here in Freeport can bring.") +end + +function dlg_3_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can get the coin, but it will take a bit of time.", "dlg_3_8") + AddConversationOption(conversation, "If I gave you the coin, it would be a gift and not a loan.") + AddConversationOption(conversation, "I've heard this story a thousand times. You'll not get anything from me!") + AddConversationOption(conversation, "Nice try. Hah! Good riddance.") + StartConversation(conversation, NPC, Spawn, "Widowed as young as I was, I've been unable to save anything. I barely scrape by as it is. If...if you could lend me five hundred gold, I could go to my relatives. I'd pay you back...I would!") +end + +function dlg_3_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me more.", "dlg_3_9") + StartConversation(conversation, NPC, Spawn, "I was right: your heart and mind are open. There is no need to give me anything. I have much that I can give you, though. There is a way to .. GetName(Spawn) .. . and security. Are you interested in learning about it?") +end + +function dlg_3_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I can handle it.", "dlg_3_10") + StartConversation(conversation, NPC, Spawn, "A stockpile of weapons and armor is hidden somewhere in Freeport. We must locate it before it's distributed where it will do harm. A gnomish squire invented a clever device -- a listenomitron -- that allows someone to hear things from quite a distance away. The listenomitrons only work at night, so someone whose bones do not creak as mine do is the best person for the task.") +end + +function dlg_3_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll take care of this, don't worry.", "dlg_3_11") + StartConversation(conversation, NPC, Spawn, "You are most kind. Once you've placed the listenomitrons, please visit the squire in the pub room at the Blood Haze Inn in West Freeport. You'll receive further directions then. The blessings of the gods go with you.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/KTolia.lua b/Lua/SpawnScripts/Longshadow/KTolia.lua new file mode 100755 index 000000000..71d5695a2 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/KTolia.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/KTolia.lua + Script Purpose : K`Tolia + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/alchemist/darkelf_alchemist_service_evil_1_hail_gf_28ab45b2.mp3", "Poison testers, it's been my biggest seller for the past several months. Of course poison was a close second. ", "ponder", 2704427591, 1913712670, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/KalraathLVin.lua b/Lua/SpawnScripts/Longshadow/KalraathLVin.lua new file mode 100755 index 000000000..edcc33e3f --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/KalraathLVin.lua @@ -0,0 +1,97 @@ +--[[ + Script Name : SpawnScripts/Longshadow/KalraathLVin.lua + Script Purpose : Kalraath L'Vin + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local DARKELF_MENTOR_QUEST_3 = 337 + +-- Item ID's +local ALCHEMICAL_MEDIUM = 3404 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/kalraath_l_vin/fprt_hood05/quests/kalraathlvin/kalraath_x1_000.mp3", "", "", 2994283695, 3900890535, Spawn) + + if HasCompletedQuest(Spawn, DARKELF_MENTOR_QUEST_3) then + Say(NPC, "I have no business left with you.", Spawn) + else + if HasQuest(Spawn, DARKELF_MENTOR_QUEST_3) then + if GetQuestStep(Spawn, DARKELF_MENTOR_QUEST_3) == 1 then + AddConversationOption(conversation, "You are right, I am in search of something. I was sent by Aldera, so I am pretty certain you do have something for me.", "dlg_2_1") + else + AddConversationOption(conversation, "I fear that somehow, the medium you gave me earlier has been...consumed.", "GiveAnotherMedium") + end + end + + AddConversationOption(conversation, "If you insist.") + StartConversation(conversation, NPC, Spawn, "You look like someone who is searching for something. I do not have anything for you though, so you should search elsewhere.") + end +end + +--------------------------------------------------------------------------------------------------------- +-- DARKELF_MENTOR_QUEST_3 +-------------------------------------------------------------------------------------------------------- + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/kalraath_l_vin/fprt_hood05/quests/kalraathlvin/kalraath_x1_001.mp3", "", "", 4039460783, 1284796777, Spawn) + AddConversationOption(conversation, "She is looking for an alchemical medium.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Really? I'm not expecting any business from her today. What exactly is she up to now?") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/kalraath_l_vin/fprt_hood05/quests/kalraathlvin/kalraath_x1_002.mp3", "", "", 1820176504, 2436528040, Spawn) + AddConversationOption(conversation, "An ingestible one. She said you should have it.", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "What type of medium is she looking for? There are lots of things that can be used as a medium you know.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/kalraath_l_vin/fprt_hood05/quests/kalraathlvin/kalraath_x1_003.mp3", "", "", 3888786503, 1438196062, Spawn) + AddConversationOption(conversation, "She is teaching me the ancient arts of the Teir'Dal and it is required to complete my lesson.", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "I do, but what exactly does she want to use it for?") +end + +function dlg_2_4(NPC, Spawn) + SetStepComplete(Spawn, DARKELF_MENTOR_QUEST_3, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/kalraath_l_vin/fprt_hood05/quests/kalraathlvin/kalraath_x1_004.mp3", "", "", 85765803, 4029729488, Spawn) + AddConversationOption(conversation, "Thank you.", "dlg_2_5") + StartConversation(conversation, NPC, Spawn, "Fine, take it, I do not have time to pry the whys and wherefores from you... at least, not at this moment. Let her know she owes me the normal price for it.") +end + +function GiveAnotherMedium(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Alchemical Medium + if not HasItem(Spawn, ALCHEMICAL_MEDIUM) then + SummonItem(Spawn, ALCHEMICAL_MEDIUM) + end + + AddConversationOption(conversation, "Thank you, I will keep that in mind.") + StartConversation(conversation, NPC, Spawn, "And you seek another. You must be careful with your items, for not everyone you meet will be as generous as I am in giving you another.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/KylanithDLar.lua b/Lua/SpawnScripts/Longshadow/KylanithDLar.lua new file mode 100755 index 000000000..e532de969 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/KylanithDLar.lua @@ -0,0 +1,94 @@ +--[[ + Script Name : SpawnScripts/Longshadow/KylanithDLar.lua + Script Purpose : Kylanith D`Lar + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/fprt_hood05/qst_kylanith_hail.mp3", "", "", 387692981, 2731095766, Spawn) + AddConversationOption(conversation, "I cannot chat now. Farewell.") + --AddConversationOption(conversation, "Freeport is strong! Qeynos is weak!") + StartConversation(conversation, NPC, Spawn, "They call this the Age of Destiny. It's the age of someone's or some empire's claim to destiny. The world is in ruins. And now here we are, in Freeport, begging for acceptance and the embrace of its mighty walls.") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/fprt_hood05/quests/kylanithdlar/kylanith_lore_01.mp3", "", "", 1570701615, 3622138466, Spawn) + AddConversationOption(conversation, "Careful! Do not speak the Overlord's name or we shall both die!") + AddConversationOption(conversation, "I cannot chat now. Farewell.", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Qeynos or Freeport? There was no choice for my kind. The Antonicans fear the greatness of the Teir'Dal. And the Overlord? I believe he knows he cannot rule us, but better to keep an eye on us than let us claim our destiny. We only exist within Longshadow Alley by the will of the Foci, not Lucan!") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/fprt_hood05/quests/kylanithdlar/kylanith_lore_02.mp3", "", "", 1956578837, 2860993398, Spawn) + AddConversationOption(conversation, "What grandeur?", "dlg_10_3") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "I would rather welcome death than give Lucan allegiance! To those who bask in the light, we have done little more than pose a threat to their existence. He and his puppet they call Foci will tremble when Neriak roars again! Our past grandeur shall rise again.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/fprt_hood05/quests/kylanithdlar/kylanith_lore_03.mp3", "", "", 4093915268, 1190295502, Spawn) + AddConversationOption(conversation, "What happened to Neriak?", "dlg_10_4") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "The grandeur of an empire that spans greater than the Shattered Lands. An empire that has existed longer than man or elf ruled these lands. All that most know of us is a city called Neriak, never knowing truth.") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/fprt_hood05/quests/kylanithdlar/kylanith_lore_09.mp3", "", "", 1273569291, 3869823159, Spawn) + AddConversationOption(conversation, "What relics?", "dlg_10_5") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Many say it has been consumed by the Underfoot that once sheltered it. Crushed under the weight of the falling surface as quakes rend this land asunder, creating what we now know as the Shattered Lands. We know only of the relics that remain.") +end + +function dlg_10_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/fprt_hood05/quests/kylanithdlar/kylanith_lore_10.mp3", "", "", 1404555822, 3452180553, Spawn) + AddConversationOption(conversation, "Where can I find these relics in Freeport?", "dlg_10_6") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "The Ashlands, or should I say, Nektulos? That was once the surface territory of the dark elf empire. It is littered with remnants of that ancient occupation. Even here in Freeport you can find dark elf artifacts.") +end + +function dlg_10_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/fprt_hood05/quests/kylanithdlar/kylanith_lore_11.mp3", "", "", 568372124, 1694164407, Spawn) + AddConversationOption(conversation, "I can find the five artifacts.", "dlg_10_7") + AddConversationOption(conversation, "I cannot chat now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Gossip is circulating that within the walls of Freeport our ancient allies have betrayed us yet again! The wretched oafs of Big Bend have claimed five artifacts of Thexian past. I must know if this is true!") +end + +function dlg_10_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/kylanith_d_lar/language/thexian/lan_5_kylanith_x1_initial01.mp3", "", "", 2884704375, 1873644890, Spawn) + AddConversationOption(conversation, "I will find them and report back.", "dlg_10_8") + StartConversation(conversation, NPC, Spawn, "It is rumored that the artifacts are somewhere within Big Bend's foul-stenching streets. Some artifacts have sustained great damage. Find them for me and report their existence. ") +end + diff --git a/Lua/SpawnScripts/Longshadow/LDor.lua b/Lua/SpawnScripts/Longshadow/LDor.lua new file mode 100755 index 000000000..030bb3c9c --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/LDor.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/Longshadow/LDor.lua + Script Purpose : L`Dor + Script Author : John Adams + Script Date : 2009.04.11 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function InRange(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function SaySomethingRandom(NPC, Spawn) + choice = math.random(1, 3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1302153135, 3653961458, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2781916825, 678640011, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 898812878, 1402234103, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/LotniKIria.lua b/Lua/SpawnScripts/Longshadow/LotniKIria.lua new file mode 100755 index 000000000..26751f8a9 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/LotniKIria.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/LotniKIria.lua + Script Purpose : Lotni K`Iria + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/lotni_k_iria/fprt_hood05/100_std_de_female_lotni_kiria_callout_462c415.mp3", "Another refugee... What do YOU want, peasant?", "", 1297124107, 2736745015, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/LynsiaTKanix.lua b/Lua/SpawnScripts/Longshadow/LynsiaTKanix.lua new file mode 100755 index 000000000..daed01d46 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/LynsiaTKanix.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Longshadow/LynsiaTKanix.lua + Script Purpose : Lynsia T'Kanix + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/lynsia_t_kanix/fprt_hood05/lynsiatkanix000.mp3", "", "", 2924549472, 3132470359, Spawn) + AddConversationOption(conversation, "I am just taking a look around. ", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "The wine I serve tastes like the wines of Neriak. Ah ... how I miss drinking the fine wine of my homeland. Now, what do you want, peasant?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/MalizTRaan.lua b/Lua/SpawnScripts/Longshadow/MalizTRaan.lua new file mode 100755 index 000000000..1c9c27841 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/MalizTRaan.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Longshadow/MalizTRaan.lua + Script Purpose : Maliz T`Raan + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional1/maliz_t_raan/fprt_hood05/100_std_de_male_maliz_traan_callout_927f5c89.mp3", "Living in these slums is sickening! What do you want from me?", "", 1122076255, 1993662428, Spawn) +end + diff --git a/Lua/SpawnScripts/Longshadow/ModianKJarr.lua b/Lua/SpawnScripts/Longshadow/ModianKJarr.lua new file mode 100755 index 000000000..a496ecfa9 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/ModianKJarr.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Longshadow/ModianKJarr.lua + Script Purpose : Modian K`Jarr + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/modian_k_jarr/fprt_hood05/std_de_male_modian_kjarr.mp3", "", "", 531408061, 599233569, Spawn) + AddConversationOption(conversation, "I guess I will.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "If you couldn't tell, I'm enjoying a drink. Now that your curiousity has been sated, perhaps you'll leave me alone?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/NezzkaSTai.lua b/Lua/SpawnScripts/Longshadow/NezzkaSTai.lua new file mode 100755 index 000000000..d9c6ae2a2 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/NezzkaSTai.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Longshadow/NezzkaSTai.lua + Script Purpose : Nezzka S`Tai + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1, 5) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_dismalrage/ft/eco/evil/darkelf_female_eco_evil_dismalrage_hail_gf_5a9793ef.mp3", "The Coalition of Tradesfolke aren't capable of serving anyone other than to serve its own greed.", "", 3353210602, 2809554948, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_dismalrage/ft/eco/evil/darkelf_female_eco_evil_dismalrage_hail_gf_7abc3066.mp3", "Too often the Arcane Scientists at the academy dedicate themselves to useless knowledge that is of no use to our city.", "", 1261386119, 1368644822, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_dismalrage/ft/eco/evil/darkelf_female_eco_evil_dismalrage_hail_gf_7d78cf9d.mp3", "The weak souls of the Seafury Buccaneers only cry, running to a priest when facing certain death.", "", 683812929, 1852419614, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_dismalrage/ft/eco/evil/darkelf_female_eco_evil_dismalrage_hail_gf_b9254acf.mp3", "The words preached by the Dismal Rage bring spiritual enlightenment to the weak.", "", 116806204, 1893451787, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_dismalrage/ft/eco/evil/darkelf_female_eco_evil_dismalrage_hail_gf_f7ca6051.mp3", "I find it vile that our great city has entrusted its protection to a group of degenerates such as the Freeport Militia.", "", 1175835727, 2628271838, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/OrianDRak.lua b/Lua/SpawnScripts/Longshadow/OrianDRak.lua new file mode 100755 index 000000000..e84b2f1e5 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/OrianDRak.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/OrianDRak.lua + Script Purpose : Orian D`Rak + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "How dare you barge into my house! Who do you think you are, fool?", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/PThek.lua b/Lua/SpawnScripts/Longshadow/PThek.lua new file mode 100755 index 000000000..3fd62641f --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/PThek.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/PThek.lua + Script Purpose : P`Thek + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/scribe/darkelf_scribe_service_evil_1_hail_gf_8de85b9c.mp3", "Perhaps I could interest you in our necromantic line of spells? ", "agree", 3172095768, 4205908579, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/ShNra.lua b/Lua/SpawnScripts/Longshadow/ShNra.lua new file mode 100755 index 000000000..203f593a1 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/ShNra.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/Longshadow/ShNra.lua + Script Purpose : Sh`Nra + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function InRange(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function SaySomethingRandom(NPC, Spawn) + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3860282907, 2830883681, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1457896156, 727813168, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1486780566, 1792397389, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/ShadowsKiss.lua b/Lua/SpawnScripts/Longshadow/ShadowsKiss.lua new file mode 100755 index 000000000..d8cf1aafc --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/ShadowsKiss.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +-- Quest ID's +local A_LESSON_TO_LEARN = 336 + +function spawn(NPC) + SetRequiredQuest(NPC, A_LESSON_TO_LEARN, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/TGask.lua b/Lua/SpawnScripts/Longshadow/TGask.lua new file mode 100755 index 000000000..9b0687452 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/TGask.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/Longshadow/TGask.lua + Script Purpose : T`Gask + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1486780566, 1792397389, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3860282907, 2830883681, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/TNarra.lua b/Lua/SpawnScripts/Longshadow/TNarra.lua new file mode 100755 index 000000000..cfa64494c --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/TNarra.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Longshadow/TNarra.lua + Script Purpose : T`Narra + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1, 4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 2007336774, 276021764, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 2216401374, 2200952527, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_e6d19328.mp3", "The Overlord commands me to work the night shift and so I must accept.", "tapfoot", 1941665390, 4180571964, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gf_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1432151232, 2291117299, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/TVal.lua b/Lua/SpawnScripts/Longshadow/TVal.lua new file mode 100755 index 000000000..b1f6fe3d0 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/TVal.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Longshadow/TVal.lua + Script Purpose : T`Val + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/banker_t_val/fprt_hood05/bnk_banker_tval.mp3", "", "", 90970771, 1252206294, Spawn) + AddConversationOption(conversation, "I'll keep that in mind.") + StartConversation(conversation, NPC, Spawn, "Hail to you. Currency exchange, secure storage of goods, I offer a range of services tailored to the needs of Freeport guild members.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/TVek.lua b/Lua/SpawnScripts/Longshadow/TVek.lua new file mode 100755 index 000000000..f76a7a18e --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/TVek.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Longshadow/TVek.lua + Script Purpose : T`Vek + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1, 4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3330899926, 205777100, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 3071777755, 1811086423, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3455786340, 1963116786, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 3432620709, 3039361332, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/TeahJNar.lua b/Lua/SpawnScripts/Longshadow/TeahJNar.lua new file mode 100755 index 000000000..fecfeba87 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/TeahJNar.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Longshadow/TeahJNar.lua + Script Purpose : Teah J'Nar + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + MoveToLocation(NPC, -1.79, 0, -19.09, 2, "AtDestination") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function AtDestination(NPC) + PlayFlavor(NPC, "", "Hmm, this bread tastes a bit better than normal, almost fresh.", "", 1689589577, 4560189, Spawn) + Bread = GetSpawn(NPC, 1380102) + Despawn(Bread, 1000) + AddTimer(NPC, 3000, "Talk2") +end + +function Talk2(NPC) + PlayFlavor(NPC, "", "Wait.. Argh....", "", 1689589577, 4560189, Spawn) + AddTimer(NPC, 2000, "KillTeah") +end + +function KillTeah(NPC) + KillSpawn(NPC, nil, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/VDyhn.lua b/Lua/SpawnScripts/Longshadow/VDyhn.lua new file mode 100755 index 000000000..a303e2197 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/VDyhn.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Longshadow/VDyhn.lua + Script Purpose : V`Dyhn + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2781916825, 678640011, Spawn) +end + diff --git a/Lua/SpawnScripts/Longshadow/VTun.lua b/Lua/SpawnScripts/Longshadow/VTun.lua new file mode 100755 index 000000000..b4337cb52 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/VTun.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Longshadow/VTun.lua + Script Purpose : V`Tun + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3860282907, 2830883681, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1457896156, 727813168, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1486780566, 1792397389, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/VorsharLFaz.lua b/Lua/SpawnScripts/Longshadow/VorsharLFaz.lua new file mode 100755 index 000000000..25965325b --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/VorsharLFaz.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/Longshadow/VorsharLFaz.lua + Script Purpose : Vorshar L`Faz + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function InRange(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function SaySomethingRandom(NPC, Spawn) + choice = math.random(1, 3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_coalitionoftradesfolke/ft/eco/evil/darkelf_male_eco_evil_coalitionoftradesfolke_hail_gm_a8fbb723.mp3", "The arcane scientists hone their minds through the study of arcane arts, but they will never become as cunning as a skilled trader.", "", 4254147398, 134359674, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_coalitionoftradesfolke/ft/eco/evil/darkelf_male_eco_evil_coalitionoftradesfolke_hail_gm_cd3a748b.mp3", "The withering hands of the Dismal Rage priests look more like hands of death than hands that can heal people.", "", 2122145851, 2411357575, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_coalitionoftradesfolke/ft/eco/evil/darkelf_male_eco_evil_coalitionoftradesfolke_hail_gm_263a8bb0.mp3", "Although they serve to protect the city, the individuals of the Freeport Militia are only loyal to their own self interest and nothing more.", "", 3104017481, 741752503, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/YaranaDVen.lua b/Lua/SpawnScripts/Longshadow/YaranaDVen.lua new file mode 100755 index 000000000..65ff1da36 --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/YaranaDVen.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/YaranaDVen.lua + Script Purpose : Yarana D'Ven + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Do not waste my precious time by begging for attention.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Longshadow/ZelinaTVon.lua b/Lua/SpawnScripts/Longshadow/ZelinaTVon.lua new file mode 100755 index 000000000..786c3981c --- /dev/null +++ b/Lua/SpawnScripts/Longshadow/ZelinaTVon.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Longshadow/ZelinaTVon.lua + Script Purpose : Zelina T`Von + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional5/standard_dark_elf_female/fprt_hood05/quests/zelinatvon/pm_dztv_callout1_64.mp3", "That no-good, two-timing, imp ... I'll teach him to stare at that trollop! ...What? What do you want, you babbling fool?", "", 1206032882, 2859314838, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/LopingPlains/aNightmarehandler.lua b/Lua/SpawnScripts/LopingPlains/aNightmarehandler.lua new file mode 100755 index 000000000..dde09a8d8 --- /dev/null +++ b/Lua/SpawnScripts/LopingPlains/aNightmarehandler.lua @@ -0,0 +1,156 @@ +--[[ + Script Name : SpawnScripts/LopingPlains/anightmarehandler.lua + Script Purpose : a nightmare handler (1160002) + Script Author : Neatz09 + Script Date : 4/14/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 367286 then + AddConversationOption(con, "To Greater Faydark", "SombornToGFay") + AddConversationOption(con, "To Lesser Faydark.", "SombornToLFay") + AddConversationOption(con, "To Steamfont Mountains.", "SombornToSFM") + AddConversationOption(con, "To Timorous Moor.", "SombornToTM") + elseif GetSpawnLocationID(NPC) == 367289 then + AddConversationOption(con, "To Greater Faydark.", "LFayToGFay") + AddConversationOption(con, "To Somborn.", "LFayToSomborn") + AddConversationOption(con, "To Steamfont Mountains.", "LFayToSFM") + AddConversationOption(con, "To Timorous Moor.", "LFayToTM") + elseif GetSpawnLocationID(NPC) == 367287 then + AddConversationOption(con, "To Lesser Faydark.", "GFayToLFay") + AddConversationOption(con, "To Somborn.", "GFayToSomborn") + AddConversationOption(con, "To Steamfont Mountains.", "GFayToSFM") + AddConversationOption(con, "To Timorous Moor.", "GFayToTM") + elseif GetSpawnLocationID(NPC) == 367288 then + AddConversationOption(con, "To Greater Faydark.", "TMToGFay") + AddConversationOption(con, "To Lesser Faydark.", "TMToLFay") + AddConversationOption(con, "To Somborn.", "TMToSomborn") + AddConversationOption(con, "To Steamfont Mountains.", "TMToSFM") + elseif GetSpawnLocationID(NPC) == 367285 then + AddConversationOption(con, "To Greater Faydark.", "SFMToGFay") + AddConversationOption(con, "To Lesser Faydark.", "SFMTToLFay") + AddConversationOption(con, "To Somborn.", "SFMTToSomborn") + AddConversationOption(con, "To Timorous Moor.", "SFMToTM") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function SombornToGFay(NPC, Spawn) + StartAutoMount(Spawn, 970) + SetMount(Spawn, 8211) +end + +function SombornToLFay(NPC, Spawn) + StartAutoMount(Spawn, 972) + SetMount(Spawn, 8211) +end + +function SombornToSFM(NPC, Spawn) + StartAutoMount(Spawn, 976) + SetMount(Spawn, 8211) +end + +function SombornToTM(NPC, Spawn) + StartAutoMount(Spawn, 974) + SetMount(Spawn, 8211) +end + +function LFayToGFay(NPC, Spawn) + StartAutoMount(Spawn, 977) + SetMount(Spawn, 8211) +end + +function LFayToSomborn(NPC, Spawn) + StartAutoMount(Spawn, 969) + SetMount(Spawn, 8211) +end + +function LFayToSFM(NPC, Spawn) + StartAutoMount(Spawn, 979) + SetMount(Spawn, 8211) +end + +function LFayToTM(NPC, Spawn) + StartAutoMount(Spawn, 978) + SetMount(Spawn, 8211) +end + +function GFayToLFay(NPC, Spawn) + StartAutoMount(Spawn, 980) + SetMount(Spawn, 8211) +end + +function GFayToSomborn(NPC, Spawn) + StartAutoMount(Spawn, 969) + SetMount(Spawn, 8211) +end + +function GFayToSFM(NPC, Spawn) + StartAutoMount(Spawn, 982) + SetMount(Spawn, 8211) +end + +function GFayToTM(NPC, Spawn) + StartAutoMount(Spawn, 981) + SetMount(Spawn, 8211) +end + +function TMToGFay(NPC, Spawn) + StartAutoMount(Spawn, 983) + SetMount(Spawn, 8211) +end + +function TMToLFay(NPC, Spawn) + StartAutoMount(Spawn, 984) + SetMount(Spawn, 8211) +end + +function TMToSomborn(NPC, Spawn) + StartAutoMount(Spawn, 973) + SetMount(Spawn, 8211) +end + +function TMToSFM(NPC, Spawn) + StartAutoMount(Spawn, 985) + SetMount(Spawn, 8211) +end + +function SFMToGFay(NPC, Spawn) + StartAutoMount(Spawn, 986) + SetMount(Spawn, 8211) +end + +function SFMToLFay(NPC, Spawn) + StartAutoMount(Spawn, 987) + SetMount(Spawn, 8211) +end + +function SFMToSomborn(NPC, Spawn) + StartAutoMount(Spawn, 976) + SetMount(Spawn, 8211) +end + +function SFMToTM(NPC, Spawn) + StartAutoMount(Spawn, 988) + SetMount(Spawn,8211) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/ASwineFiend.lua b/Lua/SpawnScripts/Nektropos1/ASwineFiend.lua new file mode 100755 index 000000000..47c30c6bf --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/ASwineFiend.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/ASwineFiend.lua + Script Purpose : + Script Author : smash + Script Date : 1/26/2016 + Script Notes : +--]] + +function spawn(NPC) + MovementPath1(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function MovementPath1(NPC) + MoveToLocation(NPC, -43.37, 0.5, 65.91, 2, "MovementPath2") +end + +function MovementPath2(NPC) + MoveToLocation(NPC, -9.41, 0.5, 66.21, 2, "MovementPath3") +end + +function MovementPath3(NPC) + MoveToLocation(NPC, -9.35, 0.5, 40.40, 2, "MovementPath4") +end + +function MovementPath4(NPC) + MoveToLocation(NPC, -17.23, 0.5, 40.39, 2) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/Alexa.lua b/Lua/SpawnScripts/Nektropos1/Alexa.lua new file mode 100755 index 000000000..f13d56e10 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/Alexa.lua @@ -0,0 +1,85 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/Alexa.lua + Script Purpose : Alexa in the Chapel + Script Author : smash + Script Date : 1/28/2016 + Script Notes : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetTempVariable(NPC, "talking") ~= "true" then + StartDialogLoop(NPC, Spawn) + local player_group = GetGroup(Spawn) + if player_group ~= nil then + for k,v in ipairs(player_group) do + if IsPlayer(v) and GetPlayerHistory(v, HISTORY.NEK_CASTLE_SCONCE_ACCESS) ~= 1 then + SetPlayerHistory(v, HISTORY.NEK_CASTLE_SCONTZ_KEY_ACCESS, 1) + end + end + elseif GetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_SCONCE_ACCESS) ~= 1 then + SetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_SCONCE_KEY_ACCESS, 1) + end + end +end + +function StartDialogLoop(NPC, Spawn) + SetTempVariable(NPC, "talking", "true") + Say(NPC, "Finally someone who may be strong enough to free me from this wretched place.") + AddTimer(NPC, 3500, "Dialog2") +end + +function Dialog2(NPC) + Say(NPC, "If you will aid me I can lead you to Rikantus Everling's treasures.") + AddTimer(NPC, 3500, "Dialog3") +end + +function Dialog3(NPC) + Say(NPC, "Rikantus gathered strange and odd artifacts from across the land,") + AddTimer(NPC, 3500, "Dialog4") +end + +function Dialog4(NPC) + Say(NPC, "and hid them in a secret chamber of the castle. If you release my soul I will tell you where they are.") + AddTimer(NPC, 3500, "Dialog5") +end + +function Dialog5(NPC) + Say(NPC, "One of Rikantus' daughters, Elise, built a basement beneath her room without her father's knowledge.") + AddTimer(NPC, 3500, "Dialog6") +end + +function Dialog6(NPC) + Say(NPC, "It allowed her to sneak about the castle whenever she desired.") + AddTimer(NPC, 3500, "Dialog7") +end + +function Dialog7(NPC) + Say(NPC, "The architect of the basement wanted to tell Lord Everling about the basement but was unable to before he had to leave.") + AddTimer(NPC, 3500, "Dialog8") +end + +function Dialog8(NPC) + Say(NPC, "He wrote a letter to Lord Everling and hid it in the parlor for him to find.") + AddTimer(NPC, 3500, "Dialog9") +end + +function Dialog9(NPC) + Say(NPC, "If you can find that note, you may be able to find a way into the basement.") + AddTimer(NPC, 3500, "Dialog10") +end + +function Dialog10(NPC) + Say(NPC, "If you can gain access to the basement, I can show you how to release me and to the treasures.") + AddTimer(NPC, 3500, "Dialog11") +end + +function Dialog11(NPC) + Say(NPC, "Please hurry. If he finds out I have been speaking with you, he will punish me.") + AddTimer(NPC, 5000, "Despawn") + SpawnByLocationID(GetZone(NPC), 1584474) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/AlexaBasement.lua b/Lua/SpawnScripts/Nektropos1/AlexaBasement.lua new file mode 100755 index 000000000..a1532b952 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/AlexaBasement.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/AlexaBasement.lua + Script Purpose : Alexa after reaching the basement + Script Author : smash + Script Date : 9/12/2016 + Script Notes : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetTempVariable(NPC, "talking") ~= "true" then + StartDialogLoop(NPC, Spawn) + local player_group = GetGroup(Spawn) + if player_group ~= nil then + for k,v in ipairs(player_group) do + SetPlayerHistory(v, HISTORY.NEK_CASTLE_BASEMENT_STUDY_ACCESS, 1) + end + else + SetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_BASEMENT_STUDY_ACCESS, 1) + end + end +end + +function StartDialogLoop(NPC, Spawn) + SetTempVariable(NPC, "talking", "true") + Say(NPC, "You are almost there.") + AddTimer(NPC, 3500, "Dialog2") +end + +function Dialog2(NPC) + Say(NPC, "This basement is rife with hidden doors and secret passageways.") + AddTimer(NPC, 3500, "Dialog3") +end + +function Dialog3(NPC) + Say(NPC, "Lord Everling has a research chamber in the basement,") + AddTimer(NPC, 3500, "Dialog4") +end + +function Dialog4(NPC) + Say(NPC, "head back down this hallway and examine the torch sconces along the walls.") + AddTimer(NPC, 3500, "Dialog5") +end + +function Dialog5(NPC) + Say(NPC, "One of the sconces will move opening up the entrance to the research laboratory.") + AddTimer(NPC, 3500, "Dialog6") +end + +function Dialog6(NPC) + Say(NPC, "Inside the chamber you should find a scroll that will reveal the location of the rest of the secret doors.") + AddTimer(NPC, 3000, "SpawnAlexaOllix") +end + +function SpawnAlexaOllix(NPC) + SpawnByLocationID(GetZone(NPC), 1584996) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/AlexaLockets.lua b/Lua/SpawnScripts/Nektropos1/AlexaLockets.lua new file mode 100755 index 000000000..088480cbe --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/AlexaLockets.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/AlexaLockets.lua + Script Purpose : Alexa after defeating the sisters for The Everling Lockets quest + Script Author : smash + Script Date : 9/8/2016 + Script Notes : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetTempVariable(NPC, "talking") ~= "true" then + StartDialogLoop(NPC, Spawn) + local player_group = GetGroup(Spawn) + if player_group ~= nil then + for k,v in ipairs(player_group) do + SetPlayerHistory(v, HISTORY.NEK_CASTLE_LIBRARY_ACCESS, 1) + end + else + SetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_LIBRARY_ACCESS, 1) + end + end +end + +function StartDialogLoop(NPC, Spawn) + SetTempVariable(NPC, "talking", "true") + Say(NPC, "Wonderful you have gathered all the lockets.") + AddTimer(NPC, 3500, "Dialog2") +end + +function Dialog2(NPC) + Say(NPC, "Unfortunately I have learned that Everling has added another protection to his door.") + AddTimer(NPC, 3500, "Dialog3") +end + +function Dialog3(NPC) + Say(NPC, "He also gave his son Ollix a locket and has created a slot for that locket as well.") + AddTimer(NPC, 3500, "Dialog4") +end + +function Dialog4(NPC) + Say(NPC, "Thankfully I know the resting place of the locket, it was buried with Ollix when he died.") + AddTimer(NPC, 3500, "Dialog5") +end + +function Dialog5(NPC) + Say(NPC, "I have managed to unlock all of the doors within the castle area so you can move freely about.") + AddTimer(NPC, 3500, "Dialog6") +end + +function Dialog6(NPC) + Say(NPC, "You will need to gain access to Lord Everlings bedchamber,") + AddTimer(NPC, 3500, "Dialog7") +end + +function Dialog7(NPC) + Say(NPC, "there is a passageway behind the bookshelves within his bedchamber that leads to the castles lower levels.") + AddTimer(NPC, 5000, "Despawn") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/AlexaOllix.lua b/Lua/SpawnScripts/Nektropos1/AlexaOllix.lua new file mode 100755 index 000000000..1e2a845ca --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/AlexaOllix.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/AlexaOllix.lua + Script Purpose : Alexa before changing into Ollix Everling + Script Author : smash + Script Date : 9/12/2016 + Script Notes : +--]] + +function spawn(NPC) + SpawnSet(NPC, "attackable", "1") + SpawnSet(NPC, "show_level", "1") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function AlexaTalk(NPC) + if GetTempVariable(NPC, "talked") ~= "true" then + SetTempVariable(NPC, "talked", "true") + Say(NPC, "Ahh, finally you have arrived. Father will thank me for supplying him with more parts for his experiments.") + end +end + +function aggro(NPC, Spawn) + AlexaTalk(NPC) +end + +function attacked(NPC, Spawn) + AlexaTalk(NPC) +end + +function death(NPC, Spawn) + --spawn Ollix Everling + SpawnByLocationID(GetZone(NPC), 616644) +end + +function CombatReset(NPC) + SetTempVariable(NPC, "talked", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/AlexaRamparts.lua b/Lua/SpawnScripts/Nektropos1/AlexaRamparts.lua new file mode 100755 index 000000000..bc7b14630 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/AlexaRamparts.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/AlexaRamparts.lua + Script Author : smash + Script Date : 2016.02.02 01:02:43 + Script Purpose : + : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetTempVariable(NPC, "talking") ~= "true" then + SetTempVariable(NPC, "talking", "true") + StartDialogLoop(NPC, Spawn) + end +end + +function StartDialogLoop(NPC, Spawn) + Say(NPC, "I knew you were strong enough to save me.") + AddTimer(NPC, 3500, "Dialog2", 1, Spawn) +end + +function Dialog2(NPC, Spawn) + Say(NPC, "In order to get into the room where Lord Everling keeps his most prized possessions") + AddTimer(NPC, 3000, "Dialog3", 1, Spawn) +end + +function Dialog3(NPC, Spawn) + Say(NPC, "you'll need to gather six lockets.") + AddTimer(NPC, 3000, "Dialog4", 1, Spawn) +end + +function Dialog4(NPC, Spawn) + Say(NPC, "Everling gave a locket to each of his six daughters. Only with all six can the door be opened.") + AddTimer(NPC, 3500, "Dialog5", 1, Spawn) +end + +function Dialog5(NPC, Spawn) + Say(NPC, "Get these lockets from the sisters however you can.") + AddTimer(NPC, 3000, "Dialog6", 1, Spawn) +end + +function Dialog6(NPC, Spawn) + Say(NPC, "Please hurry.") + AddTimer(NPC, 3000, "Despawn") + + --Offer The Everling Lockets to the whole group + local player_group = GetGroup(Spawn) + if player_group ~= nil then + for k,v in ipairs(player_group) do + if IsPlayer(v) and CanReceiveQuest(v, 177) then + OfferQuest(nil, v, 177) + end + end + elseif CanReceiveQuest(Spawn, 177) then + OfferQuest(nil, Spawn, 177) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/ArchfiendIzzoroth.lua b/Lua/SpawnScripts/Nektropos1/ArchfiendIzzoroth.lua new file mode 100755 index 000000000..1c176a676 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/ArchfiendIzzoroth.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/ArchfiendIzzoroth.lua + Script Author : smash + Script Date : 2016.09.09 03:09:44 + Script Purpose : + : +--]] + +function spawn(NPC) + SetSpeedMultiplier(NPC, 0) + AddTimer(NPC, 6000, "MakeAttackable") +end + +function DemonTalk(NPC) + local choice = math.random(1,2) + + --Check for understood language, or that should be handled in code? + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/nightblood_base_2/ft/nightblood/nightblood_base_2_1_garbled_26ecf0b.mp3", "Keb'ma moktar vekshet pa", "", 203325556, 752859570, nil, 24) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/nightblood_base_2/ft/nightblood/nightblood_base_2_1_garbled_5d4f1d0d.mp3", "Velfar sek'tem molorad su'vehrem", "", 1706934970, 2177477527, nil, 24) + end +end + +function MakeAttackable(NPC) + DemonTalk(NPC) + SpawnSet(NPC, "attackable", "1") + SpawnSet(NPC, "show_level", "1") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/BalconyDoor.lua b/Lua/SpawnScripts/Nektropos1/BalconyDoor.lua new file mode 100755 index 000000000..ab48ae8dc --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/BalconyDoor.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/BalconyDoor.lua + Script Author : smash + Script Date : 2016.02.06 02:02:31 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function can_use_command(NPC, Spawn, Message) + if not HasCompletedQuest(Spawn, 173) then + SendMessage(Spawn, "This door seems magically barred", "yellow") + return false + end + return true +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/BarracksDoor.lua b/Lua/SpawnScripts/Nektropos1/BarracksDoor.lua new file mode 100755 index 000000000..ed8e4c202 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/BarracksDoor.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/BarracksDoor.lua + Script Author : smash + Script Date : 2016.01.26 03:01:00 + Script Purpose : + : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 175, 2, 0, 1) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Nektropos1/BarracksDoor2.lua b/Lua/SpawnScripts/Nektropos1/BarracksDoor2.lua new file mode 100755 index 000000000..f33e68e17 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/BarracksDoor2.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/BarracksDoor2.lua + Script Author : smash + Script Date : 2016.01.27 03:01:00 + Script Purpose : + : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 175, 2, 0, 1) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Nektropos1/BasementSecretDoor.lua b/Lua/SpawnScripts/Nektropos1/BasementSecretDoor.lua new file mode 100755 index 000000000..487b5227d --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/BasementSecretDoor.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/BasementSecretDoor.lua + Script Author : smash + Script Date : 2016.09.13 11:09:11 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) + SetRequiredHistory(NPC, HISTORY.NEK_CASTLE_BASEMENT_ACCESS, 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/CaptainGavinBook.lua b/Lua/SpawnScripts/Nektropos1/CaptainGavinBook.lua new file mode 100755 index 000000000..3e76e26ed --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/CaptainGavinBook.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/CaptainGavinBook.lua + Script Author : smash + Script Date : 2016.09.11 12:09:11 + Script Purpose : + : +--]] + +function casted_on(NPC, Spawn, Message) + local conversation = CreateConversation() + AddConversationOption(conversation, "Read the book.", "ReadBook1") + AddConversationOption(conversation, "Leave the book alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "As you pick up the book several pages fall out and crumble to dust. You flip through the book, but very few pages are legible.") +end + +function ReadBook1(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Turn the page carefully.", "ReadBook2") + AddConversationOption(conversation, "Flip through the book.", "FinishReading") + StartDialogConversation(conversation, 1, NPC, Spawn, "Droplets of water appear to mar what little writing is left on this page.....beloved sons Ollix and Maltus have passed beyond my grasp. For all my wealth I could not save them from.....") +end + +function ReadBook2(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Keep reading.", "ReadBook3") + AddConversationOption(conversation, "Stop reading.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "3145 Firstchill..........with the death of our sons, Alana's heart was broken. I buried her this morning..........") +end + +function ReadBook3(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Turn the page.", "ReadBook4") + AddConversationOption(conversation, "Stop reading.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "...entry 3151 Busheldown, Burnday the 15th, I have sent my daughters guardians away at my daughters requests. I did not want to do this, but I love my daughters too much to deny their....") +end + +function ReadBook4(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Continue reading.", "ReadBook5") + AddConversationOption(conversation, "Stop reading.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "...entry 3174 Lastleaf, Feastday the 27th, .......guardians to watch over my daughters they have become more reckless, especially Elise. Twice now we have caught her out walking the ramparts............") +end + +function ReadBook5(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Keep reading.", "ReadBook6") + AddConversationOption(conversation, "Stop reading.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "...I was forced to watch the horror.....my own children....before my eyes......I live now only to avenge them........") +end + +function ReadBook6(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "The last few pages are all but illegible.", "FinishReading") + StartDialogConversation(conversation, 1, NPC, Spawn, "3397....fathers work shall not go unfinished....descendants of the guardians.......") +end + +function FinishReading(NPC, Spawn) + CloseConversation(NPC, Spawn) + SendMessage(Spawn, "The pages of the book deteriorate into dust.") + if GetTempVariable(NPC, "CaptainSpawned") ~= "true" then + SpawnByLocationID(GetZone(NPC), 616620) + SetTempVariable(NPC, "CaptainSpawned", "true") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/Crystashandmaiden.lua b/Lua/SpawnScripts/Nektropos1/Crystashandmaiden.lua new file mode 100755 index 000000000..3a1e30515 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/Crystashandmaiden.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/Crystashandmaiden.lua + Script Author : smash + Script Date : 2016.09.10 09:09:23 + Script Purpose : + : +--]] + +function death(NPC, Spawn) + local bed = GetSpawnByLocationID(GetZone(NPC), 439534) + SpawnSet(bed, "show_command_icon", "1") + SpawnSet(bed, "display_hand_icon", "1") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/ElisesDiary.lua b/Lua/SpawnScripts/Nektropos1/ElisesDiary.lua new file mode 100755 index 000000000..1379fa6de --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/ElisesDiary.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/ElisesDiary.lua + Script Author : smash + Script Date : 2016.02.06 04:02:12 + Script Purpose : + : +--]] + +function spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + Dialog1(NPC, Spawn) +end + + +function EndConvo(NPC) + SpawnSet(NPC, "heading", "80") +end + +function TryPickupBook(NPC, Spawn) + SendMessage(Spawn, "As you put the book in your pack, it flies from your hand and returns to rest on the dresser.") + EndConvo(NPC) +end + +function Dialog1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Read what you can from the book.", "Dialog1_1") + AddConversationOption(conversation, "Put the book down.", "EndConvo") + StartConversation(conversation, NPC, Spawn, "You pick the book up and begin to read it, most of the pages from the book have been torn out but a few are still legible.") +end + +function Dialog1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Keep reading.", "Dialog2_1") + AddConversationOption(conversation, "Stop reading and put the book down.", "EndConvo") + AddConversationOption(conversation, "Stop reading, but take the book with you.", "TryPickupBook") + StartConversation(conversation, NPC, Spawn, ".... was nearly seen last night.") +end + +function Dialog2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Continue reading.", "Dialog3_1") + AddConversationOption(conversation, "Stop reading and put the book down.", "EndConvo") + AddConversationOption(conversation, "Stop reading, but take the book with you.", "TryPickupBook") + StartConversation(conversation, NPC, Spawn, "..Sheila nearly killed me when she heard the guards talking about someone walking the ramparts last night.....") +end + +function Dialog3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Put the book down.", "EndConvo") + AddConversationOption(conversation, "Take the book with you.", "TryPickupBook") + StartConversation(conversation, NPC, Spawn, "With my new cloak, it should be easier for me to sneak out at night...Nothing else in the book appears to be legible. ") + + SpawnElise(NPC) +end + +function SpawnElise(NPC) + if GetTempVariable(NPC, "elise_spawned") ~= "true" then + SetTempVariable(NPC, "elise_spawned", "true") + SpawnByLocationID(GetZone(NPC), 616586) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/EverlingLocketDoor.lua b/Lua/SpawnScripts/Nektropos1/EverlingLocketDoor.lua new file mode 100755 index 000000000..cd9d35328 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/EverlingLocketDoor.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/EverlingLocketDoor.lua + Script Author : smash + Script Date : 2016.02.06 12:02:35 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) + +end + +function can_use_command(NPC, Spawn, Message) + if GetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_LIBRARY_ACCESS) ~= 1 then + SendMessage(Spawn, "This door seems magically barred", "yellow") + return false + end + return true +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/EverlingQuartersDoor.lua b/Lua/SpawnScripts/Nektropos1/EverlingQuartersDoor.lua new file mode 100755 index 000000000..a579f9621 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/EverlingQuartersDoor.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/EverlingQuartersDoor.lua + Script Author : smash + Script Date : 2016.02.06 03:02:15 + Script Purpose : + : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 177, 8, 0, 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/EverlingSisters.lua b/Lua/SpawnScripts/Nektropos1/EverlingSisters.lua new file mode 100755 index 000000000..bb7aa8e43 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/EverlingSisters.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/EverlingSisters.lua + Script Author : smash + Script Date : 2016.09.09 05:09:39 + Script Purpose : Checking if all of the Everling sisters have been killed for this instance + : Alexa will spawn once again if so +--]] + +--Location IDs + +local SISTERS = { +JENNI = 616531, +SHEILA = 616585, +DEIRDRE = 616611, +CRYSTA = 616609, +ELISE = 616586, +MELANIE = 616608 +} + +function CheckSistersKilled(NPC, Spawn) + --Using Sheila's bedroom door to track this + --Random but it should never despawn + local zone = GetZone(NPC) + local door = GetSpawnByLocationID(zone, 1439498) + SetTempVariable(door, GetSpawnLocationID(NPC), "killed") + + for k,v in pairs(SISTERS) do + if GetTempVariable(door, v) ~= "killed" then + return + end + end + + --All of the sisters have been killed, spawn Alexa where this sister died + local alexa = SpawnMob(GetZone(NPC), 1780201, 0, GetX(NPC), GetY(NPC), GetZ(NPC), 0) + FaceTarget(alexa, Spawn) +end + +function death(NPC, Spawn) + CheckSistersKilled(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/GameRoomDoor.lua b/Lua/SpawnScripts/Nektropos1/GameRoomDoor.lua new file mode 100755 index 000000000..499722625 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/GameRoomDoor.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/GameRoomDoor.lua + Script Purpose : + Script Author : smash + Script Date : 1/26/2016 + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 176, 2, 0, 1) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/GuardCaptainGavin.lua b/Lua/SpawnScripts/Nektropos1/GuardCaptainGavin.lua new file mode 100755 index 000000000..bdd82fc86 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/GuardCaptainGavin.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/GuardCaptainGavin.lua + Script Author : smash + Script Date : 2016.09.11 12:09:30 + Script Purpose : + : +--]] + +function spawn(NPC) + AddTimer(NPC, 2000, "RunIntoRoom") +end + +function RunIntoRoom(NPC) + --Open the door about a second after he starts to run + local door = GetSpawnByLocationID(GetZone(NPC), 1439509) + AddTimer(NPC, 1000, "OpenDoors", 1, door) + + --Now run into the room like a mad man + MoveToLocation(NPC, 17.32, 13.50, -44.45, 6, "DramaticEntry") +end + +function DramaticEntry(NPC) + PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_e0fead4d.mp3", "Pintoota kolata eldina mastarina", "", 0, 0, nil, 27) +end + +function OpenDoors(NPC, door) + UseWidget(door) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/InquisitorofUllkorruuk.lua b/Lua/SpawnScripts/Nektropos1/InquisitorofUllkorruuk.lua new file mode 100755 index 000000000..1ca230767 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/InquisitorofUllkorruuk.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/InquisitorofUllkorruuk.lua + Script Purpose : Inquisitor of Ullkorruuk + Script Author : smash + Script Date : 1/28/2016 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 3000, "DelayedSpawnChat") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function death(NPC) + SpawnByLocationID(GetZone(NPC), 1584473) +end + +function DelayedSpawnChat(NPC) + Say(NPC, "Defilers, I shall purge your taint from this holy place.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/JenniEverling.lua b/Lua/SpawnScripts/Nektropos1/JenniEverling.lua new file mode 100755 index 000000000..ac11e25eb --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/JenniEverling.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/JenniEverling.lua + Script Author : smash + Script Date : 2016.09.09 05:09:39 + Script Purpose : Spawning Jenni's teacher + : +--]] + +require "SpawnScripts/Nektropos1/EverlingSisters" + +function healthchanged(NPC, Spawn) + local hp = GetHP(NPC) + local max_hp = GetMaxHP(NPC) + --Try to spawn Jenni's teacher at around 70% hp remaining + if hp / max_hp <= .70 and GetTempVariable(NPC, "TeacherSpawned") ~= "true" then + --Spawn Jenni's teacher + local teacher = SpawnByLocationID(GetZone(NPC), 616610) + Attack(teacher, Spawn) + Say(NPC, "Teacher I need your help! Deirdre sent someone to stop me.") + SetTempVariable(NPC, "TeacherSpawned", "true") + end +end + +function CombatReset(NPC) + SetTempVariable(NPC, "TeacherSpawned", nil) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/JennisTeacher.lua b/Lua/SpawnScripts/Nektropos1/JennisTeacher.lua new file mode 100755 index 000000000..cd4314336 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/JennisTeacher.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/JennisTeacher.lua + Script Author : smash + Script Date : 2016.09.09 05:09:45 + Script Purpose : Despawning if combat is reset + : +--]] + +function CombatReset(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/LibraryDoor.lua b/Lua/SpawnScripts/Nektropos1/LibraryDoor.lua new file mode 100755 index 000000000..e053c7339 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/LibraryDoor.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/LibraryDoor.lua + Script Author : smash + Script Date : 2016.02.06 12:02:35 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) + +end + +function can_use_command(NPC, Spawn, Message) + if GetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_LIBRARY_ACCESS) ~= 1 then + SendMessage(Spawn, "This door seems magically barred", "yellow") + return false + end + return true +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/MaltusEverling.lua b/Lua/SpawnScripts/Nektropos1/MaltusEverling.lua new file mode 100755 index 000000000..4197ea53b --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/MaltusEverling.lua @@ -0,0 +1,128 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/MaltusEverling.lua + Script Author : smash + Script Date : 2018.06.07 + Script Purpose : + : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "StartSpeech", "Filler") +end + +function Filler() +end + +function StartSpeech(NPC, Player) + if GetTempVariable(NPC, "SpeechStarted") ~= "true" then + FaceTarget(NPC, Player) + SetTempVariable(NPC, "SpeechStaarted", "true") + Say(NPC, "Why have you come to disturb me and my family?") + AddTimer(NPC, 2500, "Speech2") + SetTempVariable(NPC, "TargetPlayer", Player) + end +end + +function Speech2(NPC) + Say(NPC, "You enter my home without welcome or being bid to enter.") + AddTimer(NPC, 2500, "Speech3") +end + +function Speech3(NPC) + Say(NPC, "Then you attack my family and slaughter them.") + AddTimer(NPC, 2500, "Speech4") +end + +function Speech4(NPC) + Say(NPC, "You have destroyed most of my research subjects.") + AddTimer(NPC, 2500, "Speech5") +end + + +function Speech5(NPC) + Say(NPC, "But it is a minor setback. I shall recreate them from your remains.") + AddTimer(NPC, 2500, "Speech6") +end + +function Speech6(NPC) + Say(NPC, "Now to harvest the parts necessary to reconstruct my family.") + AddTimer(NPC, 2500, "Speech7") +end + +function Speech7(NPC) + local pet = GetSpawnByLocationID(GetZone(NPC), 616650) + if pet ~= nil then + SetTempVariable(NPC, "pet", pet) + end + + Say(NPC, "I should prepare the machine now, while my creations take care of you.") + MoveToLocation(NPC, 211, -16, 8.2, 2, "", true) + MoveToLocation(NPC, 215, -16, 9.2, 2, "", true) + MoveToLocation(NPC, 214.6, -16, 16.56, 2, "", true) + MoveToLocation(NPC, 211.9, -16, 17.79, 2, "DelayedPathing") +end + +function DelayedPathing(NPC) + SetHeading(NPC, 0) + AddTimer(NPC, 2500, "DoDelayedPathing") +end + +function DoDelayedPathing(NPC) + MoveToLocation(NPC, 214.6, -16, 16.56, 2, "", true) + MoveToLocation(NPC, 215, -16, 9.2, 2, "", true) + MoveToLocation(NPC, 211.9, -16, 9.5, 2, "Speech8") +end + +function Speech8(NPC) + SetHeading(NPC, 180) + AddTimer(NPC, 2500, "DelayedSpeech") +end + +function DelayedSpeech(NPC) + Say(NPC, "What, what is happening?") + local zone = GetZone(NPC) + --Spawn the lightning effects + SpawnByLocationID(zone, 616653) + SpawnByLocationID(zone, 616654) + SpawnByLocationID(zone, 1585440) + AddTimer(NPC, 2500, "Speech9") +end + +function Speech9(NPC) + local player = GetTempVariable(NPC, "TargetPlayer") + + if player ~= nil then + FaceTarget(NPC, player) + end + + Say(NPC, "What did you do to my machine? I know this is your fault!") + AddTimer(NPC, 2500, "BeginAttack") +end + +function BeginAttack(NPC) + Say(NPC, "Stop what you are doing and destroy these intruders.") + SpawnSet(NPC, "attackable", "1") + local player = GetTempVariable(NPC, "TargetPlayer") + local pet = GetTempVariable(NPC, "pet") + if pet ~= nil then + SpawnSet(pet, "attackable", "1") + end + + local zone = GetZone(NPC) + local laborer1 = GetSpawnByLocationID(zone, 616652) + local laborer2 = GetSpawnByLocationID(zone, 616649) + + SpawnSet(laborer1, "attackable", "1") + SpawnSet(laborer2, "attackable", "1") + SpawnSet(laborer1, "show_level", "1") + SpawnSet(laborer2, "show_level", "1") + + if player ~= nil then + Attack(NPC, player) + Attack(laborer1, player) + Attack(laborer2, player) + SpawnSet(laborer1, "show_leve", "1") + SpawnSet(laborer2, "show_level", "1") + SpawnSet(NPC, "show_level", "1") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/MasterEldinNecrosis.lua b/Lua/SpawnScripts/Nektropos1/MasterEldinNecrosis.lua new file mode 100755 index 000000000..af3acf1d4 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/MasterEldinNecrosis.lua @@ -0,0 +1,100 @@ +--[[ + Script Name : SpawnScripts/NektroposCastle/MasterEldinNecrosis.lua + Script Purpose : Master Eldin Necrosis + Script Author : smash + Script Date : 2016.01.24 + Script Notes : +--]] + +function spawn(NPC) + ProvidesQuest(NPC, 174) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if CanReceiveQuest(Spawn, 174) then + Dialog1(NPC, Spawn) + elseif HasQuest(Spawn, 174) and GetQuestStep(Spawn, 174) ~= 11 then + Dialog2(NPC, Spawn) + elseif HasCompletedQuest(Spawn, 174) then + Dialog3(NPC, Spawn) + else + Dialog4(NPC, Spawn) + end +end + +function Dialog1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/master_eldin_necrosis_/nektropos/eldin001.mp3", "", "", 1924861304, 1919830896, Spawn) + AddConversationOption(conversation, "Wait a minute! Who are you?", "Dialog1_1") + AddConversationOption(conversation, "Ok crazy, I'm getting out of here. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Who are you? Who dares to challenge the might of Eldin?") +end + +function Dialog1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/master_eldin_necrosis_/nektropos/eldin002.mp3", "", "", 2253492197, 1707213719, Spawn) + AddConversationOption(conversation, "Okay, so what are you doing here?", "Dialog1_2") + AddConversationOption(conversation, "Yeah right. Okay well have fun Eldin... goodbye.") + StartConversation(conversation, NPC, Spawn, "Fool! Don't you recognize the power of the unliving? I am Eldin, and I am the greatest necromancer to ever live!") +end + +function Dialog1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/master_eldin_necrosis_/nektropos/eldin003.mp3", "", "", 3928579694, 2557793051, Spawn) + AddConversationOption(conversation, "Okay, so what's the wall you've hit?", "Dialog1_3") + AddConversationOption(conversation, "I'm sorry I hate the dead, I need to get out of here!") + StartConversation(conversation, NPC, Spawn, "Well, honestly, I hit a wall. This castle is haunted and contains some of the most powerful spirits I've ever encountered. I hoped to use some of them and expand my army of undead minions.") +end + +function Dialog1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/master_eldin_necrosis_/nektropos/eldin004.mp3", "", "", 3224153706, 3957572596, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Dialog1_4") + AddConversationOption(conversation, "That's too bad. Well better luck next time, I'm afraid I've other matters to attend to.") + StartConversation(conversation, NPC, Spawn, "These other spirits draw undue attention to my presence here. It's hard to sneak up on your prey if they already know from which direction you're coming. I fear I may have to leave the castle empty-handed.") +end + +function Dialog1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/master_eldin_necrosis_/nektropos/eldin005.mp3", "", "", 684634683, 4205425239, Spawn) + AddConversationOption(conversation, "Alright, I'll do it but I expect to be well paid for my time!", "OfferTrinketsOfTheDead") + AddConversationOption(conversation, "If you're so powerful, you don't need my help. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Perhaps you can help. But you aren't nearly as powerful in the undead arts as I am! If you go in there and dissipate a few ghosts, they may leave something personal behind. This is all I need to seize control of these unruly spirits.") +end + +function Dialog2(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Why are you here? Useless! You're the worst minion I've ever had in my employ. Now, go out there and finish what I've asked you to do! ", "tapfoot", 1689589577, 4560189, Spawn) +end + +function Dialog3(NPC, Spawn) + local conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Ok crazy, I'm getting out of here. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Who are you? Who dares to challenge the might of Eldin?", "voiceover/english/master_eldin_necrosis_/nektropos/eldin001.mp3", 1924861304, 1919830896) +end + +function Dialog4(NPC, Spawn) + local conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I'll keep you in mind. Farewell Eldin.") + StartConversation(conversation, NPC, Spawn, "Welcome back! Perhaps you're not as useless as you appear. Many thanks for all your hard work. Here is the coin I promised you. I appreciate your efforts! If you wish to help me again, I will pay you equally as well.", "voiceover/english/master_eldin_necrosis_/nektropos/eldin007.mp3", 2193129488, 1209581027) + SetStepComplete(Spawn, 174, 11) +end + +function OfferTrinketsOfTheDead(NPC, Spawn) + OfferQuest(NPC, Spawn, 174) +end diff --git a/Lua/SpawnScripts/Nektropos1/NektroposBarracksLockbox.lua b/Lua/SpawnScripts/Nektropos1/NektroposBarracksLockbox.lua new file mode 100755 index 000000000..6cf6e1a3d --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/NektroposBarracksLockbox.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/NektroposBarracksLockbox.lua + Script Purpose : + Script Author : smash + Script Date : 1/26/2016 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "inspect" then + Dialog1(NPC, Spawn) + end +end + +function Dialog1(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Stop inspecting the lockerbox", "CloseConversation") + if CanReceiveQuest(Spawn, 176) then + AddConversationOption(conversation, "Rummage through the lockerbox", "OfferTheRedMarble") + end + StartDialogConversation(conversation, 1, NPC, Spawn, "The lockerbox is dark and musky. Most of the items are torn and tattered clothing. Who knows what critters are crawling around underneath.") +end + +function OfferTheRedMarble(NPC, Spawn) + OfferQuest(NPC, Spawn, 176) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/NektroposMountedBoarsHead.lua b/Lua/SpawnScripts/Nektropos1/NektroposMountedBoarsHead.lua new file mode 100755 index 000000000..9e01d8ee7 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/NektroposMountedBoarsHead.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/NektroposMountedBoarsHead.lua + Script Purpose : + Script Author : smash + Script Date : 1/26/2016 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "inspect" then + Dialog1(NPC, Spawn) + end +end + +function Dialog1(NPC, Spawn) + local conversation = CreateConversation() + local fun_name + if not HasCompletedQuest(Spawn, 175) then + fun_name = "Dialog1_1" + else + fun_name = "Dialog1_2" + end + AddConversationOption(conversation, "Inspect the eyes.", fun_name) + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is a mounted boar's head. It appears decayed and smells horrid. It looks as though as taxidermist never preserved it. There is something odd about the eyes.") +end + +function Dialog1_1(NPC, Spawn) + local conversation = CreateConversation() + if HasQuest(Spawn, 175) then + AddConversationOption(conversation, "Place the black eye in the hollow socket.", "Dialog2") + end + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There is only one black eye. The eye appears to be made of glass, like a marble. The second eye socket is hollow.") +end + +function Dialog1_2(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There are two black marble-like eyes inset into the creature.") +end + +function Dialog2(NPC, Spawn) + local conversatoin = CreateConversation() + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You place the black marble-like eye in the hollow socket. A key falls from the mouth of the boar. This key appears to match the Barracks locks here in Nektropos.") + SetStepComplete(Spawn, 175, 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/NektroposMountedSwineshead.lua b/Lua/SpawnScripts/Nektropos1/NektroposMountedSwineshead.lua new file mode 100755 index 000000000..ac2929ab0 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/NektroposMountedSwineshead.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/NektroposMountedSwineshead.lua + Script Purpose : + Script Author : smash + Script Date : 1/26/2016 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "inspect" then + Dialog1(NPC, Spawn) + end +end + +function Dialog1(NPC, Spawn) + local conversation = CreateConversation() + local fun_name + if CanReceiveQuest(Spawn, 175) then + fun_name = "Dialog1_1" + elseif HasQuest(Spawn, 176) then + fun_name = "Dialog1_3" + end + if not HasCompletedQuest(Spawn, 176) then + AddConversationOption(conversation, "Inspect the eyes.", fun_name) + end + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "This is a mounted boar's head. It appears decayed and smells horrid. It looks as though a taxidermist never preserved it. There is something odd about the eyes.") +end + +function Dialog1_1(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Take the black eye.", "OfferTheBoarsHead") + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "The eyes appear to be made of glass, like marbles. One is red and one is black. The black one looks loose.") +end + +function Dialog1_3(NPC, Spawn) + local conversation = CreateConversation() + if HasQuest(Spawn, 176) then + AddConversationOption(conversation, "Place the red eye in the hollow socket.", "Dialog2") + end + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "There is only one red eye. The eye appears to be made of glass, like a marble. The second eye socket is hollow.") +end + +function Dialog2(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Stop examining the head.", "CloseConversation") + StartDialogConversation(conversation, 1, "You place the red marble-like eye in the hollow socket. A key falls from the mouth of the boar. You now have the Library's Key! You also hear a rumbling coming from down the hall.") + SetStepComplete(Spawn, 176, 1) + --We only want to spawn the swine fiend if there is not one currently spawned so groups don't get swarmed + if GetSpawnByLocationID(GetZone(NPC), 1584471) == nil then + SpawnByLocationID(GetZone(NPC), 1584471) + end +end + +function OfferTheBoarsHead(NPC, Spawn) + OfferQuest(NPC, Spawn, 175) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/OllixEverling.lua b/Lua/SpawnScripts/Nektropos1/OllixEverling.lua new file mode 100755 index 000000000..b8a174692 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/OllixEverling.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/OllixEverling.lua + Script Purpose : + Script Author : smash + Script Date : 9/12/2016 + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetTempVariable(NPC, "talking") ~= "true" then + StartDialogLoop(NPC, Spawn) + end +end + +function StartDialogLoop(NPC, Spawn) + SetTempVariable(NPC, "talking", "true") + Say(NPC, "Ah, you've managed to kill my host.") + AddTimer(NPC, 3500, "Dialog2") +end + +function Dialog2(NPC) + Say(NPC, "She was just a mortal coil I used to bring myself back.") + AddTimer(NPC, 3500, "Dialog3") +end + +function Dialog3(NPC) + Say(NPC, "Now that I have returned to my father's castle, I no longer need her.") + AddTimer(NPC, 3500, "Dialog4") +end + +function Dialog4(NPC) + Say(NPC, "However, she was useful in luring other foolish 'heroes' down here to be used by us.") + AddTimer(NPC, 3500, "Dialog5") +end + +function Dialog5(NPC) + Say(NPC, "Now you can either do it for me and kill yourselves,") + AddTimer(NPC, 3500, "Dialog6") +end + +function Dialog6(NPC) + Say(NPC, "or you can let me have some fun.") + AddTimer(NPC, 3000, "TriggerAttackable") +end + +function TriggerAttackable(NPC) + SpawnSet(NPC, "attackable", "1") + SpawnSet(NPC, "show_level", "1") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/aDecayingCorpse.lua b/Lua/SpawnScripts/Nektropos1/aDecayingCorpse.lua new file mode 100755 index 000000000..67d5a61b4 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/aDecayingCorpse.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/aDecayingCorpse.lua + Script Purpose : The summon animation on zombies + Script Author : smash + Script Date : 9/12/2016 + Script Notes : +--]] + +function spawn(NPC) + --AddTimer(NPC, 2400, "PlayAnim") + SetSpawnAnimation(NPC, 13016, 8000) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function PlayAnim(NPC) + PlayAnimation(NPC, 13016) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/aPatchworkLaborer1.lua b/Lua/SpawnScripts/Nektropos1/aPatchworkLaborer1.lua new file mode 100755 index 000000000..d9a868737 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/aPatchworkLaborer1.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/aPatchworkLaborer1.lua + Script Author : smash + Script Date : 2018.06.21 + Script Purpose : + : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 205, -16.27, 8, 2, 0) + MovementLoopAddLocation(NPC, 216, -16.27, 9, 2, 0) + MovementLoopAddLocation(NPC, 214, -16.27, 6, 2, 0) + MovementLoopAddLocation(NPC, 207, -16.27, 6, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/aPatchworkLaborer2.lua b/Lua/SpawnScripts/Nektropos1/aPatchworkLaborer2.lua new file mode 100755 index 000000000..fc8e26b11 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/aPatchworkLaborer2.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/aPatchworkLaborer2.lua + Script Author : smash + Script Date : 2018.06.21 + Script Purpose : + : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 210, -16.27, 20, 2, 0) + MovementLoopAddLocation(NPC, 203, -16.27, 20, 2, 0) + MovementLoopAddLocation(NPC, 204, -16.27, 16, 2, 0) + MovementLoopAddLocation(NPC, 213, -16.27, 18, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/aPriestessOfUllkorruuk.lua b/Lua/SpawnScripts/Nektropos1/aPriestessOfUllkorruuk.lua new file mode 100755 index 000000000..6e7914607 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/aPriestessOfUllkorruuk.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/aPriestessOfUllkorruuk.lua + Script Purpose : a priestess of Ullkorruuk + Script Author : smash + Script Date : 1/28/2016 + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function group_dead(NPC) + SpawnByLocationID(GetZone(NPC), 1584466) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/aWineRack.lua b/Lua/SpawnScripts/Nektropos1/aWineRack.lua new file mode 100755 index 000000000..b47b830f0 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/aWineRack.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/aWineRack.lua + Script Author : smash + Script Date : 2016.09.11 04:09:21 + Script Purpose : + : +--]] + +function casted_on(NPC, Spawn, Message) + SpawnSet(NPC, "show_command_icon", "0") + SpawnSet(NPC, "display_hand_icon", "0") + + --Random result + local result = math.random(1,5) + if result == 1 then + --20% chance to spawn a fermented elixir + SendMessage(Spawn, "During your search you knock a bottle off the shelf and a strange liquid begins to stream out of it.") + SpawnMob(GetZone(NPC), 1780446, 0, GetX(Spawn), GetY(Spawn), GetZ(Spawn)) + else + SendMessage(Spawn, "You search through the racks but fail to find anything of use.") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/anEverlingstableboy.lua b/Lua/SpawnScripts/Nektropos1/anEverlingstableboy.lua new file mode 100755 index 000000000..e6472ced3 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/anEverlingstableboy.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/anEverlingstableboy.lua + Script Author : smash + Script Date : 2018.06.20 10:06:35 + Script Purpose : + : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -24, 0, -29, 2, 0) + MovementLoopAddLocation(NPC, -21, 0, -26, 2, 0) + MovementLoopAddLocation(NPC, -24, 0, -22, 2, 0) + MovementLoopAddLocation(NPC, -25, 0, -17, 2, 0) + MovementLoopAddLocation(NPC, -18, 0, -12, 2, 0) + MovementLoopAddLocation(NPC, -25, 0, -17, 2, 0) + MovementLoopAddLocation(NPC, -24, 0, -22, 2, 0) + MovementLoopAddLocation(NPC, -21, 0, -26, 2, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/deirdrewallscontztrap.lua b/Lua/SpawnScripts/Nektropos1/deirdrewallscontztrap.lua new file mode 100755 index 000000000..6b77c91bb --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/deirdrewallscontztrap.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/deirdrewallscontztrap.lua + Script Author : smash + Script Date : 2016.09.09 09:09:00 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Nektropos1/deirdrewallscotnz.lua b/Lua/SpawnScripts/Nektropos1/deirdrewallscotnz.lua new file mode 100755 index 000000000..bbd8179f7 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/deirdrewallscotnz.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/deirdrewallscotnz.lua + Script Author : smash + Script Date : 2016.09.09 09:09:33 + Script Purpose : + : +--]] + +function casted_on(NPC, Spawn, Message) + UseWidget(GetSpawn(NPC, 1780124)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/elisewallscotnz.lua b/Lua/SpawnScripts/Nektropos1/elisewallscotnz.lua new file mode 100755 index 000000000..9fd47d3d8 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/elisewallscotnz.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/elisewallscotnz.lua + Script Author : smash + Script Date : 2016.01.28 03:01:00 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function casted_on(NPC) + UseWidget(GetSpawn(NPC, 1780119)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/everlingsquartersdoor2.lua b/Lua/SpawnScripts/Nektropos1/everlingsquartersdoor2.lua new file mode 100755 index 000000000..5601db52e --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/everlingsquartersdoor2.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/everlingsquartersdoor2.lua + Script Author : smash + Script Date : 2016.09.10 11:09:58 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Nektropos1/exitportal.lua b/Lua/SpawnScripts/Nektropos1/exitportal.lua new file mode 100755 index 000000000..19f1e2b6f --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/exitportal.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/exitportal.lua + Script Author : smash + Script Date : 2018.06.09 02:06:30 + Script Purpose : + : +--]] + +function spawn(NPC) + SetSpawnAnimation(NPC, 13016, 10000) + SpawnSet(NPC, "activity_state", "2176") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorKey.lua b/Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorKey.lua new file mode 100755 index 000000000..f275b4e73 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorKey.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p19EliseSecretDoorKey.lua + Script Author : smash + Script Date : 2016.01.28 04:01:06 + Script Purpose : the spawns that allow access to secret doors in the castle + : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) + SetRequiredHistory(NPC, HISTORY.NEK_CASTLE_SCONCE_KEY_ACCESS, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + SetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_SCONCE_KEY_ACCESS, 0) + SetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_SCONCE_ACCESS, 1) + SendMessage(Spawn, "You find a note hidden behind the cue rack.") + SummonItem(Spawn, 1896, 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorScontz.lua b/Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorScontz.lua new file mode 100755 index 000000000..1ec2c04a6 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p19EliseSecretDoorScontz.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p19EliseSecretDoorScontz.lua + Script Purpose : + Script Author : smash + Script Date : 1/26/2016 + Script Notes : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) + SetRequiredHistory(NPC, HISTORY.NEK_CASTLE_SCONCE_ACCESS, 1) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p34sheiladresser.lua b/Lua/SpawnScripts/Nektropos1/p34sheiladresser.lua new file mode 100755 index 000000000..c4cbdd768 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p34sheiladresser.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p34sheiladresser.lua + Script Author : smash + Script Date : 2016.09.09 02:09:02 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function casted_on(NPC, Spawn, Message) + local conversation = CreateConversation() + AddConversationOption(conversation, "Try to break it open?", "SpawnSheila") + AddConversationOption(conversation, "Leave it.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "All of the dresser drawers are locked.") +end + +function SpawnSheila(NPC, Spawn) + if GetTempVariable(NPC, "SheilaSpawned") ~= "true" then + SetTempVariable(NPC, "SheilaSpawned", "true") + SpawnByLocationID(GetZone(NPC), 616585) + end + CloseConversation(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p47swordholder.lua b/Lua/SpawnScripts/Nektropos1/p47swordholder.lua new file mode 100755 index 000000000..284a02640 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p47swordholder.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p47swordholder.lua + Script Author : smash + Script Date : 2016.09.11 01:09:03 + Script Purpose : + : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 177, 9, 0, 1) +end + +function casted_on(NPC, Spawn, Message) + if Message == "inspect" then + SendMessage(Spawn, "There appears to be a shaft running down the middle of the stand, about the width of a thin blade.") + else + local zone = GetZone(NPC) + + --First unlock and open the 2 secret basement doors + local door = GetSpawnByLocationID(zone, 619859) + UseWidget(door) + + if GetTempVariable(NPC, "SwordSpawned") ~= "true" then + local door2 = GetSpawnByLocationID(zone, 619860) + SpawnSet(door, "show_command_icon", "1") + SpawnSet(door2, "show_command_icon", "1") + SpawnSet(door, "display_hand_icon", "1") + SpawnSet(door2, "display_hand_icon", "1") + + --Now spawn the sword in this sword holder + SpawnByLocationID(zone, 623147) + SetTempVariable(NPC, "SwordSpawned", "true") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p49beddiarysearch.lua b/Lua/SpawnScripts/Nektropos1/p49beddiarysearch.lua new file mode 100755 index 000000000..f7e3ad94b --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p49beddiarysearch.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p49_bed_diary_search.lua + Script Author : smash + Script Date : 2016.09.08 04:02:12 + Script Purpose : + : +--]] + +function spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if GetTempVariable(NPC, "NythsSpawned") ~= "true" then + SetTempVariable(NPC, "NythsSpawned", "true") + --Spawn the Nyths + SpawnGroupByID(GetZone(NPC), 1043630) + end + ReadBook1(NPC, Spawn) +end + +function ReadBook1(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Examine the book.", "ReadBook2") + AddConversationOption(conversation, "Leave it alone.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You find a book hidden under one of the pillows.") +end + +function ReadBook2(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Read it.", "ReadBook3") + AddConversationOption(conversation, "Put it back under the pillow.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "It appears to be the diary of a young girl named Crysta.") +end + +function ReadBook3(NPC, Spawn) + local conversation = CreateConversation() + AddConversationOption(conversation, "Put the book back under the pillow.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "Most of the book talks about her daily life and how she would spend countless hours with her sister Melanie. Apparently the girls would spend all day playing in Melanies room.") + --SpawnSet(NPC, "show_command_icon", "0") + --SpawnSet(NPC, "display_hand_icon", "0") + if GetTempVariable(NPC, "CrystaSpawned") ~= "true" then + --Spawn Crysta and Melanie + SpawnGroupByID(GetZone(NPC), 43674) + SetTempVariable(NPC, "CrystaSpawned", "true") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p53scrollofopening.lua b/Lua/SpawnScripts/Nektropos1/p53scrollofopening.lua new file mode 100755 index 000000000..f4e6584b4 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p53scrollofopening.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p53scrollofopening.lua + Script Author : smash + Script Date : 2016.09.13 11:09:11 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function casted_on(NPC, Spawn, Message) + local conversation = CreateConversation() + AddConversationOption(conversation, "Examine the scroll", "GiveAccess") + StartDialogConversation(conversation, 1, NPC, Spawn, "This scroll roughly shows the location of a number of secret doors in the basement, you think you could probably find them now. It appears too fragile to pick up and bring with you.") +end + +function GiveAccess(NPC, Spawn) + CloseConversation(NPC, Spawn) + SetPlayerHistory(Spawn, HISTORY.NEK_CASTLE_BASEMENT_ACCESS, 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p53secretdooropener.lua b/Lua/SpawnScripts/Nektropos1/p53secretdooropener.lua new file mode 100755 index 000000000..b2f165750 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p53secretdooropener.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p53secretdooropener.lua + Script Author : smash + Script Date : 2016.09.13 11:09:11 + Script Purpose : + : +--]] + +require "SpawnScripts/Generic/PlayerHistory" + +function spawn(NPC) + SetRequiredHistory(NPC, HISTORY.NEK_CASTLE_BASEMENT_STUDY_ACCESS, 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p59alanatrigger.lua b/Lua/SpawnScripts/Nektropos1/p59alanatrigger.lua new file mode 100755 index 000000000..3d943242c --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p59alanatrigger.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p59alanatrigger.lua + Script Author : smash + Script Date : 2018.06.07 01:06:16 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function casted_on(NPC) + if GetTempVariable(NPC, "TrapTriggered") ~= "true" then + SetTempVariable(NPC, "TrapTriggered", "true") + SpawnByLocationID(GetZone(NPC), 616580) + SpawnSet(NPC, "show_command_icon", 0) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/p59sarcophogustrap.lua b/Lua/SpawnScripts/Nektropos1/p59sarcophogustrap.lua new file mode 100755 index 000000000..a60f5ff0f --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/p59sarcophogustrap.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/p59sarcophogustrap.lua + Script Author : smash + Script Date : 2018.06.07 01:06:16 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function casted_on(NPC) + if GetTempVariable(NPC, "TrapTriggered") ~= "true" then + SetTempVariable(NPC, "TrapTriggered", "true") + SpawnByLocationID(GetZone(NPC), 1585015) + SpawnSet(NPC, "show_command_icon", 0) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/secretlaboratoryentrancesecretdoor.lua b/Lua/SpawnScripts/Nektropos1/secretlaboratoryentrancesecretdoor.lua new file mode 100755 index 000000000..4d355986a --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/secretlaboratoryentrancesecretdoor.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/secretlaboratoryentrancesecretdoor.lua + Script Author : smash + Script Date : 2018.06.09 12:06:21 + Script Purpose : + : +--]] + +function spawn(NPC) + SpawnSet(NPC, "activity_state", "0") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektropos1/widgetbadbook.lua b/Lua/SpawnScripts/Nektropos1/widgetbadbook.lua new file mode 100755 index 000000000..c1437be86 --- /dev/null +++ b/Lua/SpawnScripts/Nektropos1/widgetbadbook.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Nektropos1/widgetbadbook.lua + Script Author : smash + Script Date : 2018.06.06 02:06:50 + Script Purpose : + : +--]] + +local FAIR_WARNINGS_IGNORED = 262 + +function spawn(NPC) + SetRequiredQuest(NPC, FAIR_WARNINGS_IGNORED, 1, 0, 1, 2) +end + +function casted_on(NPC, Player, SpellName) + local conversation = CreateConversation() + AddConversationOption(conversation, "Open book", "OfferFairWarnings") + AddConversationOption(conversation, "Don't open", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Player, "You see a large book on the table.") +end + +function OfferFairWarnings(NPC, Player) + CloseConversation(NPC, Player) + OfferQuest(nil, Player, FAIR_WARNINGS_IGNORED) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nektulos/agriffintamer.lua b/Lua/SpawnScripts/Nektulos/agriffintamer.lua new file mode 100755 index 000000000..126831fc5 --- /dev/null +++ b/Lua/SpawnScripts/Nektulos/agriffintamer.lua @@ -0,0 +1,207 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/agriffontamer.lua + Script Purpose : a griffon tamer (2490000) + Script Author : Jabantiz + Script Date : 2014.07.14 + Script Notes : +--]] + +local GriffonEggs = 112 + +function spawn(NPC) + ProvidesQuest(NPC, GriffonEggs) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if CanReceiveQuest(Spawn, GriffonEggs) then + -- Start Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was wondering if there were any errands you needed help with.", "dlg_0_1") + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "I am fine staying here, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + elseif GetQuestStep(Spawn, GriffonEggs) == 2 then + -- Turn in the quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + SetStepComplete(Spawn, GriffonEggs, 2) + AddConversationOption(conversation, "I hope she grows up healthy and strong!") + StartConversation(conversation, NPC, Spawn, "Oh, my, that's a gorgeous egg! Let me just put it down right over here. Our thanks, it's going to be rough for the handlers to raise all these!") + else + -- Finished Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "They certainly have. These look very sturdy, but I don't see many griffins about.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "It's been a real treat watching this tower be built by all the artisans. They've done a marvelous job getting it ready for our flying friends.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So if you had some more griffons, the scheduling would be better?", "dlg_0_3") + AddConversationOption(conversation, "This sounds like a scheduling problem I don't want anything to do with.") + StartConversation(conversation, NPC, Spawn, "These towers were built very fast, and we were unable to get the griffin stock up to what it should be. This has made scheduling flights very difficult.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, sounds like a deal.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Oh, certainly. But they've got to be trained properly from birth, really. I'll tell you what, if you grab an unhatched griffin egg and return it to any of us tamers, you will be rewarded handsomely. How's that sound?") +end + +function dlg_0_4(NPC, Spawn) + OfferQuest(NPC, Spawn, GriffonEggs) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 1214217 then + AddConversationOption(con, "To Antonica Gates.", "DocksToAnt") + AddConversationOption(con, "To South East Station.", "DocksToSE") + AddConversationOption(con, "To Coldwind.", "DocksToCold") + AddConversationOption(con, "To Thundermist Village.", "DocksToThundermist") + elseif GetSpawnLocationID(NPC) == 1214218 then + AddConversationOption(con, "To Antonica Gate.", "SEToAnt") + AddConversationOption(con, "To Coldwind.", "SEToCold") + AddConversationOption(con, "To Thundermist Village.", "SEToThundermist") + AddConversationOption(con, "To Docks.", "SEToDocks") + elseif GetSpawnLocationID(NPC) == 1214219 then + AddConversationOption(con, "To Thundermist Village.", "AntToThundermist") + AddConversationOption(con, "To South East Station.", "AntToSE") + AddConversationOption(con, "To Coldwind.", "AntToCold") + elseif GetSpawnLocationID(NPC) == 1214220 then + AddConversationOption(con, "To Thundermist Village.", "ColdToThundermist") + AddConversationOption(con, "To South East Station.", "ColdToSE") + AddConversationOption(con, "To Antonica Gate.", "ColdToAnt") + AddConversationOption(con, "To Docks.", "ColdToDocks") + elseif GetSpawnLocationID(NPC) == 1214221 then + AddConversationOption(con, "To Antonica Gate.", "ThundermistToAnt") + AddConversationOption(con, "To Coldwind.", "ThundermistToCold") + AddConversationOption(con, "To South East Station.", "ThundermistToSE") + AddConversationOption(con, "To Docks.", "ThundermistToDocks") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function DocksToAnt(NPC, Spawn) + StartAutoMount(Spawn, 16) + SetMount(Spawn, 225) +end + +function DocksToSE(NPC, Spawn) + StartAutoMount(Spawn, 15) + SetMount(Spawn, 225) +end + +function DocksToCold(NPC, Spawn) + StartAutoMount(Spawn, 14) + SetMount(Spawn, 225) +end + +function DocksToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 13) + SetMount(Spawn, 225) +end + +function SEToAnt(NPC, Spawn) + StartAutoMount(Spawn, 4) + SetMount(Spawn, 225) +end + +function SEToCold(NPC, Spawn) + StartAutoMount(Spawn, 7) + SetMount(Spawn, 225) +end + +function SEToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 12) + SetMount(Spawn, 225) +end + +function SEToDocks(NPC, Spawn) + StartAutoMount(Spawn, 18) + SetMount(Spawn, 225) +end + +function AntToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 1) + SetMount(Spawn, 225) +end + +function AntToSE(NPC, Spawn) + StartAutoMount(Spawn, 3) + SetMount(Spawn, 225) +end + +function AntToCold(NPC, Spawn) + StartAutoMount(Spawn, 10) + SetMount(Spawn, 225) +end + +function ColdToThundermist(NPC, Spawn) + StartAutoMount(Spawn, 6) + SetMount(Spawn, 225) +end + +function ColdToSE(NPC, Spawn) + StartAutoMount(Spawn, 8) + SetMount(Spawn, 225) +end + +function ColdToAnt(NPC, Spawn) + StartAutoMount(Spawn, 11) + SetMount(Spawn, 225) +end + +function ColdToDocks(NPC, Spawn) + StartAutoMount(Spawn, 19) + SetMount(Spawn, 225) +end + +function ThundermistToAnt(NPC, Spawn) + StartAutoMount(Spawn, 2) + SetMount(Spawn, 225) +end + +function ThundermistToCold(NPC, Spawn) + StartAutoMount(Spawn, 5) + SetMount(Spawn, 225) +end + +function ThundermistToSE(NPC, Spawn) + StartAutoMount(Spawn, 9) + SetMount(Spawn, 225) +end + +function ThundermistToDocks(NPC, Spawn) + StartAutoMount(Spawn, 17) + SetMount(Spawn, 225) +end +--[[ raw_conversations + PlayFlavor(NPC, "", "Fun, fun, fun! This big old tower, built for griffons, and yet... there just don't seem to be any around. Thinking about helping us out?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "You can scramble 'em, boil 'em, fry 'em... oh, wait... were we talking about griffon eggs or chicken eggs?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "I say... you haven't seen any griffon eggs around, have you? We sure could use some!", "", 1689589577, 4560189, Spawn) +--]] diff --git a/Lua/SpawnScripts/Nektulos/agriffontamer.lua b/Lua/SpawnScripts/Nektulos/agriffontamer.lua new file mode 100755 index 000000000..078183e5e --- /dev/null +++ b/Lua/SpawnScripts/Nektulos/agriffontamer.lua @@ -0,0 +1,141 @@ +--[[ + Script Name : SpawnScripts/Nektulos/agriffontamer.lua + Script Purpose : a griffon tamer (1790109) + Script Author : neatz09 + Script Date : 2/5/2019 + Script Notes : +--]] + +local GriffonEggs = 112 + +function spawn(NPC) + ProvidesQuest(NPC, GriffonEggs) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if CanReceiveQuest(Spawn, GriffonEggs) then + -- Start Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I was wondering if there were any errands you needed help with.", "dlg_0_1") + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "I am fine staying here, thanks.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + elseif GetQuestStep(Spawn, GriffonEggs) == 2 then + -- Turn in the quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + SetStepComplete(Spawn, GriffonEggs, 2) + AddConversationOption(conversation, "I hope she grows up healthy and strong!") + StartConversation(conversation, NPC, Spawn, "Oh, my, that's a gorgeous egg! Let me just put it down right over here. Our thanks, it's going to be rough for the handlers to raise all these!") + else + -- Finished Quest + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "They certainly have. These look very sturdy, but I don't see many griffins about.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "It's been a real treat watching this tower be built by all the artisans. They've done a marvelous job getting it ready for our flying friends.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So if you had some more griffons, the scheduling would be better?", "dlg_0_3") + AddConversationOption(conversation, "This sounds like a scheduling problem I don't want anything to do with.") + StartConversation(conversation, NPC, Spawn, "These towers were built very fast, and we were unable to get the griffin stock up to what it should be. This has made scheduling flights very difficult.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure, sounds like a deal.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Oh, certainly. But they've got to be trained properly from birth, really. I'll tell you what, if you grab an unhatched griffin egg and return it to any of us tamers, you will be rewarded handsomely. How's that sound?") +end + +function dlg_0_4(NPC, Spawn) + OfferQuest(NPC, Spawn, GriffonEggs) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 93878 then + AddConversationOption(con, "Bone Lake Station.", "NmarToBone") + AddConversationOption(con, "Commonlands Station.", "NmarToCL") + AddConversationOption(con, "Docks.", "NmarToDocks") + elseif GetSpawnLocationID(NPC) == 93879 then + AddConversationOption(con, "To Docks Station", "CLToDocks") + AddConversationOption(con, "To N'Mar's Ascent Station", "CLToNmar") + elseif GetSpawnLocationID(NPC) == 93880 then + AddConversationOption(con, "To Commonlands Station.", "DocksToCL") + AddConversationOption(con, "To N'Mar's Ascent Station.", "DocksToNmar") + elseif GetSpawnLocationID(NPC) == 93877 then + AddConversationOption(con, "To N'Mar's Ascent Station.", "BoneToNmar") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function NmarToBone(NPC, Spawn) + StartAutoMount(Spawn, 184) + SetMount(Spawn, 225) +end + +function NmarToCL(NPC, Spawn) + StartAutoMount(Spawn, 183) + SetMount(Spawn, 225) +end + +function NmarToDocks(NPC, Spawn) + StartAutoMount(Spawn, 181) + SetMount(Spawn, 225) +end + +function CLToDocks(NPC, Spawn) + StartAutoMount(Spawn, 178) + SetMount(Spawn, 225) +end + +function CLToNmar(NPC, Spawn) + StartAutoMount(Spawn, 182) + SetMount(Spawn, 225) +end + +function DocksToCL(NPC, Spawn) + StartAutoMount(Spawn, 179) + SetMount(Spawn, 225) +end + +function DocksToNmar(NPC, Spawn) + StartAutoMount(Spawn, 180) + SetMount(Spawn, 225) +end + +function BoneToNmar(NPC, Spawn) + StartAutoMount(Spawn, 185) + SetMount(Spawn, 225) +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "Fun, fun, fun! This big old tower, built for griffons, and yet... there just don't seem to be any around. Thinking about helping us out?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "You can scramble 'em, boil 'em, fry 'em... oh, wait... were we talking about griffon eggs or chicken eggs?", "", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "", "I say... you haven't seen any griffon eggs around, have you? We sure could use some!", "", 1689589577, 4560189, Spawn) +--]] diff --git a/Lua/SpawnScripts/Neriak/AlaunnoluDXaate.lua b/Lua/SpawnScripts/Neriak/AlaunnoluDXaate.lua new file mode 100755 index 000000000..7e7d205d8 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/AlaunnoluDXaate.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Neriak/AlaunnoluDXaate.lua + Script Purpose : Waypoint Path for Alaunnolu D'Xaate + Script Author : Cynnar + Script Date : 5/26/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -175.34, 0.46, 310.32, 2, 0) + MovementLoopAddLocation(NPC, -180.72, 0.12, 308.7, 2, 10) + MovementLoopAddLocation(NPC, -182.41, 0.37, 308.5, 2, 0) + MovementLoopAddLocation(NPC, -181.26, 0.22, 309.89, 2, 0) + MovementLoopAddLocation(NPC, -185.68, 0.49, 315.7, 2, 0) + MovementLoopAddLocation(NPC, -188.41, 0.49, 314.35, 2, 0) + MovementLoopAddLocation(NPC, -187.92, 0.49, 311.61, 2, 0) + MovementLoopAddLocation(NPC, -187.01, 0.49, 310.86, 2, 0) + MovementLoopAddLocation(NPC, -186.05, 0.49, 307.92, 2, 0) + MovementLoopAddLocation(NPC, -185.31, 0.49, 308.15, 2, 10) + MovementLoopAddLocation(NPC, -189.13, 0.49, 310.85, 2, 0) + MovementLoopAddLocation(NPC, -188.44, 0.49, 310.85, 2, 0) + MovementLoopAddLocation(NPC, -187.45, 0.49, 310.26, 2, 0) + MovementLoopAddLocation(NPC, -186.61, 0.48, 307.85, 2, 10) + MovementLoopAddLocation(NPC, -185.21, 0.49, 308.21, 2, 0) + MovementLoopAddLocation(NPC, -186.46, 0.49, 308.58, 2, 0) + MovementLoopAddLocation(NPC, -187.27, 0.49, 310.63, 2, 0) + MovementLoopAddLocation(NPC, -188.85, 0.49, 312.49, 2, 0) + MovementLoopAddLocation(NPC, -189, 0.49, 313.87, 2, 0) + MovementLoopAddLocation(NPC, -185.78, 0.49, 315.89, 2, 0) + MovementLoopAddLocation(NPC, -181.13, 0.27, 310.39, 2, 0) + MovementLoopAddLocation(NPC, -182.53, 0.4, 308.53, 2, 10) + MovementLoopAddLocation(NPC, -180.98, 0.1, 308.57, 2, 0) + MovementLoopAddLocation(NPC, -175.35, 0.46, 310.43, 2, 5) +end diff --git a/Lua/SpawnScripts/Neriak/Brute.lua b/Lua/SpawnScripts/Neriak/Brute.lua new file mode 100755 index 000000000..dde7cd60f --- /dev/null +++ b/Lua/SpawnScripts/Neriak/Brute.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Neriak/Brute.lua + Script Purpose : Waypoint Path for Brute + Script Author : Cynnar + Script Date : 5/27/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + ranpause = math.random(0, 10) + + MovementLoopAddLocation(NPC, -588.84, 27.72, 33.22, 2, 0) + MovementLoopAddLocation(NPC, -596.21, 27.37, 41.73, 2, ranpause) + MovementLoopAddLocation(NPC, -616.07, 27.05, 48.21, 2, 0) + MovementLoopAddLocation(NPC, -622.31, 27.04, 51.81, 2, 0) + MovementLoopAddLocation(NPC, -626.66, 27.05, 56.75, 2, 0) + MovementLoopAddLocation(NPC, -628.53, 26.93, 62.82, 2, ranpause) + MovementLoopAddLocation(NPC, -627.81, 26.27, 69.33, 2, 0) + MovementLoopAddLocation(NPC, -626.05, 25.02, 73.16, 2, 0) + MovementLoopAddLocation(NPC, -621.1, 23.44, 80.02, 2, 0) + MovementLoopAddLocation(NPC, -615.2, 21.96, 85.74, 2, 0) + MovementLoopAddLocation(NPC, -611.49, 21.79, 86.67, 2, ranpause) + MovementLoopAddLocation(NPC, -608.25, 21.92, 86.39, 2, 0) + MovementLoopAddLocation(NPC, -601.81, 22.53, 84.96, 2, 0) + MovementLoopAddLocation(NPC, -592.17, 21.45, 85.28, 2, 0) + MovementLoopAddLocation(NPC, -587.27, 21.01, 87.67, 2, ranpause) + MovementLoopAddLocation(NPC, -584.73, 20.67, 92.57, 2, 0) + MovementLoopAddLocation(NPC, -584.64, 20.1, 97.55, 2, 0) + MovementLoopAddLocation(NPC, -585.41, 18.42, 110.12, 2, 0) + MovementLoopAddLocation(NPC, -584.97, 18.26, 114.33, 2, 0) + MovementLoopAddLocation(NPC, -585.77, 18.65, 118.75, 2, ranpause) + MovementLoopAddLocation(NPC, -586.27, 19.64, 130.91, 2, 0) + MovementLoopAddLocation(NPC, -585.88, 20.08, 132.92, 2, 0) + MovementLoopAddLocation(NPC, -586.06, 20.29, 136.76, 2, ranpause) + MovementLoopAddLocation(NPC, -585.88, 20.08, 132.92, 2, 0) + MovementLoopAddLocation(NPC, -586.27, 19.64, 130.91, 2, 0) + MovementLoopAddLocation(NPC, -585.77, 18.65, 118.75, 2, 0) + MovementLoopAddLocation(NPC, -584.97, 18.26, 114.33, 2, 0) + MovementLoopAddLocation(NPC, -585.41, 18.42, 110.12, 2, ranpause) + MovementLoopAddLocation(NPC, -584.64, 20.1, 97.55, 2, 0) + MovementLoopAddLocation(NPC, -584.73, 20.67, 92.57, 2, 0) + MovementLoopAddLocation(NPC, -587.27, 21.01, 87.67, 2, ranpause) + MovementLoopAddLocation(NPC, -592.17, 21.45, 85.28, 2, 0) + MovementLoopAddLocation(NPC, -601.81, 22.53, 84.96, 2, 0) + MovementLoopAddLocation(NPC, -608.25, 21.92, 86.39, 2, 0) + MovementLoopAddLocation(NPC, -611.49, 21.79, 86.67, 2, ranpause) + MovementLoopAddLocation(NPC, -615.2, 21.96, 85.74, 2, 0) + MovementLoopAddLocation(NPC, -621.1, 23.44, 80.02, 2, 0) + MovementLoopAddLocation(NPC, -626.05, 25.02, 73.16, 2, 0) + MovementLoopAddLocation(NPC, -627.81, 26.27, 69.33, 2, ranpause) + MovementLoopAddLocation(NPC, -628.53, 26.93, 62.82, 2, 0) + MovementLoopAddLocation(NPC, -626.66, 27.05, 56.75, 2, 0) + MovementLoopAddLocation(NPC, -622.31, 27.04, 51.81, 2, 0) + MovementLoopAddLocation(NPC, -616.07, 27.05, 48.21, 2, 0) + MovementLoopAddLocation(NPC, -596.21, 27.37, 41.73, 2, 0) + MovementLoopAddLocation(NPC, -588.84, 27.72, 33.22, 2, ranpause) +end + diff --git a/Lua/SpawnScripts/Neriak/DocksideMarketGuardA.lua b/Lua/SpawnScripts/Neriak/DocksideMarketGuardA.lua new file mode 100755 index 000000000..bafa666c1 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/DocksideMarketGuardA.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Neriak/DocksideMarketGuardA.lua + Script Purpose : Waypoint Path for Dockside Market Guard A Spires to Indigo Hollow path + Script Author : Cynnar + Script Date : 5/20/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + SetMount(NPC, 7242) + SetMountColor(NPC, 65, 52, 44, 58, 59, 151) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -78.02, 9.05, 293.06, 2, 0) + MovementLoopAddLocation(NPC, -81.24, 8.37, 298.21, 2, 0) + MovementLoopAddLocation(NPC, -82.74, 8.12, 299.87, 2, 0) + MovementLoopAddLocation(NPC, -84.4, 7.96, 301.49, 2, 0) + MovementLoopAddLocation(NPC, -87.89, 8.04, 301.09, 2, 0) + MovementLoopAddLocation(NPC, -94.29, 8.07, 300.26, 2, 0) + MovementLoopAddLocation(NPC, -100.81, 7.7, 299.93, 2, 0) + MovementLoopAddLocation(NPC, -105.37, 7.53, 297.03, 2, 0) + MovementLoopAddLocation(NPC, -107.67, 7.48, 294.44, 2, 0) + MovementLoopAddLocation(NPC, -109.8, 7.47, 291.08, 2, 0) + MovementLoopAddLocation(NPC, -111.14, 7.53, 286.49, 2, 0) + MovementLoopAddLocation(NPC, -111.6, 7.48, 283.09, 2, 0) + MovementLoopAddLocation(NPC, -112.41, 7.49, 273.54, 2, 0) + MovementLoopAddLocation(NPC, -114.46, 7.64, 269.93, 2, 0) + MovementLoopAddLocation(NPC, -118.77, 7.58, 267.13, 2, 0) + MovementLoopAddLocation(NPC, -124.56, 7.62, 265.87, 2, 0) + MovementLoopAddLocation(NPC, -130.35, 8.11, 263.9, 2, 0) + MovementLoopAddLocation(NPC, -146.45, 12.22, 267, 2, 0) + MovementLoopAddLocation(NPC, -149.24, 12.55, 266.35, 2, 0) + MovementLoopAddLocation(NPC, -153.17, 12.72, 264.43, 2, 0) + MovementLoopAddLocation(NPC, -158.32, 12.9, 260.13, 2, 0) + MovementLoopAddLocation(NPC, -161.35, 12.97, 256.96, 2, 0) + MovementLoopAddLocation(NPC, -163.86, 13, 255.3, 2, 0) + MovementLoopAddLocation(NPC, -161.35, 12.97, 256.96, 2, 0) + MovementLoopAddLocation(NPC, -158.32, 12.9, 260.13, 2, 0) + MovementLoopAddLocation(NPC, -153.17, 12.72, 264.43, 2, 0) + MovementLoopAddLocation(NPC, -149.24, 12.55, 266.35, 2, 0) + MovementLoopAddLocation(NPC, -146.45, 12.22, 267, 2, 0) + MovementLoopAddLocation(NPC, -130.35, 8.11, 263.9, 2, 0) + MovementLoopAddLocation(NPC, -124.56, 7.62, 265.87, 2, 0) + MovementLoopAddLocation(NPC, -118.77, 7.58, 267.13, 2, 0) + MovementLoopAddLocation(NPC, -114.46, 7.64, 269.93, 2, 0) + MovementLoopAddLocation(NPC, -112.41, 7.49, 273.54, 2, 0) + MovementLoopAddLocation(NPC, -111.6, 7.48, 283.09, 2, 0) + MovementLoopAddLocation(NPC, -111.14, 7.53, 286.49, 2, 0) + MovementLoopAddLocation(NPC, -109.8, 7.47, 291.08, 2, 0) + MovementLoopAddLocation(NPC, -107.67, 7.48, 294.44, 2, 0) + MovementLoopAddLocation(NPC, -105.37, 7.53, 297.03, 2, 0) + MovementLoopAddLocation(NPC, -100.81, 7.7, 299.93, 2, 0) + MovementLoopAddLocation(NPC, -94.29, 8.07, 300.26, 2, 0) + MovementLoopAddLocation(NPC, -87.89, 8.04, 301.09, 2, 0) + MovementLoopAddLocation(NPC, -84.4, 7.96, 301.49, 2, 0) + MovementLoopAddLocation(NPC, -82.74, 8.12, 299.87, 2, 0) + MovementLoopAddLocation(NPC, -81.24, 8.37, 298.21, 2, 0) + MovementLoopAddLocation(NPC, -78.02, 9.05, 293.06, 2, 0) + MovementLoopAddLocation(NPC, -73.56, 10.96, 280.13, 2, 0) +end diff --git a/Lua/SpawnScripts/Neriak/DocksideMarketGuardB.lua b/Lua/SpawnScripts/Neriak/DocksideMarketGuardB.lua new file mode 100755 index 000000000..ce8890ddc --- /dev/null +++ b/Lua/SpawnScripts/Neriak/DocksideMarketGuardB.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : SpawnScripts/Neriak/DocksideMarketGuardB.lua + Script Purpose : Waypoint Path for Dockside Market Guard B Docks to Indigo Hollow path + Script Author : Cynnar + Script Date : 5/20/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + SetMount(NPC, 7242) + SetMountColor(NPC, 65, 52, 44, 58, 59, 151) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 24.16, 3.75, 318.7, 2, 0) + MovementLoopAddLocation(NPC, -3.28, 6.38, 324.29, 2, 0) + MovementLoopAddLocation(NPC, -14.58, 6.54, 324.55, 2, 0) + MovementLoopAddLocation(NPC, -22.19, 6.84, 321.52, 2, 0) + MovementLoopAddLocation(NPC, -30.74, 6.89, 321.32, 2, 0) + MovementLoopAddLocation(NPC, -36.76, 6.92, 324.06, 2, 0) + MovementLoopAddLocation(NPC, -42.91, 6.97, 327.67, 2, 0) + MovementLoopAddLocation(NPC, -50.3, 6.93, 329.78, 2, 0) + MovementLoopAddLocation(NPC, -56.52, 7.01, 329.75, 2, 0) + MovementLoopAddLocation(NPC, -67.58, 6.91, 327.95, 2, 0) + MovementLoopAddLocation(NPC, -71.02, 7.03, 326.28, 2, 0) + MovementLoopAddLocation(NPC, -75.87, 7.09, 321.93, 2, 0) + MovementLoopAddLocation(NPC, -79.09, 7.42, 314.05, 2, 0) + MovementLoopAddLocation(NPC, -80.73, 7.9, 306.18, 2, 0) + MovementLoopAddLocation(NPC, -85.95, 7.99, 301.04, 2, 0) + MovementLoopAddLocation(NPC, -98.99, 7.81, 299.93, 2, 0) + MovementLoopAddLocation(NPC, -102.85, 7.63, 298.22, 2, 0) + MovementLoopAddLocation(NPC, -106.82, 7.48, 295.86, 2, 0) + MovementLoopAddLocation(NPC, -108.95, 7.45, 292.94, 2, 0) + MovementLoopAddLocation(NPC, -111.81, 7.49, 276.59, 2, 0) + MovementLoopAddLocation(NPC, -113.82, 7.59, 270.35, 2, 0) + MovementLoopAddLocation(NPC, -117.22, 7.59, 263.35, 2, 0) + MovementLoopAddLocation(NPC, -119.78, 7.45, 258.99, 2, 0) + MovementLoopAddLocation(NPC, -122.32, 7.37, 256.23, 2, 0) + MovementLoopAddLocation(NPC, -126.65, 7.2, 252.78, 2, 0) + MovementLoopAddLocation(NPC, -122.32, 7.37, 256.23, 2, 0) + MovementLoopAddLocation(NPC, -119.78, 7.45, 258.99, 2, 0) + MovementLoopAddLocation(NPC, -117.22, 7.59, 263.35, 2, 0) + MovementLoopAddLocation(NPC, -113.82, 7.59, 270.35, 2, 0) + MovementLoopAddLocation(NPC, -111.81, 7.49, 276.59, 2, 0) + MovementLoopAddLocation(NPC, -108.95, 7.45, 292.94, 2, 0) + MovementLoopAddLocation(NPC, -106.82, 7.48, 295.86, 2, 0) + MovementLoopAddLocation(NPC, -102.85, 7.63, 298.22, 2, 0) + MovementLoopAddLocation(NPC, -98.99, 7.81, 299.93, 2, 0) + MovementLoopAddLocation(NPC, -85.95, 7.99, 301.04, 2, 0) + MovementLoopAddLocation(NPC, -80.73, 7.9, 306.18, 2, 0) + MovementLoopAddLocation(NPC, -79.09, 7.42, 314.05, 2, 0) + MovementLoopAddLocation(NPC, -75.87, 7.09, 321.93, 2, 0) + MovementLoopAddLocation(NPC, -71.02, 7.03, 326.28, 2, 0) + MovementLoopAddLocation(NPC, -67.58, 6.91, 327.95, 2, 0) + MovementLoopAddLocation(NPC, -56.52, 7.01, 329.75, 2, 0) + MovementLoopAddLocation(NPC, -50.3, 6.93, 329.78, 2, 0) + MovementLoopAddLocation(NPC, -42.91, 6.97, 327.67, 2, 0) + MovementLoopAddLocation(NPC, -36.76, 6.92, 324.06, 2, 0) + MovementLoopAddLocation(NPC, -30.74, 6.89, 321.32, 2, 0) + MovementLoopAddLocation(NPC, -22.19, 6.84, 321.52, 2, 0) + MovementLoopAddLocation(NPC, -14.58, 6.54, 324.55, 2, 0) + MovementLoopAddLocation(NPC, -3.28, 6.38, 324.29, 2, 0) + MovementLoopAddLocation(NPC, 24.16, 3.75, 318.7, 2, 0) +end + + diff --git a/Lua/SpawnScripts/Neriak/DreadGuard1.lua b/Lua/SpawnScripts/Neriak/DreadGuard1.lua new file mode 100755 index 000000000..cbc3520de --- /dev/null +++ b/Lua/SpawnScripts/Neriak/DreadGuard1.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/Neriak/DreadGuard1.lua + Script Purpose : Waypoint Path for Dread Guard 1 Indigo Hollow + Script Author : Cynnar + Script Date : 5/6/2018 12:00:00 AM + Script Notes : This is the Dread Guard starting at Ulsurus Outfitters Neriak Indigo Hollow. +--]] + +function spawn(NPC) + SetMount(NPC, 7242) + SetMountColor(NPC, 65, 52, 44, 58, 59, 151) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function randmount(NPC) + local choice = math.random(1, 2) + if choice == 1 then + + end +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -76.72, 19.22, -13.5, 2, 0) + MovementLoopAddLocation(NPC, -66.55, 18.88, -4.41, 2, 0) + MovementLoopAddLocation(NPC, -58.37, 19.55, 9.24, 2, 0) + MovementLoopAddLocation(NPC, -54.28, 19.31, 22.95, 2, 0) + MovementLoopAddLocation(NPC, -44.18, 19.48, 21.32, 2, 0) + MovementLoopAddLocation(NPC, -35.54, 19.76, 16.93, 2, 0) + MovementLoopAddLocation(NPC, -26.87, 17.32, 9.09, 2, 0) + MovementLoopAddLocation(NPC, -19.17, 17.32, 10.39, 2, 0) + MovementLoopAddLocation(NPC, -9.98, 17.3, 11.96, 2, 0) + MovementLoopAddLocation(NPC, 7.91, 17.3, 2.53, 2, 0) + MovementLoopAddLocation(NPC, 19.27, 17.06, 6.88, 2, 0) + MovementLoopAddLocation(NPC, 33.87, 16.95, -5.79, 2, 0) + MovementLoopAddLocation(NPC, 23.44, 17.31, -27.85, 2, 0) + MovementLoopAddLocation(NPC, 20.61, 17.32, -38.41, 2, 0) + MovementLoopAddLocation(NPC, 11.11, 17.19, -44.76, 2, 0) + MovementLoopAddLocation(NPC, 9.99, 17.25, -60.91, 2, 0) + MovementLoopAddLocation(NPC, 11.11, 17.19, -44.76, 2, 0) + MovementLoopAddLocation(NPC, 20.61, 17.32, -38.41, 2, 0) + MovementLoopAddLocation(NPC, 23.44, 17.31, -27.85, 2, 0) + MovementLoopAddLocation(NPC, 33.87, 16.95, -5.79, 2, 0) + MovementLoopAddLocation(NPC, 19.27, 17.06, 6.88, 2, 0) + MovementLoopAddLocation(NPC, 7.91, 17.3, 2.53, 2, 0) + MovementLoopAddLocation(NPC, -9.98, 17.3, 11.96, 2, 0) + MovementLoopAddLocation(NPC, -19.17, 17.32, 10.39, 2, 0) + MovementLoopAddLocation(NPC, -26.87, 17.32, 9.09, 2, 0) + MovementLoopAddLocation(NPC, -35.54, 19.76, 16.93, 2, 0) + MovementLoopAddLocation(NPC, -44.18, 19.48, 21.32, 2, 0) + MovementLoopAddLocation(NPC, -54.28, 19.31, 22.95, 2, 0) + MovementLoopAddLocation(NPC, -58.37, 19.55, 9.24, 2, 0) + MovementLoopAddLocation(NPC, -66.55, 18.88, -4.41, 2, 0) +end diff --git a/Lua/SpawnScripts/Neriak/DreadGuardNewForeignQuarter.lua b/Lua/SpawnScripts/Neriak/DreadGuardNewForeignQuarter.lua new file mode 100755 index 000000000..12b01078f --- /dev/null +++ b/Lua/SpawnScripts/Neriak/DreadGuardNewForeignQuarter.lua @@ -0,0 +1,7 @@ +--[[ + Script Name : DreadGuardNweForeignQuater.lua + Script Purpose : Waypoint Path for DreadGuardNweForeignQuater.lua + Script Author : Cynnar + Script Date : 5/14/2018 12:00:00 AM + Script Notes : +--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/Neriak/DreadGuard_Warg_mount.lua b/Lua/SpawnScripts/Neriak/DreadGuard_Warg_mount.lua new file mode 100755 index 000000000..68a9f0516 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/DreadGuard_Warg_mount.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Neriak/DreadGuard_Warg_mount.lua + Script Author : Cynnar + Script Date : 2018.05.26 09:05:30 + Script Purpose : + : +--]] + +function spawn(NPC) + SetMount(NPC, 7242) + SetMountColor(NPC, 65, 52, 44, 58, 59, 151) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Neriak/DreadGuard_nightmare_mount.lua b/Lua/SpawnScripts/Neriak/DreadGuard_nightmare_mount.lua new file mode 100755 index 000000000..1dd9ac32a --- /dev/null +++ b/Lua/SpawnScripts/Neriak/DreadGuard_nightmare_mount.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Neriak/DreadGuard_nightmare_mount.lua + Script Author : Cynnar + Script Date : 2018.05.13 01:05:07 + Script Purpose : + : +--]] + +function spawn(NPC) + SetMount(NPC, 7183) + SetMountColor(NPC, 69, 67, 80, 255, 255, 255) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Neriak/EthedraRVinival.lua b/Lua/SpawnScripts/Neriak/EthedraRVinival.lua new file mode 100755 index 000000000..61d89b2c8 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/EthedraRVinival.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : SpawnScripts/Neriak/EthedraRVinival.lua + Script Purpose : Waypoint Path for Ethedra R'Vinival + Script Author : Cynnar + Script Date : 5/26/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + + MovementLoopAddLocation(NPC, -169.53, 2.87, 249.19, 2, 5) + MovementLoopAddLocation(NPC, -168.29, 2.93, 249.71, 2, 0) + MovementLoopAddLocation(NPC, -160.96, 2.99, 248.38, 2, 0) + MovementLoopAddLocation(NPC, -155.38, 3.01, 250.31, 2, 0) + MovementLoopAddLocation(NPC, -156.15, 1.72, 253.91, 2, 0) + MovementLoopAddLocation(NPC, -161.63, -2.47, 258.25, 2, 0) + MovementLoopAddLocation(NPC, -167.13, -5.09, 259.4, 2, 0) + MovementLoopAddLocation(NPC, -168.32, -5.22, 259.23, 2, 0) + MovementLoopAddLocation(NPC, -168.06, -5.34, 249.61, 2, 5) + MovementLoopAddLocation(NPC, -167.42, -5.33, 250, 2, 0) + MovementLoopAddLocation(NPC, -168.49, -5.3, 253.58, 2, 0) + MovementLoopAddLocation(NPC, -171.09, -5.31, 254.45, 2, 0) + MovementLoopAddLocation(NPC, -178.18, -5.48, 247.71, 2, 0) + MovementLoopAddLocation(NPC, -182.72, -4.78, 244.67, 2, 0) + MovementLoopAddLocation(NPC, -184.9, -4.13, 241.09, 2, 0) + MovementLoopAddLocation(NPC, -187.49, -3.98, 240.23, 2, 0) + MovementLoopAddLocation(NPC, -191, -3.87, 239.66, 2, 0) + MovementLoopAddLocation(NPC, -190.75, -3.87, 236.65, 2, 5) + MovementLoopAddLocation(NPC, -189.71, -3.87, 238.11, 2, 0) + MovementLoopAddLocation(NPC, -192.18, -3.93, 236.81, 2, 0) + MovementLoopAddLocation(NPC, -195.32, -3.95, 235.59, 2, 0) + MovementLoopAddLocation(NPC, -202.36, -3.9, 235.92, 2, 0) + MovementLoopAddLocation(NPC, -202.64, -3.91, 236, 2, 0) + MovementLoopAddLocation(NPC, -197.24, -3.97, 242, 2, 5) + MovementLoopAddLocation(NPC, -202.59, -3.91, 235.95, 2, 0) + MovementLoopAddLocation(NPC, -191.99, -3.92, 236.66, 2, 0) + MovementLoopAddLocation(NPC, -190.92, -3.87, 237.41, 2, 0) + MovementLoopAddLocation(NPC, -190.86, -3.87, 236.59, 2, 0) + MovementLoopAddLocation(NPC, -191.39, -3.87, 238.4, 2, 0) + MovementLoopAddLocation(NPC, -185.13, -4.11, 241.22, 2, 0) + MovementLoopAddLocation(NPC, -181.1, -5.25, 245.72, 2, 0) + MovementLoopAddLocation(NPC, -179.12, -5.39, 247.29, 2, 0) + MovementLoopAddLocation(NPC, -175.5, -5.37, 250.46, 2, 0) + MovementLoopAddLocation(NPC, -170.9, -5.31, 254.31, 2, 0) + MovementLoopAddLocation(NPC, -168.76, -5.32, 252.41, 2, 0) + MovementLoopAddLocation(NPC, -168.3, -5.35, 249.47, 2, 5) + MovementLoopAddLocation(NPC, -167.04, -5.32, 251.05, 2, 0) + MovementLoopAddLocation(NPC, -167.98, -5.29, 254.2, 2, 0) + MovementLoopAddLocation(NPC, -168.35, -5.23, 258.58, 2, 0) + MovementLoopAddLocation(NPC, -166.79, -4.96, 259.51, 2, 0) + MovementLoopAddLocation(NPC, -162.31, -2.99, 259.13, 2, 0) + MovementLoopAddLocation(NPC, -159.67, -1.59, 257.66, 2, 0) + MovementLoopAddLocation(NPC, -156.66, 0.89, 254.98, 2, 0) + MovementLoopAddLocation(NPC, -155.32, 2.34, 253.15, 2, 0) + MovementLoopAddLocation(NPC, -155.69, 2.91, 251.21, 2, 0) + MovementLoopAddLocation(NPC, -156.64, 3.07, 250.16, 2, 0) + MovementLoopAddLocation(NPC, -159.16, 3.03, 249.46, 2, 0) + MovementLoopAddLocation(NPC, -161.3, 3, 249.72, 2, 0) + MovementLoopAddLocation(NPC, -163.2, 2.97, 251.02, 2, 0) + MovementLoopAddLocation(NPC, -166.04, 3.02, 251.79, 2, 0) + MovementLoopAddLocation(NPC, -167.87, 2.96, 251.59, 2, 0) + MovementLoopAddLocation(NPC, -169.09, 2.89, 250.24, 2, 0) +end + + diff --git a/Lua/SpawnScripts/Neriak/MKaiNFaer.lua b/Lua/SpawnScripts/Neriak/MKaiNFaer.lua new file mode 100755 index 000000000..a31986298 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/MKaiNFaer.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Neriak/MKaiNFaer.lua + Script Purpose : Waypoint Path for M'Kai N'Faer + Script Author : Cynnar + Script Date : 5/14/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 26.89, 15.53, 48.74, 2, 0) + MovementLoopAddLocation(NPC, 29.5, 14.17, 60.28, 2, 0) + MovementLoopAddLocation(NPC, 27.26, 12.15, 77.39, 2, 0) + MovementLoopAddLocation(NPC, 19.7, 11.52, 82.9, 2, 0) + MovementLoopAddLocation(NPC, 6.16, 12.37, 84.59, 2, 0) + MovementLoopAddLocation(NPC, -23.73, 11.56, 78.22, 2, 0) + MovementLoopAddLocation(NPC, -33.12, 12.33, 92.08, 2, 0) + MovementLoopAddLocation(NPC, -64.81, 11.38, 138.06, 2, 0) + MovementLoopAddLocation(NPC, -71.01, 11.74, 158.02, 2, 0) + MovementLoopAddLocation(NPC, -71.1, 11.41, 275.09, 2, 0) + MovementLoopAddLocation(NPC, -71.01, 11.74, 158.02, 2, 0) + MovementLoopAddLocation(NPC, -64.81, 11.38, 138.06, 2, 0) + MovementLoopAddLocation(NPC, -33.12, 12.33, 92.08, 2, 0) + MovementLoopAddLocation(NPC, -23.73, 11.56, 78.22, 2, 0) + MovementLoopAddLocation(NPC, 6.16, 12.37, 84.59, 2, 0) + MovementLoopAddLocation(NPC, 19.7, 11.52, 82.9, 2, 0) + MovementLoopAddLocation(NPC, 27.26, 12.15, 77.39, 2, 0) + MovementLoopAddLocation(NPC, 29.5, 14.17, 60.28, 2, 0) +end + diff --git a/Lua/SpawnScripts/Neriak/NewForeignQuaterGuard.lua b/Lua/SpawnScripts/Neriak/NewForeignQuaterGuard.lua new file mode 100755 index 000000000..06b9b8bf8 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/NewForeignQuaterGuard.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : SpawnScripts/Neriak/NewForeignQuaterGuard.lua + Script Purpose : Waypoint Path for New Foreign Quater Guard + Script Author : Cynnar + Script Date : 5/14/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + SetMount(NPC, 7242) + SetMountColor(NPC, 65, 52, 44, 58, 59, 151) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 118.87, 24.08, 158.84, 2, 0) + MovementLoopAddLocation(NPC, 115.19, 24.15, 159.04, 2, 0) + MovementLoopAddLocation(NPC, 103.03, 23.81, 153.4, 2, 0) + MovementLoopAddLocation(NPC, 100.66, 23.72, 148.5, 2, 0) + MovementLoopAddLocation(NPC, 100.85, 23.39, 144.32, 2, 0) + MovementLoopAddLocation(NPC, 101.87, 22.1, 136.97, 2, 0) + MovementLoopAddLocation(NPC, 103.94, 21.84, 132.45, 2, 0) + MovementLoopAddLocation(NPC, 107.79, 21.84, 128.72, 2, 0) + MovementLoopAddLocation(NPC, 109.07, 21.78, 124.67, 2, 0) + MovementLoopAddLocation(NPC, 108.04, 21.57, 118.39, 2, 0) + MovementLoopAddLocation(NPC, 104.63, 21.7, 115.35, 2, 0) + MovementLoopAddLocation(NPC, 98.69, 21.72, 110.94, 2, 0) + MovementLoopAddLocation(NPC, 97.92, 21.75, 106.18, 2, 0) + MovementLoopAddLocation(NPC, 98.32, 21.73, 102.39, 2, 0) + MovementLoopAddLocation(NPC, 99.2, 21.74, 97, 2, 0) + MovementLoopAddLocation(NPC, 97.97, 21.7, 94.51, 2, 0) + MovementLoopAddLocation(NPC, 95.42, 21.7, 91.79, 2, 0) + MovementLoopAddLocation(NPC, 91.87, 21.7, 88.91, 2, 0) + MovementLoopAddLocation(NPC, 90.82, 21.7, 84.19, 2, 0) + MovementLoopAddLocation(NPC, 91.39, 21.7, 81.53, 2, 0) + MovementLoopAddLocation(NPC, 94.53, 21.7, 76.52, 2, 0) + MovementLoopAddLocation(NPC, 97.97, 21.7, 72.06, 2, 0) + MovementLoopAddLocation(NPC, 94.53, 21.7, 76.52, 2, 0) + MovementLoopAddLocation(NPC, 91.39, 21.7, 81.53, 2, 0) + MovementLoopAddLocation(NPC, 90.82, 21.7, 84.19, 2, 0) + MovementLoopAddLocation(NPC, 91.87, 21.7, 88.91, 2, 0) + MovementLoopAddLocation(NPC, 95.42, 21.7, 91.79, 2, 0) + MovementLoopAddLocation(NPC, 97.97, 21.7, 94.51, 2, 0) + MovementLoopAddLocation(NPC, 99.2, 21.74, 97, 2, 0) + MovementLoopAddLocation(NPC, 98.32, 21.73, 102.39, 2, 0) + MovementLoopAddLocation(NPC, 97.92, 21.75, 106.18, 2, 0) + MovementLoopAddLocation(NPC, 98.69, 21.72, 110.94, 2, 0) + MovementLoopAddLocation(NPC, 104.63, 21.7, 115.35, 2, 0) + MovementLoopAddLocation(NPC, 108.04, 21.57, 118.39, 2, 0) + MovementLoopAddLocation(NPC, 109.07, 21.78, 124.67, 2, 0) + MovementLoopAddLocation(NPC, 107.79, 21.84, 128.72, 2, 0) + MovementLoopAddLocation(NPC, 103.94, 21.84, 132.45, 2, 0) + MovementLoopAddLocation(NPC, 101.87, 22.1, 136.97, 2, 0) + MovementLoopAddLocation(NPC, 100.85, 23.39, 144.32, 2, 0) + MovementLoopAddLocation(NPC, 100.66, 23.72, 148.5, 2, 0) + MovementLoopAddLocation(NPC, 103.03, 23.81, 153.4, 2, 0) + MovementLoopAddLocation(NPC, 115.19, 24.15, 159.04, 2, 0) +end diff --git a/Lua/SpawnScripts/Neriak/PhyravinDVaar.lua b/Lua/SpawnScripts/Neriak/PhyravinDVaar.lua new file mode 100755 index 000000000..bf8b392a2 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/PhyravinDVaar.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/Neriak/PhyravinDVaar.lua + Script Purpose : Waypoint Path for Phyravin D'Vaar + Script Author : Cynnar + Script Date : 5/26/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -191.72, -3.98, 251.26, 2, 5) + MovementLoopAddLocation(NPC, -192.87, -3.98, 251.58, 2, 0) + MovementLoopAddLocation(NPC, -193.45, -3.98, 251.46, 2, 0) + MovementLoopAddLocation(NPC, -203.03, -3.89, 249.9, 2, 0) + MovementLoopAddLocation(NPC, -203.35, -3.86, 247.97, 2, 0) + MovementLoopAddLocation(NPC, -203.37, -3.89, 246.24, 2, 0) + MovementLoopAddLocation(NPC, -201.64, -3.89, 245.04, 2, 5) + MovementLoopAddLocation(NPC, -203.03, -3.9, 245.15, 2, 0) + MovementLoopAddLocation(NPC, -199.55, -3.92, 235.24, 2, 0) + MovementLoopAddLocation(NPC, -194.76, -3.98, 238.22, 2, 0) + MovementLoopAddLocation(NPC, -194.17, -3.79, 242.65, 2, 5) + MovementLoopAddLocation(NPC, -194.6, -3.98, 238.42, 2, 0) + MovementLoopAddLocation(NPC, -199.78, -3.89, 235.92, 2, 0) + MovementLoopAddLocation(NPC, -202.46, -3.9, 243.69, 2, 5) + MovementLoopAddLocation(NPC, -201.28, -3.89, 244.93, 2, 0) + MovementLoopAddLocation(NPC, -203.01, -3.9, 245.56, 2, 0) + MovementLoopAddLocation(NPC, -204.45, -3.86, 248.66, 2, 0) + MovementLoopAddLocation(NPC, -193.37, -3.98, 252.22, 2, 5) + MovementLoopAddLocation(NPC, -191.18, -3.98, 255.21, 2, 0) + MovementLoopAddLocation(NPC, -188.73, -3.97, 258.22, 2, 0) + MovementLoopAddLocation(NPC, -187.84, -3.98, 260.26, 2, 0) + MovementLoopAddLocation(NPC, -184.67, -3.95, 268.33, 2, 0) + MovementLoopAddLocation(NPC, -183.27, -3.87, 270.66, 2, 0) + MovementLoopAddLocation(NPC, -182.08, -4.05, 272.47, 2, 0) + MovementLoopAddLocation(NPC, -181.78, -3.98, 276.23, 2, 0) + MovementLoopAddLocation(NPC, -180.4, -4.1, 273.39, 2, 0) + MovementLoopAddLocation(NPC, -180.12, -3.96, 269.83, 2, 0) + MovementLoopAddLocation(NPC, -181.12, -3.92, 267.87, 2, 0) + MovementLoopAddLocation(NPC, -191.69, -3.98, 251.27, 2, 0) +end diff --git a/Lua/SpawnScripts/Neriak/RaksharBucha.lua b/Lua/SpawnScripts/Neriak/RaksharBucha.lua new file mode 100755 index 000000000..736a28a59 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/RaksharBucha.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/Neriak/RaksharBucha.lua + Script Purpose : Waypoint Path for Rakshar Bucha + Script Author : Cynnar + Script Date : 5/14/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -91.48, 19.72, 4.78, 2, 5) + MovementLoopAddLocation(NPC, -85.93, 19.72, -2.91, 2, 0) + MovementLoopAddLocation(NPC, -85.3, 19.72, -6.1, 2, 5) + MovementLoopAddLocation(NPC, -79.93, 19.52, -15.74, 2, 0) + MovementLoopAddLocation(NPC, -83.8, 20.38, -17.12, 2, 5) + MovementLoopAddLocation(NPC, -88.2, 21.7, -18.32, 2, 0) + MovementLoopAddLocation(NPC, -88.61, 21.68, -15.42, 2, 0) + MovementLoopAddLocation(NPC, -86.84, 21.66, -11.08, 2, 0) + MovementLoopAddLocation(NPC, -88.68, 21.31, -7, 2, 0) + MovementLoopAddLocation(NPC, -88.31, 21.78, -4.25, 2, 5) + MovementLoopAddLocation(NPC, -90.07, 22.07, -2.38, 2, 0) + MovementLoopAddLocation(NPC, -94.96, 22.03, -2.08, 2, 0) + MovementLoopAddLocation(NPC, -96.2, 22.04, -0.39, 2, 5) + MovementLoopAddLocation(NPC, -94.96, 22.03, -2.08, 2, 0) + MovementLoopAddLocation(NPC, -90.07, 22.07, -2.38, 2, 0) + MovementLoopAddLocation(NPC, -88.31, 21.78, -4.25, 2, 0) + MovementLoopAddLocation(NPC, -88.68, 21.31, -7, 2, 0) + MovementLoopAddLocation(NPC, -86.84, 21.66, -11.08, 2, 5) + MovementLoopAddLocation(NPC, -88.61, 21.68, -15.42, 2, 0) + MovementLoopAddLocation(NPC, -88.2, 21.7, -18.32, 2, 0) + MovementLoopAddLocation(NPC, -83.8, 20.38, -17.12, 2, 0) + MovementLoopAddLocation(NPC, -79.93, 19.52, -15.74, 2, 5) + MovementLoopAddLocation(NPC, -85.3, 19.72, -6.1, 2, 0) + MovementLoopAddLocation(NPC, -85.93, 19.72, -2.91, 2, 5) + MovementLoopAddLocation(NPC, -77.56, 19.21, -10.67, 2, 5) +end + + diff --git a/Lua/SpawnScripts/Neriak/SDreadGuard2.lua b/Lua/SpawnScripts/Neriak/SDreadGuard2.lua new file mode 100755 index 000000000..d7c832a14 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/SDreadGuard2.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Neriak/SDreadGuard2.lua + Script Purpose : Waypoint Path for Dread Guard 2 Indigo Hollow + Script Author : Cynnar + Script Date : 5/7/2018 12:00:00 AM + Script Notes : This is the Dread Guard starting at New Foreign Quarter Neriak Indigo Hollow. +--]] + +function spawn(NPC) + SetMount(NPC, 7242) + SetMountColor(NPC, 65, 52, 44, 58, 59, 151) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function randmount(NPC) + local choice = math.random(1, 2) + if choice == 1 then + SetMount(NPC, 24936) + SetMountColor(NPC, 255, 255, 255, 255, 255, 255) + end +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 80.68, 17.42, 11.01, 2, 0) + MovementLoopAddLocation(NPC, 60.86, 16.96, 7.3, 2, 0) + MovementLoopAddLocation(NPC, 55.95, 17.22, 4.69, 2, 0) + MovementLoopAddLocation(NPC, 32.11, 17.02, -5.75, 2, 0) + MovementLoopAddLocation(NPC, 19.47, 17.01, 9.67, 2, 0) + MovementLoopAddLocation(NPC, 24.35, 16.31, 32.83, 2, 0) + MovementLoopAddLocation(NPC, 19.47, 17.01, 9.67, 2, 0) + MovementLoopAddLocation(NPC, 32.11, 17.02, -5.75, 2, 0) + MovementLoopAddLocation(NPC, 55.95, 17.22, 4.69, 2, 0) + MovementLoopAddLocation(NPC, 60.86, 16.96, 7.3, 2, 0) +end + diff --git a/Lua/SpawnScripts/Neriak/TTraeneXXxtar.lua b/Lua/SpawnScripts/Neriak/TTraeneXXxtar.lua new file mode 100755 index 000000000..ab6cd7e9a --- /dev/null +++ b/Lua/SpawnScripts/Neriak/TTraeneXXxtar.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : SpawnScripts/Neriak/TTraeneXXxtar.lua + Script Purpose : Waypoint Path for T'Traene X'Xxtar + Script Author : Cynnar + Script Date : 5/27/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -588.20, 27.79, 31.42, 2, 0) + MovementLoopAddLocation(NPC, -596.21, 27.37, 41.73, 2, 0) + MovementLoopAddLocation(NPC, -597.2, 27.37, 42.43, 2, 0) + MovementLoopAddLocation(NPC, -609.81, 26.88, 46.76, 2, 0) + MovementLoopAddLocation(NPC, -617.56, 27.07, 48.53, 2, 0) + MovementLoopAddLocation(NPC, -623.43, 27.09, 51.9, 2, 0) + MovementLoopAddLocation(NPC, -626.53, 27.02, 57.6, 2, 0) + MovementLoopAddLocation(NPC, -628.94, 26.91, 63.36, 2, 0) + MovementLoopAddLocation(NPC, -628.91, 26.5, 68.19, 2, 0) + MovementLoopAddLocation(NPC, -626.27, 24.81, 73.79, 2, 0) + MovementLoopAddLocation(NPC, -622.23, 23.41, 78.73, 2, 0) + MovementLoopAddLocation(NPC, -615.02, 21.97, 85.66, 2, 0) + MovementLoopAddLocation(NPC, -611.73, 21.8, 86.58, 2, 0) + MovementLoopAddLocation(NPC, -607.35, 21.99, 86.46, 2, 0) + MovementLoopAddLocation(NPC, -603.23, 22.47, 84.87, 2, 0) + MovementLoopAddLocation(NPC, -591.62, 21.35, 85.68, 2, 0) + MovementLoopAddLocation(NPC, -587.85, 21.03, 87.34, 2, 0) + MovementLoopAddLocation(NPC, -584.84, 20.81, 90.41, 2, 0) + MovementLoopAddLocation(NPC, -584.04, 20.56, 94.21, 2, 0) + MovementLoopAddLocation(NPC, -585.42, 18.4, 110.7, 2, 0) + MovementLoopAddLocation(NPC, -584.57, 18.26, 114.39, 2, 0) + MovementLoopAddLocation(NPC, -585.56, 18.55, 118.01, 2, 0) + MovementLoopAddLocation(NPC, -585.85, 19.12, 123.07, 2, 0) + MovementLoopAddLocation(NPC, -586.48, 19.5, 130.38, 2, 0) + MovementLoopAddLocation(NPC, -585.81, 20.14, 133.59, 2, 0) + MovementLoopAddLocation(NPC, -589.61, 20.94, 140.6, 2, 0) + MovementLoopAddLocation(NPC, -585.81, 20.14, 133.59, 2, 0) + MovementLoopAddLocation(NPC, -586.48, 19.5, 130.38, 2, 0) + MovementLoopAddLocation(NPC, -585.85, 19.12, 123.07, 2, 0) + MovementLoopAddLocation(NPC, -585.56, 18.55, 118.01, 2, 0) + MovementLoopAddLocation(NPC, -584.57, 18.26, 114.39, 2, 0) + MovementLoopAddLocation(NPC, -585.42, 18.4, 110.7, 2, 0) + MovementLoopAddLocation(NPC, -584.04, 20.56, 94.21, 2, 0) + MovementLoopAddLocation(NPC, -584.84, 20.81, 90.41, 2, 0) + MovementLoopAddLocation(NPC, -587.85, 21.03, 87.34, 2, 0) + MovementLoopAddLocation(NPC, -591.62, 21.35, 85.68, 2, 0) + MovementLoopAddLocation(NPC, -603.23, 22.47, 84.87, 2, 0) + MovementLoopAddLocation(NPC, -607.35, 21.99, 86.46, 2, 0) + MovementLoopAddLocation(NPC, -611.73, 21.8, 86.58, 2, 0) + MovementLoopAddLocation(NPC, -615.02, 21.97, 85.66, 2, 0) + MovementLoopAddLocation(NPC, -622.23, 23.41, 78.73, 2, 0) + MovementLoopAddLocation(NPC, -626.27, 24.81, 73.79, 2, 0) + MovementLoopAddLocation(NPC, -628.91, 26.5, 68.19, 2, 0) + MovementLoopAddLocation(NPC, -628.94, 26.91, 63.36, 2, 0) + MovementLoopAddLocation(NPC, -626.53, 27.02, 57.6, 2, 0) + MovementLoopAddLocation(NPC, -623.43, 27.09, 51.9, 2, 0) + MovementLoopAddLocation(NPC, -617.56, 27.07, 48.53, 2, 0) + MovementLoopAddLocation(NPC, -609.81, 26.88, 46.76, 2, 0) + MovementLoopAddLocation(NPC, -597.2, 27.37, 42.43, 2, 0) + MovementLoopAddLocation(NPC, -596.21, 27.37, 41.73, 2, 0) + MovementLoopAddLocation(NPC, -588.20, 27.79, 31.42, 2, 0) +end + diff --git a/Lua/SpawnScripts/Neriak/Ultra.lua b/Lua/SpawnScripts/Neriak/Ultra.lua new file mode 100755 index 000000000..431c6faa8 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/Ultra.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : SpawnScripts/Neriak/Ultra.lua + Script Purpose : Waypoint Path for Ultra + Script Author : Cynnar + Script Date : 5/14/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + ranpause = math.random(0, 5) + + MovementLoopAddLocation(NPC, 23.45, 12.23, 76.7, 2, 0) + MovementLoopAddLocation(NPC, 20.26, 11.83, 80.91, 2, 0) + MovementLoopAddLocation(NPC, 16.38, 11.3, 81.25, 2, 0) + MovementLoopAddLocation(NPC, 7.22, 12.7, 81.75, 2, ranpause) + MovementLoopAddLocation(NPC, -0.56, 11.69, 79.6, 2, 0) + MovementLoopAddLocation(NPC, -11.78, 11.29, 77.71, 2, 0) + MovementLoopAddLocation(NPC, -22.61, 11.5, 73.99, 2, 0) + MovementLoopAddLocation(NPC, -35.41, 12.49, 90.55, 2, ranpause) + MovementLoopAddLocation(NPC, -40.87, 12.13, 97.98, 2, 0) + MovementLoopAddLocation(NPC, -41.03, 11.95, 110.39, 2, 0) + MovementLoopAddLocation(NPC, -47.99, 11.84, 112.17, 2, 0) + MovementLoopAddLocation(NPC, -52.15, 11.72, 117.36, 2, ranpause) + MovementLoopAddLocation(NPC, -53.28, 11.58, 126.31, 2, 0) + MovementLoopAddLocation(NPC, -63.31, 11.37, 137.8, 2, ranpause) + MovementLoopAddLocation(NPC, -67.02, 11.8, 162.33, 2, 0) + MovementLoopAddLocation(NPC, -69.51, 11.72, 172.74, 2, 0) + MovementLoopAddLocation(NPC, -76.3, 11.72, 186.64, 2, 0) + MovementLoopAddLocation(NPC, -66.86, 11.72, 199.31, 2, ranpause) + MovementLoopAddLocation(NPC, -69.13, 11.72, 204.01, 2, 0) + MovementLoopAddLocation(NPC, -69.6, 11.72, 211.01, 2, 0) + MovementLoopAddLocation(NPC, -73.95, 11.72, 214.67, 2, 0) + MovementLoopAddLocation(NPC, -74.56, 11.72, 221.48, 2, 0) + MovementLoopAddLocation(NPC, -68.27, 11.72, 238.99, 2, 0) + MovementLoopAddLocation(NPC, -66.53, 11.72, 244.13, 2, 0) + MovementLoopAddLocation(NPC, -71.22, 11.72, 262.8, 2, ranpause) + MovementLoopAddLocation(NPC, -76.99, 11.72, 247.16, 2, 0) + MovementLoopAddLocation(NPC, -77.28, 11.72, 229.13, 2, 0) + MovementLoopAddLocation(NPC, -66.43, 11.72, 224.15, 2, 0) + MovementLoopAddLocation(NPC, -70.96, 11.72, 212.55, 2, 0) + MovementLoopAddLocation(NPC, -72.21, 11.72, 195.16, 2, 0) + MovementLoopAddLocation(NPC, -66.2, 11.72, 192.25, 2, 0) + MovementLoopAddLocation(NPC, -76.73, 11.72, 180.5, 2, 0) + MovementLoopAddLocation(NPC, -76.46, 11.72, 163.66, 2, ranpause) + MovementLoopAddLocation(NPC, -67.82, 11.38, 136.76, 2, 0) + MovementLoopAddLocation(NPC, -54.99, 11.66, 119.46, 2, ranpause) + MovementLoopAddLocation(NPC, -35.85, 12.14, 101.02, 2, 0) + MovementLoopAddLocation(NPC, -36.44, 12.48, 90.46, 2, ranpause) + MovementLoopAddLocation(NPC, -16.5, 11.26, 81.01, 2, 0) + MovementLoopAddLocation(NPC, -5.69, 11.24, 84.94, 2, 0) + MovementLoopAddLocation(NPC, 3.72, 12.42, 87.21, 2, ranpause) + MovementLoopAddLocation(NPC, 13.59, 11.49, 86.42, 2, 0) + MovementLoopAddLocation(NPC, 24.97, 12.06, 83.18, 2, 0) + MovementLoopAddLocation(NPC, 29.09, 12.25, 75.68, 2, 0) + MovementLoopAddLocation(NPC, 28.37, 13.43, 66.98, 2, 4) + MovementLoopAddLocation(NPC, 30.13, 15.42, 49.57, 2, 0) + MovementLoopAddLocation(NPC, 30.09, 16.22, 44.1, 2, 0) + MovementLoopAddLocation(NPC, 24.04, 15.18, 51.67, 2, 0) + MovementLoopAddLocation(NPC, 28.12, 13.82, 63.34, 2, ranpause) + MovementLoopAddLocation(NPC, 28.75, 13.48, 67.85, 2, 0) +end + diff --git a/Lua/SpawnScripts/Neriak/acourtesan1.lua b/Lua/SpawnScripts/Neriak/acourtesan1.lua new file mode 100755 index 000000000..c1acd203a --- /dev/null +++ b/Lua/SpawnScripts/Neriak/acourtesan1.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Neriak/acourtesan1.lua + Script Purpose : Waypoint Path for a courtesan Neriak Underground Entrance Right + Script Author : Cynnar + Script Date : 5/26/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -108.44, 7.44, 303.36, 2, 0) + MovementLoopAddLocation(NPC, -111.22, 7.53, 308.67, 2, 0) + MovementLoopAddLocation(NPC, -113.68, 7.63, 313.21, 2, 0) + MovementLoopAddLocation(NPC, -116.4, 7.53, 315.43, 2, 0) + MovementLoopAddLocation(NPC, -121.05, 7.98, 313.64, 2, 0) + MovementLoopAddLocation(NPC, -126.46, 8.14, 314.4, 2, 0) + MovementLoopAddLocation(NPC, -132.14, 8.11, 318.48, 2, 0) + MovementLoopAddLocation(NPC, -135.36, 7.81, 322.87, 2, 0) + MovementLoopAddLocation(NPC, -141.83, 7.8, 325.35, 2, 0) + MovementLoopAddLocation(NPC, -152.51, 7.85, 323.29, 2, 0) + MovementLoopAddLocation(NPC, -159.26, 8.38, 320.96, 2, 0) + MovementLoopAddLocation(NPC, -152.51, 7.85, 323.29, 2, 0) + MovementLoopAddLocation(NPC, -141.83, 7.8, 325.35, 2, 0) + MovementLoopAddLocation(NPC, -135.36, 7.81, 322.87, 2, 0) + MovementLoopAddLocation(NPC, -132.14, 8.11, 318.48, 2, 0) + MovementLoopAddLocation(NPC, -126.46, 8.14, 314.4, 2, 0) + MovementLoopAddLocation(NPC, -121.05, 7.98, 313.64, 2, 0) + MovementLoopAddLocation(NPC, -116.4, 7.53, 315.43, 2, 0) + MovementLoopAddLocation(NPC, -113.68, 7.63, 313.21, 2, 0) + MovementLoopAddLocation(NPC, -111.22, 7.53, 308.67, 2, 0) + MovementLoopAddLocation(NPC, -108.44, 7.44, 303.36, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Neriak/acourtesan2.lua b/Lua/SpawnScripts/Neriak/acourtesan2.lua new file mode 100755 index 000000000..ef09fd9e2 --- /dev/null +++ b/Lua/SpawnScripts/Neriak/acourtesan2.lua @@ -0,0 +1,86 @@ +--[[ + Script Name : SpawnScripts/Neriak/acourtesan2.lua + Script Purpose : Waypoint Path for a courtesan Neriak Downunder + Script Author : Cynnar + Script Date : 5/26/2018 12:00:00 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -175.03, -5.36, 252.11, 2, 0) + MovementLoopAddLocation(NPC, -178.94, -5.42, 247.04, 2, 0) + MovementLoopAddLocation(NPC, -180.2, -5.34, 246.76, 2, 0) + MovementLoopAddLocation(NPC, -180.7, -5.31, 246.06, 2, 0) + MovementLoopAddLocation(NPC, -182.28, -4.92, 244.93, 2, 0) + MovementLoopAddLocation(NPC, -183.59, -4.39, 242.97, 2, 0) + MovementLoopAddLocation(NPC, -184.99, -4.1, 240.88, 2, 0) + MovementLoopAddLocation(NPC, -188.23, -3.96, 240.15, 2, 0) + MovementLoopAddLocation(NPC, -191, -3.89, 240.26, 2, 0) + MovementLoopAddLocation(NPC, -193.77, -3.93, 239.14, 2, 0) + MovementLoopAddLocation(NPC, -197.11, -3.95, 238.54, 2, 0) + MovementLoopAddLocation(NPC, -199.89, -3.9, 239.27, 2, 0) + MovementLoopAddLocation(NPC, -201.63, -3.96, 241.22, 2, 0) + MovementLoopAddLocation(NPC, -202.42, -3.91, 243.36, 2, 0) + MovementLoopAddLocation(NPC, -203.26, -3.91, 244.59, 2, 0) + MovementLoopAddLocation(NPC, -204.57, -3.86, 248.21, 2, 0) + MovementLoopAddLocation(NPC, -203.63, -3.87, 250.3, 2, 0) + MovementLoopAddLocation(NPC, -202.44, -3.96, 251.75, 2, 0) + MovementLoopAddLocation(NPC, -198.17, -4.06, 251.76, 2, 0) + MovementLoopAddLocation(NPC, -192.84, -3.98, 253.19, 2, 0) + MovementLoopAddLocation(NPC, -190.54, -3.98, 254.68, 2, 0) + MovementLoopAddLocation(NPC, -187.78, -3.99, 257.42, 2, 0) + MovementLoopAddLocation(NPC, -181.75, -3.88, 269.79, 2, 0) + MovementLoopAddLocation(NPC, -180.12, -3.97, 272.09, 2, 0) + MovementLoopAddLocation(NPC, -178.63, -4.08, 273.61, 2, 0) + MovementLoopAddLocation(NPC, -177.18, -4.06, 273.99, 2, 0) + MovementLoopAddLocation(NPC, -175.94, -4, 273.13, 2, 0) + MovementLoopAddLocation(NPC, -171.83, -4.43, 268.41, 2, 0) + MovementLoopAddLocation(NPC, -170.7, -4.51, 267.55, 2, 0) + MovementLoopAddLocation(NPC, -169.58, -4.68, 265.84, 2, 0) + MovementLoopAddLocation(NPC, -168.45, -5.08, 264.1, 2, 0) + MovementLoopAddLocation(NPC, -167.7, -5.2, 260.55, 2, 0) + MovementLoopAddLocation(NPC, -168.22, -5.23, 258.51, 2, 0) + MovementLoopAddLocation(NPC, -167.7, -5.2, 260.55, 2, 0) + MovementLoopAddLocation(NPC, -168.45, -5.08, 264.1, 2, 0) + MovementLoopAddLocation(NPC, -169.58, -4.68, 265.84, 2, 0) + MovementLoopAddLocation(NPC, -170.7, -4.51, 267.55, 2, 0) + MovementLoopAddLocation(NPC, -171.83, -4.43, 268.41, 2, 0) + MovementLoopAddLocation(NPC, -175.94, -4, 273.13, 2, 0) + MovementLoopAddLocation(NPC, -177.18, -4.06, 273.99, 2, 0) + MovementLoopAddLocation(NPC, -178.63, -4.08, 273.61, 2, 0) + MovementLoopAddLocation(NPC, -180.12, -3.97, 272.09, 2, 0) + MovementLoopAddLocation(NPC, -181.75, -3.88, 269.79, 2, 0) + MovementLoopAddLocation(NPC, -187.78, -3.99, 257.42, 2, 0) + MovementLoopAddLocation(NPC, -190.54, -3.98, 254.68, 2, 0) + MovementLoopAddLocation(NPC, -192.84, -3.98, 253.19, 2, 0) + MovementLoopAddLocation(NPC, -198.17, -4.06, 251.76, 2, 0) + MovementLoopAddLocation(NPC, -202.44, -3.96, 251.75, 2, 0) + MovementLoopAddLocation(NPC, -203.63, -3.87, 250.3, 2, 0) + MovementLoopAddLocation(NPC, -204.57, -3.86, 248.21, 2, 0) + MovementLoopAddLocation(NPC, -203.26, -3.91, 244.59, 2, 0) + MovementLoopAddLocation(NPC, -202.42, -3.91, 243.36, 2, 0) + MovementLoopAddLocation(NPC, -201.63, -3.96, 241.22, 2, 0) + MovementLoopAddLocation(NPC, -199.89, -3.9, 239.27, 2, 0) + MovementLoopAddLocation(NPC, -197.11, -3.95, 238.54, 2, 0) + MovementLoopAddLocation(NPC, -193.77, -3.93, 239.14, 2, 0) + MovementLoopAddLocation(NPC, -191, -3.89, 240.26, 2, 0) + MovementLoopAddLocation(NPC, -188.23, -3.96, 240.15, 2, 0) + MovementLoopAddLocation(NPC, -184.99, -4.1, 240.88, 2, 0) + MovementLoopAddLocation(NPC, -183.59, -4.39, 242.97, 2, 0) + MovementLoopAddLocation(NPC, -182.28, -4.92, 244.93, 2, 0) + MovementLoopAddLocation(NPC, -180.7, -5.31, 246.06, 2, 0) + MovementLoopAddLocation(NPC, -180.2, -5.34, 246.76, 2, 0) + MovementLoopAddLocation(NPC, -178.94, -5.42, 247.04, 2, 0) + MovementLoopAddLocation(NPC, -175.03, -5.36, 252.11, 2, 0) +end diff --git a/Lua/SpawnScripts/Nettleville/Ajarn.lua b/Lua/SpawnScripts/Nettleville/Ajarn.lua new file mode 100755 index 000000000..b8c4a1b70 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/Ajarn.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Nettleville/Ajarn.lua + Script Purpose : Ajarn + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2595040836, 1903894062, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1405292242, 1170257111, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2292395976, 2840814777, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 668610071, 953653133, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2438244582, 4033825140, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/AmazuKharliko.lua b/Lua/SpawnScripts/Nettleville/AmazuKharliko.lua new file mode 100755 index 000000000..3b6786cac --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/AmazuKharliko.lua @@ -0,0 +1,151 @@ +--[[ + Script Name : SpawnScripts/Nettleville/AmazuKharliko.lua + Script Purpose : Amazu Kharliko + Script Author : Scatman + Script Date : 2008.10.08 + Script Notes : +--]] + +local QUEST_3_FROM_HELAIN = 297 +local QUEST_4_FROM_JOHFRIT = 298 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_4_FROM_JOHFRIT) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko008.mp3", "", "", 1650962870, 444743395, Spawn) + AddConversationOption(conversation, "You might wanna see about chewing some mint instead of fish.", "dlg_15_1") + AddConversationOption(conversation, "I almost flinched that time!", "dlg_15_1") + AddConversationOption(conversation, "Quit doing that! You take pleasure in scaring others, don't you?", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "RrrraaaAAAawwwwwrrrrrr!") + elseif HasQuest(Spawn, QUEST_4_FROM_JOHFRIT) then + if GetQuestStep(Spawn, QUEST_4_FROM_JOHFRIT) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko011.mp3", "", "", 1123006021, 1879893203, Spawn) + AddConversationOption(conversation, "I have a crate for you from Johfrit.", "dlg_29_1") + StartConversation(conversation, NPC, Spawn, "You smell much tastier now than before! What do you have?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko008.mp3", "", "", 1650962870, 444743395, Spawn) + AddConversationOption(conversation, "You might wanna see about chewing some mint instead of fish.", "dlg_15_1") + AddConversationOption(conversation, "I almost flinched that time!", "dlg_15_1") + AddConversationOption(conversation, "Quit doing that! You take pleasure in scaring others, don't you?", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "RrrraaaAAAawwwwwrrrrrr!") + end + elseif HasQuest(Spawn, QUEST_3_FROM_HELAIN) then + if GetQuestStep(Spawn, QUEST_3_FROM_HELAIN) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko001.mp3", "", "", 2412415380, 3586762030, Spawn) + AddConversationOption(conversation, "I will take your word for it, as I have not met many kerra, and you are very impressive. ", "dlg_14_1") + StartConversation(conversation, NPC, Spawn, "No need to tremble before me.") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko008.mp3", "", "", 1650962870, 444743395, Spawn) + AddConversationOption(conversation, "You might wanna see about chewing some mint instead of fish.", "dlg_15_1") + AddConversationOption(conversation, "I almost flinched that time!", "dlg_15_1") + AddConversationOption(conversation, "Quit doing that! You take pleasure in scaring others, don't you?", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "RrrraaaAAAawwwwwrrrrrr!") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko010.mp3", "", "", 651374027, 1052559465, Spawn) + AddConversationOption(conversation, "No. I would never think of it!", "dlg_11_1") + StartConversation(conversation, NPC, Spawn, "No need to tremble before me... Unless you were the one who took my fish!") + end +end + +---------------------------------------------------------------------------------------------- +-- QUEST_3_FROM_HELAIN +---------------------------------------------------------------------------------------------- + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko002.mp3", "", "", 879413742, 456522706, Spawn) + AddConversationOption(conversation, "I am. And trying to find some work. Helain Conyers suggested I see you. ", "dlg_14_2") + StartConversation(conversation, NPC, Spawn, "Hmmm. Thank you. You are new here then, I take it?") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko003.mp3", "", "", 191512372, 1900479237, Spawn) + AddConversationOption(conversation, "Yes. She spoke of you as a friend.", "dlg_14_3") + AddConversationOption(conversation, "Yes. I was rather hoping that I could do something for you.", "Fish") + StartConversation(conversation, NPC, Spawn, "Conyers? Ah yes, the peace lover, right? ") +end + +function Fish(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I work for anyone that is willing to pay me.", "dlg_14_5") + StartConversation(conversation, NPC, Spawn, "Do you work for fish?") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko005.mp3", "", "", 559636726, 1850023640, Spawn) + AddConversationOption(conversation, "Aaaah! I am sorry! ", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "A friend?! I should run you through right here and now, for even suggesting!") +end + +function dlg_14_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko006.mp3", "", "", 3032852207, 1937375356, Spawn) + AddConversationOption(conversation, "Good, then I will need not to declaw you! ", "dlg_14_5") + StartConversation(conversation, NPC, Spawn, "Heh heh. No need to flinch! I'm only teasing.") +end + +function dlg_14_5(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3_FROM_HELAIN, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko007.mp3", "", "", 3789369040, 1416330041, Spawn) + AddConversationOption(conversation, "No matter. There are others for me to ask. Good day!") + StartConversation(conversation, NPC, Spawn, "HA! I like you! I just wish I had some work for you. ") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko009.mp3", "", "", 919685617, 2774536820, Spawn) + AddConversationOption(conversation, "Thanks, Amazu. I'll see you later.") + StartConversation(conversation, NPC, Spawn, "Heh heh. I like you! You have a good sense of humor.") +end + +---------------------------------------------------------------------------------------------------------- +-- QUEST_4_FROM_JOHFRIT +---------------------------------------------------------------------------------------------------------- + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko012.mp3", "", "", 984254071, 443165129, Spawn) + AddConversationOption(conversation, "I just hope the smell does not linger on me.", "dlg_29_2") + StartConversation(conversation, NPC, Spawn, "My imported squid! Mmmmmmm. No wonder you smelled so good! ") +end + +function dlg_29_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4_FROM_JOHFRIT, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/amazu_kharliko/qey_village01/quests/newbie_path_human/amazukharliko013.mp3", "", "", 2265246236, 1769996866, Spawn) + AddConversationOption(conversation, "Right. Good day, Amazu!") + StartConversation(conversation, NPC, Spawn, "Heh heh. Unless you want many Kerra following you through town!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/AndretSurtees.lua b/Lua/SpawnScripts/Nettleville/AndretSurtees.lua new file mode 100755 index 000000000..3e7856ede --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/AndretSurtees.lua @@ -0,0 +1,97 @@ +--[[ + Script Name : SpawnScripts/Nettleville/AndretSurtees.lua + Script Purpose : Andret Surtees + Script Author : Scatman + Script Date : 2008.10.08 + Script Notes : +--]] + +local QUEST_1_FROM_HELAIN = 295 +local QUEST_3_FROM_HELAIN = 297 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_3_FROM_HELAIN) or HasCompletedQuest(Spawn, QUEST_3_FROM_HELAIN) then + if HasQuest(Spawn, QUEST_3_FROM_HELAIN) and GetQuestStep(Spawn, QUEST_3_FROM_HELAIN) == 2 then + HelloThere(NPC, Spawn, conversation) + else + BackAgain(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1_FROM_HELAIN) and GetQuestStep(Spawn, QUEST_1_FROM_HELAIN) == 1 then + MindYourStepQuest(NPC, Spawn, conversation) + else + MindYourStep(NPC, Spawn, conversation) + end +end + +function MindYourStep(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/andret_surtees/qey_village01/andretsurtees001.mp3", "", "", 2406711423, 2100048061, Spawn) + AddConversationOption(conversation, "Thank you. I'll be careful.") + StartConversation(conversation, NPC, Spawn, "Mind your step, sometimes the floorboards have a little lip.") +end + +----------------------------------------------------------------------------------------------- +-- QUEST_1_FROM_HELAIN +----------------------------------------------------------------------------------------------- + +function MindYourStepQuest(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/andret_surtees/qey_village01/andretsurtees002.mp3", "", "", 2927697364, 976114271, Spawn) + AddConversationOption(conversation, "Ah, thank you. I was sent by Helain Conyers, she said that..", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Mind your step, sometimes the floorboards have a little lip.") +end + +function dlg_5_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1_FROM_HELAIN, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/andret_surtees/qey_village01/andretsurtees003.mp3", "", "", 3181148477, 966976976, Spawn) + AddConversationOption(conversation, "No problem. Thank you!") + StartConversation(conversation, NPC, Spawn, "That I had some books for her, right ya are. Here they are! Careful with that one about Brell Serilis. It is the oldest, and kinda' falling apart.") +end + +----------------------------------------------------------------------------------------------- +-- QUEST_3_FROM_HELAIN +----------------------------------------------------------------------------------------------- + +function HelloThere(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/andret_surtees/qey_village01/andretsurtees005.mp3", "", "", 2242497941, 3475570879, Spawn) + AddConversationOption(conversation, "No, no. She was very excited to have them. She thought you may have something for me to do. ", "dlg_18_1") + StartConversation(conversation, NPC, Spawn, "Hello, there! Don't tell me Helain is done with those books already! ") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/andret_surtees/qey_village01/andretsurtees006.mp3", "", "", 3395167985, 2902134044, Spawn) + AddConversationOption(conversation, "I can see why you would. ", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "She's a sweet girl. I appreciate her interests in books.") +end + +function dlg_18_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3_FROM_HELAIN, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/andret_surtees/qey_village01/andretsurtees007.mp3", "", "", 3293202175, 255010916, Spawn) + AddConversationOption(conversation, "That's OK. Thank you, anyway.") + StartConversation(conversation, NPC, Spawn, "Right up my alley, I admit. Ha ha ha. But a job? No, not here. Normally, I would have a little task of some sort, but not today.") +end + +function BackAgain(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/andret_surtees/qey_village01/andretsurtees004.mp3", "", "", 2872376799, 1379943312, Spawn) + AddConversationOption(conversation, "Oh, I don't know. I was just stopping in.", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "Back again? I can't imagine that Helain's done with the books I lent her.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/Aves.lua b/Lua/SpawnScripts/Nettleville/Aves.lua new file mode 100755 index 000000000..380793a4c --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/Aves.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Nettleville/Aves.lua + Script Purpose : Aves + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/aves/qey_village01/aves000.mp3", "", "", 3237492483, 2034262045, Spawn) + AddConversationOption(conversation, "Um... I don't even know who your brother is. I think I'll leave you alone") + StartConversation(conversation, NPC, Spawn, "Shhh! Keep your voice down. Unless my brother sent you, I suggest you find another place to wait for the ferry.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/BahatiLinnxar.lua b/Lua/SpawnScripts/Nettleville/BahatiLinnxar.lua new file mode 100755 index 000000000..b9f089f9a --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/BahatiLinnxar.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/Nettleville/BahatiLinnxar.lua + Script Purpose : Bahati Linnxar + Script Author : Scatman + Script Date : 2008.10.08 + Script Notes : +--]] + +local QUEST_3_FROM_HELAIN = 297 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_3_FROM_HELAIN) and GetQuestStep(Spawn, QUEST_3_FROM_HELAIN) >= 3 then + if GetQuestStep(Spawn, QUEST_3_FROM_HELAIN) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bahati_linnxar/qey_village01/quests/newbie_path_human/bahatilinnxar001.mp3", "", "", 1302404372, 2531656487, Spawn) + AddConversationOption(conversation, "Actually, I have come seeking work. Helain Conyers thought you may have some work for me. ", "dlg_21_1") + StartConversation(conversation, NPC, Spawn, "Take a look at the stock my colleague has. You'll never beat these prices in the city!") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bahati_linnxar/qey_village01/quests/newbie_path_human/bahatilinnxar005.mp3", "", "", 2124702134, 1087800456, Spawn) + AddConversationOption(conversation, "And you, in yours, Bahati.") + StartConversation(conversation, NPC, Spawn, "I wish you luck in your hunts, adventurer.") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bahati_linnxar/qey_village01/quests/newbie_path_human/bahatilinnxar004.mp3", "", "", 4186730330, 845855960, Spawn) + AddConversationOption(conversation, "Perhaps, I will.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Take a look at the stock my colleague has. You'll never beat these prices in the city! ") + end +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bahati_linnxar/qey_village01/quests/newbie_path_human/bahatilinnxar002.mp3", "", "", 2304357496, 4139870, Spawn) + AddConversationOption(conversation, "At least you find it then. No work for me then, I suppose? ", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "She did, eh? She is a sweetie, but a bit of an oddball. What is not to love about the hunt? The hunt is where I find my inner peace! ") +end + +function dlg_21_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3_FROM_HELAIN, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bahati_linnxar/qey_village01/quests/newbie_path_human/bahatilinnxar003.mp3", "", "", 1543408868, 3252040827, Spawn) + AddConversationOption(conversation, "I understand. Enjoy the day, Bahati.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "No, I have nothing to offer you. ") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/BarikaIjumaa.lua b/Lua/SpawnScripts/Nettleville/BarikaIjumaa.lua new file mode 100755 index 000000000..c0a66ad24 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/BarikaIjumaa.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Nettleville/BarikaIjumaa.lua + Script Purpose : Barika Ijumaa + Script Author : Scatman + Script Date : 2009.08.08 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Welcome! What can I help you with?", "bow", 1689589577, 4560189, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/BarmaidLollaCotgrove.lua b/Lua/SpawnScripts/Nettleville/BarmaidLollaCotgrove.lua new file mode 100755 index 000000000..4f8233ed7 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/BarmaidLollaCotgrove.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Nettleville/BarmaidLollaCotgrove.lua + Script Purpose : Barmaid Lolla Cotgrove + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/barmaid_lolla_cotgrove/qey_village01/qey_village01_barmaid_lolla_cotgrove_callout_a2de4d52.mp3", "...And that will go over here and the kegs go there... Yeah. Yeah. Yeah. What do you need?", "point", 2609682603, 931995827, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_2/ft/service/baker/human_baker_service_good_2_hail_gf_9db280de.mp3", "I love the smell of fresh bread in the oven!", "sigh", 1697227241, 4084483111, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barmaid_lolla_cotgrove/qey_village01/qey_village01_barmaid_lolla_cotgrove_multhail1_ec6e0398.mp3", "Can't you see I'm busy? I've no time for small talk!", "no", 370156187, 590443744, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_2/ft/service/baker/human_baker_service_good_2_hail_gf_1e9a743c.mp3", "Please mind the plates, they're very hot.", "scold", 1418065096, 412156270, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_2/ft/service/baker/human_baker_service_good_2_hail_gf_3d1ca473.mp3", "Tell me, do you prefer Halfling or Elven cuisine? I myself have a hard time deciding between the two.", "confused", 591848764, 941431809, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/BowyerFesante.lua b/Lua/SpawnScripts/Nettleville/BowyerFesante.lua new file mode 100755 index 000000000..034bc0e6c --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/BowyerFesante.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Nettleville/BowyerFesante.lua + Script Purpose : Bowyer Fesante + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + hailed(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 2091371377, 2422178491, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, traveler! We have the finest supplies to fill your adventuring needs.", "smile", 509171300, 3181487898, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2213475197, 3871690614, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3487732561, 2995138728, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 591569637, 3640467043, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/CarynSwell.lua b/Lua/SpawnScripts/Nettleville/CarynSwell.lua new file mode 100755 index 000000000..78f2100e9 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/CarynSwell.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Nettleville/CarynSwell.lua + Script Purpose : Caryn Swell + Script Author : Scatman + Script Date : 2009.08.10 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 489810336, 3318568259, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1527285383, 3910629798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1667555721, 2696093362, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2588954321, 88153469, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/CaylessChambers.lua b/Lua/SpawnScripts/Nettleville/CaylessChambers.lua new file mode 100755 index 000000000..a4721c0bc --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/CaylessChambers.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Nettleville/CaylessChambers.lua + Script Purpose : Cayless Chambers + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/smith_cayless_chambers/qey_village01/smithcayless000.mp3", "", "", 360119992, 780476339, Spawn) + AddConversationOption(conversation, "Just looking.") + StartConversation(conversation, NPC, Spawn, "Welcome to the Knight's Edge. Looking for fine quality armors? I'm your lady. Place your order and stand back.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/ConstableArathur.lua b/Lua/SpawnScripts/Nettleville/ConstableArathur.lua new file mode 100755 index 000000000..bf72309ff --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/ConstableArathur.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Nettleville/ConstableArathur.lua + Script Purpose : Constable Arathur + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/constable_arathur/qey_village01/constablearathur000.mp3", "", "", 1713133658, 629344486, Spawn) + AddConversationOption(conversation, "I shall do my part. Farewell.") + StartConversation(conversation, NPC, Spawn, "Hail, Qeynosian. Please be on the lookout for any illicit trade activities. We must all do our part to keep corruption from creeping into our fair city. ") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/DarianWells.lua b/Lua/SpawnScripts/Nettleville/DarianWells.lua new file mode 100755 index 000000000..ffa8e91d1 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/DarianWells.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Nettleville/DarianWells.lua + Script Purpose : Darian Wells + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_2/ft/service/merchant/human_merchant_service_good_2_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 507535350, 484861631, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_2/ft/service/merchant/human_merchant_service_good_2_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1383875147, 384287053, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_2/ft/service/merchant/human_merchant_service_good_2_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 515505319, 274009138, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/human_eco_good_2/ft/service/merchant/human_merchant_service_good_2_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3492716408, 910029111, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/DirkVagrin.lua b/Lua/SpawnScripts/Nettleville/DirkVagrin.lua new file mode 100755 index 000000000..961961a77 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/DirkVagrin.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Nettleville/DirkVagrin.lua + Script Purpose : Dirk Vagrin + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/dirk_vagrin/qey_village01/qey_village01_dirk_vagrin_callout_ab43615b.mp3", "Ehh? Who goes there? You looking for adventure? I bet my shinys will tempt you!", "boggle", 2386377043, 3237731304, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dirk_vagrin/qey_village01/qey_village01_dirk_vagrin_multhail2_be08c03e.mp3", "Bah! Off with ye! These barrels are mine! Mine!", "", 4248926679, 4124146023, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dirk_vagrin/qey_village01/qey_village01_dirk_vagrin_multhail1_e70947c7.mp3", "Bah! Go away or I'll ... I'll ... I don't know. Just go away!", "", 3343827845, 2701332902, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/EhuraaRotherham.lua b/Lua/SpawnScripts/Nettleville/EhuraaRotherham.lua new file mode 100755 index 000000000..a763ab746 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/EhuraaRotherham.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Nettleville/EhuraaRotherham.lua + Script Purpose : Ehuraa Rotherham + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(0, 100) + if choice <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1667555721, 2696093362, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2588954321, 88153469, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1527285383, 3910629798, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 489810336, 3318568259, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/Fallsworth.lua b/Lua/SpawnScripts/Nettleville/Fallsworth.lua new file mode 100755 index 000000000..6f014c5d0 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/Fallsworth.lua @@ -0,0 +1,152 @@ +--[[ + Script Name : SpawnScripts/Nettleville/Fallsworth.lua + Script Purpose : Fallsworth + Script Author : John Adams/Scatman + Script Date : 2008.09.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_000.mp3", "", "", 4021203064, 431523651, Spawn) + AddConversationOption(conversation, "Why should I be cautious?", "dlg_1_1") + AddConversationOption(conversation, "Thanks for the warning.") + StartConversation(conversation, NPC, Spawn, "Welcome to the kingdom of Qeynos, young traveler! I'm certain you will find yourself right at home in this fair hovel. Aaaah, but I see the spark of adventure in your eyes. Indeed, there's a great deal to explore in the city alone! But do not let Qeynos' grandeur deceive you from caution, my friend.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_001.mp3", "", "", 586122815, 4182581793, Spawn) + AddConversationOption(conversation, "Are the catacombs really that dangerous?", "dlg_1_2") + AddConversationOption(conversation, "I'll keep that in mind, thanks.") + StartConversation(conversation, NPC, Spawn, "Of course you are well protected inside the city and village gates, so please do not let my words frighten you here. However, should you venture into the catacombs, as so many young and curious adventurers do, it would be best for you to leave the comfort and safety of the city behind.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_002.mp3", "", "", 2161099564, 821412195, Spawn) + AddConversationOption(conversation, "What rumors?", "dlg_1_3") + AddConversationOption(conversation, "I'll be sure to keep an eye out.") + StartConversation(conversation, NPC, Spawn, "The catacombs are quite dangerous, yes. A great many unsavory characters have been known to take shelter in these often unchecked environments. Of course the riff-raff are the usual thieves or smugglers and are relatively easy to remove, but there have been some rumors as of late that hint at a more disturbing presence in the catacombs.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_003.mp3", "", "", 2083062858, 1489848311, Spawn) + AddConversationOption(conversation, "The Bloodsabers? Who are they?", "dlg_1_4") + AddConversationOption(conversation, "Rumors don't concern me right now.") + StartConversation(conversation, NPC, Spawn, "I really shouldn't be telling you this; I don't want to frighten you, or worse, spur you into action, but I think that you ought to know for your own safety. These rumors, and mind you they are unconfirmed at this time, hint at the possible return of the Bloodsaber cult.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_004.mp3", "", "", 1653477530, 2455296289, Spawn) + AddConversationOption(conversation, "What was the War of Plagues?", "dlg_1_5") + AddConversationOption(conversation, "I'll keep an eye out when in the catacombs.") + StartConversation(conversation, NPC, Spawn, "The Bloodsabers were an underground cult dedicated to the god of plagues, Bertoxxulous. They were eradicated after their defeat in the War of Plagues during the Age of Turmoil, so these rumors are to be taken under a bit of skepticism.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_005.mp3", "", "", 3466462498, 3475796001, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_1_6") + AddConversationOption(conversation, "Who was Lord Grimrot?", "dlg_2_7") + AddConversationOption(conversation, "Apparently Qeynos won. I don't need to know anything more than that.") + StartConversation(conversation, NPC, Spawn, "During the Age of Turmoil, the War of Plagues spanned over the near entirety of the Qeynos kingdom. The Bloodsabers had conjured an army of plague-ridden undead soldiers and sent this festering horde upon the innocents of the kingdom. An undead knight known then as Lord Grimrot led this invasion. His thirst for destruction and power was overwhelming. For a time, it seemed he would be victorious.") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_006.mp3", "", "", 4294575441, 4031828863, Spawn) + AddConversationOption(conversation, "But Qeynos obviously recovered, right?", "dlg_1_7") + AddConversationOption(conversation, "I've got to go.") + StartConversation(conversation, NPC, Spawn, "Although the war lasted no more than two months, a great many innocents and noble warriors were lost. The undead horde, along with Lord Grimrot himself, eventually fell to the might of Qeynos' armies and its valiant and brave people. Still, so many had been lost and the earth itself had been soiled with the plague carried by the undead.") +end + +function dlg_1_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_007.mp3", "", "", 2009679352, 4180928206, Spawn) + AddConversationOption(conversation, "What was the treachery?", "dlg_1_8") + AddConversationOption(conversation, "Qeynos survived and stands today. I needn't hear any more.") + StartConversation(conversation, NPC, Spawn, "Indeed, the spirit of Qeynos could not be broken and the kingdom moved past the atrocities of the war. The undead hordes were forced into the earth, buried for all time by the powers of Qeynos' combined priesthoods. However, Qeynos would face yet another mournful loss; the senseless treachery of one of our own was revealed.") +end + +function dlg_1_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_008.mp3", "", "", 1513625783, 641889157, Spawn) + AddConversationOption(conversation, "How did Kane's treason contribute to the loss of lives?", "dlg_1_9") + AddConversationOption(conversation, "I've got to go.") + StartConversation(conversation, NPC, Spawn, "Antonious Bayle IV, the then current ruler of Qeynos, had a half-brother, Kane Bayle. Kane had served as Captain of the Guard for most of Antonious' rule. Kane's jealousy at his brother's ascension had corrupted his judgment and he had allied himself in secret with the Bloodsabers many years before the war.") +end + +function dlg_1_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_009.mp3", "", "", 3084970022, 3402267638, Spawn) + AddConversationOption(conversation, "Why do people think that they've come back?", "dlg_1_10") + AddConversationOption(conversation, "I've got to go.") + StartConversation(conversation, NPC, Spawn, "Kane had assured that the armies of Qeynos were spread thin throughout the world before the time of the Bloodsaber's invasion. When the hordes came, Qeynos was unprepared. Although Kane survived the war, he did not escape the justice of Qeynos. He was put to death along with the other captured Bloodsabers. The Bloodsabers had been defeated and forever eradicated from Qeynos, or so it was thought.") +end + +function dlg_1_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_010.mp3", "", "", 538439861, 3762223589, Spawn) + AddConversationOption(conversation, "Maybe I can scout out the catacombs for you?", "dlg_1_11") + AddConversationOption(conversation, "I've got to go.") + StartConversation(conversation, NPC, Spawn, "As I've said, there are only rumors floating about regarding the return of a Bloodsaber presence in the catacombs, but our history with the War of Plagues has forced us to handle these rumors with a degree of seriousness. The Qeynos guard has been into the catacombs numerous times, but we have found no definitive evidence of any such revival.") +end + +function dlg_1_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_011.mp3", "", "", 3663318123, 1398288957, Spawn) + AddConversationOption(conversation, "Oh, all right then. Well, thanks for the warning.", "dlg_1_12") + StartConversation(conversation, NPC, Spawn, "No, I wouldn't dare put you in possible danger. The discovery of the cult, if there even is one, is for the Qeynos guard to handle. I do appreciate your brave and honorable offer. I just want you to be fairly warned in case that these rumors do turn out to be true. ") +end + + + + + + + + + +function dlg_2_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/guard_fallsworth/qey_village01/lore_fallsworth_012.mp3", "", "", 2861109623, 1027357234, Spawn) + AddConversationOption(conversation, "How did Lord Grimrot die?", "dlg_1_6") + AddConversationOption(conversation, "I've got to go.") + StartConversation(conversation, NPC, Spawn, "Lord Grimrot was a powerful undead knight of Bertoxxulous who was notorious for his brutal tyranny in the outer territories of Qeynos. He wielded an ancient and powerful relic, Pestilence. This war scythe was said to have been forged on the Plane of Disease and was the source of his power. The truth to any of this is unknown for the scythe was not recovered with Grimrot's remains.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/FosterGraham.lua b/Lua/SpawnScripts/Nettleville/FosterGraham.lua new file mode 100755 index 000000000..70e29ebe5 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/FosterGraham.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Nettleville/FosterGraham.lua + Script Purpose : Foster Graham + Script Author : Scatman + Script Date : 2009.08.08 + Script Notes : +--]] + +local QUEST_1 = 309 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + FaceTarget(NPC, Spawn) + if not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + PlayFlavor(NPC, "voiceover/english/foster_graham/qey_village01/qey_village01_foster_graham_callout_127b0ec4.mp3", "Come to gaze upon me, have you?", "smirk", 918053570, 706207599, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, QUEST_1) and not HasQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "I see a few lines forming on that face of yours.", "dlg_22_1") + elseif HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I have your toxic glands.", "dlg_5_1") + end + AddConversationOption(conversation, "I will leave you to yourself.") + PlayFlavor(NPC, "voiceover/english/foster_graham/qey_village01/fostergraham000.mp3", "", "", 2810929799, 1251082764, Spawn) + StartConversation(conversation, NPC, Spawn, "Ahh... my reflection in the water. How glorious! Nothing is more pleasurable than gazing upon my own beauty.") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/foster_graham/qey_village01/fostergraham001.mp3", "", "", 716330203, 409660304, Spawn) + AddConversationOption(conversation, "Stop the drama. I can get what you need.", "OfferQuest1") + AddConversationOption(conversation, "That's your problem, not mine.") + StartConversation(conversation, NPC, Spawn, "What! It cannot be! Nooooo... Where is my face cream? My 'Erollisi's Bane?' Have I run out? Its secret ingredient is rare; the local shops have all been depleted of it. Alas!") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function dlg_5_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/foster_graham/qey_village01/fostergraham003.mp3", "", "", 399908880, 4101526749, Spawn) + AddConversationOption(conversation, "Farewell.") + StartConversation(conversation, NPC, Spawn, "Many thanks, my homely friend. Take this payment for your service and use it to improve your looks. ") +end diff --git a/Lua/SpawnScripts/Nettleville/FriarMontego.lua b/Lua/SpawnScripts/Nettleville/FriarMontego.lua new file mode 100755 index 000000000..1ff1674ec --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/FriarMontego.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/Nettleville/FriarMontego.lua + Script Purpose : Friar Montego + Script Author : Scatman + Script Date : 2009.08.08 + Script Notes : +--]] + +function spawn(NPC, Spawn) +end + +function respawn(NPC, Spawn) + spawn(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + RandomVoiceOver(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "", "Please give to the Nettleville Restoration Project, building homes for those who have none.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Alms for the poor... Anyone, anyone?", "", 1689589577, 4560189, Spawn) + end +end + +function RandomVoiceOver(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1006.mp3", "", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "", "", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/GarionDunam.lua b/Lua/SpawnScripts/Nettleville/GarionDunam.lua new file mode 100755 index 000000000..ea7c99b56 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/GarionDunam.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Nettleville/GarionDunam.lua + Script Purpose : Garion Dunam + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/alchemist/human_alchemist_service_good_1_hail_gm_a8ed74c7.mp3", "There are no refunds for caster error at this shop! Oh ... hello you're not here about a refund.", "no", 383508519, 1836231230, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/alchemist/human_alchemist_service_good_1_hail_gm_59de96bd.mp3", "What happened to the highly explosive bottle that was on my desk? Have you seen it?", "peer", 1482977865, 753937939, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Garion is my name, potions my game. What can I get for you?", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/alchemist/human_alchemist_service_good_1_hail_gm_ec533e4c.mp3", "Are you wounded? I just made up a fresh batch of healing potions an hour ago.", "hello", 3929603973, 2846331407, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/alchemist/human_alchemist_service_good_1_hail_gm_efd903ba.mp3", "Hello, adventurer! Are you looking for a specific potion or ingredient?", "agree", 3478121196, 1626504328, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/Gunta.lua b/Lua/SpawnScripts/Nettleville/Gunta.lua new file mode 100755 index 000000000..7b8de6bbf --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/Gunta.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/Nettleville/Gunta.lua + Script Purpose : Gunta + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +-- Quest ID's +local CURIOUS_FINDINGS = 301 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, CURIOUS_FINDINGS) then + Say(NPC, "I'm sorry but I'm still too busy to help.") + elseif HasQuest(Spawn, CURIOUS_FINDINGS) then + if GetQuestStep(Spawn, CURIOUS_FINDINGS) == 2 then + INeedHelp(NPC, Spawn) + else + Say(NPC, "I'm sorry but I'm still too busy to help.") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gunta/qey_village01/qst_assistant_gunta_notonquest_8aefe111.mp3", "I am very, very busy.", "", 3535297404, 3189268893, Spawn) + end +end + +function INeedHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gunta/qey_village01/quests/assistant_gunta/assistant_gunta001.mp3", "", "", 1890824744, 2425957227, Spawn) + AddConversationOption(conversation, "I need your help identifying a substance.", "dlg_21_1") + StartConversation(conversation, NPC, Spawn, "I'm very busy right now.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gunta/qey_village01/quests/assistant_gunta/assistant_gunta002.mp3", "", "", 3053564610, 3469356584, Spawn) + AddConversationOption(conversation, "But this is very important.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "I'm very busy sorting and labeling, sorry.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gunta/qey_village01/quests/assistant_gunta/assistant_gunta003.mp3", "", "", 1473302109, 3079393007, Spawn) + AddConversationOption(conversation, "Is there nothing you can do to help me?", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "So is this. If I don't get this done soon I may not be an assistant anymore!") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gunta/qey_village01/quests/assistant_gunta/assistant_gunta004.mp3", "", "", 1009574595, 614031457, Spawn) + AddConversationOption(conversation, "What about the Alchemist?", "dlg_21_4") + StartConversation(conversation, NPC, Spawn, "Sorry, no!") +end + +function dlg_21_4(NPC, Spawn) + SetStepComplete(Spawn, CURIOUS_FINDINGS, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gunta/qey_village01/quests/assistant_gunta/assistant_gunta005.mp3", "", "", 4103083518, 610136263, Spawn) + AddConversationOption(conversation, "Well... thanks, I guess.") + StartConversation(conversation, NPC, Spawn, "I wouldn't bother talking to him. He has problems of his own to worry about.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/HelainConyers.lua b/Lua/SpawnScripts/Nettleville/HelainConyers.lua new file mode 100755 index 000000000..be720c048 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/HelainConyers.lua @@ -0,0 +1,317 @@ +--[[ + Script Name : SpawnScripts/Nettleville/HelainConyers.lua + Script Purpose : Helain Conyers + Script Author : Scatman + Script Date : 2009.08.10 + Script Notes : +--]] + +local HUMAN = 9 +local QUEST_1 = 295 +local QUEST_2 = 296 +local QUEST_3 = 297 +local QUEST_4 = 298 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + FoundPathToPeace(NPC, Spawn, conversation) + else + HaveYouFoundWork(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + ANaturalHere(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + LookAtAllTheBooks(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetRace(Spawn) == HUMAN then + HelloTraveler(NPC, Spawn, conversation) + else + NotHuman(NPC, Spawn, conversation) + end + end +end + +function NotHuman(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers027.mp3", "", "", 3089860217, 2120414759, Spawn) + AddConversationOption(conversation, "Thanks for the tip.") + StartConversation(conversation, NPC, Spawn, "Hello, traveler! If it is peace you seek, the teachings of Quellious the Tranquil can show you the way.") +end + +-------------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +-------------------------------------------------------------------------------------------------------------------------- + +function HelloTraveler(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers027.mp3", "", "", 3089860217, 2120414759, Spawn) + AddConversationOption(conversation, "No, I suppose you can't.", "dlg_0_1") + AddConversationOption(conversation, "Thanks for the tip.") + StartConversation(conversation, NPC, Spawn, "Hello, traveler! If it is peace you seek, the teachings of Quellious the Tranquil can show you the way.") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers002.mp3", "", "", 2562313108, 1727059508, Spawn) + AddConversationOption(conversation, "The only thing that is safe to assume about a human is that we strive to survive.", "dlg_0_2") + AddConversationOption(conversation, "Well, you know what happens when you assume. Good day.") + StartConversation(conversation, NPC, Spawn, "Why, it used to be that you could know certain things about a person's faith by their race, but just look at us humans. Some are agnostic while others praise the likes of Erollisi Marr, Tunare, or even Bristlebane, just to name a few. ") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers003.mp3", "", "", 2892663311, 3066293848, Spawn) + AddConversationOption(conversation, "You obviously are a person of faith.", "dlg_0_3") + AddConversationOption(conversation, "We may not be the oldest of races, but we are tenacious. ") + StartConversation(conversation, NPC, Spawn, "Right you are! And while change is constant and all around us, we adjust and adapt right along with it. Thus our faiths and philosophies are very diverse.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers004.mp3", "", "", 4064224894, 855111154, Spawn) + AddConversationOption(conversation, "No doubt, especially in these times of turmoil and conflict.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Oh, yes! I follow Quellious, the Tranquil child-goddess. I've been seeking inner peace for many years now. It has helped me so much! I look around and see so many others that would benefit from such personal peace.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers005.mp3", "", "", 862333499, 1544985177, Spawn) + AddConversationOption(conversation, "You find knowledge to be necessary for personal peace?", "dlg_0_5") + AddConversationOption(conversation, "Perhaps, a conversation we can have another day. I was curious if you had work for me?", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "So true. Some peace and knowledge would go far.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers006.mp3", "", "", 1674826360, 1009450237, Spawn) + AddConversationOption(conversation, "Interesting. I still think that many wage war for the sake of war, or to gain power.", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "I do! Knowledge of other cultures and philosophies is very important. Why, if everyone fully understood themselves and their neighbors, there would be no conflict or war. No need for it!") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers007.mp3", "", "", 2276149336, 1155210883, Spawn) + AddConversationOption(conversation, "Hmm. Some words to think about. ", "dlg_0_7") + StartConversation(conversation, NPC, Spawn, "But see, if those people had peace, they would not seek power.") +end + +function dlg_0_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers008.mp3", "", "", 2766152393, 2773509836, Spawn) + AddConversationOption(conversation, "Wouldn't mind at all.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Ya know, I am glad to have found another to talk to about these kinds of things. Would you mind helping me?") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 2 then + SetStepComplete(Spawn, QUEST_1, 2) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers010.mp3", "", "", 4087382660, 558784349, Spawn) + AddConversationOption(conversation, "You're welcome.", "LookAtAllTheBooks") + StartConversation(conversation, NPC, Spawn, "Oh, gracious! I did not expect so many at once. Thank you!") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers025.mp3", "", "", 1625074590, 2007128908, Spawn) + AddConversationOption(conversation, "I am sorry. I have not yet done what you asked. I will be back shortly!") + StartConversation(conversation, NPC, Spawn, "Hello again! I did not expect you back so soon.") + end +end + +-------------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +-------------------------------------------------------------------------------------------------------------------------- + +function LookAtAllTheBooks(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers011.mp3", "", "", 1566451168, 2959134489, Spawn) + AddConversationOption(conversation, "'Humans, Barbarians, and Erudites.' ", "dlg_7_2") + AddConversationOption(conversation, "'Age of Blood, Age of Glory.'", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Oh, look at all these books you brought me. What is the title of that one, near you?") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers012.mp3", "", "", 3119581167, 1698005795, Spawn) + AddConversationOption(conversation, "Perhaps some insight can be gained.", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "That should be a good read. We are often thought of to have evolved from the barbarian race, you know? And well, the Erudites are a more intellectual subset of us. It is interesting, and can offer a bit more of an understanding of them and ourselves, when you put it in perspective like that.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers013.mp3", "", "", 3228480005, 2535926237, Spawn) + AddConversationOption(conversation, "Height of human power?", "dlg_7_4") + StartConversation(conversation, NPC, Spawn, "Ah, look at this one! It is about the Age of Blood. A violent age, thought to be the height of human power, when the Combine Empire ruled over most of Norrath. If I recall right, the empire eventually splintered due to internal conflicts. Relics of the Combine Empire could be found across Norrath for ages.") +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers031.mp3", "", "", 3917036825, 1372729086, Spawn) + AddConversationOption(conversation, "Quite the testament to the humans who built Qeynos.", "dlg_7_5") + StartConversation(conversation, NPC, Spawn, "That is not to say, that as a race, our time has come and gone. Why, just look at this city as an example. Qeynos has survived thousands of years, through wars, sieges, disease, famine, betrayals, and cataclysms, we have endured!") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers034.mp3", "", "", 3381534468, 2598998174, Spawn) + AddConversationOption(conversation, "And humans still rule it.", "dlg_7_6") + StartConversation(conversation, NPC, Spawn, "I should say so! We should be proud of them, and of ourselves for continuing the work. Our city, like us, has survived by adapting. Thus, it still stands and is open to all that seek its protection.") +end + +function dlg_7_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers032.mp3", "", "", 2855759340, 2852857359, Spawn) + AddConversationOption(conversation, "Yeah. Uh oh!", "dlg_7_7") + StartConversation(conversation, NPC, Spawn, "Of course. Queen Antonia Bayle is someone who understands the ways of peace and knowledge. She's to be admired by all! Listen to me prattling on... Is that another book I see?") +end + +function dlg_7_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers014.mp3", "", "", 2665081235, 3868863075, Spawn) + AddConversationOption(conversation, "It was, and Andret told me to be careful, but it is now missing some of its pages. ", "dlg_7_8") + StartConversation(conversation, NPC, Spawn, "What's wrong? Uh, that book looks ragged. Don't worry, I'll bet its spine was broken when you got it.") +end + +function dlg_7_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers015.mp3", "", "", 4075505082, 3317310532, Spawn) + AddConversationOption(conversation, "I will go look for the pages. I dropped them, so I will find them. ", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Oh, dear. You're right. We are missing six pages from the book 'Followers of Brell Serilis.' That would have been a great read, too. Oh, that's too bad.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_2) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers017.mp3", "", "", 2087241060, 3147700165, Spawn) + AddConversationOption(conversation, "I did! Though they are a little more smudged with dirt now.", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Did you find all the pages?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers025.mp3", "", "", 1625074590, 2007128908, Spawn) + AddConversationOption(conversation, "I am sorry. I have not yet done what you asked. I will be back shortly!") + StartConversation(conversation, NPC, Spawn, "Hello again! I did not expect you back so soon.") + end +end + +function dlg_10_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers018.mp3", "", "", 4089087839, 2292542610, Spawn) + AddConversationOption(conversation, "I guess it is rather fitting.", "ANaturalHere") + StartConversation(conversation, NPC, Spawn, "Oh well, I'm sure the Duke of Below doesn't mind being a bit soiled.") +end + +-------------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +-------------------------------------------------------------------------------------------------------------------------- + +function ANaturalHere(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers020.mp3", "", "", 2357657431, 1390308351, Spawn) + AddConversationOption(conversation, "Thanks. I just try to do what's right.", "dlg_10_3") + AddConversationOption(conversation, "Would you happen to have any other work for me?", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "You know, you are a natural here in Qeynos. So willing to learn and help your fellow citizens.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers021.mp3", "", "", 2715980640, 3245538913, Spawn) + AddConversationOption(conversation, "You refer to Lucan and Freeport when you speak of ruling with fear. ", "dlg_10_4") + StartConversation(conversation, NPC, Spawn, "That will do you well in these troubled times, no matter your faith. Qeynos is a collective people who are all driven by the same desire to better the world rather than being ruled by fear.") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers022.mp3", "", "", 1835163421, 380513186, Spawn) + AddConversationOption(conversation, "I hope so. Would you happen to have any other work for me?", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "I do. We strive to live as free individuals here in Qeynos. Everyone is doing their best to serve Queen Antonia and our community. You have already shown yourself to fit in nicely!") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers024.mp3", "", "", 1790327288, 1244496180, Spawn) + AddConversationOption(conversation, "I have not asked all of them, but so far, no.") + StartConversation(conversation, NPC, Spawn, "Did my friends have some work for you, Lophodeuh?") +end + +function HaveYouFoundWork(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers028.mp3", "", "", 1128584230, 3587308240, Spawn) + AddConversationOption(conversation, "Laudine sent me to Johfrit Gythell. He has some work for me.") + StartConversation(conversation, NPC, Spawn, "Have you found work, friend? ") +end + +function FoundPathToPeace(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/helain_conyers/qey_village01/helainconyers026.mp3", "", "", 2566936431, 637185107, Spawn) + AddConversationOption(conversation, "I have found my path. Let's hope it leads to peace.") + StartConversation(conversation, NPC, Spawn, "Have you found your path to peace, friend?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/InnkeeperBailyDowden.lua b/Lua/SpawnScripts/Nettleville/InnkeeperBailyDowden.lua new file mode 100755 index 000000000..3d7326334 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/InnkeeperBailyDowden.lua @@ -0,0 +1,85 @@ +--[[ + Script Name : SpawnScripts/Nettleville/InnkeeperBailyDowden.lua + Script Purpose : Innkeeper Baily Dowden + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/qey_village01/innkeeper001.mp3", "", "", 3113863761, 2642679335, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_26_1") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_26_7") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_26_2") + AddConversationOption(conversation, "What is my house for?", "dlg_26_4") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello there " .. GetName(Spawn) .. ", what can I help you with?") +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_26_7") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_26_2") + AddConversationOption(conversation, "What is my house for?", "dlg_26_4") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house you must first find the item in your inventory, once you have done so right-click on the item and select the ‘place’ option. You will then see a tinted outline of your item in your house, when the item is highlighted green you may place it in that location, if it is highlighted red you cannot.") +end + +function dlg_26_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I sell items using my marketboard?") + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_26_3") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_26_7") + AddConversationOption(conversation, "What is my house for?", "dlg_26_4") + AddConversationOption(conversation, "That’s enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "The marketboard is a house item, similar to books, beds, pets and other such items. What sets the marketboard apart from the rest however is that once your marketboard is mounted on a wall in your home you can use it to sell items to other citizens of Qeynos. These items can be purchased by your fellow citizens at a Broker. Brokers can be found in all primary districts of the city as well as in the Tradeskill wholesalers.") +end + +function dlg_26_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What kind of housing is available to me?","dlg_26_7") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_26_2") + AddConversationOption(conversation, "What is my house for?", "dlg_26_4") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house you must first find the item in your inventory, once you have done so right-click on the item and select the ‘place’ option. You will then see a tinted outline of your item in your house, when the item is highlighted green you may place it in that location, if it is highlighted red you cannot.") +end + +function dlg_26_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Anything else?") + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_26_1") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_26_7") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_26_2") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "You will find that your house has many uses, the first of which is the ability to store house items. Each house has a limit to the number of house items you can place in it, so as you gain more possessions you wish to display you will need larger houses to do so.") +end + +function dlg_26_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Is any other housing available?") + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_26_1") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_26_2") + AddConversationOption(conversation, "What is my house for?", "dlg_26_4") + AddConversationOption(conversation, "That's enough for now, thanks.") + StartConversation(conversation, NPC, Spawn, "Many different kinds of housing are available in the city of Qeynos. As a show of appreciation, Antonia Bayle has awarded you a one bedroom house for free at this time.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/JohfritGythell.lua b/Lua/SpawnScripts/Nettleville/JohfritGythell.lua new file mode 100755 index 000000000..08f748d27 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/JohfritGythell.lua @@ -0,0 +1,206 @@ +--[[ + Script Name : SpawnScripts/Nettleville/JohfritGythell.lua + Script Purpose : Johfrit Gythell + Script Author : Scatman + Script Date : 2008.10.08 + Script Notes : +--]] + +local QUEST_3_FROM_HELAIN = 297 +local QUEST_4 = 298 +local QUEST_5 = 299 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_3_FROM_HELAIN) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + DoNotGoYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + GoodDayThere(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3_FROM_HELAIN) and GetQuestStep(Spawn, QUEST_3_FROM_HELAIN) == 5 then + GoodDayThere(NPC, Spawn, conversation) + else + Hello(NPC, Spawn, conversation) + end +end + +function Hello(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell012.mp3", "", "", 1490365584, 959312393, Spawn) + AddConversationOption(conversation, "And to you!") + StartConversation(conversation, NPC, Spawn, "Hello! I hope your day is rewarding for you.") +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST_3_FROM_HELAIN +--------------------------------------------------------------------------------------------------------------------- + +function GoodDayThere(NPC, Spawn, conversation) + if HasQuest(Spawn, QUEST_3_FROM_HELAIN) then + SetStepComplete(Spawn, QUEST_3_FROM_HELAIN, 5) + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell001.mp3", "", "", 1758157346, 514238757, Spawn) + AddConversationOption(conversation, "Hello! I don't suppose you have some work for me? Laudine Shardalow thought you could use a hand.", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "Good day, there!") +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST_4 +--------------------------------------------------------------------------------------------------------------------- + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell002.mp3", "", "", 1726989098, 3535948978, Spawn) + AddConversationOption(conversation, "Items others can't get for them?", "dlg_24_2") + StartConversation(conversation, NPC, Spawn, "Right she is. See, I am a supplier of goods to some discerning citizens of this village. They have particular tastes for food, and items that I can procure for them.") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell003.mp3", "", "", 480639092, 2881648434, Spawn) + AddConversationOption(conversation, "Why did they not just dive and get them?", "dlg_24_3") + AddConversationOption(conversation, "Why do you not just dive to get them?", "dlg_26_3") + StartConversation(conversation, NPC, Spawn, "Or just that I can get it for them at a lower price. Two items of my latest delivery fell in the water at the Mariner's Bell. My, uh err suppliers had slipped, and into the drink they went.") +end + +function dlg_26_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell015.mp3", "", "", 3831285850, 3765154825, Spawn) + AddConversationOption(conversation, "You wish me to dive and get the items?", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "I cannot swim. What? Don't look at me like that!") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell004.mp3", "", "", 4017622450, 3148551148, Spawn) + AddConversationOption(conversation, "You wish me to dive and get the items?", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "To make my life difficult, I suspect. At any rate, they were not paid, as they did not complete the task.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_4) < 3 then + AddConversationOption(conversation, "Not yet but I will return with them.") + StartConversation(conversation, NPC, Spawn, "Have you both the crate and barrel?") + elseif GetQuestStep(Spawn, QUEST_4) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell006.mp3", "", "", 2494699442, 3684194756, Spawn) + AddConversationOption(conversation, "I have, and I will be happy to part with this slimy and stinky box.", "dlg_28_1") + StartConversation(conversation, NPC, Spawn, "You have returned, and from the smell of it you have the items!") + elseif GetQuestStep(Spawn, QUEST_4) < 6 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell019.mp3", "", "", 1714492080, 3648364049, Spawn) + AddConversationOption(conversation, "Not yet. The stench of the deliveries must be affecting my focus. I will be back.") + StartConversation(conversation, NPC, Spawn, "Have you given the goods to both Amazu and Laudine, yet?") + elseif GetQuestStep(Spawn, QUEST_4) == 6 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell009.mp3", "", "", 2512367033, 2556387767, Spawn) + AddConversationOption(conversation, "I do.", "dlg_33_2") + AddConversationOption(conversation, "Maybe, but what stops me from running off with it?", "dlg_33_1") + StartConversation(conversation, NPC, Spawn, "You have the money from Laudine and Amazu?") + end +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell007.mp3", "", "", 3213668997, 2423736455, Spawn) + AddConversationOption(conversation, "No wonder she knew you had work for me.", "dlg_28_2") + StartConversation(conversation, NPC, Spawn, "Not so fast! That is to be delivered to Amazu Kharliko. He loves his imported squid. The barrel is to be taken to Laudine Shardalow.") +end + +function dlg_28_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell008.mp3", "", "", 2722964210, 4250092190, Spawn) + AddConversationOption(conversation, "I'll be back shortly.", "dlg_28_3") + StartConversation(conversation, NPC, Spawn, "Ah, yes. Laudine has been waiting for that barrel for some time.") +end + +function dlg_28_3(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell018.mp3", "", "", 1724182606, 1946010139, Spawn) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, NPC, Spawn, "And be sure to get paid by each, otherwise I will not have money to give you.") +end + +function dlg_33_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4, 6) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell020.mp3", "", "", 1446803867, 734215460, Spawn) + AddConversationOption(conversation, "Makes sense.", "DoNotGoYet") + StartConversation(conversation, NPC, Spawn, "The guards that I will send after you for smuggling goods.") +end + +function dlg_33_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4, 6) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell010.mp3", "", "", 686711043, 844320139, Spawn) + AddConversationOption(conversation, "Thanks.", "DoNotGoYet") + StartConversation(conversation, NPC, Spawn, "Great! Here's the payment, as I promised, and another item that you may find useful.") +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST_5 +--------------------------------------------------------------------------------------------------------------------- + +function DoNotGoYet(NPC, Spawn, conversation) + if conversation == nil then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/johfrit_gythell/qey_village01/johfritgythell013.mp3", "", "", 4074891808, 4030820524, Spawn) + AddConversationOption(conversation, "Keep talking.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Do not go yet! I uh, may not have more for you to do, but I know of others that can use one of your talents.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +function OnQuest5(NPC, Spawn, conversation) + AddConversationOption(conversation, "All right, thank you anyway.") + StartConversation(conversation, NPC, Spawn, "Oh hello there, again! I wish I had more work for you, but nothing so far.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/KarrieClayton.lua b/Lua/SpawnScripts/Nettleville/KarrieClayton.lua new file mode 100755 index 000000000..0594e54a9 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/KarrieClayton.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Nettleville/KarrieClayton.lua + Script Purpose : Karrie Clayton + Script Author : Scatman + Script Date : 2009.08.08 + Script Notes : +--]] + +function spawn(NPC) + --AddVisualStateLoop(NPC, 2, 10, 11298) + --AddVisualStateLoop(NPC, 2, 10, 11557) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/karrie_clayton/qey_village01/karrieclayton.mp3", "", "", 1984155043, 1707628406, Spawn) + AddConversationOption(conversation, "I'm sorry. Excuse me for interrupting your performance.") + StartConversation(conversation, NPC, Spawn, "Oh my! Yet another overzealous admirer. Please wait till after the show for autographs.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/KatheyBrewsher.lua b/Lua/SpawnScripts/Nettleville/KatheyBrewsher.lua new file mode 100755 index 000000000..67b9b6cd1 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/KatheyBrewsher.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Nettleville/KatheyBrewsher.lua + Script Purpose : Kathey Brewsher + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "Might I interest you in some meat and cheese to go with that tall glass of ale?", "shrug", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "The best part about this job is all the extra coin I get.", "wink", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I bet you have some stories, eh? Adventuring must be an exciting life!", "smile", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "What can I get for ya?", "nod", 1689589577, 4560189, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/KumbufuAri.lua b/Lua/SpawnScripts/Nettleville/KumbufuAri.lua new file mode 100755 index 000000000..2a1a491df --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/KumbufuAri.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/Nettleville/KumbufuAri.lua + Script Purpose : Kumbufu Ari + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(0, 100) + if choice <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 6) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/weaponsmith/kerran_weaponsmith_service_good_1_hail_gm_1248b278.mp3", "I just got a shipment in from the Far Sea's Trading Company. I don't just show anybody this stuff so, shhhh! ", "wink", 3547253110, 2896491555, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/weaponsmith/kerran_weaponsmith_service_good_1_hail_gm_48594671.mp3", "Is there something you need to have custom made? I can see if I can get one of my lads to look into it!", "ponder", 4263084610, 4279030372, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/weaponsmith/kerran_weaponsmith_service_good_1_hail_gm_37dbcab8.mp3", "Welcome to my humble shop. We have quite a selection of weapons to choose from. See for yourself...", "salute", 2923552658, 290527830, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/weaponsmith/kerran_weaponsmith_service_good_1_aoi_gm_cc3887ba.mp3", "It's the duty of all citizens to protect the innocent. Purchase your weapons here for the honor of Qeynos.", "scold", 1978098526, 3344178102, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/weaponsmith/kerran_weaponsmith_service_good_1_hail_gm_46ed66f6.mp3", "Never go into battle without a tried and trusted weapon. Take a look at what we have in stock.", "no", 3072112550, 2391899341, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/weaponsmith/kerran_weaponsmith_service_good_1_aoi_gm_cc3887ba.mp3", "It's the duty of all citizens to protect the innocent. Purchase your weapons here for the honor of Qeynos.", "scold", 1978098526, 3344178102, Spawn) + end +end diff --git a/Lua/SpawnScripts/Nettleville/LakoshaMaera.lua b/Lua/SpawnScripts/Nettleville/LakoshaMaera.lua new file mode 100755 index 000000000..144c569a8 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/LakoshaMaera.lua @@ -0,0 +1,395 @@ +--[[ + Script Name : SpawnScripts/Nettleville/LakoshaMaera.lua + Script Purpose : Lakosha Maera + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +-- Race ID's +local KERRA = 11 + +-- Quest ID's +local RITUAL_OF_HEALTH = 300 -- was 37 +local CURIOUS_FINDINGS = 301 -- was 38 +local REQUIRED_COMPONENTS = 302 -- was 39 +local UNFORTUNATE_MISTAKES = 303 -- was 40 +local TO_THE_SOURCE = 304 -- was 41 + +function spawn(NPC) + ProvidesQuest(NPC, RITUAL_OF_HEALTH) + ProvidesQuest(NPC, CURIOUS_FINDINGS) + ProvidesQuest(NPC, UNFORTUNATE_MISTAKES) + ProvidesQuest(NPC, TO_THE_SOURCE) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, RITUAL_OF_HEALTH) then + if HasCompletedQuest(Spawn, CURIOUS_FINDINGS) then + if HasCompletedQuest(Spawn, REQUIRED_COMPONENTS) then + if HasCompletedQuest(Spawn, UNFORTUNATE_MISTAKES) then + if HasCompletedQuest(Spawn, TO_THE_SOURCE) then + + elseif HasQuest(Spawn, TO_THE_SOURCE) then + SpokenWithLithYet(NPC, Spawn) + else + StoppedRitualYetYes(NPC, Spawn) + end + elseif HasQuest(Spawn, UNFORTUNATE_MISTAKES) then + if GetQuestStep(Spawn, UNFORTUNATE_MISTAKES) == 1 then + StoppedRitualYetNo(NPC, Spawn) + elseif GetQuestStep(Spawn, UNFORTUNATE_MISTAKES) == 2 then + StoppedRitualYetYes(NPC, Spawn) + end + else + FindOutWhatWasInSoilYes(NPC, Spawn) + end + elseif HasQuest(Spawn, REQUIRED_COMPONENTS) then + if GetQuestStep(Spawn, REQUIRED_COMPONENTS) >= 1 and GetQuestStep(Spawn, REQUIRED_COMPONENTS) <= 3 then + FindOutWhatWasInSoilNo(NPC, Spawn) + elseif GetQuestStep(Spawn, REQUIRED_COMPONENTS) == 5 then + FindOutWhatWasInSoilYes(NPC, Spawn) + end + else + FindOutWhatWasInSoilNo(NPC, Spawn) + end + elseif HasQuest(Spawn, CURIOUS_FINDINGS) then + FindOutWhatWasInSoilNo(NPC, Spawn) + else + GetSoilYetYes(NPC, Spawn) + end + elseif HasQuest(Spawn, RITUAL_OF_HEALTH) then + if GetQuestStep(Spawn, RITUAL_OF_HEALTH) == 4 then + GetSoilYetYes(NPC, Spawn) + else + GetSoilYetNo(NPC, Spawn) + end + else + if GetRace(Spawn) == KERRA then + DoYouSeekDirection(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/qst_lakosha_maera_notkerra_4ac0f123.mp3", "I am sorry, but I am not in a mood to speak.", "", 2967268605, 2864900763, Spawn) + end + end +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +-------------------------------------------------------------------------------------------------------------------- + +function DoYouSeekDirection(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera001.mp3", "", "", 3108156461, 1871862413, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_15_1") + StartConversation(conversation, NPC, Spawn, "Greetings. Do you seek direction?") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera002.mp3", "", "", 216566417, 180925659, Spawn) + AddConversationOption(conversation, "How do rituals help?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "Direction. Purpose. Meaning. I have seen our people struggle with it from time to time, some unaware. I help, with words and friendship, but mostly with rituals.") +end + + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera003.mp3", "", "", 3025633439, 1456244576, Spawn) + AddConversationOption(conversation, "What kind of rituals do you teach?", "dlg_15_3") + StartConversation(conversation, NPC, Spawn, "They give us something to hold on to that we know others are also holding on to. It helps, and we can use that help as little or as much as we need to.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera004.mp3", "", "", 1100012524, 2857852328, Spawn) + AddConversationOption(conversation, "I am interested in learning the ritual.", "dlg_15_4") + AddConversationOption(conversation, "I would prefer a more challenging task.", "dlg_16_4") + StartConversation(conversation, NPC, Spawn, "All kinds, old and new. They have helped our people--well, some of our people--for ages. I could teach a simple one to you if you like. It may or may not help you, but it is easy to learn and almost anyone can do it. If a ritual does not appeal to you, and you wish something more challenging, I believe I know where you can find that as well.") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera006.mp3", "", "", 960364760, 2384294721, Spawn) + AddConversationOption(conversation, "How much dirt do I need?", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "I am pleased to hear that. The Ritual of Hearth is simple, and it is a means of becoming acquainted with one's home. It requires only the gathering of soil from three separate places where you dwell. In Nettleville the most appropriate places are the tree just south of here--at the western end of the Market Row, the tree near the entrance to the Peat Bog, and around the gate that leads into Qeynos.") +end + +function dlg_16_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera005.mp3", "", "", 3531677818, 1764879381, Spawn) + AddConversationOption(conversation, "I will seek him out.") + AddConversationOption(conversation, "On second though, I would like to learn the ritual.", "dlg_15_4") + StartConversation(conversation, NPC, Spawn, "That task I cannot provide, but I can put you on a path to find it. In the Peat Bog, a friend of mine has been doing some research. His name is Nareh Lith, and he is always accepting of proposed help.") +end + +function GetSoilYetNo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera008.mp3", "", "", 3730752906, 155519371, Spawn) + AddConversationOption(conversation, "No, I have not.") + StartConversation(conversation, NPC, Spawn, "Have you collected the soil?") +end + +function GetSoilYetYes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera008.mp3", "", "", 3730752906, 155519371, Spawn) + AddConversationOption(conversation, "Yes, I have.", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the soil?") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera009.mp3", "", "", 1477384079, 55827537, Spawn) + AddConversationOption(conversation, "Ok. [let the soil pass between your fingers]", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "Good. Now, let it pass between your fingers and fall to the ground at your feet.") +end + + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera010.mp3", "", "", 3892927672, 816906452, Spawn) + AddConversationOption(conversation, "I do not feel any different.", "dlg_19_3") + AddConversationOption(conversation, "I feel more at home already!", "dlg_19_3") + StartConversation(conversation, NPC, Spawn, "Good, good... the ritual is complete. Nettleville now knows you, and perhaps you now know it.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, RITUAL_OF_HEALTH) +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +-------------------------------------------------------------------------------------------------------------------- + +function dlg_19_3(NPC, Spawn) + if HasQuest(Spawn, RITUAL_OF_HEALTH) then + SetStepComplete(Spawn, RITUAL_OF_HEALTH, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera011.mp3", "", "", 877184864, 471092130, Spawn) + AddConversationOption(conversation, "Yes, I did.", "dlg_19_4") + StartConversation(conversation, NPC, Spawn, "For some the change is instant. For others it takes more time. Take this coin, it too is part of a ritual. This one of welcoming. Hm, did you collect this soil from where I specified?") +end + +function dlg_19_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera012.mp3", "", "", 365783891, 519851629, Spawn) + AddConversationOption(conversation, "What do you need?", "dlg_19_5") + AddConversationOption(conversation, "Sorry, I can't right now.") + StartConversation(conversation, NPC, Spawn, "That is interesting. This soil is not the proper color. Hmm, and it smells a little odd. Imolau, this is a little concerning. This soil looks like someone was in the middle of the Pa'Rok, but there are elements here that do not belong. It may be nothing, but it also may be something. Would you do me a favor?") +end + +function dlg_19_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera013.mp3", "", "", 172847039, 638167001, Spawn) + AddConversationOption(conversation, "I will do that now.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Could you take some of this soil to the Spiritist? Laharn Rahai is his name, you can find him just northeast of the armor shop here in Nettleville. Ask him if he can find out what is in the soil.") +end + +function FindOutWhatWasInSoilNo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera014.mp3", "", "", 1143283618, 2442308330, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did the spiritist find out what was in the soil?") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, CURIOUS_FINDINGS) +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +-------------------------------------------------------------------------------------------------------------------- + +function FindOutWhatWasInSoilYes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera014.mp3", "", "", 1143283618, 2442308330, Spawn) + AddConversationOption(conversation, "Yes.", "dlg_28_1") + StartConversation(conversation, NPC, Spawn, "Did the spiritist find out what was in the soil?") +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera015.mp3", "", "", 681420516, 1462428671, Spawn) + AddConversationOption(conversation, "Laharn first sent me to the alchemists to attempt to enlist their help. They refused, stating that they were too busy.", "dlg_28_2") + StartConversation(conversation, NPC, Spawn, "Tell me what happened.") +end + +function dlg_28_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera016.mp3", "", "", 1395658399, 725264089, Spawn) + AddConversationOption(conversation, "After I gathered the components for Laharn, he performed the test. He is very worried. He says the ritual is corrupted, but that there is one final stage needed to complete it.", "dlg_28_3") + StartConversation(conversation, NPC, Spawn, "No surprise there.") +end + +function dlg_28_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera017.mp3", "", "", 3652032020, 1710878793, Spawn) + AddConversationOption(conversation, "And beyond that Laharn says there may be danger, to the spirit or the person performing the ritual.", "dlg_28_4") + StartConversation(conversation, NPC, Spawn, "That stage will be a waste.") +end + +function dlg_28_4(NPC, Spawn) + SetStepComplete(Spawn, REQUIRED_COMPONENTS, 5) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera018.mp3", "", "", 777539162, 2279868143, Spawn) + AddConversationOption(conversation, "I can.", "dlg_28_5") + StartConversation(conversation, NPC, Spawn, "Then it must be stopped. You must return to the three places from which you gathered soil and find the person who is performing this ritual, they will be at one of them. Can you do this?") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +-------------------------------------------------------------------------------------------------------------------- + +function dlg_28_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera019.mp3", "", "", 972178161, 3123309728, Spawn) + AddConversationOption(conversation, "I remember.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Good. In case you forgot, you gathered the soil at the tree on the western end of the Market Row, the tree near the entrance to the Peat Bog, and near the gates that lead into Qeynos.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, UNFORTUNATE_MISTAKES) +end + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera015.mp3", "", "", 681420516, 1462428671, Spawn) + AddConversationOption(conversation, "Laharn first sent me to the alchemists to attempt to enlist their help. They refused, stating that they were too busy.", "dlg_29_2") + StartConversation(conversation, NPC, Spawn, "Tell me what happened.") +end + +function StoppedRitualYetNo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera020.mp3", "", "", 3049124346, 1314797650, Spawn) + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you stopped the ritual?") +end + +function StoppedRitualYetYes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera020.mp3", "", "", 3049124346, 1314797650, Spawn) + AddConversationOption(conversation, "I was too late, the ritual was completed.", "dlg_34_1") + StartConversation(conversation, NPC, Spawn, "Have you stopped the ritual?") +end + +function dlg_34_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera021.mp3", "", "", 1097663315, 806264705, Spawn) + AddConversationOption(conversation, "His name was Ralkesh Orto. I met him near the entrance to the Peat Bog. He had finished the Pa'Rok earlier. He came back after feeling no better off. When he and I were both there some sort of spirit attacked.", "dlg_34_2") + + + StartConversation(conversation, NPC, Spawn, "I feared we would be too late. Do you know who performed the ritual? He may be in danger.") +end + +function dlg_34_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera022.mp3", "", "", 4078309873, 3485008964, Spawn) + AddConversationOption(conversation, "We are both fine. I fought the spirit, it left. Ralkesh will find Laharn and see what he can do to reattempt the ritual, properly.", "dlg_34_3") + StartConversation(conversation, NPC, Spawn, "You look all right, how is he?") +end + +function dlg_34_3(NPC, Spawn) + SetStepComplete(Spawn, UNFORTUNATE_MISTAKES, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera023.mp3", "", "", 366740379, 2790792055, Spawn) + AddConversationOption(conversation, "Ralkesh said he got the soil he used from the Peat Bog.", "dlg_34_4") + StartConversation(conversation, NPC, Spawn, "I wonder why it went so wrong.") +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST 5 +--------------------------------------------------------------------------------------------------------------------- + +function dlg_34_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera024.mp3", "", "", 2784457515, 1936365380, Spawn) + AddConversationOption(conversation, "I am willing.", "dlg_34_5") + StartConversation(conversation, NPC, Spawn, "Ah, very good thinking of you to find that out. Perhaps further investigation will turn something up, perhaps not. How do you feel about venturing into the Peat Bog?") +end + +function dlg_34_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera025.mp3", "", "", 3981705980, 3354159055, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "How fortunate. Nareh Lith is a friend of mine, and he has been studying the Peat Bog for some time now.") +end + +function SpokenWithLithYet(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lakosha_maera/qey_village01/quests/lakosha_maera/lakosha_maera026.mp3", "", "", 47750656, 1276810438, Spawn) + AddConversationOption(conversation, "No, not yet.", "dlg_35_1") + StartConversation(conversation, NPC, Spawn, "Have you spoken with Nareh Lith yet?") +end + +function OfferQuest5(NPC, Spawn) + OfferQuest(NPC, Spawn, TO_THE_SOURCE) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/LaudineShardalow.lua b/Lua/SpawnScripts/Nettleville/LaudineShardalow.lua new file mode 100755 index 000000000..b6c831bf7 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/LaudineShardalow.lua @@ -0,0 +1,127 @@ +--[[ + Script Name : SpawnScripts/Nettleville/LaudineShardalow.lua + Script Purpose : Laudine Shardalow + Script Author : Scatman + Script Date : 2009.08.08 + Script Notes : +--]] + +local QUEST_3_FROM_HELAIN = 297 +local QUEST_4_FROM_JOHFRIT = 298 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_4_FROM_JOHFRIT) and GetQuestStep(Spawn, QUEST_4_FROM_JOHFRIT) == 5 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow014.mp3", "", "", 3899128570, 664520913, Spawn) + AddConversationOption(conversation, "He did indeed. And that is why I am here.", "dlg_32_1") + StartConversation(conversation, NPC, Spawn, "Didn't Johfrit Gythell have some work for you? ") + elseif HasQuest(Spawn, QUEST_3_FROM_HELAIN) then + if GetQuestStep(Spawn, QUEST_3_FROM_HELAIN) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow001.mp3", "", "", 533537902, 3419616012, Spawn) + AddConversationOption(conversation, "Yes, and I feel like I am getting to know it rather quickly.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "Hail, friend. I do not recognize you. New to these parts? ") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow014.mp3", "", "", 3899128570, 664520913, Spawn) + AddConversationOption(conversation, "I have forgotten where he was.", "Forgot") + StartConversation(conversation, NPC, Spawn, "Didn't Johfrit Gythell have some work for you? ") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow011.mp3", "", "", 914739778, 33666592, Spawn) + AddConversationOption(conversation, "And to you, madam.") + StartConversation(conversation, NPC, Spawn, "It is a beautiful day! I hope the gods are smiling upon you.") + end +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow002.mp3", "", "", 3635283512, 863467573, Spawn) + AddConversationOption(conversation, "Yes, in fact it was Helain Conyers' advice that I come to you. ", "dlg_23_2") + StartConversation(conversation, NPC, Spawn, "Met many others? ") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow003.mp3", "", "", 2440988908, 3275070122, Spawn) + AddConversationOption(conversation, "No thanks, it took me forever to find them all. ", "dlg_23_3") + AddConversationOption(conversation, "I'd do just that, if you were willing to pay me.", "dlg_23_4") + StartConversation(conversation, NPC, Spawn, "Ah, Helain. I like her. You would do well to take a page from her book.") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow004.mp3", "", "", 3519111089, 2079193245, Spawn) + AddConversationOption(conversation, "Never mind. She thought maybe you would have some work for me. ", "dlg_23_4") + StartConversation(conversation, NPC, Spawn, "What? ") +end + +function dlg_23_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow005.mp3", "", "", 23943986, 4145393969, Spawn) + AddConversationOption(conversation, "Oh? ", "dlg_23_5") + StartConversation(conversation, NPC, Spawn, "Ah, no I don't, but ya know what? I bet I know who does. ") +end + +function dlg_23_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow006.mp3", "", "", 691896844, 1700542097, Spawn) + AddConversationOption(conversation, "Sounds good... as long as he isn't a stable boy. ", "dlg_23_6") + StartConversation(conversation, NPC, Spawn, "Go speak to Johfrit Gythell. He may have some work, as he always needs a hand.") +end + +function dlg_23_6(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3_FROM_HELAIN, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow007.mp3", "", "", 300914977, 1228551584, Spawn) + AddConversationOption(conversation, "All right. Thank you!") + StartConversation(conversation, NPC, Spawn, "Ha! No, you need not worry about that. You should find him near the Golden Scabbard armory. ") +end + +function Forgot(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, again!") + StartConversation(conversation, NPC, Spawn, "Oh. You should find him near the Golden Scabbard Armory.") +end + +function dlg_32_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow015.mp3", "", "", 1695366273, 222194149, Spawn) + AddConversationOption(conversation, "Yes, madam. For a price.", "dlg_32_2") + StartConversation(conversation, NPC, Spawn, "Oh, good. You have the ale for me, then?") +end + +function dlg_32_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4_FROM_JOHFRIT, 5) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/laudine_shardalow/qey_village01/quests/newbie_path_human/laudineshardalow016.mp3", "", "", 4035243333, 3360697754, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "A price I am very willing to pay. Pleasure doing business with you.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/LoganMacAdie.lua b/Lua/SpawnScripts/Nettleville/LoganMacAdie.lua new file mode 100755 index 000000000..8ba9e023b --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/LoganMacAdie.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/Nettleville/LoganMacAdie.lua + Script Purpose : Logan MacAdie + Script Author : Scatman + Script Date : 2009.08.08 + Script Notes : +--]] + +function spawn(NPC, Spawn) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + --AddVisualStateLoop(NPC, 2000, 10000, 11150) + --AddVisualStateLoop(NPC, 2000, 10000, 11557) + --AddVisualStateLoop(NPC, 2000, 10000, 13064) +end + +function respawn(NPC, Spawn) + spawn(NPC, Spawn) +end + +function InRange(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + FaceTarget(NPC, Spawn) + Say(NPC, "I'm sure you'll find whatever you need if you just keep around.", Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 6) + if choice == 1 then + PlayFlavor(NPC, "", "Well its not easy being the best looking guy in town, but I think I pull it off well.", "flirt", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'm feeling stronger than usual today.", "charge", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Some of my friends tell me I'm weak. I think its true, I've only been able to lift two goblins and an orc lately.", "pout", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Funny, the wound didn't smell like that yesterday.", "stinky", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Strength isn't just the size of your muscles... It's, well... Yeah it is.", "confused", 1689589577, 4560189, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "", "Darn. I chugged that barrel much slower than I chugged the last three.", "gutcramp", 1689589577, 4560189, Spawn) + end + +end diff --git a/Lua/SpawnScripts/Nettleville/MarjaniKenan.lua b/Lua/SpawnScripts/Nettleville/MarjaniKenan.lua new file mode 100755 index 000000000..bd75707c7 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/MarjaniKenan.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/Nettleville/MarjaniKenan.lua + Script Purpose : Marjani Kenan + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + Talk(NPC, Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + Talk(NPC, Spawn) +end + +function Talk(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/kerran_eco_good_2/ft/kerran/kerran_eco_good_2_hail_gf_63881722.mp3", "I'm trying to find a new seasoning for my dried fish.", "ponder", 3322224010, 1564701262, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/kerran_eco_good_2/ft/kerran/kerran_eco_good_2_hail_gf_eabd8556.mp3", "I heard the Ratonga play it for fun.", "shrug", 1138200584, 1711242450, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/kerran_eco_good_2/ft/kerran/kerran_eco_good_2_hail_gf_4424ae28.mp3", "How sweet my Tom is to leave such a gift at my door step. ", "thanks", 2235953436, 2446050201, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/kerran_eco_good_2/ft/kerran/kerran_eco_good_2_hail_gf_b155e999.mp3", "You won't see me near any of those fountains.", "no", 1123179326, 271243686, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/kerran_eco_good_2/ft/kerran/kerran_eco_good_2_hail_gf_28445ab7.mp3", "I don't spend as much time grooming as the others say I do.", "sulk", 1571714850, 824504933, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/NawalTahri.lua b/Lua/SpawnScripts/Nettleville/NawalTahri.lua new file mode 100755 index 000000000..6e0f0af05 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/NawalTahri.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/Nettleville/NawalTahri.lua + Script Purpose : Nawal Tahri + Script Author : scatman + Script Date : 2009.08.12 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Item ID's +local ARTISAN_ESSENTIALS_VOLUME_2 = 31373 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + RandomVoiceOver(NPC, Spawn) + + -- artisan essentials volume 2 + if HasItem(Spawn, ARTISAN_ESSENTIALS_VOLUME_2) then + Say(NPC, "I have nothing else to teach you for the moment. Please return to me when you have earned enough experience to choose your profession.", Spawn) + else + AddConversationOption(conversation, "Yes, please teach me.", "dlg_8_1") + AddConversationOption(conversation, "No, not at the moment.") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade, good. We can always use talented artisans. I can help you get started, would you be interested?") + end +end + +function RandomVoiceOver(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1047.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1047.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1047.mp3", "", "", 0, 0, Spawn) + end +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- artisan essentials volume 2 + SendMessage(Spawn, "You receive [artisan essentials volume 2].") + SendPopUpMessage(Spawn, "You receive artisan essentials volume 2", "yellow") + SummonItem(Spawn, ARTISAN_ESSENTIALS_VOLUME_2) + + PlayFlavor(NPC, "", "", "point", 0, 0, Spawn) + AddConversationOption(conversation, "I will start on that now.") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting specialty.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/NiaJaja.lua b/Lua/SpawnScripts/Nettleville/NiaJaja.lua new file mode 100755 index 000000000..ccaae6e03 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/NiaJaja.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nettleville/NiaJaja.lua + Script Purpose : Nia Jaja + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + -- Must have Kerran language to hear this. + PlayFlavor(NPC, "voiceover/english/nia_jaja/qey_village01/qey_village01_nia_jaja_multhail1_ab7bd6d4.mp3", "I simply can't face her! Can't you see I'm angry; I've no time to chat with you!", "", 1436884292, 4259898399, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/RalkeshOrto.lua b/Lua/SpawnScripts/Nettleville/RalkeshOrto.lua new file mode 100755 index 000000000..ceb3fa44e --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/RalkeshOrto.lua @@ -0,0 +1,178 @@ +--[[ + Script Name : SpawnScripts/Nettleville/RalkeshOrto.lua + Script Purpose : Ralkesh Orto + Script Author : John Adams + Script Date : 2008.09.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local UNFORTUNATE_MISTAKES = 303 + +function spawn(NPC) + SetTempVariable(NPC, "Ready", "true") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetTempVariable(NPC, "AllowQuestProgress") == "true" then + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, UNFORTUNATE_MISTAKES) then + if GetQuestStep(Spawn, UNFORTUNATE_MISTAKES) == 1 then + SomethingIMustDo(NPC, Spawn) + end + end + end +end + +function SomethingIMustDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto001.mp3", "", "", 4080723751, 2709731004, Spawn) + AddConversationOption(conversation, "Then you are the one performing the Pa'Rok ceremony?", "dlg_30_1") + StartConversation(conversation, NPC, Spawn, "This is something I must do, please do not interfere.") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto002.mp3", "", "", 2184946112, 169031811, Spawn) + AddConversationOption(conversation, "The soil you are using has contaminants in it, the ceremony may be corrupted!", "dlg_30_2") + StartConversation(conversation, NPC, Spawn, "Yes, which is precisely why you must leave me alone!") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto003.mp3", "", "", 2398850443, 2909693693, Spawn) + AddConversationOption(conversation, "Laharn Rahai has examined samples from the soil you are using for this ceremony and found contaminants. The final offering you make may react with some of the contaminants.", "dlg_30_3") + StartConversation(conversation, NPC, Spawn, "Explain yourself quickly, I have no patience for undue interruptions.") +end + +function dlg_30_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto004.mp3", "", "", 3670326842, 761026372, Spawn) + AddConversationOption(conversation, "Laharn was not certain.", "dlg_30_4") + StartConversation(conversation, NPC, Spawn, "Oh dear, I have already made the final offering. What affect may it have?") +end + +function dlg_30_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- SPAWN THE RAGE OF JA-NELTH + local rage = SpawnByLocationID(GetZone(Spawn), 419648) + if rage ~= nil then + Attack(rage, Spawn) + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto005.mp3", "", "", 1448581600, 3435048745, Spawn) + AddConversationOption(conversation, "We can talk later!", "CannotBelieve") + StartConversation(conversation, NPC, Spawn, "Oh, Ja'neth, forgive me!") +end + +function CannotBelieve(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto006.mp3", "", "", 3689370176, 2085039570, Spawn) + AddConversationOption(conversation, "I do not know. Perhaps Laharn will know what you can do.", "dlg_33_1") + StartConversation(conversation, NPC, Spawn, "I cannot believe what I have done. Have I poisoned Ja'neth's afterlife with my negligence?") +end + +function dlg_33_1(NPC, Spawn) + SetStepComplete(Spawn, UNFORTUNATE_MISTAKES, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto007.mp3", "", "", 1914315304, 380671310, Spawn) + AddConversationOption(conversation, "Wait! Where did you get the soil for Pa'Rok?", "dlg_33_2") + StartConversation(conversation, NPC, Spawn, "Yes, you are right. I, I need to go now. Penance must be done.") +end + +function dlg_33_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto008.mp3", "", "", 1425320561, 840540299, Spawn) + AddConversationOption(conversation, "All right, you may go.") + AddConversationOption(conversation, "Ralkesh... Ja'neth will be fine.", "dlg_33_3") + StartConversation(conversation, NPC, Spawn, "The Bog. The Peat Bog. Please, I must go.") +end + +function dlg_33_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/quests/ralkesh_orto/ralkesh_orto009.mp3", "", "", 2346643811, 231883534, Spawn) + AddConversationOption(conversation, "I do, Laharn will tell you the same.") + AddConversationOption(conversation, "I do, as should you.") + AddConversationOption(conversation, "I do not know, but I feel it to be true.") + AddConversationOption(conversation, "No... do you?") + AddConversationOption(conversation, "Not at all. Your actions carry far more weight than you realize.") + StartConversation(conversation, NPC, Spawn, "Do you believe that?") +end + +function StartRitual(NPC, Spawn) + SetTempVariable(NPC, "Ready", "false") + MoveToLocation(NPC, 578.33, -27.02, 391.10, 2, "", true) + MoveToLocation(NPC, 579.60, -26.84, 381.32, 2, "Begin") +end + +function Begin(NPC) + AddTimer(NPC, 500, "Ritual1") +end + +function Ritual1(NPC) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_mourn_6b24b157.mp3", "Oh, Ja'neth. Why!", "cry", 1219541946, 2965391465) + AddTimer(NPC, 2000, "Ritual2") +end + +function Ritual2(NPC) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_onemoment_89f15716.mp3", "One moment please, this is important.", "", 4271869261, 3070926903) + AddTimer(NPC, 4000, "Ritual3") +end + +function Ritual3(NPC) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_ceremony_26c02873.mp3", "Blessed Ja'neth, may your spirit remain forever peaceful. Loved Ja'neth, may your bindings remain forever loose. Lost Ja'neth, may you one day find me again.", "", 1234777522, 783285646) + AddTimer(NPC, 10000, "Ritual4") +end + +function Ritual4(NPC) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_overwith_e17083e9.mp3", "Oh, Ja'Neth... Ja'Neth.", "", 3271321560, 3056376656) + AddTimer(NPC, 2000, "AllowQuestProgress") +end + +function AllowQuestProgress(NPC) + SetTempVariable(NPC, "AllowQuestProgress", "true") + AddTimer(NPC, 60000, "Return") +end + +function Return(NPC) + SetTempVariable(NPC, "AllowQuestProgress", nil) + MoveToLocation(NPC, 578.33, -27.02, 391.10, 2, "", true) + MoveToLocation(NPC, 581.50, -26.27, 399.26, 2, "Reset") +end + +function Reset(NPC) + SpawnSet(NPC, "heading", "0") + SetTempVariable(NPC, "Ready", "true") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_mourn_6b24b157.mp3", "Oh, Ja'neth. Why!", "cry", 1219541946, 2965391465, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_onemoment_89f15716.mp3", "One moment please, this is important.", "", 4271869261, 3070926903, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_ceremony_26c02873.mp3", "Blessed Ja'neth, may your spirit remain forever peaceful. Loved Ja'neth, may your bindings remain forever loose. Lost Ja'neth, may you one day find me again.", "", 1234777522, 783285646, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/ralkesh_orto/qey_village01/qst_ralkesh_orto_overwith_e17083e9.mp3", "Oh, Ja'Neth... Ja'Neth.", "", 3271321560, 3056376656, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Nettleville/SelkieMushroom.lua b/Lua/SpawnScripts/Nettleville/SelkieMushroom.lua new file mode 100755 index 000000000..2066348a6 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/SelkieMushroom.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Nettleville/SelkieMushroom.lua + Script Purpose : Selkie Mushroom + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +-- Quest ID's +local REQUIRED_COMPONENTS = 302 + +function spawn(NPC) + SetRequiredQuest(NPC, REQUIRED_COMPONENTS, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/SpiritistLaharnRahai.lua b/Lua/SpawnScripts/Nettleville/SpiritistLaharnRahai.lua new file mode 100755 index 000000000..1ebe5d459 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/SpiritistLaharnRahai.lua @@ -0,0 +1,246 @@ +--[[ + Script Name : SpawnScripts/Nettleville/SpiritistLaharnRahai.lua + Script Purpose : Spiritist Laharn Rahai + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +local CURIOUS_FINDINGS = 301 +local REQUIRED_COMPONENTS = 302 -- was 39 +local UNFORTUNATE_MISTAKES = 303 -- was 40 + +function spawn(NPC) + ProvidesQuest(NPC, REQUIRED_COMPONENTS) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, CURIOUS_FINDINGS) then + if HasCompletedQuest(Spawn, REQUIRED_COMPONENTS) then + if HasCompletedQuest(Spawn, UNFORTUNATE_MISTAKES) then + Say(NPC, "All is once again well. You are to be commended for your efforts.", Spawn) + else + PlayFlavor(NPC, "", "Quickly now, speak with Lakosha.", "", 1689589577, 4560189, Spawn) + end + elseif HasQuest(Spawn, REQUIRED_COMPONENTS) then + if GetQuestStep(Spawn, REQUIRED_COMPONENTS) >= 1 and GetQuestStep(Spawn, REQUIRED_COMPONENTS) <= 3 then + GetComponentsYetNo(NPC, Spawn) + elseif GetQuestStep(Spawn, REQUIRED_COMPONENTS) == 4 then + GetComponentsYetYes(NPC, Spawn) + end + else + ListOfSubstancesYetYes(NPC, Spawn) + end + elseif HasQuest(Spawn, CURIOUS_FINDINGS) then + if GetQuestStep(Spawn, CURIOUS_FINDINGS) == 1 then + HereToAskAFavor(NPC, Spawn) + elseif GetQuestStep(Spawn, CURIOUS_FINDINGS) == 2 then + ListOfSubstancesYetNo(NPC, Spawn) + elseif GetQuestStep(Spawn, CURIOUS_FINDINGS) == 3 then + ListOfSubstancesYetYes(NPC, Spawn) + else + PlayFlavor(NPC, "", "Quickly now, speak with Lakosha.", "", 1689589577, 4560189, Spawn) + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai001.mp3", "Sometimes there is little we can do to prevent tragedy. Other times, that which we do need to do is relatively little.", "", 1689589577, 4560189, Spawn) + end +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +-------------------------------------------------------------------------------------------------------------------- + +function HereToAskAFavor(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai001.mp3", "", "", 1313052279, 289870513, Spawn) + AddConversationOption(conversation, "I am here to ask a favor.", "dlg_20_1") + StartConversation(conversation, NPC, Spawn, "Sometimes there's little we can do to prevent tragedy. Other times, that which we do need to do is relatively little.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai002.mp3", "", "", 2480103971, 170395438, Spawn) + AddConversationOption(conversation, "Lakosha Maera had me collect some soil. In it she found something that concerned her. She asked that I bring it to you so that you can study it and confirm or dispel her worries.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "Of course, what do you need?") +end + +function dlg_20_2(NPC, Spawn) + SetStepComplete(Spawn, CURIOUS_FINDINGS, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai003.mp3", "", "", 2388634849, 375902687, Spawn) + AddConversationOption(conversation, "All right.") + StartConversation(conversation, NPC, Spawn, "Yes, I can do that. However, the human alchemists here would be much faster at determining the components. We should attempt to enlist their help first. Go speak with the Alchemist's assistant, Gunta. I am sure she can be found in the Scribe's shop. Bring the list of identified substances back to me and we'll see if we can put Lakosha's worries to rest.") +end + +function ListOfSubstancesYetNo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, not yet.") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai004.mp3", "", "", 910991904, 661476855, Spawn) + StartConversation(conversation, NPC, Spawn, "Do you have a list of the substances?") +end + +function ListOfSubstancesYetYes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, she would not help.", "dlg_22_1") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai004.mp3", "", "", 910991904, 661476855, Spawn) + StartConversation(conversation, NPC, Spawn, "Do you have a list of the substances?") +end + +function dlg_22_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai005.mp3", "", "", 3616363331, 324641015, Spawn) + AddConversationOption(conversation, "What do we do now?", "dlg_22_2") + StartConversation(conversation, NPC, Spawn, "That is unfortunate, and yet comes without too much surprise. We are often alone in our endeavors. It makes us stronger, however.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai006.mp3", "", "", 1807481255, 2577515001, Spawn) + AddConversationOption(conversation, "What do I need to collect?", "dlg_22_3") + StartConversation(conversation, NPC, Spawn, "I can still identify the substance, but it will take some extra work. I'll need you to collect a few things while I prepare what I already have.") +end + +function dlg_22_3(NPC, Spawn) + if HasQuest(Spawn, CURIOUS_FINDINGS) then + SetStepComplete(Spawn, CURIOUS_FINDINGS, 3) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai007.mp3", "", "", 790033688, 3434236139, Spawn) + AddConversationOption(conversation, "I can do this.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "First you will need some Reactive Kesmith. Travel back to the Alchemist in the Scribe's shop, he will sell you some. You will also need a Litsuth Bag. Though this is an object of our people, you can still buy it from a human. On the western end of Nettleville you will find Tailor Ehuraa Rotherham, she will sell you the bag. Finally you will need some Selkie Mushrooms. You can find these in the ferryway with the mariner's bells, also in western Nettleville.") +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +--------------------------------------------------------------------------------------------------------------------- + +function GetComponentsYetNo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai008.mp3", "", "", 1937447033, 532896484, Spawn) + AddConversationOption(conversation, "No, I do not.", "dlg_25_1") + StartConversation(conversation, NPC, Spawn, "Do you have the necessary components?") +end + +function GetComponentsYetYes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai008.mp3", "", "", 1937447033, 532896484, Spawn) + AddConversationOption(conversation, "Yes, I do.", "dlg_27_1") + StartConversation(conversation, NPC, Spawn, "Do you have the necessary components?") +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai009.mp3", "", "", 3568726927, 50566719, Spawn) + AddConversationOption(conversation, "It was gathered from around Nettleville. I was collecting it as part of a ritual Lakosha was teaching me.", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "Good.I'll perform the test now, this should not take long. Tell me, what was this soil from and why did Lakosha want it tested?") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai010.mp3", "", "", 73665412, 2710981331, Spawn) + AddConversationOption(conversation, "She said the soil suggested someone was in the middle of a Pa'Rok ceremony, but that there were other compounds that should not be present, and was worried that the other compounds may affect the ceremony.", "dlg_27_3") + StartConversation(conversation, NPC, Spawn, "Ah, yes, I am familiar with it. Why did she want it tested?") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai011.mp3", "", "", 3413002401, 2109013864, Spawn) + AddConversationOption(conversation, "Why is that?", "dlg_27_7") + AddConversationOption(conversation, "What is a Pa'Rok ceremony?", "dlg_27_4") + StartConversation(conversation, NPC, Spawn, "She has keen senses, Imolau. A corrupted Pa'Rok ceremony would be a very bad thing.") +end + +function dlg_27_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai012.mp3", "", "", 329280246, 3861598666, Spawn) + AddConversationOption(conversation, "What do you feel?", "dlg_27_5") + StartConversation(conversation, NPC, Spawn, "It is an old custom, not often practiced anymore. Still, some cling to it--rightly so, I believe--for personal reasons. It is a way that one mourns for the deceased. Many feel it brings a closure that cannot be had otherwise.") +end + +function dlg_27_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai013.mp3", "", "", 2917173738, 1397380776, Spawn) + AddConversationOption(conversation, "Do you mean that it is all in the mind of the person performing the ceremony?", "dlg_27_6") + StartConversation(conversation, NPC, Spawn, "I support anything--within reason--that heals. Pa'Rok does that, and so I believe it is good. Some feel that the ceremony is too long or archaic to do any good. Those who think as much would not receive any help from Pa'Rok anyway. Everyone copes in their own ways, some can accept the help Pa'Rok offers while others cannot.") +end + +function dlg_27_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai014.mp3", "", "", 4079786531, 4103037420, Spawn) + AddConversationOption(conversation, "Why is that?", "dlg_27_7") + StartConversation(conversation, NPC, Spawn, "No, not by a long shot. I cannot explain it, but the one doing the ceremony knows and feels what they are meant to feel. Some say they commune with the deceased, though most remember very little. This is how one knows if the ceremony is corrupted; if it is all clearly remembered and there is no sense of peace when it is over. Corrupted ceremonies are very bad.") +end + +function dlg_27_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai015.mp3", "", "", 3229185104, 3474423830, Spawn) + AddConversationOption(conversation, "What did you find?", "dlg_27_8") + StartConversation(conversation, NPC, Spawn, "A corrupted ceremony means time lost, and mourning needlessly repeated. Ah, the test is done.") +end + +function dlg_27_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai016.mp3", "", "", 681386269, 481662717, Spawn) + AddConversationOption(conversation, "Negative consequences?", "dlg_27_9") + StartConversation(conversation, NPC, Spawn, "This is dire. The soil had components suggesting the Pa'Rok ceremony was on its third day. On the fourth day the final soil, specially prepared by a kerra learned in such things, will be added. The soil from the first day, however, seems very ill prepared and has substances that I don't even recognize in it. This will corrupt the ceremony, that is certain, but it may have negative consequences beyond that.") +end + + +function dlg_27_9(NPC, Spawn) + SetStepComplete(Spawn, REQUIRED_COMPONENTS, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/spiritist_laharn_rahai/qey_village01/quests/laharn_rahai/laharn_rahai017.mp3", "", "", 3728181169, 856089258, Spawn) + AddConversationOption(conversation, "All right, thank you for your help.") + StartConversation(conversation, NPC, Spawn, "The Pa'Rok summons the spirits of the dead. To alter the prepared soil in any way threatens the integrity of that link to the dead. They may not be summoned at all, the wrong soul may be summoned, only a portion of the soul may be summoned, there is no way to know what will happen. Understand, this is not something we study, it is something that must always be avoided. Please, return to Lakosha. Tell her what I have told you, she will guide you.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, REQUIRED_COMPONENTS) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/Tanglmayn.lua b/Lua/SpawnScripts/Nettleville/Tanglmayn.lua new file mode 100755 index 000000000..5e9c107f1 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/Tanglmayn.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Nettleville/Tanglmayn.lua + Script Purpose : Tanglmayn + Script Author : John Adams + Script Date : 2008.09.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3487732561, 2995138728, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, traveler! We have the finest supplies to fill your adventuring needs.", "smile", 509171300, 3181487898, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2213475197, 3871690614, Spawn) + else + end + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/VarionSmitelin.lua b/Lua/SpawnScripts/Nettleville/VarionSmitelin.lua new file mode 100755 index 000000000..9f3b36620 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/VarionSmitelin.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : SpawnScripts/Nettleville/VarionSmitelin.lua + Script Purpose : Varion Smitelin + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +local QUEST_1 = 311 +local REFILL_THE_OAKMYST_SPIDER_SILK_JARS = 312 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, QUEST_1) then + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I'm back with the wings as you requested.", "dlg_12_1") + elseif GetLevel(Spawn) >= 3 then + AddConversationOption(conversation, "Oh, very much so.", "dlg_11_1") + end + end + + if HasQuest(Spawn, REFILL_THE_OAKMYST_SPIDER_SILK_JARS) and GetQuestStep(Spawn, REFILL_THE_OAKMYST_SPIDER_SILK_JARS) == 2 then + AddConversationOption(conversation, "I refilled your spider silk jars.", "dlg_13_1") + end + AddConversationOption(conversation, "Me? No, I don't care for that finger waggling stuff. ") + PlayFlavor(NPC, "voiceover/english/scribe_varion_smitelin/qey_village01/varionsmitelin.mp3", "", "", 1851450511, 1137101449, Spawn) + StartConversation(conversation, NPC, Spawn, "Interested in the magical arts, are you?") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/scribe_varion_smitelin/qey_village01/varionsmitelin003.mp3", "", "", 426969291, 1829151300, Spawn) + AddConversationOption(conversation, "I don't mind getting a little dirty. I'll take the job.", "OfferQuest1") + AddConversationOption(conversation, "Out into the bog? No thanks, I like to keep my clothes clean. ") + StartConversation(conversation, NPC, Spawn, "Good. That's what I like to hear! I'm working on a levitation spell, but I'm running low on Bog Faeries. If you go to the Peat Bog and round up some of the wings, I'll gladly pay you for this deed.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function dlg_12_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Difficult? Of course not! The Bog Faeries practically handed them to me.") + StartConversation(conversation, NPC, Spawn, "Excellent! These will do most nicely! I hope getting the wings wasn't too difficult. As promised, here's your reward.") +end + +function dlg_13_1(NPC, Spawn) + SetStepComplete(Spawn, REFILL_THE_OAKMYST_SPIDER_SILK_JARS, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/scribe_varion_smitelin/qey_village01/varionsmitelin006.mp3", "", "", 3827990998, 3891374789, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Thank you for refilling my jars. I knew they were empty, but could not find the time to make the trip to Oakmyst Forest. Please take this payment as a reward for your good deed.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/Verth.lua b/Lua/SpawnScripts/Nettleville/Verth.lua new file mode 100755 index 000000000..0d06308fe --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/Verth.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Nettleville/Verth.lua + Script Purpose : Verth + Script Author : John Adams + Script Date : 2008.09.24 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/verth/qey_village01/qey_village01_flavor_verth_multhail1_1b036b2d.mp3", "That meddling Falkoner didn't see you come back here, did he? Hmmm... I don't know if I can trust you. You better leave, now!", "", 1876464980, 1327443401, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/VidaSweeps.lua b/Lua/SpawnScripts/Nettleville/VidaSweeps.lua new file mode 100755 index 000000000..c09e7747b --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/VidaSweeps.lua @@ -0,0 +1,107 @@ +--[[ + Script Name : SpawnScripts/Nettleville/VidaSweeps.lua + Script Purpose : Vida Sweeps + Script Author : Scatman + Script Date : 2009.08.12 + Script Notes : +--]] + +require "SpawnScripts/Generic/DialogModule" + +local QUEST_1 = 310 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/vida_sweeps/qey_village01/qey_village01_groundskeeper_vida_sweeps_callout_6c14234e.mp3", "So much to do! So little time! I must finish my sweeping, but I need a new broom. Perhaps you'll help me in return for a precious stone?", "confused", 1752767860, 1342853234, Spawn) + end +end + +function LeaveRange(NPC, Spawn) + +end + +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/vida_sweeps/qey_village01/vidasweeps000.mp3", "", "", 931509640, 2296016698, Spawn) + if not HasCompletedQuest(Spawn, QUEST_1) then + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I brought back the new broom from Tawli. She was a bit tough to find.", "dlg_13_1") + elseif GetLevel(Spawn) >= 3 then + AddConversationOption(conversation, "What little rocks?", "TheseStones") + end + end + AddConversationOption(conversation, "Good luck with your work.") + StartConversation(conversation, NPC, Spawn, "So much to do! So little time! I must get these tents in order, and all this sweeping is giving me blisters. It wouldn't be so bad if there weren't all these little rocks about.") +end +]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Dialog.New(NPC,Spawn) + + Dialog.AddDialog("So much to do! So little time! I must get these tents in order, and all this sweeping is giving me blisters. It wouldn't be so bad if there weren't all these little rocks about.") + Dialog.AddVoiceover("voiceover/english/vida_sweeps/qey_village01/vidasweeps000.mp3", 931509640, 2296016698) + + Dialog.AddOption("I brought back the new broom from Tawli. She was a bit tough to find.", "dlg_13_1") + Dialog.AddOptionRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, QUEST_1) + Dialog.AddOptionRequirement(REQ_QUEST_ON_STEP, QUEST_1, 2) + + Dialog.AddOption("What little rocks?", "TheseStones") + Dialog.AddOptionRequirement(REQ_QUEST_NOT_HAS_COMPLETED_QUEST, QUEST_1) + Dialog.AddOptionRequirement(REQ_QUEST_DOESNT_HAVE_QUEST, QUEST_1) + Dialog.AddOptionRequirement(REQ_LEVEL_GREATER_OR_EQUAL, 3) + + Dialog.AddOption("Good luck with your work.") + + Dialog.Start() +end + +function TheseStones(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/vida_sweeps/qey_village01/vidasweeps001.mp3", "", "", 3847370594, 2690301162, Spawn) + AddConversationOption(conversation, "I'll help you out. I am interested in the blue stone.", "OfferQuest1") + AddConversationOption(conversation, "I'm sorry, but I really don't have time to run an errand for you.") + StartConversation(conversation, NPC, Spawn, "These stones on the ground, of course ... I guess I swept away most of the pebbles, but I did keep one strange blue rock that I found in the dust. If you agree to help me, I'll give you the precious stone as payment. Unfortunately, I'm short on coin.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function dlg_13_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/vida_sweeps/qey_village01/vidasweeps003.mp3", "", "", 1668292894, 3552793002, Spawn) + AddConversationOption(conversation, "What should I do with this blue stone?", "dlg_13_2") + AddConversationOption(conversation, "Thank you very much. ") + StartConversation(conversation, NPC, Spawn, "Aye, I told you she was a bit flighty. Thank you for the broom and here is the stone I promised. I hope it brings you good luck.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/vida_sweeps/qey_village01/vidasweeps004.mp3", "", "", 2095544938, 2706458688, Spawn) + AddConversationOption(conversation, "Hmm... I'll keep that in mind.") + StartConversation(conversation, NPC, Spawn, "I suppose that is up to you. Maybe you can take it to a mineral expert somewhere in the city.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/WillimBarclay.lua b/Lua/SpawnScripts/Nettleville/WillimBarclay.lua new file mode 100755 index 000000000..b2f568f41 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/WillimBarclay.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Nettleville/WillimBarclay.lua + Script Purpose : Willim Barclay + Script Author : Scatman + Script Date : 2009.08.08 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/willim_barclay/qey_village01/willimbarclay000.mp3", "", "", 3397569626, 186458292, Spawn) + AddConversationOption(conversation, "I see.") + StartConversation(conversation, NPC, Spawn, "Perhaps we can speak another time? I have to allocate the barley, inventory the chicken feed, and distribute the wool.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/abookpage.lua b/Lua/SpawnScripts/Nettleville/abookpage.lua new file mode 100755 index 000000000..a4e40f01d --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/abookpage.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nettleville/abookpage.lua + Script Purpose : a book page + Script Author : Scatman + Script Date : 2009.08.10 + Script Notes : +--]] + +local QUEST_2_FROM_HELAIN = 296 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_2_FROM_HELAIN, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/awaterloggedcrate.lua b/Lua/SpawnScripts/Nettleville/awaterloggedcrate.lua new file mode 100755 index 000000000..63d1157db --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/awaterloggedcrate.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nettleville/awaterloggedcrate.lua + Script Purpose : a waterlogged crate + Script Author : Scatman + Script Date : 2009.08.10 + Script Notes : +--]] + +local QUEST_4_FROM_JOHFRIT = 298 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_4_FROM_JOHFRIT, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/awaterproofbarrel.lua b/Lua/SpawnScripts/Nettleville/awaterproofbarrel.lua new file mode 100755 index 000000000..ae5d68e55 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/awaterproofbarrel.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Nettleville/awaterproofbarrel.lua + Script Purpose : a waterproof barrel + Script Author : Scatman + Script Date : 2009.08.10 + Script Notes : +--]] + +local QUEST_4_FROM_JOHFRIT = 298 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_4_FROM_JOHFRIT, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/inspect_reagentshelf01.lua b/Lua/SpawnScripts/Nettleville/inspect_reagentshelf01.lua new file mode 100755 index 000000000..78063e406 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/inspect_reagentshelf01.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/Nettleville/inspect_reagentshelf01.lua + Script Purpose : inspect_reagentshelf01 + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +local QUEST_1 = 312 +local QUEST_FROM_OAKMYST = 999 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "inspect" then + conversation = CreateConversation() + if not HasQuest(Caster, QUEST_1) and not HasCompletedQuest(Caster, QUEST_1) then + AddConversationOption(conversation, "Inspect jars of Oakmyst spider silk.", "OfferQuest1") + end + if HasQuest(Caster, QUEST_FROM_OAKMYST) and GetQuestStep(Caster, QUEST_FROM_OAKMYST) == 1 then + AddConversationOption(conversation, "Inspect jars of Smitelin's Excel-a-gro.", "ExcelAGro") + end + AddConversationOption(conversation, "Stop browsing.", "CloseConversation") + StartDialogConversation(conversation, 1, Target, Caster, "This is Varion Smitelin's reagent shelf. It seems to have various reagents as well as a number of tomes.") + end +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Stop browsing.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "This jar is filled with spider silk but looks rather low, I should help Varion out by gathering some more.") +end + +function ExcelAGro(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Take a pinch of the nutrient.", "TakeAPinch") + AddConversationOption(conversation, "Stop browsing.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "This jar is filled with some form of arcane nutrient for plants.") +end + +function TakeAPinch(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_OAKMYST, 1) + conversation = CreateConversation() + AddConversationOption(conversation, "Stop browsing.", "CloseConversation") + StartDialogConversation(conversation, 1, NPC, Spawn, "You take a small pinch of the nutrient and pack it into a small pocket.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Nettleville/loosesoil.lua b/Lua/SpawnScripts/Nettleville/loosesoil.lua new file mode 100755 index 000000000..6cd86d234 --- /dev/null +++ b/Lua/SpawnScripts/Nettleville/loosesoil.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/Nettleville/loosesoil.lua + Script Purpose : loose soil + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +local QUEST_1_FROM_LAKOSHA = 300 + +function spawn(NPC) + local sli = GetSpawnLocationID(NPC) + if sli == 565366 then + SetRequiredQuest(NPC, QUEST_1_FROM_LAKOSHA, 1, 1) + elseif sli == 565350 then + SetRequiredQuest(NPC, QUEST_1_FROM_LAKOSHA, 2, 1) + elseif sli == 565360 then + SetRequiredQuest(NPC, QUEST_1_FROM_LAKOSHA, 3, 1) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn) +Say(Spawn, "Test") + if HasQuest(Spawn, QUEST_1_FROM_LAKOSHA) and GetQuestStep(Spawn, QUEST_1_FROM_LAKOSHA) <= 3 then + local sli = GetSpawnLocationID(NPC) +Say(Spawn, sli) + if sli == 565366 then + if not QuestStepIsComplete(Spawn, QUEST_1_FROM_LAKOSHA, 1) then + SetStepComplete(Spawn, QUEST_1_FROM_LAKOSHA, 1) + end + elseif sli == 565350 then + if not QuestStepIsComplete(Spawn, QUEST_1_FROM_LAKOSHA, 2) then + SetStepComplete(Spawn, QUEST_1_FROM_LAKOSHA, 2) + end + elseif sli == 565360 then + if not QuestStepIsComplete(Spawn, QUEST_1_FROM_LAKOSHA, 3) then + SetStepComplete(Spawn, QUEST_1_FROM_LAKOSHA, 3) + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/NorthFreeport/HectorAlpalor.lua b/Lua/SpawnScripts/NorthFreeport/HectorAlpalor.lua new file mode 100755 index 000000000..b3cfd71f7 --- /dev/null +++ b/Lua/SpawnScripts/NorthFreeport/HectorAlpalor.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/NorthFreeport/HectorAlpalor.lua + Script Author : Cynnar + Script Date : 2018.05.27 04:05:29 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/NorthFreeport/Lrak.lua b/Lua/SpawnScripts/NorthFreeport/Lrak.lua new file mode 100755 index 000000000..fe7a72b4a --- /dev/null +++ b/Lua/SpawnScripts/NorthFreeport/Lrak.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/NorthFreeport/Lrak.lua + Script Author : Cynnar + Script Date : 2018.06.04 10:06:13 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + +function Talk(NPC, Spawn) + Say(NPC, "WTF! Did you see him staring at me?") +end diff --git a/Lua/SpawnScripts/NorthFreeport/NFreeportWanders.lua b/Lua/SpawnScripts/NorthFreeport/NFreeportWanders.lua new file mode 100755 index 000000000..0a797c3a2 --- /dev/null +++ b/Lua/SpawnScripts/NorthFreeport/NFreeportWanders.lua @@ -0,0 +1,523 @@ +--[[ + Script Name : SpawnScripts/NorthFreeport/NFreeportWanders.lua + Script Purpose : Waypoint Path for All wanderers in North Freeport + Script Author : Cynnar + Script Date : 6/1/2018 03:06:35 PM + Script Notes : Needs to add in split paths and to call function to spawn next wanderer +--]] + +local path + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -223.06, -57.78, -150.9, 2, math.random(0, 6)) + MovementLoopAddLocation(NPC, -220.03, -58.83, -159.56, 2, 0) + MovementLoopAddLocation(NPC, -217.61, -58.83, -163.77, 2, 0) + MovementLoopAddLocation(NPC, -214.34, -58.83, -167.83, 2, 0) + MovementLoopAddLocation(NPC, -211.29, -58.83, -170.3, 2, 0) + MovementLoopAddLocation(NPC, -207.02, -58.83, -173.07, 2, 0) + MovementLoopAddLocation(NPC, -204.05, -58.83, -176.46, 2, 0) + MovementLoopAddLocation(NPC, -202.67, -58.83, -179.64, 2, 0) + MovementLoopAddLocation(NPC, -201.81, -58.83, -184.29, 2, 0) + MovementLoopAddLocation(NPC, -201, -58.83, -188.08, 2, 0) + MovementLoopAddLocation(NPC, -199.43, -58.83, -192.25, 2, 0) + MovementLoopAddLocation(NPC, -196.22, -58.83, -198.53, 2, 0) + MovementLoopAddLocation(NPC, -194.02, -58.83, -204.38, 2, 0) + MovementLoopAddLocation(NPC, -191.54, -58.83, -209.47, 2, 0) + MovementLoopAddLocation(NPC, -186.05, -58.82, -215.92, 2, 0) + MovementLoopAddLocation(NPC, -181, -58.8, -219.54, 2, 0) + MovementLoopAddLocation(NPC, -175.8, -58.79, -222.26, 2, 0) + + path = math.random(0, 1) + + if path == 1 then + path_1(NPC) + else + path_2(NPC) + end + + MovementLoopAddLocation(NPC, -73, -34.59, -334.7, 2, 0) + MovementLoopAddLocation(NPC, -53.33, -27.3, -335.17, 2, 0) + MovementLoopAddLocation(NPC, -50.4, -27.31, -333.36, 2, 0) + MovementLoopAddLocation(NPC, -47.94, -27.31, -330.74, 2, 0) + MovementLoopAddLocation(NPC, -47.65, -27.3, -328.31, 2, 0) + MovementLoopAddLocation(NPC, -46.37, -20.06, -310.13, 2, 0) + + path = math.random(0, 1) + + if path == 1 then + path_M_0(NPC) + end + + MovementLoopAddLocation(NPC, -46.98, -20.05, -296.12, 2, 0) + + path = math.random(0, 1) + + if path == 1 then + path_M_1(NPC) + else + path_M_2(NPC) + end + + MovementLoopAddLocation(NPC, -42.07, -13.95, -191.72, 2, 0, "changegrid_Going_Up") + -- the below path needs tweaking but will allow me ot find the grid changes and add them + MovementLoopAddLocation(NPC, -42.07, -13.95, -191.72, 2, 2) + MovementLoopAddLocation(NPC, -44.22, -12.42, -184.67, 2, 2) + MovementLoopAddLocation(NPC, -42.9, -11.68, -181.09, 2, 2) + MovementLoopAddLocation(NPC, -40.47, -11.42, -179.79, 2, 2) + MovementLoopAddLocation(NPC, -28.82, -10.91, -176.8, 2, 2) + MovementLoopAddLocation(NPC, -26.46, -10.58, -174.76, 2, 2) + MovementLoopAddLocation(NPC, -25.6, -10.12, -171.74, 2, 2) + MovementLoopAddLocation(NPC, -25.8, -9.93, -170.37, 2, 2) + MovementLoopAddLocation(NPC, -47.69, -9.49, -99.06, 2, 2) + MovementLoopAddLocation(NPC, -46.82, -9.89, -92.37, 2, 2) + MovementLoopAddLocation(NPC, -44.55, -10.45, -88.97, 2, 2) + MovementLoopAddLocation(NPC, -36.56, -12.33, -80.55, 2, 2) + MovementLoopAddLocation(NPC, -32.14, -13.03, -71.58, 2, 2) + MovementLoopAddLocation(NPC, -30.6, -12.68, -64.69, 2, 2) + MovementLoopAddLocation(NPC, -30.6, -13.02, -58.91, 2, 2) + MovementLoopAddLocation(NPC, -28.83, -14.73, -54.39, 2, 2) + MovementLoopAddLocation(NPC, -28.48, -16.29, -51.51, 2, 2) + MovementLoopAddLocation(NPC, -28.99, -18.09, -48.72, 2, 2) + MovementLoopAddLocation(NPC, -31.58, -20.22, -45.22, 2, 2) + MovementLoopAddLocation(NPC, -40.76, -24.37, -41.55, 2, 2) + MovementLoopAddLocation(NPC, -92.31, -24.37, -51.34, 2, 2) + MovementLoopAddLocation(NPC, -108.18, -24.37, -52.2, 2, 2) + MovementLoopAddLocation(NPC, -152.46, -23.84, -57.33, 2, 2) + -- turn around now + MovementLoopAddLocation(NPC, -152.46, -23.84, -57.33, 2, 2) + MovementLoopAddLocation(NPC, -108.18, -24.37, -52.2, 2, 2) + MovementLoopAddLocation(NPC, -92.31, -24.37, -51.34, 2, 2) + MovementLoopAddLocation(NPC, -40.76, -24.37, -41.55, 2, 2) + MovementLoopAddLocation(NPC, -31.58, -20.22, -45.22, 2, 2) + MovementLoopAddLocation(NPC, -28.99, -18.09, -48.72, 2, 2) + MovementLoopAddLocation(NPC, -28.48, -16.29, -51.51, 2, 2) + MovementLoopAddLocation(NPC, -28.83, -14.73, -54.39, 2, 2) + MovementLoopAddLocation(NPC, -30.6, -13.02, -58.91, 2, 2) + MovementLoopAddLocation(NPC, -30.6, -12.68, -64.69, 2, 2) + MovementLoopAddLocation(NPC, -32.14, -13.03, -71.58, 2, 2) + MovementLoopAddLocation(NPC, -36.56, -12.33, -80.55, 2, 2) + MovementLoopAddLocation(NPC, -44.55, -10.45, -88.97, 2, 2) + MovementLoopAddLocation(NPC, -46.82, -9.89, -92.37, 2, 2) + MovementLoopAddLocation(NPC, -47.69, -9.49, -99.06, 2, 2) + MovementLoopAddLocation(NPC, -25.8, -9.93, -170.37, 2, 2) + MovementLoopAddLocation(NPC, -25.6, -10.12, -171.74, 2, 2) + MovementLoopAddLocation(NPC, -26.46, -10.58, -174.76, 2, 2) + MovementLoopAddLocation(NPC, -28.82, -10.91, -176.8, 2, 2) + MovementLoopAddLocation(NPC, -40.47, -11.42, -179.79, 2, 2) + MovementLoopAddLocation(NPC, -42.9, -11.68, -181.09, 2, 2) + MovementLoopAddLocation(NPC, -44.22, -12.42, -184.67, 2, 2) + MovementLoopAddLocation(NPC, -42.07, -13.95, -191.72, 2, 2) + -- the below path changes grid going back down + MovementLoopAddLocation(NPC, -42.07, -13.95, -191.72, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -38.19, -17.6, -206.13, 2, 0) + MovementLoopAddLocation(NPC, -41.59, -20.05, -306.7, 2, 0) + MovementLoopAddLocation(NPC, -49.14, -27.31, -332.17, 2, 0) + MovementLoopAddLocation(NPC, -75.35, -34.59, -332.93, 2, 0) + MovementLoopAddLocation(NPC, -78.64, -34.59, -300.55, 2, 0) + MovementLoopAddLocation(NPC, -79.65, -34.59, -284.7, 2, 0) + MovementLoopAddLocation(NPC, -83.56, -34.59, -272.71, 2, 0) + MovementLoopAddLocation(NPC, -74.37, -34.59, -268.9, 2, 0) + MovementLoopAddLocation(NPC, -71.68, -34.64, -259.61, 2, 0) + MovementLoopAddLocation(NPC, -74.49, -40.33, -239.88, 2, 0) + MovementLoopAddLocation(NPC, -98.38, -40.33, -242.16, 2, 0) + MovementLoopAddLocation(NPC, -115.83, -40.33, -239.26, 2, 0) + MovementLoopAddLocation(NPC, -119.98, -40.33, -227.42, 2, 0) + MovementLoopAddLocation(NPC, -125.8, -40.33, -210.82, 2, 0) + MovementLoopAddLocation(NPC, -123.43, -40.33, -204.9, 2, 0) + MovementLoopAddLocation(NPC, -110.43, -45.45, -198.73, 2, 0) + MovementLoopAddLocation(NPC, -108.38, -46.05, -191.29, 2, 0) + MovementLoopAddLocation(NPC, -119.97, -46.05, -190.14, 2, 0) + MovementLoopAddLocation(NPC, -134.06, -51.8, -202.83, 2, 0) + MovementLoopAddLocation(NPC, -145.69, -51.71, -213.04, 2, 0) + MovementLoopAddLocation(NPC, -172.27, -58.78, -223.46, 2, 0) + MovementLoopAddLocation(NPC, -187.94, -58.82, -214.02, 2, 0) + MovementLoopAddLocation(NPC, -194.25, -58.83, -203.97, 2, 0) + MovementLoopAddLocation(NPC, -196.73, -58.83, -196.44, 2, 0) + MovementLoopAddLocation(NPC, -201.38, -58.83, -190.06, 2, 0) + MovementLoopAddLocation(NPC, -202.34, -58.83, -183.87, 2, 0) + MovementLoopAddLocation(NPC, -203.25, -58.83, -177.99, 2, 0) + MovementLoopAddLocation(NPC, -206.57, -58.83, -173.18, 2, 0) + MovementLoopAddLocation(NPC, -211.24, -58.83, -170.33, 2, 0) + MovementLoopAddLocation(NPC, -218.61, -58.83, -162.67, 2, 0) + MovementLoopAddLocation(NPC, -221.69, -57.94, -154.27, 2, 0) + MovementLoopAddLocation(NPC, -221.94, -57.78, -150.45, 2, 0, "depop") +end + +-------------------------------------------------------------------------------------- +-- Path 1 +-------------------------------------------------------------------------------------- + +function path_1(NPC) + MovementLoopAddLocation(NPC, -169.9, -58.78, -222.94, 2, 0) + MovementLoopAddLocation(NPC, -164.11, -58.73, -221.04, 2, 0) + MovementLoopAddLocation(NPC, -147.45, -51.53, -211.51, 2, 0) + MovementLoopAddLocation(NPC, -143.90, -51.67, -209.39, 2, 0) + + path = math.random(0, 2) + + if path == 1 then + path_1_0(NPC) + elseif path == 2 then + path_1_A(NPC) + else + path_1_B(NPC) + end +end + +-------------------------------------------------------------------------------------- +-- Path 1 (0) +-------------------------------------------------------------------------------------- + +function path_1_0(NPC) + MovementLoopAddLocation(NPC, -143.18, -51.79, -204.42, 2, 0) + MovementLoopAddLocation(NPC, -149.44, -51.83, -196.63, 2, 0) + MovementLoopAddLocation(NPC, -156.32, -52.58, -186.63, 2, 0) + MovementLoopAddLocation(NPC, -164.31, -54.34, -170.32, 2, 0) + MovementLoopAddLocation(NPC, -169.77, -55.19, -155.41, 2, 0) + MovementLoopAddLocation(NPC, -172.41, -55.69, -143.41, 2, 0) + MovementLoopAddLocation(NPC, -172.44, -56.14, -123.56, 2, 0) + MovementLoopAddLocation(NPC, -167.41, -56.14, -115.27, 2, 0) + MovementLoopAddLocation(NPC, -175.67, -56.14, -120.51, 2, 0) + MovementLoopAddLocation(NPC, -175.78, -56.14, -120.31, 2, 3, "convointeract") + MovementLoopAddLocation(NPC, -172.41, -55.69, -143.41, 2, 0) + MovementLoopAddLocation(NPC, -169.77, -55.19, -155.41, 2, 0) + MovementLoopAddLocation(NPC, -164.31, -54.34, -170.32, 2, 0) + MovementLoopAddLocation(NPC, -156.32, -52.58, -186.63, 2, 0) + MovementLoopAddLocation(NPC, -149.44, -51.83, -196.63, 2, 0) + MovementLoopAddLocation(NPC, -143.18, -51.79, -204.42, 2, 0) + + path = math.random(0, 1) + + if path == 1 then + path_1_A(NPC) + else + path_1_B(NPC) + end +end +-------------------------------------------------------------------------------------- +-- Path 1 (A) +-------------------------------------------------------------------------------------- + +function path_1_A(NPC) + MovementLoopAddLocation(NPC, -133.61, -51.81, -202.18, 2, 0) + MovementLoopAddLocation(NPC, -122.51, -46.09, -193.1, 2, 2) + + path = math.random(0, 1) + + if path == 1 then + path_1_A0(NPC) + else + path_1_A1(NPC) + end +end + +function path_1_A0(NPC) + MovementLoopAddLocation(NPC, -120.89, -46.06, -186.65, 2, 0) + MovementLoopAddLocation(NPC, -122.83, -46.07, -183.89, 2, 0) + MovementLoopAddLocation(NPC, -124.63, -46.07, -183.15, 2, 0) + MovementLoopAddLocation(NPC, -126.41, -46.08, -183.44, 2, 0) + MovementLoopAddLocation(NPC, -129.31, -46.08, -184.69, 2, 0) + MovementLoopAddLocation(NPC, -132.83, -46.08, -185.38, 2, 0) + MovementLoopAddLocation(NPC, -136.46, -46.08, -185.39, 2, 0) + MovementLoopAddLocation(NPC, -140.57, -46.08, -184.19, 2, 0) + MovementLoopAddLocation(NPC, -143.16, -46.08, -181.62, 2, 0) + MovementLoopAddLocation(NPC, -144.91, -46.08, -178.82, 2, 0) + MovementLoopAddLocation(NPC, -146.21, -46.08, -174.25, 2, 0) + MovementLoopAddLocation(NPC, -147.28, -43.42, -168.09, 2, 0) + MovementLoopAddLocation(NPC, -141.45, -41.22, -161.81, 2, 0) + MovementLoopAddLocation(NPC, -142.81, -41.22, -159.03, 2, 0) + MovementLoopAddLocation(NPC, -148.79, -41.22, -145.75, 2, 3) + MovementLoopAddLocation(NPC, -149.24, -41.22, -145.09, 2, 0, "depop") +end + +function path_1_A1(NPC) + MovementLoopAddLocation(NPC, -110.71, -46.04, -192.08, 2, 0) + MovementLoopAddLocation(NPC, -108.34, -46.03, -194.76, 2, 0) + MovementLoopAddLocation(NPC, -110.44, -45.46, -197.94, 2, 0) + MovementLoopAddLocation(NPC, -123.47, -40.33, -205.4, 2, 0) + MovementLoopAddLocation(NPC, -125.64, -40.33, -208.7, 2, 0) + MovementLoopAddLocation(NPC, -124.99, -40.33, -212.61, 2, 0) + MovementLoopAddLocation(NPC, -117.79, -40.33, -235.84, 2, 0) + MovementLoopAddLocation(NPC, -115.56, -40.33, -238.77, 2, 0) + MovementLoopAddLocation(NPC, -112.1, -40.33, -240.96, 2, 0) + MovementLoopAddLocation(NPC, -108.02, -40.33, -242.18, 2, 0) + MovementLoopAddLocation(NPC, -91.14, -40.33, -242.24, 2, 0) + MovementLoopAddLocation(NPC, -85.75, -40.33, -238.90, 2, 3) + + path = math.random(0, 1) + + if path == 1 then + path_1_A1_A(NPC) + else + path_1_A1_B(NPC) + end +end + +function path_1_A1_A(NPC) + MovementLoopAddLocation(NPC, -74.84, -40.33, -241.43, 2, 0) + MovementLoopAddLocation(NPC, -73.28, -34.62, -260.18, 2, 0) + MovementLoopAddLocation(NPC, -74.05, -34.6, -263.5, 2, 0) + MovementLoopAddLocation(NPC, -75.97, -34.6, -266.3, 2, 0) + MovementLoopAddLocation(NPC, -79.11, -34.59, -268.7, 2, 0) + MovementLoopAddLocation(NPC, -82.26, -34.59, -272.47, 2, 0) + MovementLoopAddLocation(NPC, -84, -34.59, -276.38, 2, 0) + MovementLoopAddLocation(NPC, -82.66, -34.59, -282.19, 2, 0) + MovementLoopAddLocation(NPC, -81.11, -34.59, -287.45, 2, 0) + MovementLoopAddLocation(NPC, -79.72, -34.59, -293.65, 2, 0) + MovementLoopAddLocation(NPC, -77.75, -34.59, -307.03, 2, 0) + MovementLoopAddLocation(NPC, -76.54, -34.59, -333.41, 2, 0) +end + +function path_1_A1_B(NPC) + MovementLoopAddLocation(NPC, -88.36, -40.34, -250.34, 2, 0) + MovementLoopAddLocation(NPC, -93.29, -40.37, -255.67, 2, 0) + MovementLoopAddLocation(NPC, -112.39, -46.05, -262.74, 2, 0) + MovementLoopAddLocation(NPC, -119.67, -45.91, -264.97, 2, 3) + + path_1_B2(NPC) +end + +-------------------------------------------------------------------------------------- +-- Path 1 B +-------------------------------------------------------------------------------------- + +function path_1_B(NPC) + MovementLoopAddLocation(NPC, -138.63, -51.52, -211.31, 2, 0) + MovementLoopAddLocation(NPC, -134.5, -50.34, -222.11, 2, 0) + MovementLoopAddLocation(NPC, -133.05, -49.66, -228.59, 2, 0) + MovementLoopAddLocation(NPC, -119.67, -45.91, -264.97, 2, 3) + + path = math.random(0, 1) + + if path == 1 then + path_1_B1(NPC) + else + path_1_B2(NPC) + end +end + +function path_1_B1(NPC) + MovementLoopAddLocation(NPC, -112.39, -46.05, -262.74, 2, 0) + MovementLoopAddLocation(NPC, -93.29, -40.37, -255.67, 2, 0) + MovementLoopAddLocation(NPC, -88.36, -40.34, -250.34, 2, 0) + MovementLoopAddLocation(NPC, -85.75, -40.33, -238.90, 2, 0) + + path_1_A1_A(NPC) +end + +function path_1_B2(NPC) + MovementLoopAddLocation(NPC, -117.41, -45.67, -272.94, 2, 0) + MovementLoopAddLocation(NPC, -112.23, -44.38, -287.58, 2, 0) + MovementLoopAddLocation(NPC, -108.43, -43.63, -294.92, 2, 0) + MovementLoopAddLocation(NPC, -106.37, -42.82, -301.29, 2, 0) + MovementLoopAddLocation(NPC, -106.04, -42, -311.79, 2, 0) + MovementLoopAddLocation(NPC, -106.52, -40.64, -329.87, 2, 0) + MovementLoopAddLocation(NPC, -105.83, -34.63, -353.16, 2, 0) + MovementLoopAddLocation(NPC, -94.85, -34.6, -353.04, 2, 0) + MovementLoopAddLocation(NPC, -87.51, -34.59, -348.76, 2, 0) + MovementLoopAddLocation(NPC, -85.22, -34.59, -344.25, 2, 0) + MovementLoopAddLocation(NPC, -79.49, -34.59, -340.59, 2, 0) +end + + +-------------------------------------------------------------------------------------- +-- Path 2 +-------------------------------------------------------------------------------------- + +function path_2(NPC) + MovementLoopAddLocation(NPC, -174.11, -58.78, -225.87, 2, 0) + MovementLoopAddLocation(NPC, -175.66, -58.78, -229.59, 2, 0) + MovementLoopAddLocation(NPC, -175.1, -58.78, -232.62, 2, 0) + MovementLoopAddLocation(NPC, -172.73, -58.79, -239.34, 2, 0) + MovementLoopAddLocation(NPC, -170.44, -58.79, -244.27, 2, 0) + MovementLoopAddLocation(NPC, -165.02, -58.71, -261.07, 2, 0) + MovementLoopAddLocation(NPC, -160.2, -53.04, -276.76, 2, 0) + + path = math.random(0, 1) + + if path == 1 then + path_2_A(NPC) + else + path_2_B(NPC) + end +end + +-------------------------------------------------------------------------------------- +-- Path 2 (A) +-------------------------------------------------------------------------------------- + +function path_2_A(NPC) + MovementLoopAddLocation(NPC, -156.08, -53.06, -279.01, 2, 0) + MovementLoopAddLocation(NPC, -149.76 -53.01, -275.14, 2, 0) + MovementLoopAddLocation(NPC, -118.51, -45.90, -265.65, 2, 5) + + path = math.random(0, 1) + + if path == 1 then + path_1_B1(NPC) + else + path_1_B2(NPC) + end +end + +-------------------------------------------------------------------------------------- +-- Path 2 (B) +-------------------------------------------------------------------------------------- + +function path_2_B(NPC) + MovementLoopAddLocation(NPC, -158.68, -53.07, -281.49, 2, 0) + MovementLoopAddLocation(NPC, -158.3, -53.12, -292.75, 2, 0) + MovementLoopAddLocation(NPC, -156.89, -53.12, -306.44, 2, 0) + MovementLoopAddLocation(NPC, -153.09, -53.12, -317.94, 2, 0) + MovementLoopAddLocation(NPC, -142.21, -53.12, -329.3, 2, 0) + MovementLoopAddLocation(NPC, -139, -53.12, -336.57, 2, 0) + MovementLoopAddLocation(NPC, -139.12, -53.12, -344.84, 2, 0) + MovementLoopAddLocation(NPC, -140.95, -53.12, -352.35, 2, 0) + MovementLoopAddLocation(NPC, -146.84, -53.12, -367.32, 2, 3, "convointeract") + MovementLoopAddLocation(NPC, -140.95, -53.12, -352.35, 2, 0) + MovementLoopAddLocation(NPC, -139.12, -53.12, -344.84, 2, 0) + MovementLoopAddLocation(NPC, -139, -53.12, -336.57, 2, 0) + MovementLoopAddLocation(NPC, -142.21, -53.12, -329.3, 2, 0) + MovementLoopAddLocation(NPC, -153.09, -53.12, -317.94, 2, 0) + MovementLoopAddLocation(NPC, -156.89, -53.12, -306.44, 2, 0) + MovementLoopAddLocation(NPC, -158.3, -53.12, -292.75, 2, 0) + MovementLoopAddLocation(NPC, -158.68, -53.07, -281.49, 2, 0) + MovementLoopAddLocation(NPC, -156.08, -53.06, -279.01, 2, 0) + MovementLoopAddLocation(NPC, -149.76 -53.01, -275.14, 2, 0) + MovementLoopAddLocation(NPC, -118.51, -45.90, -265.65, 2, 5) + + path = math.random(0, 1) + + if path == 1 then + path_1_B1(NPC) + else + path_1_B2(NPC) + end +end + +-------------------------------------------------------------------------------------- +-- path M (second floor) +-------------------------------------------------------------------------------------- + +function path_M_0(NPC) + MovementLoopAddLocation(NPC, -39.22, -20.05, -303.54, 2, 0) + MovementLoopAddLocation(NPC, -33.18, -20.05, -302.24, 2, 0) + MovementLoopAddLocation(NPC, -8.05, -20.05, -301.9, 2, 0) + MovementLoopAddLocation(NPC, -5.43, -20.05, -303.81, 2, 0) + MovementLoopAddLocation(NPC, -5.08, -20.05, -304.57, 2, 0) + MovementLoopAddLocation(NPC, -5.43, -20.05, -303.81, 2, 0) + MovementLoopAddLocation(NPC, -8.05, -20.05, -301.9, 2, 0) + MovementLoopAddLocation(NPC, -33.18, -20.05, -302.24, 2, 0) + MovementLoopAddLocation(NPC, -39.22, -20.05, -303.54, 2, 0) + MovementLoopAddLocation(NPC, -46.98, -20.05, -296.12, 2, 0) +end + +function path_M_1(NPC) + MovementLoopAddLocation(NPC, -50.48, -20.05, -291.21, 2, 0) + MovementLoopAddLocation(NPC, -54.83, -20.05, -289.07, 2, 0) + MovementLoopAddLocation(NPC, -57.27, -20.05, -286.83, 2, 0) + MovementLoopAddLocation(NPC, -59.01, -20.05, -279.63, 2, 0) + MovementLoopAddLocation(NPC, -58.28, -20.05, -273.66, 2, 0) + MovementLoopAddLocation(NPC, -53.34, -20.05, -268.11, 2, 0) + MovementLoopAddLocation(NPC, -51.46, -20.05, -262.82, 2, 0) + MovementLoopAddLocation(NPC, -52.4, -20.05, -265.51, 2, 0) + + path = math.random(0, 1) + + if path == 1 then + path_M_1_2(NPC) + else + path_M_2_1(NPC) + end +end + +function path_M_2(NPC) + MovementLoopAddLocation(NPC, -45.22, -19.99, -292.82, 2, 0) + MovementLoopAddLocation(NPC, -44.02, -20.05, -291.21, 2, 0) + MovementLoopAddLocation(NPC, -41.55, -20.05, -289.99, 2, 0) + MovementLoopAddLocation(NPC, -39.02, -20.05, -289.4, 2, 0) + MovementLoopAddLocation(NPC, -36.53, -20.05, -287.74, 2, 0) + MovementLoopAddLocation(NPC, -35.85, -20.05, -286.19, 2, 0) + MovementLoopAddLocation(NPC, -35.46, -20.05, -283.84, 2, 0) + MovementLoopAddLocation(NPC, -35.78, -20.05, -272.98, 2, 0) + MovementLoopAddLocation(NPC, -36.46, -20.05, -271.23, 2, 0) + MovementLoopAddLocation(NPC, -39.76, -20.05, -266.08, 2, 0) + + path = math.random(0, 1) + + if path == 1 then + path_M_1_2(NPC) + else + path_M_2_1(NPC) + end +end + + +function path_M_1_2(NPC) + MovementLoopAddLocation(NPC, -46.65, -20.05, -262.10, 2, 0, math.random(3, 12)) + MovementLoopAddLocation(NPC, -52.4, -20.05, -257.83, 2, 0) + MovementLoopAddLocation(NPC, -53.92, -20.05, -254.64, 2, 0) + MovementLoopAddLocation(NPC, -57.09, -20.05, -251.29, 2, 0) + MovementLoopAddLocation(NPC, -57.7, -20.05, -249.34, 2, 0) + MovementLoopAddLocation(NPC, -58.47, -20.05, -246.06, 2, 0) + MovementLoopAddLocation(NPC, -58.61, -20.05, -239.32, 2, 0) + MovementLoopAddLocation(NPC, -57.63, -20.05, -236.31, 2, 0) + MovementLoopAddLocation(NPC, -55.64, -20.05, -234.06, 2, 0) + MovementLoopAddLocation(NPC, -48.08, -20.07, -225.36, 2, 0) + MovementLoopAddLocation(NPC, -39.74, -18.02, -209.19, 2, 0) +end + +function path_M_2_1(NPC) + MovementLoopAddLocation(NPC, -46.65, -20.05, -262.10, 2, 0, math.random(3, 12)) + MovementLoopAddLocation(NPC, -39.55, -20.05, -259, 2, 0) + MovementLoopAddLocation(NPC, -36.7, -20.05, -254.18, 2, 0) + MovementLoopAddLocation(NPC, -35.61, -20.05, -251.85, 2, 0) + MovementLoopAddLocation(NPC, -35.64, -20.05, -238.73, 2, 0) + MovementLoopAddLocation(NPC, -35.54, -19.27, -215.97, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- Despawn +-------------------------------------------------------------------------------------- + +function depop(NPC) + Despawn(NPC) +end + +-------------------------------------------------------------------------------------- +-- NPC Interaction conversations and other functions +-------------------------------------------------------------------------------------- + +function convointeract(NPC) + local spawn2 = GetSpawn(NPC, 1440070) + + if spawn2 ~= nil then + AddTimer(spawn2, 5000, "Talk") + end + +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 157236824) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 840463424) +end + diff --git a/Lua/SpawnScripts/NorthFreeport/transportacademy0.lua b/Lua/SpawnScripts/NorthFreeport/transportacademy0.lua new file mode 100755 index 000000000..d9c89570b --- /dev/null +++ b/Lua/SpawnScripts/NorthFreeport/transportacademy0.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/NorthFreeport/transportacademy0.lua + Script Author : Cynnar + Script Date : 2018.06.05 12:06:46 + Script Purpose : + Script Notes : Took Jabantiz's script for this +--]] + +--[[ + Script Name : SpawnScripts/GreaterFaydark/TunaresSaplingAcornLift.lua + Script Purpose : Automate the Kelethin lifts + Script Author : Jabantiz + Script Date : 5/29/2018 + Script Notes : +--]] + +function spawn(NPC) + AddTransportSpawn(NPC) + AddTimer(NPC, 25000, "UseLift") +end + +function respawn(NPC) + spawn(NPC) +end + +function UseLift(NPC) + UseWidget(NPC) + AddTimer(NPC, 25000, "UseLift") +end diff --git a/Lua/SpawnScripts/NorthFreeport/transportacademy1.lua b/Lua/SpawnScripts/NorthFreeport/transportacademy1.lua new file mode 100755 index 000000000..82a84f375 --- /dev/null +++ b/Lua/SpawnScripts/NorthFreeport/transportacademy1.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/NorthFreeport/transportacademy0.lua + Script Author : Cynnar + Script Date : 2018.06.05 12:06:46 + Script Purpose : + Script Notes : Took Jabantiz's script for this +--]] + +--[[ + Script Name : SpawnScripts/GreaterFaydark/TunaresSaplingAcornLift.lua + Script Purpose : Automate the Kelethin lifts + Script Author : Jabantiz + Script Date : 5/29/2018 + Script Notes : +--]] + +function spawn(NPC) + AddTransportSpawn(NPC) + AddTimer(NPC, 25000, "UseLift") +end + +function respawn(NPC) + spawn(NPC) +end + +function UseLift(NPC) + UseWidget(NPC) + AddTimer(NPC, 25000, "UseLift") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/AdalinEmerael.lua b/Lua/SpawnScripts/Oakmyst/AdalinEmerael.lua new file mode 100755 index 000000000..64a12ce27 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/AdalinEmerael.lua @@ -0,0 +1,171 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/AdalinEmerael.lua + Script Purpose : Adalin Emerael + Script Author : Scatman + Script Date : 2009.10.02 + Script Notes : +--]] + +local HIGH_ELF = 8 +local HIGH_ELF_MENTOR_QUEST_5 = 69 +local QUEST_1 = 294 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, HIGH_ELF_MENTOR_QUEST_5) then + AddConversationOption(conversation, "I come on behalf of Vindain, from Castleview Hamlet.", "WhatNews") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + Say(NPC, "Thank you for your help.", Spawn) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetRace(Spawn) == HIGH_ELF then + NotAlwaysSoBusy(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/adalin_emerael/qey_adv01_oakmyst_revamp/qst_adalin_notonquest_5a7f745c.mp3", "Good day to you.", "", 16696239, 3805917441, Spawn) + end + end +end + +function respawn(NPC) + spawn(NPC) +end + +---------------------------------------------------------------------------------------------------------------- +-- HIGH_ELF_MENTOR_QUEST_5 +---------------------------------------------------------------------------------------------------------------- + +function WhatNews(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "A corrupted sunshimmer sprite made its way into Castleview Hamlet. Vindain sent me to talk to you because of what that means...", "ThingsAreNotPleasant") + StartConversation(conversation, NPC, Spawn, "And what news does he send?") +end + +function ThingsAreNotPleasant(NPC, Spawn) + if HasQuest(Spawn, HIGH_ELF_MENTOR_QUEST_5) then + SetStepComplete(Spawn, HIGH_ELF_MENTOR_QUEST_5, 1) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "What is going on?", "Corruption") + end + AddConversationOption(conversation, "So I have heard.") + StartConversation(conversation, NPC, Spawn, "... for Oakmyst. We know. Things are not pleasant here right now.") +end + +function Corruption(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do to help?", "ToHelp") + AddConversationOption(conversation, "I will return if I get time.") + StartConversation(conversation, NPC, Spawn, "Corruption, and perhaps more. It is too early, and the information is too scattered, to know anything for certain. We can use all the help we can get at this point.") +end + +---------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +---------------------------------------------------------------------------------------------------------------- + +function NotAlwaysSoBusy(NPC, Spawn, conversation) + AddConversationOption(conversation, "What do you mean?", "WhatDoYouMean") + StartConversation(conversation, NPC, Spawn, "The oakmyst was not always so busy.") +end + +function WhatDoYouMean(NPC, Spawn, conversation) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why do you wish that?", "WhyDoYouWishThat") + StartConversation(conversation, NPC, Spawn, "At one point in time, this forest was a lonely place. This is not so true anymore, thought I wish it were.") +end + +function WhyDoYouWishThat(NPC, Spawn, conversation) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do to help?", "ToHelp") + AddConversationOption(conversation, "That is most unfortunate. I will return later if I can help.") + StartConversation(conversation, NPC, Spawn, "Corruption has found hold here. The source of this corruption we do not know. All we can do for now is react and hope more information come to light soon enough.") +end + +function ToHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "A gnoll in Oakmyst?", "AGnollInOakmyst") + StartConversation(conversation, NPC, Spawn, "I am glad to hear you ask. I was in the process of clearing out the corruption in Oakmyst when I was attacked by a gnoll.") +end + +function AGnollInOakmyst(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What must I do?", "WhatMustIDo") + AddConversationOption(conversation, "Sorry, not today.") + StartConversation(conversation, NPC, Spawn, "Hard to believe, I know. The guards didn't believe me either. It did happen, though. I am no fighter, and if I am attacked again I may not survive. I would ask of you a dangerous favor.") +end + +function WhatMustIDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Where are the trees?", "WhereAreTrees") + StartConversation(conversation, NPC, Spawn, "Cleanse the trees of the Oakmyst. Be careful, gnolls may be lurking nearby. If you do find a gnoll, it is important you bring proof of its existence to a guard. If my words are not proof enough we shall find something that suffices.") +end + +function WhereAreTrees(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will, thank you.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "There is one just weest of the gates to Castleview Hamlet. Another is just east of the Western Falls west of the first tree. The final tree is east of the entrance to the docks on the western end of the forest. Remember, be wary of gnolls.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) <= 4 then + if GetQuestStep(Spawn, QUEST_1) == 4 then + AddConversationOption(conversation, "Yes, they have.", "TreesCleansed") + else + AddConversationOption(conversation, "No, not yet.") + end + StartConversation(conversation, NPC, Spawn, "Have the trees been cleansed?") + else + Say(NPC, "Please, take the proof to Lieutenant Charlin. The Qeynos Guard must be alerted.", Spawn) + end +end + +function TreesCleansed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, I did. I got his paw.", "GotPaw") + StartConversation(conversation, NPC, Spawn, "Good, good. It is a small step for us, but an important one. Did you encounter any gnolls?") +end + +function GotPaw(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Now the Qeynos Guard will have to believe me. Show the paw to Lieutenant Charlin. I'm sure it will interest him greatly. Thank you, " .. GetName(Spawn) .. ", for what you've done. ") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/AkeeraSneakshot.lua b/Lua/SpawnScripts/Oakmyst/AkeeraSneakshot.lua new file mode 100755 index 000000000..d86e32d5a --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/AkeeraSneakshot.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/AkeeraSneakshot.lua + Script Purpose : Akeera Sneakshot + Script Author : Scatman + Script Date : 2009.05.10 + edited by : ememjr + edited date :2017.05.05 + edit notes : fixed movement loop speed + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 789.76, 13.34, -245.83, 2, 0) + MovementLoopAddLocation(NPC, 793.01, 13.35, -246.9, 2, 0) + MovementLoopAddLocation(NPC, 807.47, 11.57, -265.88, 2, 0) + MovementLoopAddLocation(NPC, 820.86, 6.98, -267.12, 2, 0) + MovementLoopAddLocation(NPC, 826.9, 6.08, -263.96, 2, 0) + MovementLoopAddLocation(NPC, 834.42, 4.71, -264.45, 2, 0) + MovementLoopAddLocation(NPC, 838.23, 3.76, -254.78, 2, 0) + MovementLoopAddLocation(NPC, 850.58, 2.78, -252.93, 2, 0) + MovementLoopAddLocation(NPC, 857.53, 2.17, -245.56, 2, 0) + MovementLoopAddLocation(NPC, 877.64, 0.45, -248.21, 2, 0) + MovementLoopAddLocation(NPC, 881.41, 0.51, -256.61, 2, 0) + MovementLoopAddLocation(NPC, 890.92, 0.94, -261.56, 2, 0) + MovementLoopAddLocation(NPC, 907.78, 2.28, -305.5, 2, 0) + MovementLoopAddLocation(NPC, 906.17, 2.23, -308.59, 2, 0) + MovementLoopAddLocation(NPC, 893.87, 2.26, -316.77, 2, 0) + MovementLoopAddLocation(NPC, 888.89, 2.19, -315.29, 2, 0) + MovementLoopAddLocation(NPC, 877.25, 1.58, -305.56, 2, 0) + MovementLoopAddLocation(NPC, 863.24, 1.68, -304.98, 2, 0) + MovementLoopAddLocation(NPC, 861.7, 1.78, -308.86, 2, 0) + MovementLoopAddLocation(NPC, 862.09, 2.21, -319.13, 2, 0) + MovementLoopAddLocation(NPC, 853.88, 3.25, -324.73, 2, 0) + MovementLoopAddLocation(NPC, 839.42, 4.59, -315, 2, 0) + MovementLoopAddLocation(NPC, 826.92, 7.18, -295.07, 2, 0) + MovementLoopAddLocation(NPC, 824.09, 6.44, -284.43, 2, 0) + MovementLoopAddLocation(NPC, 817.63, 7.65, -280.93, 2, 0) + MovementLoopAddLocation(NPC, 811.34, 9.83, -271.11, 2, 0) + MovementLoopAddLocation(NPC, 797.36, 12.62, -263.52, 2, 0) + MovementLoopAddLocation(NPC, 783.76, 13.35, -253.78, 2, 0) + MovementLoopAddLocation(NPC, 781.65, 13.72, -238.83, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Oakmyst/AundorSingingsword.lua b/Lua/SpawnScripts/Oakmyst/AundorSingingsword.lua new file mode 100755 index 000000000..613eb6baa --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/AundorSingingsword.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/AundorSingingsword.lua + Script Purpose : Aundor Singingsword + Script Author : scatman + Script Date : 2009.05.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/aundor_singingsword/qey_adv01_oakmyst/aundorsingingsword000.mp3", "", "", 715745780, 1617277503, Spawn) + AddConversationOption(conversation, "I'll keep that in mind, thanks.") + StartConversation(conversation, NPC, Spawn, "The forest's blessing to you. It is a good day to practice sword play, is it not? ") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/BardrianVorsuth.lua b/Lua/SpawnScripts/Oakmyst/BardrianVorsuth.lua new file mode 100755 index 000000000..255a78197 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/BardrianVorsuth.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/BardrianVorsuth.lua + Script Purpose : Bardrian Vorsuth + Script Author : scatman + Script Date : 2009.05.04 + Modified by : Ememjr + Modified Date :2017.04.22 + Modified Noes : correcte the conversation + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_FROM_CHARLIN = 209 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_CHARLIN) and GetQuestStep(Spawn, QUEST_FROM_CHARLIN) == 1 then + WhatDoYaNeed(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bardrian_vorsuth/qey_adv01_oakmyst_revamp/qst_bardrian_notonquest_b22fa460.mp3", "Busy... Go away.", "", 1355174858, 967558565, Spawn) + end +end + +----------------------------------------------------------------------------------------------------------- +-- QUEST_FROM_CHARLIN +----------------------------------------------------------------------------------------------------------- + +function WhatDoYaNeed(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bardrian_vorsuth/qey_adv01_oakmyst/quests/bardrian/bardrian000.mp3", "", "", 339572544, 1009095329, Spawn) + AddConversationOption(conversation, "Lieutenant Charlin sent me in his place.", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "What do ya need? I'm waiting for someone.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bardrian_vorsuth/qey_adv01_oakmyst/quests/bardrian/bardrian001.mp3", "", "", 3275580861, 3455172409, Spawn) + AddConversationOption(conversation, "What is it?", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "I see. Well, then listen up. We've got an issue here. We found this box, no post markings at all, and finally our curiosity forced us to open it. Inside was this... machine.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bardrian_vorsuth/qey_adv01_oakmyst/quests/bardrian/bardrian002.mp3", "", "", 133230117, 3607589031, Spawn) + AddConversationOption(conversation, "Is there anything else of note?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "I have no idea. It looks to be some sort of power or speed variable control system, but that's just a rough guess. It could likely be plugged into any number of other devices, but by itself it isn't especially useful. That fact and the lack of markings on the box are what make it suspicious, and why we contacted Charlin.") +end + +function dlg_5_3(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_CHARLIN, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/bardrian_vorsuth/qey_adv01_oakmyst/quests/bardrian/bardrian003.mp3", "", "", 917314149, 3791336463, Spawn) + AddConversationOption(conversation, "It is more than enough. Thank you for your help.") + StartConversation(conversation, NPC, Spawn, "Nope, but I figured this all was suspicious enough to get the guards interested.") +end diff --git a/Lua/SpawnScripts/Oakmyst/CaileeBluesheaf.lua b/Lua/SpawnScripts/Oakmyst/CaileeBluesheaf.lua new file mode 100755 index 000000000..d9347e25e --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/CaileeBluesheaf.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/CaileeBluesheaf.lua + Script Purpose : Cailee Bluesheaf + Script Author : John Adams + Script Date : 2009.05.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "", "Truth be told, I never miss!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Blessings to you and your kin!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "We train to be the best!", "", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/EmpressAnassa.lua b/Lua/SpawnScripts/Oakmyst/EmpressAnassa.lua new file mode 100755 index 000000000..a4cae19ad --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/EmpressAnassa.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/EmpressAnassa.lua + Script Purpose : Empress Anassa + Script Author : scatman + Script Date : 2009.05.09 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_FROM_NEOLA = 211 +local QUEST_FROM_JUDGE = 212 +local QUEST_1 = 213 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/empress_anassa/qey_adv01_oakmyst/empressanassa000.mp3", "", "", 122104258, 2418821305, Spawn) + + if HasCompletedQuest(Spawn, QUEST_FROM_NEOLA) and HasCompletedQuest(Spawn, QUEST_FROM_JUDGE) and not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "Your judge has sent me.", "dlg_5_1") + elseif HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I've killed Rotweed.", "KilledRotweed") + end + + AddConversationOption(conversation, "I seek nothing. Farewell.") + StartConversation(conversation, NPC, Spawn, "Greetings and welcome to our hollowed grove. What is it you seek?") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/empress_anassa/qey_adv01_oakmyst/empressanassa001.mp3", "", "", 2413694223, 3249886885, Spawn) + AddConversationOption(conversation, "I will challenge this evil. ", "OfferQuest1") + AddConversationOption(conversation, "I cannot help you now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You're the one Eunomia speaks of so highly. You served us well, but the corruption spoiling this forest still looms. We must destroy it!") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function WhatIsRotweed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/empress_anassa/qey_adv01_oakmyst/empressanassa003.mp3", "", "", 1907995091, 655055942, Spawn) + AddConversationOption(conversation, "I will battle this Rotweed and return victorious. ", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "In this age, all woodlands fight a silent battle. The forces of nature have become twisted and tormented. Rotweed is one of these corrupted creations that taints the woodlands of Norrath.") +end + +function KilledRotweed(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Blllah x2") + StartConversation(conversation, NPC, Spawn, "Blah blah blah, if you see this I've forgotten to come back and put in wht she actually says. Let Scatman know") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/FluwkowirHaggleton.lua b/Lua/SpawnScripts/Oakmyst/FluwkowirHaggleton.lua new file mode 100755 index 000000000..543294708 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/FluwkowirHaggleton.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/FluwkowirHaggleton.lua + Script Purpose : Fluwkowir Haggleton + Script Author : Scatman + Script Date : 2009.05.03 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_FROM_JORN = 18 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fluwkowir_haggleton/qey_adv01_oakmyst_revamp/qst_fluwkowir_wrongway_52d5c902.mp3", "Ooops, I think I was going the other way.", "", 2064229810, 2868860860, Spawn) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_JORN) and GetQuestStep(Spawn, QUEST_FROM_JORN) == 1 then + JustLeaveMeAlone(NPC, Spawn, conversation) + else + end +end + +function JustLeaveMeAlone(NPC, Spawn, conversation) + AddConversationOption(conversation, "I need to talk to you.", "WhatAbout") + StartConversation(conversation, NPC, Spawn, "Just leave me alone!") +end + +function WhatAbout(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It's about Jorn Sorefoot, the barbarian you were playing cards with.", "MakeAttackable") + StartConversation(conversation, NPC, Spawn, "Bah! What about? I'm very busy, I don't need to waste my time talking to the likes of you.") +end + +function MakeAttackable(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fluwkowir_haggleton/qey_adv01_oakmyst_revamp/qst_fluwkowir_attack_104162fd.mp3", "Oh no you don't! I won't go down!", "", 260519136, 2014641631, Spawn) + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + AddHate(Spawn, NPC, 100) +end + +function death(NPC, Spawn) + if HasQuest(Spawn, QUEST_FROM_JORN) then + -- Flukowir's Satchel + SummonItem(Player, 6389) + end +end diff --git a/Lua/SpawnScripts/Oakmyst/FulkoirHaggleton.lua b/Lua/SpawnScripts/Oakmyst/FulkoirHaggleton.lua new file mode 100755 index 000000000..f27e9756c --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/FulkoirHaggleton.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/FulkoirHaggleton.lua + Script Purpose : Fulkoir Haggleton + Script Author : John Adams + Script Date : 2009.05.04 + Modified by : Ememjr + Modified Date : 2017.04.22 + Modified Notes : fixed to work with current Content on Official + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/fulkoir_haggleton/qey_adv01_oakmyst_revamp/qst_fulkoir_gone_ff0a041c.mp3", "I'd have to be five times as crazy as I already am to stay here!", "", 2327597972, 1883003048, Spawn) + MoveToLocation(NPC, 927.44, 2.5, -355.01, 4) +end + +function LeaveRange(NPC, Spawn) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + +end + diff --git a/Lua/SpawnScripts/Oakmyst/Gilrix.lua b/Lua/SpawnScripts/Oakmyst/Gilrix.lua new file mode 100755 index 000000000..afe8bf95c --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/Gilrix.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/Gilrix.lua + Script Purpose : Spawn script for GIlrix + Script Author : Scatman + Script Date : 2009.05.03 + Script Notes : +--]] + +local QUEST_FROM_CHARLIN_4 = 207 +local FULKOIR_RUN_SPEED = 10 + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function aggro(NPC, Spawn) + if HasQuest(Spawn, QUEST_FROM_CHARLIN_4) and GetQuestStep(Spawn, QUEST_FROM_CHARLIN_4) == 1 then + Fulkoir = GetSpawn(Spawn, 1950083) + if Fulkoir ~= nil then + PlayFlavor(Fulkoir, "voiceover/english/tutorial_revamp/fulkoir_haggleton/qey_adv01_oakmyst_revamp/qst_fulkoir_gone_ff0a041c.mp3", "I'd have to be five times as crazy as I already am to stay here!", "", 2327597972, 1883003048) + MovementLoopAddLocation(Fulkoir, 990.39, 12.85, -270.46, FULKOIR_RUN_SPEED, 0) + MovementLoopAddLocation(Fulkoir, 967.24, 8.43, -295.91, FULKOIR_RUN_SPEED, 0) + MovementLoopAddLocation(Fulkoir, 945.64, 4.69, -314.65, FULKOIR_RUN_SPEED, 0) + MovementLoopAddLocation(Fulkoir, 942.97, 2.22, -350.52, FULKOIR_RUN_SPEED, 0) + MovementLoopAddLocation(Fulkoir, 996.30, 2.98, -348.56, FULKOIR_RUN_SPEED, 0, DespawnFulkoir) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/HuntmasterKrell.lua b/Lua/SpawnScripts/Oakmyst/HuntmasterKrell.lua new file mode 100755 index 000000000..86fda25cb --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/HuntmasterKrell.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/HuntmasterKrell.lua + Script Purpose : Huntmaster Krell + Script Author : John Adams/Scatman + Script Date : 2009.05.07 + edited by : ememjr + edited date : 2017.05.05 + edit notes : modified movement loop speed + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 944.69, 2.18, -351.2, 2, 0) + MovementLoopAddLocation(NPC, 939.83, 2.18, -336.86, 2, 0) + MovementLoopAddLocation(NPC, 931.86, 2.96, -325.16, 2, 0) + MovementLoopAddLocation(NPC, 914.13, 2.26, -308.4, 2, 0) + MovementLoopAddLocation(NPC, 904.57, 2.23, -311.16, 2, 0) + MovementLoopAddLocation(NPC, 881.25, 1.85, -332.53, 2, 0) + MovementLoopAddLocation(NPC, 873.61, 1.46, -326.64, 2, 0) + MovementLoopAddLocation(NPC, 881.92, 1.83, -332.41, 2, 0) + MovementLoopAddLocation(NPC, 899.66, 2.19, -315.85, 2, 0) + MovementLoopAddLocation(NPC, 911.6, 2.28, -308.45, 2, 0) + MovementLoopAddLocation(NPC, 921.05, 2.38, -314.45, 2, 0) + MovementLoopAddLocation(NPC, 937.03, 2.35, -332.14, 2, 0) + MovementLoopAddLocation(NPC, 942.96, 2.21, -351.11, 2, 0) + MovementLoopAddLocation(NPC, 956.65, 2.25, -352, 2, 0) + MovementLoopAddLocation(NPC, 994.68, 2.61, -348.31, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/Jemila.lua b/Lua/SpawnScripts/Oakmyst/Jemila.lua new file mode 100755 index 000000000..79d3121e4 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/Jemila.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/Jemila.lua + Script Purpose : Jemila + Script Author : John Adams + Script Date : 2009.05.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + chance = math.random(1, 100) + if chance <= 25 then + SaySomethingRandom(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function SaySomethingRandom(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 2091371377, 2422178491, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 591569637, 3640467043, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3487732561, 2995138728, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2213475197, 3871690614, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/JornSorefoot.lua b/Lua/SpawnScripts/Oakmyst/JornSorefoot.lua new file mode 100755 index 000000000..06c226925 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/JornSorefoot.lua @@ -0,0 +1,164 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/JornSorefoot.lua + Script Purpose : Jorn Sorefoot + Script Author : John Adams/Scatman + Script Date : 2009.05.03 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local BARBARIAN = 0 +local QUEST_FROM_BURK = 66 +local QUEST_1 = 18 +local QUEST_OAKMYST_LAST = 208 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_BURK) then + ThatLittle(NPC, Spawn, conversation) + else + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_OAKMYST_LAST) then + Say(NPC, "I hear you've built up quite a reputation. You have my sincere thanks.", Spawn) + else + Say(NPC, "Thanks again for your help. You have no idea how much I appreciate it.", Spawn) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetRace(Spawn) == BARBARIAN then + MightyTired(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst_revamp/qst_jorn_notonquest_df0ceb3e.mp3", "Gnomes... Bah!Who needs 'em?", "", 1750870039, 1562498784, Spawn) + end + end + end +end + +----------------------------------------------------------------------------------------------------------------- +-- QUEST FROM GRAYSTONE +----------------------------------------------------------------------------------------------------------------- + +function ThatLittle(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn_burk000.mp3", "", "", 1348812672, 1734083903, Spawn) + AddConversationOption(conversation, "Burk Stoneshatter send me to see you.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "That little, blasted, jerk-faced liar!") +end + +function dlg_0_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_BURK, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn_burk001.mp3", "", "", 2501778388, 330892647, Spawn) + + if not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "He said you might be able to use my help.", "YeahICanUseYourHelp") + else + AddConversationOption(conversation, "I'm not sure. I've already completed your one quest so you're not use to me.") + end + + StartConversation(conversation, NPC, Spawn, "No, Burk isn't a liar. That gnome, though, he's got me steamed. Erm, sorry, why did Burk send you?") +end + +------------------------------------------------------------------------------------------------------------------ +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------ + +function MightyTired(NPC, Spawn, conversation) + AddConversationOption(conversation, "Why are you tired?", "BeenWorkingHard") + StartConversation(conversation, NPC, Spawn, "I'm mighty tired right now, mighty tired indeed.") +end + +function BeenWorkingHard(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Maybe I can help.", "YeahICanUseYourHelp") + StartConversation(conversation, NPC, Spawn, "I've been working hard. Too hard for my own good, I'm a bit stubborn, ya know?") +end + +function YeahICanUseYourHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn002.mp3", "", "", 1939299225, 497932785, Spawn) + AddConversationOption(conversation, "That is pretty drunk.", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Yeah, yeah I can use your help. There's a gnome somewhere out there in the forest. His name is Fluwkowir Haggleton, at least that's what he told me his name was. We were playing cards--high stakes, ya know--and I caught him cheating. I was gonna smash his little face in right then and there, but I was too drunk to fight.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn003.mp3", "", "", 2714635802, 3698549932, Spawn) + AddConversationOption(conversation, "So what do you need me to do?", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "I know! So I find him the next day, and he musta seen the look in my eyes, because he just stopped in mid-conversation and took off running. I chased him here, but he got away from me. I've got guards on the lookout for him, but running all around the forest has me sweatin' heavy.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn004.mp3", "", "", 653807965, 2666347981, Spawn) + AddConversationOption(conversation, "Sure, I can look for him.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "I've got guards--friends of mine--watching the gates and the docks. They say they can't detain him without me bringing up something formal, but I don't want that. Instead, they'll just tell me if he passes through. It'll take forever to wait him out, so I've been looking for him in the forest, but I'm tired and need my rest. If you could look for him it'd be very helpful.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn005.mp3", "", "", 908304310, 3978784738, Spawn) + AddConversationOption(conversation, "I'll try to find him.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Great! I just need to get back the money he stole from me. Sure, my fists are itching for some revenge, but right now the money is the important thing. I last saw him heading to the docks, to the west. He won't be able to get out directly, but he may be looking for a way to sneak out.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn006.mp3", "", "", 1189036367, 1052258998, Spawn) + AddConversationOption(conversation, "No, not yet.") + StartConversation(conversation, NPC, Spawn, "Have you found my money yet?") + elseif GetQuestStep(Spawn, QUEST_1) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn006.mp3", "", "", 1189036367, 1052258998, Spawn) + AddConversationOption(conversation, "The gnome attacked me, I had to kill him. Here is your money.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Have you found my money yet?") + else + Say(NPC, "You Should take that book to Lieutenant Charlin before someone thinks it belongs to you.", Spawn) + end +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn007.mp3", "", "", 1565958300, 3393057370, Spawn) + AddConversationOption(conversation, "You're welcome.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Justice is a harsh mistress. Don't fret, he got what he deserved. Thank you, " .. GetName(Spawn) .. ".") +end + +function dlg_2_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jorn_sorefoot/qey_adv01_oakmyst/quests/jorn/jorn008.mp3", "", "", 964400543, 602275594, Spawn) + AddConversationOption(conversation, "All right, I'll speak with him.") + StartConversation(conversation, NPC, Spawn, "I- hm, this contains more than just money. This book is written in Lucanic. You know, you'd better take this to Lieutenant Charlin. He'll know what to do about this book, it looks like our gnome friend may have been a Freeportian. I don't want anything to do with any of this, I'm just glad I got my money. Thanks.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/JudgeEunomia.lua b/Lua/SpawnScripts/Oakmyst/JudgeEunomia.lua new file mode 100755 index 000000000..4f514f37a --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/JudgeEunomia.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/JudgeEunomia.lua + Script Purpose : Judge Eunomia + Script Author : scatman + Script Date : 2009.05.09 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_FROM_NEOLA = 211 +local QUEST_1 = 212 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/judge_eunomia/qey_adv01_oakmyst/judgeeunomia000.mp3", "", "", 3368710342, 876052157, Spawn) + + if HasCompletedQuest(Spawn, QUEST_FROM_NEOLA) and not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "I have served Scholar Neola.", "dlg_1_1") + elseif HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I have killed the imposters.", "dlg_3_1") + end + + AddConversationOption(conversation, "Bah! What does a plant know of justice? Farewell. ") + StartConversation(conversation, NPC, Spawn, "Justice is our only recourse when the forests are torn asunder.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/judge_eunomia/qey_adv01_oakmyst/judgeeunomia001.mp3", "", "", 419193252, 168213700, Spawn) + AddConversationOption(conversation, "I can hunt down these imposters.", "OfferQuest1") + AddConversationOption(conversation, "I am no executioner. Farewell. ") + StartConversation(conversation, NPC, Spawn, "You are the one who aided our sapling. You can help me execute my judgement. Twisted, disloyal imposters live in the woodland. They hide amongst the noble, but they don't fool me or my sisters.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function dlg_3_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/judge_eunomia/qey_adv01_oakmyst/judgeeunomia003.mp3", "", "", 1922975222, 1148613241, Spawn) + AddConversationOption(conversation, "It was a pleasure to defend the Oakmyst.") + StartConversation(conversation, NPC, Spawn, "You proved your devotion to the dryads of this forest. The Empress has taken note of your good deeds. She awaits you.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/LieutenantCharlin.lua b/Lua/SpawnScripts/Oakmyst/LieutenantCharlin.lua new file mode 100755 index 000000000..42aedbe87 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/LieutenantCharlin.lua @@ -0,0 +1,565 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/LieutenantCharlin.lua + Script Purpose : Lieutenant Charlin + Script Author : Scatman + Script Date : 2009.10.02 + Modified by : Ememjr + Modified Date :2017.04.22 + Modified Noes : modified for current content on official + Script Notes : +--]] + +local MIN_LEVEL = 5 +local QUEST_FROM_JORN = 18 +local QUEST_FROM_ADALIN = 294 +local QUEST_FROM_MARV = 25 +local QUEST_1 = 207 +local QUEST_2 = 208 +local QUEST_3 = 209 +local QUEST_4 = 210 +local QUEST_5 = 211 +local QUEST_6 = 212 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) + ProvidesQuest(NPC, QUEST_6) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_JORN) and GetQuestStep(Spawn, QUEST_FROM_JORN) == 3 then + AddConversationOption(conversation, "I have news for you.", "FoundBookOnGnome") + end + + if HasQuest(Spawn, QUEST_FROM_ADALIN) and GetQuestStep(Spawn, QUEST_FROM_ADALIN) == 5 then + AddConversationOption(conversation, "I have news for you.", "GnollAttackedWhileCleansing") + end + + if HasQuest(Spawn, QUEST_FROM_MARV) and GetQuestStep(Spawn, QUEST_FROM_MARV) == 3 then + AddConversationOption(conversation, "I have news for you.", "FoundBlackburrowStout") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + if HasCompletedQuest(Spawn, QUEST_6) then + Say(NPC, "This land and our people owe you. Thank you.", Spawn) + StartConversation(conversation, NPC, Spawn, "This land and our people owe you. Thank you.") + elseif HasQuest(Spawn, QUEST_6) then + Say(NPC, "This land and our people owe you. Thank you.", Spawn) + StartConversation(conversation, NPC, Spawn, "This land and our people owe you. Thank you.") + else + OnQuest5(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + OnQuest4(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + OnQuest3(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + OnQuest2(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + OnQuest1(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + BeCareful(NPC, Spawn, conversation) + end +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST FROM JORN +-------------------------------------------------------------------------------------------------------------------------------- + +function FoundBookOnGnome(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin_jorn000.mp3", "", "", 3699115243, 1071346940, Spawn) + AddConversationOption(conversation, "I found this book on a gnome. It's written in Lucanic.", "InterestingWheredYouGetThis") + StartConversation(conversation, NPC, Spawn, "Oh? What news.") +end + +function InterestingWheredYouGetThis(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "From a gnome here in Oakmyst Forest.", "ThisIsVeryConcerning") + StartConversation(conversation, NPC, Spawn, "Interesting. Where'd you get this?") +end + +function ThisIsVeryConcerning(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_JORN, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if (GetLevel(Spawn) < MIN_LEVEL) or (HasQuest(Spawn, QUEST_1) or HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "Thank you.") + else + AddConversationOption(conversation, "Is there anything else I can do?", "dlg_1_4") + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin_jorn002.mp3", "", "", 1267137268, 405925681, Spawn) + StartConversation(conversation, NPC, Spawn, "This is very concerning. I'm going to send this book in to be studied, this is a good find. Maybe it will lead to something bigger. Knowing my luck it will just be a joke book. Good work on this.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST_FROM_ADALIN +-------------------------------------------------------------------------------------------------------------------------------- + +function GnollAttackedWhileCleansing(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I was cleansing some trees in the forest when a gnoll attacked.", "SecondPersonToClaim") + StartConversation(conversation, NPC, Spawn, "What news is that?") +end + +function SecondPersonToClaim(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I have his paw.", "HavePaw") + StartConversation(conversation, NPC, Spawn, "You're the second person to claim as much. Listen, I'm sure you saw something, but a gnoll is Oakmyst Forest?") +end + +function HavePaw(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if (GetLevel(Spawn) < MIN_LEVEL) or (HasQuest(Spawn, QUEST_1) or HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "Thank you.") + else + AddConversationOption(conversation, "Can I help in anyway?", "dlg_1_4") + end + StartConversation(conversation, NPC, Spawn, "Well, that you do. I'll send word of this to my superiors, we'll see where they want to go from there. Until then I will continue as normal, though things are not normal by any stretch of the word.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST FROM MARV +-------------------------------------------------------------------------------------------------------------------------------- + +function FoundBlackburrowStout(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I was helping someone pull their lost shipment from the water and we found some Blackburrow Stout.", "FoundBlackBurrowStout2") + StartConversation(conversation, NPC, Spawn, "What news have you brought me?") +end + +function FoundBlackBurrowStout2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_MARV, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if (GetLevel(Spawn) < MIN_LEVEL) or (HasQuest(Spawn, QUEST_1) or HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "Sure sounds it.") + else + AddConversationOption(conversation, "Is there anything I can do to help?", "dlg_1_4") + end + StartConversation(conversation, NPC, Spawn, "Hmm, that plus everything else I've been hearing lately is enough to cause concern. Someone reported seeing a gnoll a few days ago, I didn't believe him. Maybe he was telling the truth. Things are getting strange around here.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +-------------------------------------------------------------------------------------------------------------------------------- + +function BeCareful(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin000.mp3", "", "", 1924665099, 2767332789, Spawn) + + if GetLevel(Spawn) >= MIN_LEVEL then + AddConversationOption(conversation, "What do I need to look out for?", "dlg_1_1") + else + AddConversationOption(conversation, "I will be.") + end + + StartConversation(conversation, NPC, Spawn, "Be careful out there, citizen.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin001.mp3", "", "", 135128317, 2223244870, Spawn) + AddConversationOption(conversation, "So everything here is fine?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Oh, I don't know, what was it last time I checked? Poachers maybe, or corruption spreading through the forest, I even heard some guy mention a gnoll. Things are bad, don't let me convince you otherwise, but don't believe the people who say the Oakmyst Forest is in serious danger.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin001a.mp3", "", "", 3642173862, 3828556771, Spawn) + AddConversationOption(conversation, "Then there is a danger?", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "Well... I do get nervous when the Tunarian Alliance steps in. It's probably nothing, but they requested a stronger Qeynos Guard presence here. I think they know more than I do. Still, the danger Oakmyst Forest is in is pretty minor.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin002.mp3", "", "", 103240221, 3198070219, Spawn) + AddConversationOption(conversation, "Sure, I can help.", "dlg_1_4") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Minor danger. Sure, we can use help, but it's not an emergency like some might have you believe. Would you care to volunteer?") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin003.mp3", "", "", 2962974855, 690833663, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "Good, glad to hear it. Even without all this 'supposed' stuff going on I've got my share of duties. An adventurer was slain recently in these parts. Our initial report back seems to suggest poison. The problem is we have no idea what kind of poison. We know that certain animals in the forest use poison. We suspect that the poachers also use it.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin004.mp3", "", "", 2819639943, 1318836680, Spawn) + AddConversationOption(conversation, "I can do it.", "dlg_1_6") + StartConversation(conversation, NPC, Spawn, "Well, the poachers are spry enough to avoid detection, so we can't get a sample of their poison from them. We can, however, collect poison samples from some of the wildlife here and use that as a starting point. At most, we can find out what caused the death, and at the least we eliminate some possibilities. What do you say?") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin005.mp3", "", "", 276846636, 4209539187, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Good. Collect some poison samples from frogs, mystail rats, and the spiders. They can all be found in Oakmyst.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin006.mp3", "", "", 1152487104, 26326303, Spawn) + + if (HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 4) or (HasCompletedQuest(Spawn, QUEST_1) and not HasQuest(Spawn, QUEST_2)) then + AddConversationOption(conversation, "Yes, I have.", "dlg_3_1") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you collected the poison samples yet?") +end + +function dlg_3_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin007.mp3", "", "", 4118896483, 283789370, Spawn) + AddConversationOption(conversation, "Sure, what do you need?", "dlg_3_2") + AddConversationOption(conversation, "Sorry, not now.") + StartConversation(conversation, NPC, Spawn, "Excellent. I'll send these back to Qeynos as soon as I can. In the mean time we can still use your help, are you willing?") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +-------------------------------------------------------------------------------------------------------------------------------- + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin008.mp3", "", "", 1585958118, 144641390, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Another one of those weird reports. Dirt piles have been turning up all around the Oakmyst Forest and we have no idea why. I'd like you to go get some mineral samples from the piles and maybe we'll be able to figure out who put them there and why.") +end + +function OfferQuest2(NPC, Spawn) + Say(NPC, "This is me talking try for quest2") + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin009.mp3", "", "", 197933186, 2286710260, Spawn) + + if (HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 2) or (HasCompletedQuest(Spawn, QUEST_2) and not HasQuest(Spawn, QUEST_3)) then + AddConversationOption(conversation, "Yes, here you go.", "dlg_0_1") + else + AddConversationOption(conversation, "No, not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you collected the soil yet?") +end + +function dlg_0_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_2) then + SetStepComplete(Spawn, QUEST_2, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin010.mp3", "", "", 2649903060, 3166046323, Spawn) + AddConversationOption(conversation, "Sure, I can do that.", "dlg_0_2") + AddConversationOption(conversation, "Not now, thanks.") + StartConversation(conversation, NPC, Spawn, "Thanks. Maybe this will turn something up, maybe not. I'll send it off to be studied and we'll get some answers. I've received an unofficial request for my presence at the docks west of here. I'm sure it's nothing too important, how' d you like to go in my place?") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +-------------------------------------------------------------------------------------------------------------------------------- + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin011.mp3", "", "", 2323725305, 107103300, Spawn) + AddConversationOption(conversation, "Ok.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "Great. Go speak with Bardrian Vorsuth, a dock worker. If experience teaches anything my money says Bardrian's going to report 'something strange' that 'confuses' him and he doesn't know what to do.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn) + if HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin012.mp3", "", "", 1377900887, 278814663, Spawn) + AddConversationOption(conversation, "I'll be back after I've talked with him.") + StartConversation(conversation, NPC, Spawn, "Bardrian?") + elseif HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin012.mp3", "", "", 1377900887, 278814663, Spawn) + AddConversationOption(conversation, "He found some strange machine in an unmarked crate on the docks.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Bardrian?") + elseif HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin017.mp3", "", "", 3187740271, 4021664312, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you find the machine?") + elseif (HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 4) or (HasCompletedQuest(Spawn, QUEST_3) and not HasCompletedQuest(Spawn, QUEST_4)) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin017.mp3", "", "", 3187740271, 4021664312, Spawn) + AddConversationOption(conversation, "Yes, it is in the water near the Western Falls.", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Did you find the machine?") + end +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin013.mp3", "", "", 1871272901, 810339026, Spawn) + AddConversationOption(conversation, "Bardrian says it was just on the docks one day, no post markings at all. He has no idea what the machine is meant to do, but based on its configuration he thinks it is some sort of variable speed and power controller.", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Strange machine? What else can you tell me? This may relate to information we discovered from a book we found on a Freeportian gnome a short while ago.") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin014.mp3", "", "", 4247692633, 3050935613, Spawn) + AddConversationOption(conversation, "There were no other machines.", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "And the other machines?") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin015.mp3", "", "", 4101124695, 4199131905, Spawn) + AddConversationOption(conversation, "Can you be certain?", "dlg_7_4") + StartConversation(conversation, NPC, Spawn, "Hmmm, according to data we intercepted there should have been. You know, things may be starting to come together. There are at least two other machines, I believe we've already seen signs of one: the dirt piles. It was meant as a dirt displacement device, and according to information we intercepted it was being tested here.") +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin016a.mp3", "", "", 3187383592, 2219030963, Spawn) + AddConversationOption(conversation, "What about the other machine?", "dlg_7_5") + StartConversation(conversation, NPC, Spawn, "No... But the soil you recovered did have elements consistent with processing: the grains were uniform in size, the soil had small traces of elements that are not natural to Oakmyst Forest. To make matters worse none of the soil recovered was top soil, whoever is digging has been digging deep.") +end + +function dlg_7_5(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin016.mp3", "", "", 3315274206, 1719893519, Spawn) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, NPC, Spawn, "The other machine's purpose was unknown, but we know it involved water in some capacity. Maybe that machine is another test or maybe its purpose is more sinister, either way we need to find it. It will be in or near water, you need to figure out where it is. If it can be easily removed do so, but otherwise do not worry about that--just find out where it is located and report back to me. The most likely spot is near the Western Falls.") +end + +function dlg_10_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_3) then + SetStepComplete(Spawn, QUEST_3, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin018.mp3", "", "", 1856078636, 1149850938, Spawn) + AddConversationOption(conversation, "What is it?", "dlg_10_2") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Good work, we'll get our people on that right away. I've had my people searching for the other machine but they're coming up without results. Something in my gut tells me it doesn't matter, that it's no longer here. But that doesn't matter, at least not yet. What does matter is our men displacing the machine you found. While they do that I have another task for you.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +-------------------------------------------------------------------------------------------------------------------------------- + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin019.mp3", "", "", 1411954385, 415072002, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "We've intercepted clues about a possible meeting regarding the machine we found on the docks, apparently it was supposed to be removed from the docks quite some time ago but never was. We don't know who will be involved in this meeting but we'd like you to break it up. Once we figure out who is behind this it will give us a big clue as to what's been going on around here.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin020.mp3", "", "", 2483977262, 3448158171, Spawn) + + if (HasQuest(Spawn, QUEST_4) and GetQuestStep(Spawn, QUEST_4) == 2) or (HasCompletedQuest(Spawn, QUEST_4)) then + AddConversationOption(conversation, "Yes, I did.", "dlg_13_5") + else + AddConversationOption(conversation, "No, not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Did you interrupt the meeting?") +end + +function dlg_13_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin021.mp3", "", "", 2374633916, 1265137198, Spawn) + AddConversationOption(conversation, "It was a meeting between a gnome and some gnolls. The gnome fled, I slew the gnolls. I believe the leader was named Gilrix. He had this book.", "dlg_13_6") + StartConversation(conversation, NPC, Spawn, "What did you discover?") +end + +function dlg_13_6(NPC, Spawn) + if HasQuest(Spawn, QUEST_4) then + SetStepComplete(Spawn, QUEST_4, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin022.mp3", "", "", 3210550300, 3185527572, Spawn) + AddConversationOption(conversation, "How so?", "dlg_13_7") + StartConversation(conversation, NPC, Spawn, "Gnolls? Then all the reports were right. And that Gilrix. He was mentioned in one of the materials we obtained concerning this whole mess. But we may be a step ahead of them for once.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 5 +-------------------------------------------------------------------------------------------------------------------------------- + + +function dlg_13_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin023.mp3", "", "", 1812542762, 4174950812, Spawn) + AddConversationOption(conversation, "What must I do?", "dlg_13_8") + AddConversationOption(conversation, "I may be able to help later.") + StartConversation(conversation, NPC, Spawn, "The book we obtained had lots of notes and plans. The book you've provided to us has all their contingency plans. If you've disrupted the meeting then the gnolls won't know precisely what happened and will fall to one of their backup plans. This gives us an excellent opportunity to strike.") +end + +function dlg_13_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin024.mp3", "", "", 823446036, 800185291, Spawn) + AddConversationOption(conversation, "What about the others?", "dlg_13_9") + StartConversation(conversation, NPC, Spawn, "Well, with this book we've got the locations where the gnoll lieutenants will be in hiding while they await orders from Gilrix. While they wait, they are vulnerable. One will be near here--take the path west and turn north before you go under the bridge, that should put you very near him, he's hiding in an alcove.") +end + +function dlg_13_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin024a.mp3", "", "", 1440777464, 2474739731, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Another will be on the rocky hill south east of Clearwater Pond. The last will be in a small alcove just north west of the Western Falls.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +function OnQuest5(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin025.mp3", "", "", 4104237922, 4156355427, Spawn) + + if (HasQuest(Spawn, QUEST_5) and GetQuestStep(Spawn, QUEST_5) == 4) or (HasCompletedQuest(Spawn, QUEST_5)) then + AddConversationOption(conversation, "Yes, they are all dead.", "dlg_18_1") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you taken out the lieutenants?") +end + +function dlg_18_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_5) then + SetStepComplete(Spawn, QUEST_5, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin026.mp3", "", "", 1438660086, 1610935766, Spawn) + AddConversationOption(conversation, "Is there anything else?", "dlg_18_2") + StartConversation(conversation, NPC, Spawn, "This is great news! With their lieutenants dead the gnoll presence here will be in shambles. Those that don't flee will easily be captured. You have done a great, great thing.") +end + +-------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 6 +-------------------------------------------------------------------------------------------------------------------------------- + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_charlin/qey_adv01_oakmyst/quests/charlin/charlin027.mp3", "", "", 4018442535, 45795752, Spawn) + AddConversationOption(conversation, "I can face them.", "OfferQuest6") + StartConversation(conversation, NPC, Spawn, "Yes, in fact. I have good news for you. Elements of the Qeynos Guard--among other factions--have asked for you by name. You've made quite a name for yourself in your work here, and I put in a good word for you. You are asked to report to the Caves, apparently the gnoll movement here was only one of many. The Rockpaw Gnolls may soon pose a threat bigger than we thought possible.") +end + +function OfferQuest6(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_6) +end diff --git a/Lua/SpawnScripts/Oakmyst/LulienLeafven.lua b/Lua/SpawnScripts/Oakmyst/LulienLeafven.lua new file mode 100755 index 000000000..efba067ce --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/LulienLeafven.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/LulienLeafven.lua + Script Purpose : Lulien Leafven + Script Author : John Adams + Script Date : 2009.05.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "", "Practice makes perfect!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Another day, another bullseye!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I've been here so long, that I don't even have to look at the target to hit it!", "", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/Madeline.lua b/Lua/SpawnScripts/Oakmyst/Madeline.lua new file mode 100755 index 000000000..d958bb488 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/Madeline.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/Madeline.lua + Script Purpose : Madeline + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/MarvBoilfist.lua b/Lua/SpawnScripts/Oakmyst/MarvBoilfist.lua new file mode 100755 index 000000000..bfa00c4dd --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/MarvBoilfist.lua @@ -0,0 +1,151 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/MarvBoilfist.lua + Script Purpose : Marv Boilfist + Script Author : Scatman + Script Date : 2009.10.07 + Script Notes : +--]] + +local DWARF = 2 +local DWARF_MENTOR_QUEST_FROM_MAV = 298 +local QUEST_1 = 25 +local QUEST_LAST_IN_OAKMYST = 208 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, DWARF_MENTOR_QUEST_FROM_MAV) then + SetStepComplete(Spawn, DWARF_MENTOR_QUEST_FROM_MAV, 1) + AddConversationOption(conversation, "Mav sent me to check up on you.", "Mav") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_LAST_IN_OAKMYST) then + Say(NPC, "I heard ya created quite a stir, good job to you.", Spawn) + else + Say(NPC, "Thanks again for your help.", Spawn) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetRace(Spawn) == DWARF then + IfItIsntOneThing(NPC, Spawn, conversation) + else + NotDwarf(NPC, Spawn) + end + end +end + +function respawn(NPC) + spawn(NPC) +end + +function NotDwarf(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marv_boilfist/qey_adv01_oakmyst_revamp/qst_marv_notonquest_1cfb7ccc.mp3", "Come back when you're a dwarf, maybe we'll chat some! Har har har!", "", 2659151540, 1499434670, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marv_boilfist/qey_adv01_oakmyst_revamp/qst_marv_notonquest_12fcbc1c.mp3", "Everyone else seems to think this place is so exciting, not me though.", "", 2722242117, 3678566567, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/marv_boilfist/qey_adv01_oakmyst_revamp/qst_marv_notonquest_8a49edfc.mp3", "If you're headin' to Graystone Yard, tell Mav I'm not drinking... yet!", "", 796198495, 1984404688, Spawn) + end +end + +---------------------------------------------------------------------------------------------- +-- DWARF_MENTOR_QUEST_FROM_MAV +---------------------------------------------------------------------------------------------- + +function Mav(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, QUEST_1) and not HasCompletedQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "Sure I can help.", "ICanHelp") + AddConversationOption(conversation, "Sorry, not right now.") + StartConversation(conversation, NPC, Spawn, "Hah, that means she thinks I'm either in trouble or drunk. Lucky for me, it's not the latter. I'm glad you showed up, how would you like to help me?") + else + AddConversationOption(conversation, "Sure.") + StartConversation(conversation, NPC, Spawn, "Hah, that means she thinks I'm either in trouble or drunk. Lucky for me, it's not the latter. Would ya let her know for me?") + end +end + +---------------------------------------------------------------------------------------------- +-- QUEST 1 +---------------------------------------------------------------------------------------------- + +function IfItIsntOneThing(NPC, Spawn, conversation) + AddConversationOption(conversation, "What's wrong with today?", "WrongToday") + StartConversation(conversation, NPC, Spawn, "If it isn't one thing, it's another. Have you ever had one of those bad days?") +end + +function WrongToday(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure I can help.", "ICanHelp") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Enough things have gone wrong that I'm considerin' cuttin' my losses and goin' home. If you're every in a position to cut your losses--and it sounds appealing--then you know you're havin' a bad day. I'm at my wit's end! Any chance I could get some help from ya?") +end + + +function ICanHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do to help?", "WhatCanIDo") + StartConversation(conversation, NPC, Spawn, "That's the first good news I've had all day. I've been waitin' here for word from the courier who dropped off these barrels. He first brought me the wonderful news that my shipment had been dumped in the water here in Oakmyst. So he brought me a partial shipment, a lotta good that does me. He takes off without a second thought, I told him to get someone to come help me but I don't think he remembered. So I'm sittin' here, can't move this shipment without the rest of it, unless I wanna waste a lot of moving fees. And I can't leave this shipment here unless I wanna risk it gettin' stolen.") +end + +function WhatCanIDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "You can get the rest of the shipment for me. It's in the drink right now. If you head west you'll get to the docks. Once you're there hop on in and start pulling up the shipment. Once you've collected it you can bring it back to me.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) <= 2 then + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Yes I did, here you go.", "YesIDid") + else + AddConversationOption(conversation, "Not yet.") + end + StartConversation(conversation, NPC, Spawn, "Did ya get my shipment?") + else + Say(NPC, "You should take the Blackburrow Stout to Lieutenant Charlin sooner rather than later.", Spawn) + end +end + +function YesIDid(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I should take it back.", "ShouldTakeItBack") + StartConversation(conversation, NPC, Spawn, "Ah, great! Thank you so much- er, wait a minute. This is my shipment but looks like you snagged part of someone else's shipment too.") +end + +function ShouldTakeItBack(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + -- blackburrow stout + if not HasItem(Spawn, 3774) then + SummonItem(Spawn, 3774, 1) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks and you're welcome.") + StartConversation(conversation, NPC, Spawn, "Not so fast. This is Blackburrow Stout, which is more than a little odd. You don't need to take this back to the docks, you should take it to the Qeynos Guard. Speak with Lieutenant Charlin, he'll let you know what to do next. Good find, " .. GetName(Spawn) .. "! And thanks for gettin' my shipment.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/MontehFurthread.lua b/Lua/SpawnScripts/Oakmyst/MontehFurthread.lua new file mode 100755 index 000000000..62769b2b1 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/MontehFurthread.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/MontehFurthread.lua + Script Purpose : Monteh Furthread + Script Author : Scatman + Script Date : 2009.05.10 + edited by : ememjr + edited date : 2017.05.05 + edit notes : modified speed in movement loop + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 790.01, 13.34, -259.56, 2, 0) + MovementLoopAddLocation(NPC, 797.43, 12.42, -265.56, 2, 0) + MovementLoopAddLocation(NPC, 809.23, 10.54, -268.5, 2, 0) + MovementLoopAddLocation(NPC, 811.17, 9.85, -270.65, 2, 0) + MovementLoopAddLocation(NPC, 821.29, 7.15, -265.65, 2, 0) + MovementLoopAddLocation(NPC, 827.03, 5.37, -269.39, 2, 0) + MovementLoopAddLocation(NPC, 860.03, 1.96, -243.67, 2, 0) + MovementLoopAddLocation(NPC, 883.67, 0.48, -252.77, 2, 0) + MovementLoopAddLocation(NPC, 893.02, 0.84, -259.57, 2, 0) + MovementLoopAddLocation(NPC, 905.65, 2.24, -287.73, 2, 0) + MovementLoopAddLocation(NPC, 920.8, 2.26, -289.93, 2, 0) + MovementLoopAddLocation(NPC, 942.84, 2.55, -282.7, 2, 0) + MovementLoopAddLocation(NPC, 952.02, 5.16, -289.77, 2, 0) + MovementLoopAddLocation(NPC, 939.77, 2.28, -283.23, 2, 0) + MovementLoopAddLocation(NPC, 906.14, 2.11, -291.5, 2, 0) + MovementLoopAddLocation(NPC, 898.59, 1.74, -266.52, 2, 0) + MovementLoopAddLocation(NPC, 873.05, 0.82, -246.33, 2, 0) + MovementLoopAddLocation(NPC, 850.96, 2.77, -244.8, 2, 0) + MovementLoopAddLocation(NPC, 843.88, 3.01, -257.16, 2, 0) + MovementLoopAddLocation(NPC, 826.35, 6.14, -265.41, 2, 0) + MovementLoopAddLocation(NPC, 803.65, 12.07, -265.13, 2, 0) + MovementLoopAddLocation(NPC, 767.43, 13.35, -247.6, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Oakmyst/ObserverGaladn.lua b/Lua/SpawnScripts/Oakmyst/ObserverGaladn.lua new file mode 100755 index 000000000..cadfeeff3 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/ObserverGaladn.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/ObserverGaladn.lua + Script Purpose : Observer Galadn + Script Author : scatman + Script Date : 2009.05.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1016.mp3", "", "hello", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1016.mp3", "", "hello", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1016.mp3", "", "hello", 0, 0, Spawn) + end + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "And you, adventurer.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/RinduilFlintflight.lua b/Lua/SpawnScripts/Oakmyst/RinduilFlintflight.lua new file mode 100755 index 000000000..469a46c24 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/RinduilFlintflight.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/RinduilFlintflight.lua + Script Purpose : Rinduil Flintflight + Script Author : John Adams + Script Date : 2009.05.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "", "It takes years of practice to do what I do.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Can you not see that I'm concentrating?", "", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/RotweedThistle.lua b/Lua/SpawnScripts/Oakmyst/RotweedThistle.lua new file mode 100755 index 000000000..b590cdc28 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/RotweedThistle.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/RotweedThistle.lua + Script Purpose : Rotweed Thistle + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function death(NPC, Spawn) + local rotweed = GetSpawn(GetZone(Spawn), 1950204) + if rotweed == nil then + SpawnMob(Zone, 1950204, 0, 932.211, 11.7721, -167.759, 280.656) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/ScholarNeola.lua b/Lua/SpawnScripts/Oakmyst/ScholarNeola.lua new file mode 100755 index 000000000..c77cb2c38 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/ScholarNeola.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/ScholarNeola.lua + Script Purpose : Scholar Neola + Script Author : scatman + Script Date : 2009.05.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_1 = 211 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/scholar_neola/qey_adv01_oakmyst/scholarneola000.mp3", "", "", 684527020, 3141115058, Spawn) + if not HasCompletedQuest(Spawn, QUEST_1) and not HasQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "What is wrong with the sapling?", "dlg_3_1") + elseif HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 3 then + AddConversationOption(conversation, "I saved the sapling.", "SavedSapling") + end + AddConversationOption(conversation, "I will trod where I please. Goodbye! ") + StartConversation(conversation, NPC, Spawn, "Why do you tread upon the fertile ground? Doing so taints the lustrous blades that our young sapling needs to grow.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/scholar_neola/qey_adv01_oakmyst/scholarneola001.mp3", "", "", 4101705727, 2237841081, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help the sapling? ", "OfferQuest1") + AddConversationOption(conversation, "Your sapling is not my problem. Farewell.") + StartConversation(conversation, NPC, Spawn, "The young sapling is still weak. It feeds upon the mana of this thicket but needs greater nutrients to prosper in this woodland.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function SavedSapling(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will speak to the judge.") + StartConversation(conversation, NPC, Spawn, "The sapling has a young battle ahead to become a timber lord. Your help brings it closer to this goal. Now you must seek out the Judge. She awaits those who aid this forest.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/Solas.lua b/Lua/SpawnScripts/Oakmyst/Solas.lua new file mode 100755 index 000000000..d5126e443 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/Solas.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/Solas.lua + Script Purpose : Solas + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/StewardTredo.lua b/Lua/SpawnScripts/Oakmyst/StewardTredo.lua new file mode 100755 index 000000000..d04b87839 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/StewardTredo.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/StewardTredo.lua + Script Purpose : Steward Tredo + Script Author : scatman + Script Date : 2009.05.08 + Edited by : ememjr + edit date : 2017.05.05 + edit note : updated quest numbers + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_1 = 232 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + NotAPoacher(NPC, Spawn, conversation) +end + +--------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------------------------- + +function NotAPoacher(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/optional1/steward_tredo/qey_adv01_oakmyst/stewardtredo000.mp3", "", "", 2443855119, 308651193, Spawn) + + if not HasCompletedQuest(Spawn, QUEST_1) and not HasQuest(Spawn, QUEST_1) then + AddConversationOption(conversation, "Poachers? What can I do to help?", "OfferQuest1") + end + + AddConversationOption(conversation, "I wish you luck in avoiding poachers. Farewell.") + StartConversation(conversation, NPC, Spawn, "Not a poacher, I see. Thank the misty winds! Sorry for thinking otherwise. With all the babble of poachers lurking Oakmyst, I thought for sure your strange face would be the last sight I'd see!") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end diff --git a/Lua/SpawnScripts/Oakmyst/Stormbrace.lua b/Lua/SpawnScripts/Oakmyst/Stormbrace.lua new file mode 100755 index 000000000..f55976d13 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/Stormbrace.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/Stormbrace.lua + Script Purpose : Stormbrace + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/ToppaDoppster.lua b/Lua/SpawnScripts/Oakmyst/ToppaDoppster.lua new file mode 100755 index 000000000..d6a940300 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/ToppaDoppster.lua @@ -0,0 +1,90 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/ToppaDoppster.lua + Script Purpose : Toppa Doppster + Script Author : Scatman + Script Date : 2009.09.19 + Updated by :ememjr + Updated Date :2017.05.04 + Update NOtes : updated quest number + Script Notes : +--]] + +function spawn(NPC) + ProvidesQuest(NPC, 231) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + RandomGreeting(NPC, Spawn) + + if HasCompletedQuest(Spawn, 231) then + Say(NPC, "You'll be a hero among my friends!") + elseif HasQuest(Spawn, 231) then + if GetQuestStep(Spawn, 231) == 1 then + AddConversationOption(conversation, "Not yet.") + elseif GetQuestStep(Spawn, 231) == 2 then + AddConversationOption(conversation, "Yes, here it is.", "YesHereItIs") + end + + StartConversation(conversation, NPC, Spawn, "Did you get the glowmyst juice?") + else + AddConversationOption(conversation, "What do you need?", "WhatDoYouNeed") + AddConversationOption(conversation, "Sorry, not now.") + StartConversation(conversation, NPC, Spawn, "You there! Do you think you can help me?") + end +end + +function RandomGreeting(NPC, Spawn) + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0, Spawn) + end +end + +function respawn(NPC) + spawn(NPC) +end + +------------------------------------------------------------------------------------------------------------ +-- QUEST 1 +------------------------------------------------------------------------------------------------------------ + +function WhatDoYouNeed(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "But what?", "ButWhat") + StartConversation(conversation, NPC, Spawn, "My friends sent me out to collect some glowmyst juice from the beetles here in Oakmyst. You see, we're trying to start our own tavern and we're working on our craft. I was sent out here to collect some glowmyst juice, but...") +end + +function ButWhat(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I could get the juice for you.", "ICouldGetJuice") + AddConversationOption(conversation, "Good luck figuring it out.") + StartConversation(conversation, NPC, Spawn, "These bugs are so disgusting! I can't stand touching them. Don't even get me started on extracting their fluid sacs.") +end + +function ICouldGetJuice(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be right back with them.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Would you? That would be wonderful! I need ten glowmyst fluid sacs.") +end + +function YesHereItIs(NPC, Spawn) + SetStepComplete(Spawn, 231, 2) + conversation = CreateConversation() + + AddConversationOption(conversation, "Glad to hear it!") + StartConversation(conversation, NPC, Spawn, "Wonderful! Thank you so much! My friends will be pleased!") +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, 231) +end diff --git a/Lua/SpawnScripts/Oakmyst/TrackerGalera.lua b/Lua/SpawnScripts/Oakmyst/TrackerGalera.lua new file mode 100755 index 000000000..5db8a22cb --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/TrackerGalera.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/TrackerGalera.lua + Script Purpose : Tracker Galera + Script Author : scatman + Script Date : 2009.05.08 + edited by : ememjr + edited date : 2017.05.05 + edit notes : edited quest id + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_FROM_STEWARD_TREDO = 232 + +function spawn(NPC) + MovementLoopAddLocation(NPC, 819.19, 5.18, -200.15, 2, 0) + MovementLoopAddLocation(NPC, 833.12, 4.43, -190.98, 2, 0) + MovementLoopAddLocation(NPC, 871.16, 1, -188.66, 2, 0) + MovementLoopAddLocation(NPC, 892.25, 2.83, -201.12, 2, 0) + MovementLoopAddLocation(NPC, 870.89, 1.11, -187.38, 2, 0) + MovementLoopAddLocation(NPC, 841.38, 3.75, -188.93, 2, 0) + MovementLoopAddLocation(NPC, 813.34, 5.97, -202.01, 2, 0) + MovementLoopAddLocation(NPC, 806.17, 6.34, -202.92, 2, 0) + MovementLoopAddLocation(NPC, 795.21, 6.95, -207.17, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tracker_galera/qey_adv01_oakmyst/trackergalera000.mp3", "", "", 3127596944, 436493991, Spawn) + AddConversationOption(conversation, "Who or what is a Ferith'Anar? ", "dlg_1_1") + if HasQuest(Spawn, QUEST_FROM_STEWARD_TREDO) and GetQuestStep(Spawn, QUEST_FROM_STEWARD_TREDO) == 2 then + AddConversationOption(conversation, "I bring you proof of poachers in Oakmyst.", "dlg_17_1") + end + AddConversationOption(conversation, "I shall respect these woods. Farewell.") + StartConversation(conversation, NPC, Spawn, "The beauty of Oakmyst sometimes overwhelms me but not as much as the sight of Ferith'Anar!") +end + +---------------------------------------------------------------------------------------------------------- +-- QUEST FROM STEWARD TREDO +---------------------------------------------------------------------------------------------------------- + +function dlg_17_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_STEWARD_TREDO, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tracker_galera/qey_adv01_oakmyst/trackergalera002.mp3", "", "", 155245446, 3356947108, Spawn) + AddConversationOption(conversation, "May the creatures of Oakmyst roam safely.") + StartConversation(conversation, NPC, Spawn, "I thank you, as do the creatures of the Oakmyst. These pelts shall prove to the Qeynos Guard that these woods are not properly protected. ") +end + +---------------------------------------------------------------------------------------------------------- +-- NORMAL CHAT +---------------------------------------------------------------------------------------------------------- + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tracker_galera/qey_adv01_oakmyst/trackergalera001.mp3", "", "", 2151056607, 2801091083, Spawn) + AddConversationOption(conversation, "I shall respect this unicorn. Farewell.") + StartConversation(conversation, NPC, Spawn, "Ferith'Anar is only the most illustrious and sacred creature that trots these woods! She is a unicorn ... far from her home in the sovereign forests of Faydark.") +end diff --git a/Lua/SpawnScripts/Oakmyst/TrackerKelnis.lua b/Lua/SpawnScripts/Oakmyst/TrackerKelnis.lua new file mode 100755 index 000000000..cccc7297b --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/TrackerKelnis.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/TrackerKelnis.lua + Script Purpose : Tracker Kelnis + Script Author : scatman + Script Date : 2009.05.08 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tracker_kelnis/qey_adv01_oakmyst/trackerkelnis000.mp3", "", "", 2160349950, 3920623086, Spawn) + AddConversationOption(conversation, "I shall watch my steps within these woods.") + StartConversation(conversation, NPC, Spawn, "Enter the forest with caution, traveler! You never know what dangers lurk in the Oakmyst. ") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/Truesteel.lua b/Lua/SpawnScripts/Oakmyst/Truesteel.lua new file mode 100755 index 000000000..60341e59b --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/Truesteel.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/Truesteel.lua + Script Purpose : Truesteel + Script Author : Scatman + Script Date : 2009.05.07 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 4099618783, 4191002419, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 4141262779, 4227030045, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/aclearwaterfrog606.lua b/Lua/SpawnScripts/Oakmyst/aclearwaterfrog606.lua new file mode 100755 index 000000000..14ac2351f --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/aclearwaterfrog606.lua @@ -0,0 +1,204 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/aclearwaterfrog606.lua + Script Author : Ememjr + Script Date : 2019.10.12 06:10:28 + Script Purpose : + : +--]] + +function spawn(NPC) +MovementLoopAddLocation(NPC, 986.909, 0.781519, -206.048, 2, 5) +MovementLoopAddLocation(NPC, 986.909, 0.781519, -206.048, 2, 5) +MovementLoopAddLocation(NPC, 981.574, 0.676865, -206.435, 2, 5) +MovementLoopAddLocation(NPC, 981.336, 0.605602, -207.475, 2, 5) +MovementLoopAddLocation(NPC, 979.898, 0.860104, -207.574, 2, 5) +MovementLoopAddLocation(NPC, 976.898, 0.708733, -200.428, 2, 5) +MovementLoopAddLocation(NPC, 977.963, 0.984644, -203.69, 2, 5) +MovementLoopAddLocation(NPC, 978.806, 5.17616, -202.717, 2, 5) +MovementLoopAddLocation(NPC, 978.042, 7.46185, -197.574, 2, 5) +MovementLoopAddLocation(NPC, 980.773, 2.67748, -197.591, 2, 5) +MovementLoopAddLocation(NPC, 980.283, 2.00012, -197.601, 2, 5) +MovementLoopAddLocation(NPC, 980.283, 2.00012, -197.601, 2, 10) +MovementLoopAddLocation(NPC, 978.499, 2.72604, -197.598, 2, 0) +MovementLoopAddLocation(NPC, 978.499, 2.72604, -197.598, 2, 0) +MovementLoopAddLocation(NPC, 980.825, 5.26465, -202.383, 2, 0) +MovementLoopAddLocation(NPC, 980.158, 5.17928, -203.387, 2, 0) +MovementLoopAddLocation(NPC, 980.458, 6.2448, -203.579, 2, 10) +--MovementLoopAddLocation(NPC, 980.458, 6.2448, -203.579, 2, 0) +--MovementLoopAddLocation(NPC, 981.492, 6.12132, -200.747, 2, 0) +--MovementLoopAddLocation(NPC, 981.064, 2.54151, -200.255, 2, 0) +--MovementLoopAddLocation(NPC, 981.064, 2.54151, -200.255, 2, 0) +--MovementLoopAddLocation(NPC, 987.325, 2.86794, -200.678, 2, 0) +--MovementLoopAddLocation(NPC, 987.287, 3.78678, -201.653, 2, 0) +--MovementLoopAddLocation(NPC, 987.512, 3.14934, -202.576, 2, 0) +--MovementLoopAddLocation(NPC, 984.325, 1.4005, -203.594, 2, 0) +--MovementLoopAddLocation(NPC, 984.263, 1.13902, -202.529, 2, 0) +--MovementLoopAddLocation(NPC, 985.35, 0.702294, -202.542, 2, 0) +--MovementLoopAddLocation(NPC, 985.687, 1.19563, -202.482, 2, 0) +--MovementLoopAddLocation(NPC, 990.024, 1.24909, -202.449, 2, 0) +--MovementLoopAddLocation(NPC, 990.024, 1.24909, -202.449, 2, 0) +--MovementLoopAddLocation(NPC, 989.031, 1.72502, -202.449, 2, 0) +--MovementLoopAddLocation(NPC, 978.028, 2.74264, -202.401, 2, 0) +--MovementLoopAddLocation(NPC, 982.027, 1.02147, -201.553, 2, 0) +--MovementLoopAddLocation(NPC, 983.027, 1.67374, -201.553, 2, 0) +--MovementLoopAddLocation(NPC, 980.026, 2.48341, -202.442, 2, 0) +--MovementLoopAddLocation(NPC, 982.536, 2.29215, -203.08, 2, 0) +--MovementLoopAddLocation(NPC, 982.536, 2.29215, -203.08, 2, 0) +--MovementLoopAddLocation(NPC, 980.541, 1.57727, -213.104, 2, 0) +--MovementLoopAddLocation(NPC, 981.541, 1.75375, -213.104, 2, 0) +--MovementLoopAddLocation(NPC, 978.543, 1.03912, -202.896, 2, 0) +--MovementLoopAddLocation(NPC, 977.759, 1.18264, -202.966, 2, 0) +--MovementLoopAddLocation(NPC, 981.469, 1.0364, -202.104, 2, 0) +--MovementLoopAddLocation(NPC, 980.469, 1.8613, -203.895, 2, 0) +--MovementLoopAddLocation(NPC, 983.366, 2.40051, -203.168, 2, 0) +--MovementLoopAddLocation(NPC, 983.112, 2.36198, -202.611, 2, 0) +--MovementLoopAddLocation(NPC, 983.112, 2.36198, -202.611, 2, 0) +--MovementLoopAddLocation(NPC, 981.435, 4.14736, -203.41, 2, 0) +--MovementLoopAddLocation(NPC, 980.433, 0.96624, -203.41, 2, 0) +--MovementLoopAddLocation(NPC, 979.406, 0.644429, -203.383, 2, 0) +--MovementLoopAddLocation(NPC, 991.306, 0.854891, -200.41, 2, 0) +--MovementLoopAddLocation(NPC, 989.306, 1.76202, -200.411, 2, 0) +--MovementLoopAddLocation(NPC, 986.304, 1.13746, -200.002, 2, 0) +--MovementLoopAddLocation(NPC, 987.262, 1.06745, -200.227, 2, 0) +--MovementLoopAddLocation(NPC, 984.256, 1.425, -200.837, 2, 0) +--MovementLoopAddLocation(NPC, 998.063, 1.81519, -200.747, 2, 0) +--MovementLoopAddLocation(NPC, 998.063, 1.81519, -200.747, 2, 0) +--MovementLoopAddLocation(NPC, 987.683, 0.980721, -203.733, 2, 0) +--MovementLoopAddLocation(NPC, 989.718, 0.80799, -202.693, 2, 0) +--MovementLoopAddLocation(NPC, 989.119, 1.81479, -202.724, 2, 0) +--MovementLoopAddLocation(NPC, 989.119, 1.81479, -202.724, 2, 0) +--MovementLoopAddLocation(NPC, 988.677, 0.994082, -200.262, 2, 0) +--MovementLoopAddLocation(NPC, 991.618, 1.97518, -200.922, 2, 0) +--MovementLoopAddLocation(NPC, 991.063, 1.95475, -200.997, 2, 0) +--MovementLoopAddLocation(NPC, 991.063, 1.95475, -200.997, 2, 0) +--MovementLoopAddLocation(NPC, 976.394, 1.24703, -200.618, 2, 0) +--MovementLoopAddLocation(NPC, 978.491, 0.914289, -201.385, 2, 0) +--MovementLoopAddLocation(NPC, 979.427, 0.589224, -202.968, 2, 0) +--MovementLoopAddLocation(NPC, 979.682, 0.643666, -203.926, 2, 0) +--MovementLoopAddLocation(NPC, 980.207, 1.0391, -203.981, 2, 0) +--MovementLoopAddLocation(NPC, 980.207, 1.0391, -203.981, 2, 0) +--MovementLoopAddLocation(NPC, 978.52, 1.52643, -203.071, 2, 0) +--MovementLoopAddLocation(NPC, 977.517, 1.33403, -204.934, 2, 0) +--MovementLoopAddLocation(NPC, 976.525, 3.49882, -204.071, 2, 0) +--MovementLoopAddLocation(NPC, 976.474, 1.49649, -205.925, 2, 0) +--MovementLoopAddLocation(NPC, 991.529, 1.83476, -205.071, 2, 0) +--MovementLoopAddLocation(NPC, 990.524, 1.49265, -206.928, 2, 0) +--MovementLoopAddLocation(NPC, 989.603, 3.8733, -207.789, 2, 0) +--MovementLoopAddLocation(NPC, 989.406, 2.97519, -192.927, 2, 0) +--MovementLoopAddLocation(NPC, 987.576, 7.86799, -192.909, 2, 0) +--MovementLoopAddLocation(NPC, 987.121, 6.5329, -192.9, 2, 0) +--MovementLoopAddLocation(NPC, 987.121, 6.5329, -192.9, 2, 0) +--MovementLoopAddLocation(NPC, 989.162, 7.89669, -192.9, 2, 0) +--MovementLoopAddLocation(NPC, 989.162, 7.89669, -192.9, 2, 0) +--MovementLoopAddLocation(NPC, 988.159, 7.90196, -194.989, 2, 0) +--MovementLoopAddLocation(NPC, 988.862, 7.58415, -195.991, 2, 0) +--MovementLoopAddLocation(NPC, 988.862, 7.58415, -195.991, 2, 0) +--MovementLoopAddLocation(NPC, 989.839, 7.69289, -192.823, 2, 0) +--MovementLoopAddLocation(NPC, 986.902, 7.45448, -192.504, 2, 0) +--MovementLoopAddLocation(NPC, 984.938, 5.77889, -193.193, 2, 0) +--MovementLoopAddLocation(NPC, 984.582, 3.4307, -193.798, 2, 0) +--MovementLoopAddLocation(NPC, 984.582, 3.4307, -193.798, 2, 0) +--MovementLoopAddLocation(NPC, 982.843, 3.24951, -193.149, 2, 0) +--MovementLoopAddLocation(NPC, 983.972, 5.25431, -193.036, 2, 0) +--MovementLoopAddLocation(NPC, 983.896, 7.4882, -192.011, 2, 0) +--MovementLoopAddLocation(NPC, 983.165, 6.73283, -195.248, 2, 0) +--MovementLoopAddLocation(NPC, 980.972, 0.673276, -194.202, 2, 0) +--MovementLoopAddLocation(NPC, 980.972, 0.639507, -197.202, 2, 0) +--MovementLoopAddLocation(NPC, 980.927, 0.509199, -196.149, 2, 0) +--MovementLoopAddLocation(NPC, 981.959, 1.26022, -196.214, 2, 0) +--MovementLoopAddLocation(NPC, 981.209, 0.543402, -196.851, 2, 0) +--MovementLoopAddLocation(NPC, 978.666, 0.556926, -196.823, 2, 0) +--MovementLoopAddLocation(NPC, 980.081, 1.79355, -199.149, 2, 0) +--MovementLoopAddLocation(NPC, 983.081, 1.33254, -199.149, 2, 0) +--MovementLoopAddLocation(NPC, 982.081, 0.746012, -196.845, 2, 0) +--MovementLoopAddLocation(NPC, 985.085, 6.33914, -196.802, 2, 0) +--MovementLoopAddLocation(NPC, 984.086, 4.95519, -196.802, 2, 0) +--MovementLoopAddLocation(NPC, 987.082, 0.837903, -199.193, 2, 0) +--MovementLoopAddLocation(NPC, 965.061, 1.91738, -199.34, 2, 0) +--MovementLoopAddLocation(NPC, 965.061, 1.91738, -199.34, 2, 0) +--MovementLoopAddLocation(NPC, 984.475, 0.835655, -197.656, 2, 0) +--MovementLoopAddLocation(NPC, 986.469, 4.41931, -219.659, 2, 0) +--MovementLoopAddLocation(NPC, 987.469, 5.24851, -219.659, 2, 0) +--MovementLoopAddLocation(NPC, 988.469, 6.07644, -196.341, 2, 0) +--MovementLoopAddLocation(NPC, 991.198, 6.50463, -196.273, 2, 0) +--MovementLoopAddLocation(NPC, 991.198, 6.50463, -196.273, 2, 0) +--MovementLoopAddLocation(NPC, 987.545, 6.09795, -196.659, 2, 0) +--MovementLoopAddLocation(NPC, 986.534, 5.33908, -197.337, 2, 0) +--MovementLoopAddLocation(NPC, 987.305, 2.21348, -198.153, 2, 0) +--MovementLoopAddLocation(NPC, 987.194, 2.05909, -199.572, 2, 0) +--MovementLoopAddLocation(NPC, 987.194, 2.05909, -199.572, 2, 0) +--MovementLoopAddLocation(NPC, 985.498, 4.73322, -198.399, 2, 0) +--MovementLoopAddLocation(NPC, 984.498, 0.886813, -198.399, 2, 0) +--MovementLoopAddLocation(NPC, 991.486, 0.691218, -198.427, 2, 0) +--MovementLoopAddLocation(NPC, 979.369, 0.807509, -197.399, 2, 0) +--MovementLoopAddLocation(NPC, 977.553, 1.20672, -197.391, 2, 0) +--MovementLoopAddLocation(NPC, 976.557, 0.74994, -197.258, 2, 0) +--MovementLoopAddLocation(NPC, 983.546, 0.810964, -197.161, 2, 0) +--MovementLoopAddLocation(NPC, 982.521, 0.839059, -197.073, 2, 0) +--MovementLoopAddLocation(NPC, 981.527, 0.907255, -197.994, 2, 0) +--MovementLoopAddLocation(NPC, 1003.84, 0.712904, -197.592, 2, 0) +--MovementLoopAddLocation(NPC, 982.431, 1.29073, -198.563, 2, 0) +--MovementLoopAddLocation(NPC, 976.443, 1.24577, -199.598, 2, 0) +--MovementLoopAddLocation(NPC, 976.851, 0.711886, -199.566, 2, 0) +--MovementLoopAddLocation(NPC, 976.851, 0.711886, -199.566, 2, 0) +--MovementLoopAddLocation(NPC, 977.417, 1.25512, -197.415, 2, 0) +--MovementLoopAddLocation(NPC, 978.368, 0.636211, -197.78, 2, 0) +--MovementLoopAddLocation(NPC, 988.836, 0.779239, -196.771, 2, 0) +--MovementLoopAddLocation(NPC, 979.633, 0.633484, -196.655, 2, 0) +--MovementLoopAddLocation(NPC, 977.74, 1.68595, -197.352, 2, 0) +--MovementLoopAddLocation(NPC, 976.675, 1.33899, -198.763, 2, 0) +--MovementLoopAddLocation(NPC, 983.213, 0.560425, -198.843, 2, 0) +--MovementLoopAddLocation(NPC, 983.213, 0.560425, -198.843, 2, 0) +--MovementLoopAddLocation(NPC, 977.523, 0.782607, -198.241, 2, 0) +--MovementLoopAddLocation(NPC, 978.531, 0.629214, -193.76, 2, 0) +--MovementLoopAddLocation(NPC, 979.713, 6.52847, -193.241, 2, 0) +--MovementLoopAddLocation(NPC, 979.472, 0.557977, -192.949, 2, 0) +--MovementLoopAddLocation(NPC, 988.715, 0.935365, -192.241, 2, 0) +--MovementLoopAddLocation(NPC, 989.641, 0.648956, -195.881, 2, 0) +--MovementLoopAddLocation(NPC, 990.611, 7.98973, -194.905, 2, 0) +--MovementLoopAddLocation(NPC, 990.345, 5.6455, -205.761, 2, 0) +--MovementLoopAddLocation(NPC, 984.578, 3.75872, -205.778, 2, 0) +--MovementLoopAddLocation(NPC, 984.113, 3.41886, -205.789, 2, 0) +--MovementLoopAddLocation(NPC, 984.113, 3.41886, -205.789, 2, 0) +--MovementLoopAddLocation(NPC, 990.17, 3.87449, -205.786, 2, 0) +--MovementLoopAddLocation(NPC, 990.17, 3.87449, -205.786, 2, 0) +--MovementLoopAddLocation(NPC, 984.561, 7.57385, -194.175, 2, 0) +--MovementLoopAddLocation(NPC, 985.5, 7.56263, -192.229, 2, 0) +--MovementLoopAddLocation(NPC, 985.479, 7.99639, -193.231, 2, 0) +--MovementLoopAddLocation(NPC, 985.138, 4.93146, -193.811, 2, 0) +--MovementLoopAddLocation(NPC, 985.138, 4.93146, -193.811, 2, 0) +--MovementLoopAddLocation(NPC, 985.355, 7.57385, -192.876, 2, 0) +--MovementLoopAddLocation(NPC, 984.326, 7.68852, -195.785, 2, 0) +--MovementLoopAddLocation(NPC, 991.387, 7.44785, -195.583, 2, 0) +--MovementLoopAddLocation(NPC, 989.496, 5.86667, -194.161, 2, 0) +--MovementLoopAddLocation(NPC, 989.077, 3.41683, -194.837, 2, 0) +--MovementLoopAddLocation(NPC, 989.077, 3.41683, -194.837, 2, 0) +--MovementLoopAddLocation(NPC, 979.326, 3.24383, -194.241, 2, 0) +--MovementLoopAddLocation(NPC, 979.284, 2.15471, -195.216, 2, 0) +--MovementLoopAddLocation(NPC, 976.604, 1.90023, -194.199, 2, 0) +--MovementLoopAddLocation(NPC, 976.604, 1.98021, -197.199, 2, 0) +--MovementLoopAddLocation(NPC, 976.536, 1.73144, -196.131, 2, 0) +--MovementLoopAddLocation(NPC, 976.287, 0.965299, -196.819, 2, 0) +--MovementLoopAddLocation(NPC, 976.287, 0.965299, -196.819, 2, 0) +--MovementLoopAddLocation(NPC, 982.968, 1.22228, -199.145, 2, 0) +--MovementLoopAddLocation(NPC, 981.967, 1.6515, -199.145, 2, 0) +--MovementLoopAddLocation(NPC, 986.94, 2.61681, -199.189, 2, 0) +--MovementLoopAddLocation(NPC, 990.965, 1.07256, -196.857, 2, 0) +--MovementLoopAddLocation(NPC, 991.965, 1.73385, -196.857, 2, 0) +--MovementLoopAddLocation(NPC, 988.967, 2.33832, -199.154, 2, 0) +--MovementLoopAddLocation(NPC, 962.911, 5.70441, -199.261, 2, 0) +--MovementLoopAddLocation(NPC, 960.4, 5.8344, -199.857, 2, 0) +--MovementLoopAddLocation(NPC, 960.4, 5.8344, -199.857, 2, 0) +--MovementLoopAddLocation(NPC, 989.049, 2.40932, -196.793, 2, 0) +--MovementLoopAddLocation(NPC, 991.049, 1.52046, -218.857, 2, 0) +--MovementLoopAddLocation(NPC, 988.361, 1.63159, -218.782, 2, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Oakmyst/acorrupteddryad.lua b/Lua/SpawnScripts/Oakmyst/acorrupteddryad.lua new file mode 100755 index 000000000..3f2c7f60f --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/acorrupteddryad.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/acorrupteddryad.lua + Script Purpose : a corrupted dryad + Script Author : Scatman + Script Date : 2009.10.08 + Script Notes : +--]] + +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + Speak(NPC, Spawn) + end + end +end + +function death(NPC, Spawn) + spoke = false +end + +function Speak(NPC, Spawn) + --if HasLanguage(Spawn, Fayfolk) then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_halfhealth_87c4d551.mp3", "My blood will continue to taint this land. ", "", 4171401485, 1497569558, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_halfhealth_f788c9f0.mp3", "My death only furthers my goals.", "", 4264087301, 2283544980, Spawn) + end + --[[else + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_e858f993.mp3", "Tawaneee follahh dilifilongia avee", "", 677789876, 1792673679, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_dfa9e7d9.mp3", "Amamooenoo illysavah leetah", "", 1070184369, 1800384485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_29e4606e.mp3", "Peelahha misialloniassaa laliallasala", "", 4241242710, 1388449419, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dryad_corrupted/ft/dryad/dryad_corrupted_1_garbled_628bdbdb.mp3", "Meraania suvalas itresteien", "", 2333386122, 320322749, Spawn) + end + end--]] +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/anOakmystspider.lua b/Lua/SpawnScripts/Oakmyst/anOakmystspider.lua new file mode 100755 index 000000000..a63afc3bc --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/anOakmystspider.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/anOakmystspider.lua + Script Author : Ememjr + Script Date : 2019.10.14 10:10:38 + Script Purpose : + : +--]] + +function hailed(NPC, Spawn) + +end + +function spawn(NPC) + ChooseMovement(NPC) +end + +function ChooseMovement(NPC) + local choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 1.5 , y, z - 2 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x - .5 , y, z - 3, 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x - 3, y, z + 2.5 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x + .5 , y, z + 2 , 1, math.random(2, 10)) + + + --MovementLoopAddLocation(NPC, x + 3 , y, z - 4 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x - 1 , y, z - 6, 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x - 6, y, z + 5 , 1, math.random(2, 5)) + --MovementLoopAddLocation(NPC, x + 1 , y, z + 4 , 1, math.random(2, 5)) +end + +function clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 1 , y, z - 2 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x - 3.5 , y, z - .5 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x , y, z + 1 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x + 2.5 , y, z + .5 , 1, math.random(2, 10)) +end + +function counter_clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 1.5 , y, z + 1 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x + .5 , y, z + 3, 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x + 2, y, z - 2.5 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x - .5 , y, z - 2 , 1, math.random(2, 10)) +end + +function counter_clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 1 , y, z + 2 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x + 1.5 , y, z + .5 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x , y, z - 1 , 1, math.random(2, 10)) + MovementLoopAddLocation(NPC, x - 2.5 , y, z - .5 , 1, math.random(2, 10)) +end + diff --git a/Lua/SpawnScripts/Oakmyst/asunkenkeg.lua b/Lua/SpawnScripts/Oakmyst/asunkenkeg.lua new file mode 100755 index 000000000..f2582dc86 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/asunkenkeg.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/asunkenkeg.lua + Script Purpose : a sunken keg + Script Author : Scatman + Script Date : 2009.10.07 + Script Notes : +--]] + +local DWARF_QUEST_FROM_MARV = 25 + +function spawn(NPC) + SetRequiredQuest(NPC, DWARF_QUEST_FROM_MARV, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/atreantsapling.lua b/Lua/SpawnScripts/Oakmyst/atreantsapling.lua new file mode 100755 index 000000000..84b90ffd3 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/atreantsapling.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/atreantsapling.lua + Script Purpose : a treant sapling + Script Author : Scatman + Script Date : 2009.05.07 + Script Notes : +--]] + +local QUEST_FROM_NEOLA = 211 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_NEOLA) and GetQuestStep(Spawn, QUEST_FROM_NEOLA) == 2 then + AddConversationOption(conversation, "Sprinkle Smitelin's Excel-a-gro onto the sapling.", "Again") + end + AddConversationOption(conversation, "Farewell little shrub.") + StartConversation(conversation, NPC, Spawn, "...") +end + +----------------------------------------------------------------------------------------------------------------------------------- +-- QUEST FROM NEOLA +----------------------------------------------------------------------------------------------------------------------------------- + +function Again(NPC, Spawn) + SetStepComplete(Spawn, QUEST_FROM_NEOLA, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Farewell little shrub.") + StartConversation(conversation, NPC, Spawn, "...") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/fulkoir.lua b/Lua/SpawnScripts/Oakmyst/fulkoir.lua new file mode 100755 index 000000000..af8783995 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/fulkoir.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/fulkoir.lua + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function DespawnFulkoir(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/inspect_rock_poem.lua b/Lua/SpawnScripts/Oakmyst/inspect_rock_poem.lua new file mode 100755 index 000000000..7210a6dde --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/inspect_rock_poem.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : inspect_rock_poem.lua + Script Author : ememjr + Script Date : 2017.05.10 + Script Purpose : + : +--]] + +local quest = 234 + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "inspect" then + local con = CreateConversation() + AddConversationOption(con, "Read the Poem!", "ReadPoem") + AddConversationOption(con, "Stop inspecting", "CloseConversation") + StartDialogConversation(con, 1, NPC, Spawn, "This rock is deeply embedded into the ground. It must have been here for quite some time. There is writing etched onto the face of the rock. It looks like a poem.") + end +end +function ReadPoem(NPC, Spawn) + local con = CreateConversation() + AddConversationOption(con, "continue", "Continue") + StartDialogConversation(con, 1, NPC, Spawn, "\"An Ode to Oakmyst\" by Astar Leafsinger of the Songweavers. The beauty grown from elven gifts...Thethicket so small yet so grand...A lonsome trunk drifting amidst the clear blue...The life giver billows and feeds...") +end +function Continue(NPC, Spawn) + OfferQuest(NPC, Spawn, quest) + CloseConversation(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/mysterious_machine_quest.lua b/Lua/SpawnScripts/Oakmyst/mysterious_machine_quest.lua new file mode 100755 index 000000000..114fbf4e3 --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/mysterious_machine_quest.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/mysterious_machine_quest.lua + Script Purpose : a mysterious machine + Script Author : Scatman + Script Date : 2009.10.07 + Script Notes : +--]] + +local OAKMYST_CHARLIN_QUEST_3 = 206 + +function spawn(NPC) + SetRequiredQuest(NPC, OAKMYST_CHARLIN_QUEST_3, 3) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if HasQuest(Spawn, OAKMYST_CHARLIN_QUEST_3) and GetQuestStep(Spawn, OAKMYST_CHARLIN_QUEST_3) == 3 then + SendMessage(Spawn, "You hear a slight humming in the plants near the water's edge.") + end +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, OAKMYST_CHARLIN_QUEST_3) and GetQuestStep(Spawn, OAKMYST_CHARLIN_QUEST_3) == 3 and SpellName == "Inspect" then + SetStepComplete(Spawn, OAKMYST_CHARLIN_QUEST_3, 3) + conversation = CreateConversation() + StartDialogConversation(conversation, 1, NPC, Spawn, "The machine is vibrating ever so slightly. Aside from the humming, there is nothing to suggest that the machine is currently active.") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Oakmyst/unearthedsoil.lua b/Lua/SpawnScripts/Oakmyst/unearthedsoil.lua new file mode 100755 index 000000000..dbf8de84b --- /dev/null +++ b/Lua/SpawnScripts/Oakmyst/unearthedsoil.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Oakmyst/unearthedsoil.lua + Script Purpose : unearthed soil + Script Author : Scatman + Script Date : 2009.10.07 + Script Notes : +--]] + +local OAKMYST_CHARLIN_QUEST_2 = 205 + +function spawn(NPC) + SetRequiredQuest(NPC, OAKMYST_CHARLIN_QUEST_2, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/APudgyMoleRat.lua b/Lua/SpawnScripts/OutpostOverlord/APudgyMoleRat.lua new file mode 100755 index 000000000..30f3f5484 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/APudgyMoleRat.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/APudgyMoleRat.lua + Script Author : Cynnar + Script Date : 2019.06.03 03:06:48 + Script Purpose : + : +--]] + +function spawn(NPC) + CallCliffdiverHawk(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function CallCliffdiverHawk(NPC) + local CliffdiverHawk = GetSpawn(NPC, 2780077) + + if CliffdiverHawk ~= nil then + if GetTempVariable(NPC, "MoleRat") == nil then + SetTempVariable(CliffdiverHawk, "MoleRat", NPC) + + SetTempVariable(CliffdiverHawk, "MOLERAT_X", GetX(NPC)) + SetTempVariable(CliffdiverHawk, "MOLERAT_Y", GetY(NPC)) + SetTempVariable(CliffdiverHawk, "MOLERAT_Z", GetZ(NPC)) + + AddTimer(CliffdiverHawk, 2000, "FlyToMoleRat") + end + end +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/AniusOakwind.lua b/Lua/SpawnScripts/OutpostOverlord/AniusOakwind.lua new file mode 100755 index 000000000..1060874b5 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/AniusOakwind.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/AniusOakwind.lua + Script Purpose : Anius Oakwind + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Who disturbs my rest?", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/Ashir.lua b/Lua/SpawnScripts/OutpostOverlord/Ashir.lua new file mode 100755 index 000000000..6e7c12256 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Ashir.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/Ashir.lua + Script Purpose : Ashir + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Try my Coagulated Surprise!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'll challenge my dried triggerfish to Gorga's stew any day.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Mmm, fish!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/AssassinVamir.lua b/Lua/SpawnScripts/OutpostOverlord/AssassinVamir.lua new file mode 100755 index 000000000..f2eba48e1 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/AssassinVamir.lua @@ -0,0 +1,155 @@ +--[[ + Script Name : AssassinVamir.lua + Script Purpose : Handles the spawn script for Assasin Vamir in the Outpost of the Overlord. + Script Author : Scatman (Updated by Cynnar 2018.10.14) + Script Date : 2008.12.28 + Script Notes : +--]] +local HawkBait = 8060 +local Preventative_Maintenance = 365 + +function spawn(NPC) + ProvidesQuest(NPC, Preventative_Maintenance) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 8 then + AddConversationOption(conversation, "Can you tell me about Charles Arker?", "CharlesArker") + end + + if HasCompletedQuest(Spawn, Preventative_Maintenance) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir010.mp3", "", "", 81913167, 2035244707, Spawn) + AddConversationOption(conversation, "I need more mole rats!", "MoreRats") + AddConversationOption(conversation, "Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Tunarians won't have many animals to train because of you. Nice works! Return to me if you ever needs more mole rats.") + elseif HasQuest(Spawn, Preventative_Maintenance) then + if GetQuestStep(Spawn, Preventative_Maintenance) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir001.mp3", "", "", 2097737223, 719705804, Spawn) + AddConversationOption(conversation, "And you want me to...?", "WantMeTo") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Hellos " .. GetName(Spawn) .. ", Tayil sent word you were comings. I's been scouting out the nearby areas, trying to get a better feels of what we're up against. Beastmasters these Tunarians are, training the wild animals of the island to fight for them!") + elseif GetQuestStep(Spawn, Preventative_Maintenance) == 2 then + AddConversationOption(conversation, "Okay, I'll be back.") + StartConversation(conversation, NPC, Spawn, "North up the slope into the Wilderwood the bears are, or west in Cliffdiver Canyon. Kills them and return when you are done.") + elseif GetQuestStep(Spawn, Preventative_Maintenance) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir005.mp3", "", "", 1066150974, 809725343, Spawn) + AddConversationOption(conversation, "How do I do it?", "HowDoIDoIt") + AddConversationOption(conversation, "I don't have the time right now.") + StartConversation(conversation, NPC, Spawn, "The bears are dead? Good. Nows for a tricky task, so pay attention! The hawks you will now hunt reside high on the cliffs in Cliffdiver Canyon to the west of here. Untils now, we've been unable to get to them.") + elseif GetQuestStep(Spawn, Preventative_Maintenance) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir007.mp3", "", "", 4047853205, 3078826387, Spawn) + if not HasItem(Spawn, 10582) then + AddConversationOption(conversation, "I need more mole rats!", "MoreRats") + end + AddConversationOption(conversation, "Okay, I'll keep trying.") + StartConversation(conversation, NPC, Spawn, "Examine and then release the mole rats from your inventory when you thinks you are in a good position to lure down the hawks in Cliffdiver Canyon to the west. Then dispose of the hawks.") + elseif GetQuestStep(Spawn, Preventative_Maintenance) == 5 then + SetStepComplete(Spawn, Preventative_Maintenance, 5) + SummonItem(Player, 1027) + while HasItem(Spawn, HawkBait) do + RemoveItem(Spawn, HawkBait) + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir009.mp3", "", "", 2286682451, 2625576756, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Excellent job! I think we's done a good job stoppings any new recruits for the Tunarians. Here, this note was just delivered to us. I believe it is from Tayl.") + end + else + AddConversationOption(conversation, "Very well.") + StartConversation(conversation, NPC, Spawn, "I'm not ready for you yet, adventurer. Speak with Tayil N'Velex back at the outpost to prepare yourself for my tasks.") + end +end + +function respawn(NPC) + spawn(NPC) +end + +function WantMeTo(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir002.mp3", "", "", 1076416759, 1314405932, Spawn) + AddConversationOption(conversation, "Where are these animals?", "WhereAnimals") + StartConversation(conversation, NPC, Spawn, "We's gonna cut off their resources to weaken them in the long terms, settings up our major attack after they are weakened. If we take out their picks of the wild animals, they'll have nothing to train.") +end + +function WhereAnimals(NPC, Spawn) + SetStepComplete(Spawn, Preventative_Maintenance, 1) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir003.mp3", "", "", 165936416, 810751258, Spawn) + AddConversationOption(conversation, "The bears are mine!") + StartConversation(conversation, NPC, Spawn, "They trains the bears, hawks, and wolves on the island. The wolves are a bits too deep to touch now, but the bears and hawks are nearby so we starts with those. First, head north up the slope into the Wilderwood or west into Cliffdiver Canyon and lay down some bears. Returns when you are done.") +end + +function HowDoIDoIt(NPC, Spawn) + SetStepComplete(Spawn, Preventative_Maintenance, 3) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir006.mp3", "", "", 3805307037, 1537181172, Spawn) + + AddConversationOption(conversation, "Dinner is served!") + StartConversation(conversation, NPC, Spawn, "The cliffdiver hawks perch high up and watch for foods to attack below. I's got some food for them right here, hahahaha! Take these mole rats and when you think you are in a good position below the hawks, examine them in your inventory and release one. Return if you needs more.") +end + +function MoreRats(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- summon more hawk bait + SummonItem(Spawn, HawkBait) + SummonItem(Spawn, HawkBait) + SummonItem(Spawn, HawkBait) + SummonItem(Spawn, HawkBait) + SummonItem(Spawn, HawkBait) + AddConversationOption(conversation, "Dinner is served!") + StartConversation(conversation, NPC, Spawn, "Here is some more of the little pudgies! Have fun.") +end + +function CharlesArker(NPC, Spawn) + SetStepComplete(Spawn, 54, 8) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir012.mp3", "", "", 906369529, 2540359356, Spawn) + AddConversationOption(conversation, "Uh...yeah. Thanks for your time.") + StartConversation(conversation, NPC, Spawn, "Is he that guy with the bad comb-over?") +end + +--[[ + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir008.mp3", "", "", 1715782563, 1719955679, Spawn) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Here is the note.") +end + + + + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Dinner is served!", "dlg_11_2") + StartConversation(conversation, NPC, Spawn, "Here is some mores of the little pudgies! Have fun.") +end + +function dlg_46_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/assassin_vamir/tutorial_island02_evil_revamp/quests/citizenship/assassinvamir/assassinvamir010.mp3", "", "", 81913167, 2035244707, Spawn) + AddConversationOption(conversation, "What can you tell me about Charles Arker?", "dlg_46_2") + AddConversationOption(conversation, "I need more mole rats!") + AddConversationOption(conversation, "I need the note Tayil wanted you to give me.") + AddConversationOption(conversation, "Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Tunarians won't have many animals to train because of you. Nice works! Return to me if you ever needs more mole rats.") +end + +--]] diff --git a/Lua/SpawnScripts/OutpostOverlord/AsylLysarz.lua b/Lua/SpawnScripts/OutpostOverlord/AsylLysarz.lua new file mode 100755 index 000000000..60878518e --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/AsylLysarz.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/AsylLysarz.lua + Script Purpose : Asyl Lysarz + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "Chef Gorga better hurry up! I'm getting hungry.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/CallusMagnus.lua b/Lua/SpawnScripts/OutpostOverlord/CallusMagnus.lua new file mode 100755 index 000000000..19badd74e --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/CallusMagnus.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/CallusMagnus.lua + Script Purpose : Callus Magnus + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Have a stout for Freeport!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Watch out for those sneaky Tunarians.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Here's to the Overlord!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/CaptainPinious.lua b/Lua/SpawnScripts/OutpostOverlord/CaptainPinious.lua new file mode 100755 index 000000000..9316382ec --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/CaptainPinious.lua @@ -0,0 +1,176 @@ +--[[ + Script Name: Captain Pinious.lua + Script Purpose: General Introduction + Script Author: John Adams + Script Date: 2008.09.06 + Script Notes: Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 4 then + AddConversationOption(conversation, "Have you met Charles Arker? He's a well-known fellow.", "CharlesArker") + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious001.mp3", "", "", 846615498, 3873495514, Spawn) + AddConversationOption(conversation, "Teach me about interacting with people and objects around Norrath.", "TeachMeInteracting") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". So you're the new addition to the outpost that we've been hearing about. I've been stationed here by the Overlord to instruct you in ways that you can interact with the world around you.") +end + +function TeachMeInteracting(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious002.mp3", "", "", 2903161190, 2453753160, Spawn) + + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "WaysToInteract") + AddConversationOption(conversation, "How do I interact with non-player characters?", "NPCInteract") + AddConversationOption(conversation, "How can I interact with objects in the world?", "ObjectInteract") + AddConversationOption(conversation, "What can I do with items in my inventory?", "Inventory") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "There are several types of individuals and items you can interact with. Among these are other player characters, non-player characters, objects in the world, and items in your inventory.") +end + +function WaysToInteract(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious003.mp3", "", "", 3452718562, 2616705077, Spawn) + + AddConversationOption(conversation, "How can I tell which actions I can take?", "WhatActions") + StartConversation(conversation, NPC, Spawn, "You can perform a number of actions by right-clicking on a nearby player that you see. You can invite them to a group, follow them, talk to them, inspect their equipment, trade with them, and other choices. Some actions can only be taken while you're in a group with them.") +end + +function WhatActions(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious004.mp3", "", "", 2909488415, 579153552, Spawn) + + AddConversationOption(conversation, "How do I talk to other players?", "TalkToPlayers") + StartConversation(conversation, NPC, Spawn, "If one of the right-click choices is grey, it means it's unavailable. You either need to be closer to the other player or be grouped with them.") +end + +function TalkToPlayers(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious005.mp3", "", "", 1528548512, 277398920, Spawn) + + AddConversationOption(conversation, "How do I interact with non-player characters?", "NPCInteract") + AddConversationOption(conversation, "How can I interact with objects in the world?", "ObjectInteract") + AddConversationOption(conversation, "What can I do with items in my inventory?", "Inventory") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "If you're near another player, you can type something on the command line of your Chat window and press enter. All other nearby players can see this text. To send a private message, right-click on the character and select the 'tell' option, or hit the T key and type their name.") +end + +function NPCInteract(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious006.mp3", "", "", 662332133, 1635440695, Spawn) + AddConversationOption(conversation, "How do I tell the difference?", "TellTheDifference") + StartConversation(conversation, NPC, Spawn, "There are a variety of non-player characters (NPCs) around Norrath. Some of them are there to talk to or buy from, while others are meant to fight.") +end + +function TellTheDifference(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious007.mp3", "", "", 3296094991, 894278121, Spawn) + AddConversationOption(conversation, "Are there different ways to interact with a single NPC?", "SingleNPC") + StartConversation(conversation, NPC, Spawn, "The shape of your mouse pointer when you move it over an NPC indicates the primary means of interaction. If the pointer becomes a speech bubble, you can talk to that NPC. If it becomes crossed swords, you can attack them. If it looks like a stack of coins, that's a merchant.") +end + +function SingleNPC(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious008.mp3", "", "", 394706450, 3452025444, Spawn) + AddConversationOption(conversation, "How do I talk to other players?", "TalkToNPCs") + AddConversationOption(conversation, "DEV: THIS QUESTION SEEMS WRONG? Should be Talk To NPC based on next sequence.") + StartConversation(conversation, NPC, Spawn, "You can see all the ways you can interact with an NPC by right-clicking on it. If an option is grey, you probably need to be closer to it.") +end + +function TalkToNPCs(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious009.mp3", "", "", 3974625037, 2019991574, Spawn) + AddConversationOption(conversation, "How do I go about attacking an NPC?", "AttackNPC") + StartConversation(conversation, NPC, Spawn, "Well, you're talking to me, so you know at least one way! You can either right-click and select 'hail', click on them if that's their default action, or target them and hit the H key.") +end + +function AttackNPC(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious010.mp3", "", "", 454006131, 3919416269, Spawn) + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "WaysToInteract") + AddConversationOption(conversation, "How can I interact with objects in the world?", "ObjectInteract") + AddConversationOption(conversation, "What can I do with items in my inventory?", "Inventory") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To learn about combat, talk to Trainer Darg Frostwind near the western archway. To learn about evaluating your opponents, talk to Trainer Anna Winston, who is near Darg. Both these trainers provide information vital to your success as an adventurer.") +end + +function ObjectInteract(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious011.mp3", "", "", 3997858624, 220413119, Spawn) + AddConversationOption(conversation, "How do I tell what the glowing object will do?", "GlowingObjects") + StartConversation(conversation, NPC, Spawn, "If something glows when you move your mouse over it, you can interact with it. It might be a door or gate that takes you to another location, a book you see on a table, a chest you can loot, or another type of object. Some items glow only if you're on a quest to find them.") +end + +function GlowingObjects(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious012.mp3", "", "", 157757148, 1267818422, Spawn) + AddConversationOption(conversation, "Can anything bad happen by clicking on an object?", "VeryBadThings") + StartConversation(conversation, NPC, Spawn, "Sometimes you'll receive information on what the object will do when you hold your mouse over it. Other times you will need to right-click on the object to see what action you can perform with it.") +end + +function VeryBadThings(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious013.mp3", "", "", 2171077809, 1456782467, Spawn) + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "WaysToInteract") + AddConversationOption(conversation, "How do I interact with non-player characters?", "NPCInteract") + AddConversationOption(conversation, "How can I interact with objects in the world?", "ObjectInteract") + AddConversationOption(conversation, "What can I do with items in my inventory?", "Inventory") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Be careful about clicking on an object when you don't know what it will do, as something unexpected might happen. You might draw the attention of someone who didn't want you to touch it, or might end up somewhere you didn't plan to be.") +end + +function Inventory(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious014.mp3", "", "", 3800117344, 3288637503, Spawn) + AddConversationOption(conversation, "How do I know what I can do with an item?", "Item") + StartConversation(conversation, NPC, Spawn, "Sometimes you'll receive items in your inventory, such as when you complete a quest or loot a chest from a fallen opponent. Other times, you'll receive an item by clicking on a glowing object you see in the world, or that is given to you by another player.") +end + +function Item(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious015.mp3", "", "", 1253051107, 1099351530, Spawn) + AddConversationOption(conversation, "What are some common things I can do with items?", "CommonThings") + StartConversation(conversation, NPC, Spawn, "Open your inventory with the I key, or open up all bags you are carrying by pressing the B key. You can bring up a menu of choices for what you can do with an item by right-clicking on it. Double-clicking the left mouse button on something in your inventory will try to do that item's default action.") +end + +function CommonThings(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious016.mp3", "", "", 3814807765, 2564531807, Spawn) + AddConversationOption(conversation, "What about other types of items?", "TypesOfItems") + StartConversation(conversation, NPC, Spawn, "If the item is a piece of armor or a weapon, you can equip it. If it's a book or note, you can read it. If it's food or drink, you can consume it. Some items, such as furniture, can be placed while you're inside your house or apartment.") +end + +function TypesOfItems(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious017.mp3", "", "", 1882449239, 3035449116, Spawn) + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "WaysToInteract") + AddConversationOption(conversation, "How do I interact with non-player characters?", "NPCInteract") + AddConversationOption(conversation, "How can I interact with objects in the world?", "ObjectInteract") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items in your inventory can give you quests or provide other benefits. Right-click on items in your inventory and select the 'Examine' option to learn more about any item you're carrying.") +end + +function CharlesArker(NPC, Spawn) + SetStepComplete(Spawn, 54, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_pinious/tutorial_island02_evil_revamp/trainers/world_interaction/capt_pinious018.mp3", "", "", 1766847422, 3271708837, Spawn) + AddConversationOption(conversation, "Thanks anyway, Captain.") + StartConversation(conversation, NPC, Spawn, "I've met many great heroes of the Overlord since arriving at the outpost, but I can't recall anyone by that name.") +end diff --git a/Lua/SpawnScripts/OutpostOverlord/CaptainTyreth.lua b/Lua/SpawnScripts/OutpostOverlord/CaptainTyreth.lua new file mode 100755 index 000000000..7be523a1b --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/CaptainTyreth.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : CaptainTyreth.lua + Script Purpose : Captain Tyreth + Script Author : vo1d + Script Date : 10/12/2019 + Script Notes : WIP, Tyreth isn't functioning yet. +--]] + +require "SpawnScripts/Generic/DialogModule" + +-- Quest ID's +local TheFinalAssault = 367 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + -- Face the player + FaceTarget(NPC, Spawn) + + -- Create a conversation + Conversation = CreateConversation() + + -- Dialogue + AddConversationOption(Conversation, "That's me.", "dlg_2") + AddConversationOption(Conversation, "I need to be leaving.") + + -- Start conversation + StartConversation(Conversation, NPC, Spawn, "Hahaha! The attack has begun and the enemy shall fall! You must be " .. GetName(Spawn) .. ", here to take part in the festivities.") +end + +function dlg_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + Dialog.AddDialog("Ah, you were the one who coerced these sentries out of the area before the attack. Nicely done! It is time to complete our domination. The Militia are advancing and beginning to clear the area. It is time to strike, quickly!") + Dialog.AddVoiceover("voiceover/english/tutorial_revamp/captain_tyreth/tutorial_island02_evil_revamp/quests/citizenship/captaintyreth/captaintyreth002.mp3", 3182304037, 930301833) + Dialog.AddOption("What must I do?", "dlg_3") + + Dialog.Start() +end + +function dlg_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + Dialog.New(NPC, Spawn) + + SummonItem(Spawn, 48997, 1) + Dialog.AddDialog("Take this torch. Work your way in and set fire to two of the nearby tents. Others have begun the razing as well. If another's flame fails, make sure you finish the job. This island will soon be ours!") + Dialog.AddVoiceover("voiceover/english/tutorial_revamp/captain_tyreth/tutorial_island02_evil_revamp/quests/citizenship/captaintyreth/captaintyreth003.mp3", 3312554119, 4055641204) + Dialog.AddOption("I'll burn the tents of the Qeynosians.") + SetStepComplete(Spawn, TheFinalAssault, 1) + + Dialog.Start() +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/CharlesArker.lua b/Lua/SpawnScripts/OutpostOverlord/CharlesArker.lua new file mode 100755 index 000000000..6daac4c41 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/CharlesArker.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/CharlesArker.lua + Script Author : Cynnar + Script Date : 2018.10.14 07:10:58 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Release the mole rat.", "ReleaseRat") + AddConversationOption(conversation, "Let him be for now.") + StartDialogConversation(conversation, 1, NPC, Spawn, "This cute little guy would be perfect as bait to lure down the cliffdiver hawks.") +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/ChefGorga.lua b/Lua/SpawnScripts/OutpostOverlord/ChefGorga.lua new file mode 100755 index 000000000..24f133514 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/ChefGorga.lua @@ -0,0 +1,89 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/ChefGorga.lua + Script Purpose : Chef Gorga + Script Author : Scatman (Updated by Cynnar) + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local seaside_stew = 364 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 5 then + AddConversationOption(conversation, "What do you know about Charles Arker?", "CharlesArker") + end + + if HasCompletedQuest(Spawn, seaside_stew) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga008.mp3", "", "", 1246021503, 146092815, Spawn) + AddConversationOption(conversation, "Uh yeah, livers!") + StartConversation(conversation, NPC, Spawn, "Mmm, this stew is yums. Livers!") + elseif HasQuest(Spawn, seaside_stew) then + if GetQuestStep(Spawn, seaside_stew) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga001.mp3", "", "", 1172658624, 839529863, Spawn) + AddConversationOption(conversation, "I was actually sent here to see if you needed any help.", "NeededHelp") + AddConversationOption(conversation, "I'll come back.") + StartConversation(conversation, NPC, Spawn, "Need to wait for stew to be done, no firsties! Many Militia to feed, your mouth no bigger than the rest.") + elseif GetQuestStep(Spawn, seaside_stew) == 2 then + AddConversationOption(conversation, "Very well, I'll be back.") + StartConversation(conversation, NPC, Spawn, "Slice 'em, bash 'em, poke 'em! Gorga doesn't care how, just get me those bees for the stew! They're right over there, just past the barricades!") + elseif GetQuestStep(Spawn, seaside_stew) == 3 then + SetStepComplete(Spawn, seaside_stew, 3) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga005.mp3", "", "", 2763280533, 3085926405, Spawn) AddConversationOption(conversation, "Mmm, livers!") + StartConversation(conversation, NPC, Spawn, "Heeheehee! Toss 'em in the pot. The next yummies are the main pot filler, livers! Those elks are eatin' up all the eatin' plants anyways, so we kill two halflings with one stone. Bring back the elk livers when you're done.") + elseif GetQuestStep(Spawn, seaside_stew) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga006.mp3", "", "", 915023636, 1332699148, Spawn) + AddConversationOption(conversation, "Okay, livers!") + StartConversation(conversation, NPC, Spawn, "Livers! Kill the elk and take 'em for the pot. They eatin' up all the plants here in Seaside Glade, out past the barricades. Return when you get 'em.") + elseif GetQuestStep(Spawn, seaside_stew) == 5 then + SetStepComplete(Spawn, seaside_stew, 5) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga007.mp3", "", "", 96491852, 3557455520, Spawn) + AddConversationOption(conversation, "Back to Tayil!") + StartConversation(conversation, NPC, Spawn, "Heeheehee! Toss 'em in and smell the Gorga magic. The stew is done now! Head back to Tayil, she's waitin for ya.") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga008.mp3", "", "", 1246021503, 146092815, Spawn) + AddConversationOption(conversation, "Uh yeah, livers!") + StartConversation(conversation, NPC, Spawn, "Mmm, this stew is yums. Livers!") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga001.mp3", "", "", 1172658624, 839529863, Spawn) + AddConversationOption(conversation, "I'll come back.") + StartConversation(conversation, NPC, Spawn, "Need to wait for stew to be done, no firsties! Many Militia to feed, your mouth no bigger than the rest.") + end +end + +function NeededHelp(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga002.mp3", "", "", 3263091723, 2988730562, Spawn) + AddConversationOption(conversation, "So what are we making here?", "WhatAreWeMaking") + StartConversation(conversation, NPC, Spawn, "Ahh yes, " .. GetName(Spawn) .. ", Tayil said you were comin'. Good then, Gorga can stir the pot while you goes to collect more ingredients! Heeheehee!") +end + +function WhatAreWeMaking(NPC, Spawn) + SetStepComplete(Spawn, seaside_stew, 1) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/chef_gorga/tutorial_island02_evil_revamp/quests/citizenship/chefgorga/chefgorga003.mp3", "", "", 3487347185, 3172564119, Spawn) + AddConversationOption(conversation, "I'll get some bees.") + StartConversation(conversation, NPC, Spawn, "Seaside stew! Only a couple things we still needs to get. First is the buzzers, buggin' Gorga they are. Not sure how they taste, but less of 'em is better. Be sure to pluck out the wings slowly, the last buzz is the best buzz.") +end + +function CharlesArker(NPC, Spawn) + SetStepComplete(Spawn, 54, 5) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you. Good luck with your meal.") + StartConversation(conversation, NPC, Spawn, "Gorga not cook someone by that name. Not yet.") +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/CoercerZlith.lua b/Lua/SpawnScripts/OutpostOverlord/CoercerZlith.lua new file mode 100755 index 000000000..dc75d700a --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/CoercerZlith.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/CoercerZlith.lua + Script Purpose : Coercer Zlith + Script Author : Vo1d + Script Date : 2019.10.04 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local DisruptionForDistraction = 366 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, DisruptionForDistraction) then + if HasQuest(Spawn, DisruptionForDistraction) then + if GetQuestStep(Spawn, DisruptionForDistraction) == 1 then + SetStepComplete(Spawn, DisruptionForDistraction, 1) + elseif GetQuestStep(Spawn, DisruptionForDistraction) == 4 then + SetStepComplete(Spawn, DisruptionForDistraction, 4) + elseif GetQuestStep(Spawn, DisruptionForDistraction) == 6 then + SetStepComplete(Spawn, DisruptionForDistraction, 6) + elseif CanReceiveQuest(Spawn, DisruptionForDistraction) then + NotReady(NPC, Spawn) + end + end + end +end + +function NotReady(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/coercer_zlith/tutorial_island02_evil_revamp/quests/citizenship/coercerzlith/coercerzlith009.mp3", "", "", 2204153066, 1989322276, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "You are not yet ready to take on the tasks I will offer you. Return to Tayil N'Velex outside Sythor's Spire if you are unsure how to prepare yourself.") + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/Droog.lua b/Lua/SpawnScripts/OutpostOverlord/Droog.lua new file mode 100755 index 000000000..959f0bb5f --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Droog.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/Droog.lua + Script Purpose : Droog + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Upgrade your combat arts here!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/EbbTide.lua b/Lua/SpawnScripts/OutpostOverlord/EbbTide.lua new file mode 100755 index 000000000..22d95c0ef --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/EbbTide.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/EbbTide.lua + Script Purpose : Ebb Tide + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Got any goods for sale from your adventures?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Welcome to Ebb Tide's Alehouse.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/FalconerLithkeen.lua b/Lua/SpawnScripts/OutpostOverlord/FalconerLithkeen.lua new file mode 100755 index 000000000..b18d2799e --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/FalconerLithkeen.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/FalconerLithkeen.lua + Script Purpose : Falconer Lithkeen + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "Fly forth, my friends!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "To the sky!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Good boy, Dasher!", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Good girl, Swift!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/Geredo.lua b/Lua/SpawnScripts/OutpostOverlord/Geredo.lua new file mode 100755 index 000000000..3634139f0 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Geredo.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/Geredo.lua + Script Purpose : Geredo + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/geredo/boat_06p_tutorial02_fvo_002.mp3", "Thinking I should design a new mechanical boat. It would be perfect! Yes, perfect indeed!", "ponder", 2630458163, 1309095480, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/geredo/boat_06p_tutorial02_fvo_001.mp3", "Do you happen to have any mechanical leg extenders? I want to see the water.", "agree", 2902186099, 1357276764, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/GetheHuggs.lua b/Lua/SpawnScripts/OutpostOverlord/GetheHuggs.lua new file mode 100755 index 000000000..f7c305b0c --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/GetheHuggs.lua @@ -0,0 +1,70 @@ +--[[ + Script Name: GetheHuggs.lua + Script Purpose: Collections for evil island + Script Author: John Adams + Script Date: 2008.09.02 + Script Notes: Auto-Generated Conversation from PacketParser Data +--]] + +local GetheHuggs = 2780039 + +function spawn(NPC) + MovementLoopAddLocation(NPC, 5.65, -6.50, 208.26, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 0.71, -5.83, 198.18, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 10.66, -6.90, 200.55, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 18.65, -6.87, 194.36, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 26.80, -6.86, 187.05, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 31.08, -6.24, 197.45, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 9.11, -6.80, 206.29, 2, 10, "Gather") + + -- return to spawn point and hang out. + MovementLoopAddLocation(NPC, -6.18, -4.96, 218.46, 2, 0) + MovementLoopAddLocation(NPC, -5.91, -4.96, 218.24, 2, 30) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + +--[[ random greeting? + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) +--]] + + -- No Collections Completed + AddConversationOption(conversation, "I don't have any at the moment.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Hello there! If you have any collections that you've completed, I can take them off your hands and reward you for your time. I'm just crazy for collections!") + + -- Collection(s) to hand in + --AddConversationOption(conversation, "I have a collection for you.", "dlg_8_1") + --AddConversationOption(conversation, "I don't have any at the moment.") + --StartConversation(conversation, NPC, Spawn, "Hello there! If you have any collections that you've completed, I can take them off your hands and reward you for your time. I'm just crazy for collections!") + +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- no playflavor() + AddConversationOption(conversation, "Okay, bye!") + StartConversation(conversation, NPC, Spawn, "This is a magnificent find! Here, take this for all your hard work.") +end + +function Gather(NPC) + GatherSpawn = GetSpawn(NPC, GetheHuggs ) -- Get Gethe Huggs + SpawnSet(GatherSpawn, "visual_state", "2809") -- Start gathering + AddTimer(NPC, 5000, "stop_gathering") -- for 5 seconds, then stop +end + +function stop_gathering(NPC) + GatherSpawn = GetSpawn(NPC, GetheHuggs ) -- get Gethe Huggs + SpawnSet(GatherSpawn, "visual_state", "0") -- Stop her from gathering +end diff --git a/Lua/SpawnScripts/OutpostOverlord/Greshar.lua b/Lua/SpawnScripts/OutpostOverlord/Greshar.lua new file mode 100755 index 000000000..0758c3b2a --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Greshar.lua @@ -0,0 +1,29 @@ +--[[ + Spawn Template + Script Name: Greshar.lua + Script Purpose: Mender (evil) + Script Author: John Adams + Script Date: 2008.09.02 + Script Notes: Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks, I will do so.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". Menders like me repair your equipment after it gets damaged due to death. To learn more about repairs, speak to Trainer Vissa Sathliss nearby. I'll fix your gear for a small fee, but menders in Freeport won't be quite so generous!") +end + +function targeted(NPC, Spawn) + if GetDistance(Spawn, NPC) < 10 then + hailed(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/HelmsmanNyles.lua b/Lua/SpawnScripts/OutpostOverlord/HelmsmanNyles.lua new file mode 100755 index 000000000..4fe85c81f --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/HelmsmanNyles.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/HelmsmanNyles.lua + Script Purpose : Helmsman Nyles + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Crazy! What are you talking about?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Land! I see land!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/HoggaIrongut.lua b/Lua/SpawnScripts/OutpostOverlord/HoggaIrongut.lua new file mode 100755 index 000000000..0f3c236c4 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/HoggaIrongut.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/HoggaIrongut.lua + Script Purpose : Hogga Irongut + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Have you tried the Coagulated Surprise from the fishmonger? Good stuff!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1001.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Have an ale!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/Ingrid.lua b/Lua/SpawnScripts/OutpostOverlord/Ingrid.lua new file mode 100755 index 000000000..2a141c2f4 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Ingrid.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/Ingrid.lua + Script Purpose : Ingrid + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_007.mp3", "Yo ho ho and a bottle of rum!", "", 964088856, 3568852318, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_009.mp3", "I hate rats, every time we dock they get on board and eat our supplies.", "", 3636322414, 1973183674, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_008.mp3", "Don't you just love the sea?", "", 541733813, 1294072887, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/JonasRollings.lua b/Lua/SpawnScripts/OutpostOverlord/JonasRollings.lua new file mode 100755 index 000000000..a2fa942c2 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/JonasRollings.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/JonasRollings.lua + Script Purpose : Jonas Rollings + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Maybe I shouldn't have drank so much last night.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "One too many Coagulated Surprises last night is my guess.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/Kibbs.lua b/Lua/SpawnScripts/OutpostOverlord/Kibbs.lua new file mode 100755 index 000000000..2958bcc7c --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Kibbs.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/Kibbs.lua + Script Purpose : Kibbs + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Upgrade your spells here!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/KurgleFrogbane.lua b/Lua/SpawnScripts/OutpostOverlord/KurgleFrogbane.lua new file mode 100755 index 000000000..db6611a6a --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/KurgleFrogbane.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/KurgleFrogbane.lua + Script Purpose : Kurgle Frogbane + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "Smash him I will!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'll cover the walls with dis guy!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1032.mp3", "", "", 0, 0, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Chumpy swings like an elf!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/Laena.lua b/Lua/SpawnScripts/OutpostOverlord/Laena.lua new file mode 100755 index 000000000..166c0d2f5 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Laena.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/Laena.lua + Script Purpose : Laena + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function InRange(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "For the Queen!", "combat_enter", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Die, Freeport scum!", "threaten", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "To the gray fields with them!", "", 1689589577, 4560189, Spawn) + end +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/MurgLeechtongue.lua b/Lua/SpawnScripts/OutpostOverlord/MurgLeechtongue.lua new file mode 100755 index 000000000..1ecee1a0d --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/MurgLeechtongue.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/MurgLeechtongue.lua + Script Purpose : Murg Leechtongue + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Captain, they have cows! Lemme Kill!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Filthy elves!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/OolarOmafa.lua b/Lua/SpawnScripts/OutpostOverlord/OolarOmafa.lua new file mode 100755 index 000000000..de17e2a99 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/OolarOmafa.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/OolarOmafa.lua + Script Purpose : Oolar Omafa + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "By will of the Overlord!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "A guard with brains and bite. You'll definitely need me at some point.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/PrukSkullpound.lua b/Lua/SpawnScripts/OutpostOverlord/PrukSkullpound.lua new file mode 100755 index 000000000..8a2885fdb --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/PrukSkullpound.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/PrukSkullpound.lua + Script Purpose : Pruk Skullpound + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Burn the tents!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Bring em back! We'll pound em into the dirt.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/SarylScarscale.lua b/Lua/SpawnScripts/OutpostOverlord/SarylScarscale.lua new file mode 100755 index 000000000..407521de5 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/SarylScarscale.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/SarylScarscale.lua + Script Purpose : Saryl Scarscale + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "All the way back to the days of Cabilis, my family has provided goods to those in need.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1028.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "All you sseek can be found here!", "", 1689589577, 4560189, Spawn) + else + end + +end diff --git a/Lua/SpawnScripts/OutpostOverlord/SirsiRissar.lua b/Lua/SpawnScripts/OutpostOverlord/SirsiRissar.lua new file mode 100755 index 000000000..caf43d14e --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/SirsiRissar.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/SirsiRissar.lua + Script Purpose : Sirsi Rissar + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "There it was again!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1027.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I sssee a fin rissing up from the ruins over there!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/TayilNVelex.lua b/Lua/SpawnScripts/OutpostOverlord/TayilNVelex.lua new file mode 100755 index 000000000..0f26ab9fa --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TayilNVelex.lua @@ -0,0 +1,417 @@ +--[[ + Script Name : TayilNVelex.lua + Script Purpose : Spawnscript for Tayil N'Velex + Script Author : Scatman (Updated by Cynnar 2018.09.23 05.32.10) + Script Date : 2008.09.05 + Script Notes : +--]] + +-- Quest ID's +local WelcomeToNorrath = 362 +local TheArtOfCombat = 363 +local SeasideStew = 364 +local PreventativeMaintenance = 365 +local DisruptionForDistraction = 366 +local TheFinalAssault = 367 + +function spawn(NPC) + ProvidesQuest(NPC, TheArtOfCombat) + ProvidesQuest(NPC, SeasideStew) + ProvidesQuest(NPC, PreventativeMaintenance) + ProvidesQuest(NPC, DisruptionForDistraction) + ProvidesQuest(NPC, TheFinalAssault) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, TheArtOfCombat) then + if HasQuest(Spawn, TheArtOfCombat) then + ReadyToLearnAboutOutpost(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TheArtOfCombat) then + BeenExpectingYou(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, SeasideStew) then + if HasQuest(Spawn, SeasideStew) then + EnjoyHuntingWithChef(NPC, Spawn) + elseif CanReceiveQuest(Spawn, SeasideStew) then + IAmReady(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, PreventativeMaintenance) then + if HasQuest(Spawn, PreventativeMaintenance) then + WorkWithVamirSuccessfull(NPC, Spawn) + elseif CanReceiveQuest(Spawn, PreventativeMaintenance) then + ThankYouTayil(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, DisruptionForDistraction) then + if HasQuest(Spawn, DisruptionForDistraction) then + DisruptedMine(NPC, Spawn) + elseif CanReceiveQuest(Spawn, DisruptionForDistraction) then + DidNotReadNote(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, TheFinalAssault) then + if HasQuest(Spawn, DisruptionForDistraction) then + BraveryNoted(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TheFinalAssault)then + ReportToCaptain(NPC, Spawn) + end + end +end + +function BeenExpectingYou(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex001.mp3", "", "", 2948130929, 4294504666, Spawn) + AddConversationOption(conversation, "You were expecting me? Who are you?", "WhoAreYou") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "I should be going.") + StartConversation(conversation, NPC, Spawn, "Ah, there you are " .. GetName(Spawn) .. ". I have been expecting you. There is much work ahead of us in establishing Freeport's dominance over this island. There Overlord's troops have secured the output, but there is a growing nuisance on the other side of the island that must be addressed. That is where you come in.") +end + +function LeaveIsland(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex_leave000.mp3", "", "", 3045154578, 2506070034, Spawn) + AddConversationOption(conversation, "Where can I find Captain Varlos?", "WhereCaptainVarlos") + StartConversation(conversation, NPC, Spawn, "If you feel you are prepared then you are allowed to leave the outpost whenever you desire. To do so simply speak with Captain Varlos. We have a deal worked out with him and he will bring you to the grand city of Freeport.") +end + +function WhereCaptainVarlos(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex_leave001.mp3", "", "", 719992004, 84658304, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "The beach is just southeast of here. Captain Varlos' ship will be on the northern dock. He can be found on his ship.") +end + +function WhoAreYou(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex002.mp3", "", "", 2553820270, 1636531124, Spawn) + AddConversationOption(conversation, "Who is the Overlord?", "WhoIsOverlord") + AddConversationOption(conversation, "I'm ready to begin my adventures.", "ThanksForAdvice") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am Tayil N'Velex, attendant and confidante of the Overlord. I am here to ensure that our operation on this island is successful. You, on the other hand, will be assisting us with some field work to help prepare you for life as a citizen of Freeport.") +end + +function WhoIsOverlord(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex003.mp3", "", "", 416547700, 1925188764, Spawn) + AddConversationOption(conversation, "I will remember that. What can you tell me of Freeport?", "WhatIsFreeport") + AddConversationOption(conversation, "I'll hear more of this later.") + StartConversation(conversation, NPC, Spawn, "The Overlord is the fiercely courageous rule of Freeport. A statue of his glowing visage graces the pond in the center of the outpost. Though he is merciless to his enemies, he is generous to those who serve him. Pray you never do anything to fall from his grace, " .. GetName(Spawn) .. ".") +end + +function WhatIsFreeport(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex004.mp3", "", "", 255811438, 796501072, Spawn) + AddConversationOption(conversation, "What is Qeynos?", "WhatIsQeynos") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Freeport is the center of power and commerce on Norrath. The city sits on the eastern edge of the continent of D'Lere. This grand city shall be your home here on Norrath, should you prove yourself worthy. If not, you can cower and beg for shelter at the gates of Qeynos.") +end + +function WhatIsQeynos(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex005.mp3", "", "", 2390968770, 501699972, Spawn) + AddConversationOption(conversation, "Thank you for the advice, Tayil.", "ThanksForAdvice") + AddConversationOption(conversation, "I prefer to make up my own mind.") + StartConversation(conversation, NPC, Spawn, "The city of Qeynos is the enemy of Freeport. It is a weak land ruled by an incompetent queen, Antonia Bayle. I've had my share of battles with her and my pet kerra, I assure you. Qeynosians try to spread lies about the Overlord and portray him as some kind of power-mad tyrant. Don't believe their propaganda, " .. GetName(Spawn) .. "!") +end + +function ThanksForAdvice(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex006.mp3", "", "", 3631541151, 3425399137, Spawn) + AddConversationOption(conversation, "I pledge myself to Freeport.", "PledgeToFreeport") + AddConversationOption(conversation, "Not just yet.") + StartConversation(conversation, NPC, Spawn, "Remember to always keep the will of the Overlord foremost in your thoughts and you will go far. The city of Freeport is a power unrivaled on Norrath, no matter what you may hear from Qeynosian riffraff. You must pledge yourself to this power and become part of it. Do this and I will reward you handsomely.") +end + +function PledgeToFreeport(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- update WelcomeToNorrath Quest + if not HasCompletedQuest (Spawn, WelcomeToNorrath) then + SetStepComplete(Spawn, WelcomeToNorrath, 1) + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex007.mp3", "", "", 4165919735, 3979142709, Spawn) + AddConversationOption(conversation, "I am ready to begin.", "ReadyToBegin") + AddConversationOption(conversation, "I'll begin later.") + StartConversation(conversation, NPC, Spawn, "Excellent! There is indeed much potential in you. I think it is time to begin your training.") +end + +function ReadyToBegin(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex008.mp3", "", "", 1866217478, 1257770871, Spawn) + AddConversationOption(conversation, "I will speak with him.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "You must be strong if you wish to serve properly. Northwest of here you can find Trainer Darg Frostwind. Speak with him about combat training and do as he tells you.") +end + +function ReadyToLearnAboutOutpost(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, TheArtOfCombat) >= 1 and GetQuestStep(Spawn, TheArtOfCombat) <= 3 then + AddConversationOption(conversation, "I haven't completed my training yet, I'll return to Darg.") + elseif GetQuestStep(Spawn, TheArtOfCombat) == 4 then + AddConversationOption(conversation, "I am ready.", "IAmReady") + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex012.mp3", "", "", 780859497, 3478920233, Spawn) + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "Not just yet.") + StartConversation(conversation, NPC, Spawn, "So, " .. GetName(Spawn) .. ", are you ready to learn more about the outpost and perform your first services for the Overlord?") +end + +-- 1st QUEST DIALOG + + +----------------------------------------------------------------------------------------------------------------------------------------------- +-- 2nd QUEST DIALOG Chef Gorga +----------------------------------------------------------------------------------------------------------------------------------------------- + +function IAmReady(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, TheArtOfCombat) then + if GetQuestStep(Spawn, TheArtOfCombat) == 4 then + SetStepComplete(Spawn, TheArtOfCombat, 4) + end + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex013.mp3", "", "", 2559303107, 2971364705, Spawn) + AddConversationOption(conversation, "I'll keep that in mind. So who are the inhabitants?", "WhoInhabitants") + AddConversationOption(conversation, "We'll discuss this later.") + StartConversation(conversation, NPC, Spawn, "This outpost was recently established as a training ground for potential citizens of Freeport to hone their skills. Our first scouts on the island reported it as being uninhabited, perfect for our needs. It soon became clear that the initial reports were incorrect, and those scouts have been permanently reassigned to the bottom of the bay. Such is the price of failure.") +end + +function WhoInhabitants(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex014.mp3", "", "", 298813640, 3848290979, Spawn) + AddConversationOption(conversation, "So I should go wipe them out?", "WipeThemOut") + AddConversationOption(conversation, "That sounds like a lot of effort.") + StartConversation(conversation, NPC, Spawn, "The intruders are a sect of the Tunarian Alliance, a lowly order of vermin originating from Qeynos. As a true servant of the Overlord, your duty is to eliminate them. This should prove extremely useful in preparing you for the challenges that lie ahead after you leave the outpost.") +end + +function WipeThemOut(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex015.mp3", "", "", 907106950, 578099041, Spawn) + AddConversationOption(conversation, "I am ready.", "IAmReady2") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Not just yet, " .. GetName(Spawn) .. ". You will strike against those Qeynosian scum when the time is right. First we need to see if that weapon of yours is working! Are you ready for your first test?") +end + +function IAmReady2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex016.mp3", "", "", 727910371, 354103417, Spawn) + AddConversationOption(conversation, "I will go help Chef Gorga.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Go talk to Chef Gorga just past the west archway. She needs help gathering supplies to feed the members of the Freeport Militia who guard this outpost, which should provide a chance to test your combat skills. There is more to hunt on this island than just Qeynosians.") +end + +function HelpedGorgaGather(NPC, Spawn) + SetStepComplete(Spawn, SeasideStew, 6) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex018.mp3", "", "", 4113250414, 3675047452, Spawn) + AddConversationOption(conversation, "Thank you, Tayil.", "ThankYouTayil") + StartConversation(conversation, NPC, Spawn, "Gorga was impressed with your handiwork. I'm sure the outpost Militia guards will be pleased with her stew, though I can't stomach troll cooking myself. You show potential indeed, " .. GetName(Spawn) .. ". As promised, here is your reward.") +end + +function EnjoyHuntingWithChef(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, SeasideStew) >= 1 and GetQuestStep(Spawn, SeasideStew) <= 5 then + AddConversationOption(conversation, "I haven't finished with Gorga yet.") + elseif GetQuestStep(Spawn, SeasideStew) == 6 then + AddConversationOption(conversation, "I helped Gorga gather supplies.", "HelpedGorgaGather") + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex017.mp3", "", "", 1018943888, 25598510, Spawn) + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "I still have some more hunting to do.") + StartConversation(conversation, NPC, Spawn, "Did you enjoy your hunting in the Seaside Glad with Chef Gorga?") +end + +----------------------------------------------------------------------------------------------------------------------------------------------- +-- 3rd QUEST DIALOG - Assassin Vamir +----------------------------------------------------------------------------------------------------------------------------------------------- + +function ThankYouTayil(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex019.mp3", "", "", 3119184913, 1183036509, Spawn) + AddConversationOption(conversation, "I am ready for my next assignment.", "ReadyForNextAssignment") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "Not just yet.") + StartConversation(conversation, NPC, Spawn, "So, " .. GetName(Spawn) .. ", are you ready to prove your worth again?") +end + +function ReadyForNextAssignment(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex020.mp3", "", "", 712284535, 2640983070, Spawn) + AddConversationOption(conversation, "You're suggesting some kind of sinister plan?", "SinisterPlan") + AddConversationOption(conversation, "I can't really figure out what you mean right now.") + StartConversation(conversation, NPC, Spawn, "Good, now listen closely. Though a direct attack upon your enemy can be quite satisfying, there are often more subtle means of inflicting damage. Cut off the feet and the head is sure to follow, if you get my meaning.") +end + +function SinisterPlan(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex021.mp3", "", "", 1415726143, 629403231, Spawn) + AddConversationOption(conversation, "I will go speak to Assassin Vamir.", "OfferQuest3") + AddConversationOption(conversation, "I don't have time right now.") + StartConversation(conversation, NPC, Spawn, "Indeed, cunning and subtlety are often effective. And who is more cunning and subtle than an assassin? We've established a camp through the archway to the west, at the far end of Seaside Glade. Go and speak to Assassin Vamir, who has devised a plan to strike at the heart of the Tunarians.") +end + +function WorkWithVamirSuccessfull(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I have more to learn from him.") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "Hello again, " .. GetName(Spawn) .. ". Was your work with Assassin Vamir successful?") +end + +----------------------------------------------------------------------------------------------------------------------------------------------- +-- 4TH QUEST - Coercer Zlith +----------------------------------------------------------------------------------------------------------------------------------------------- + +function DidNotReadNote(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I am ready to serve my liege.", "ReadyToServe") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "Not just yet.") + StartConversation(conversation, NPC, Spawn, "Perhaps you did not read my note. Are you prepared to lend your services to the Overlord once again?") +end + +function ReadyToServe(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sounds good. How do I proceed?", "OfferQuest4") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "We have discovered that the Tunarian Alliance's main source of income is from a mine in the Wilderwood. The mine is the perfect setting to employ our next strategy for conquering the island: distraction. By causing a disruption at the mine, it will allow us to flank the Qeynosians from the opposite side.") +end + +function DisruptedMine(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I leave the Island?", "LeaveIsland") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you succeeded in disrupting Qeynosian activities at the mine?") +end + +----------------------------------------------------------------------------------------------------------------------------------------------- +-- 5TH QUEST +----------------------------------------------------------------------------------------------------------------------------------------------- + +function ResourcesAreDwindling(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I am ready, Tayil.", "ReadyQuest5") + AddConversationOption(conversation, "How do I leave the Island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "The Tunarian Alliance's resources are dwindling and their forces are focused on defending the mine. The time has come to strike the final blow. Are you prepared to face your greatest challenge so far?") +end + +function ReadyQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "North of Cliffdiver Canyon, then east. Got it.", "NorthThenEast") + StartConversation(conversation, NPC, Spawn, "The Militia has pushed through the Tunarian Alliance's line into the Valley of Discipline, they area they use to train their animals. Our forces have set up a forward camp in an alcove located in the eastern portion of the valley near the archway leading to the falls.") +end + +function NorthThenEast(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will speak to Captain Tyreth.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "The Militia is using this position as our point of attack. Go to the camp and seek out Captain Tyreth, the leader of the forward operation. He will direct your efforts in this final phase of the assault. We will drive out the Tunarian Alliance and take their treasures as our own!") +end + +function ReportToCaptain(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will go speak to Captain Tyreth.") + AddConversationOption(conversation, "How do I leave the Island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "Report to Captain Tyreth at the Militia camp in the Valley of Discipline. He can be found in an alcove located in the eastern part of the valley near the archway leading to the falls. We must make our final stand against the Tunarians!") +end + +function BraveryNoted(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex033.mp3", "", "", 2106485870, 4220225925, Spawn) + AddConversationOption(conversation, "I am honored to have served the Overlord.", "dlg_8_1") + AddConversationOption(conversation, "How do I leave the island?") + StartConversation(conversation, NPC, Spawn, "Your bravery has been noted, young one. The Tunarian Circle of Elders was defeated and their treasure is ours. The Militia troops will remain here to clear out the remaining Qeynosians, but they present no danger to us.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tayil_n_velex/tutorial_island02_evil_revamp/quests/citizenship/tayilnvelex/tayilnvelex034.mp3", "", "", 1646478663, 778919284, Spawn) + AddConversationOption(conversation, "Thank you, Tayil.") + StartConversation(conversation, NPC, Spawn, "It was my pleasure to fight beside you. I have no doubt that you will be well received in Freeport. When you are ready to leave the outpost and venture to our great city, speak with Captain Varlos on the deck of the Far Journey. His ship is waiting on the dock through the south archway. Farewell.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, TheArtOfCombat) +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, SeasideStew) +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, PreventativeMaintenance) +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, DisruptionForDistraction) +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, TheFinalAssault) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/TheGreatHawk.lua b/Lua/SpawnScripts/OutpostOverlord/TheGreatHawk.lua new file mode 100755 index 000000000..e1bd916b4 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TheGreatHawk.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TheGreatHawk.lua + Script Author : Cynnar + Script Date : 2017.01.28 02:01:19 + Script Purpose : + : +--]] + +function spawn(NPC) +MovementLoopAddLocation(NPC, 99.76, 30.0556, -156.76, 2, 0) +MovementLoopAddLocation(NPC, 88.37, 30.0556, -167.49, 2, 0) +MovementLoopAddLocation(NPC, 79.9, 30.0556, -185.55, 2, 0) +MovementLoopAddLocation(NPC, 96.77, 30.0556, -201.8, 2, 0) +MovementLoopAddLocation(NPC, 145.48, 30.0556, -207.89, 2, 0) +MovementLoopAddLocation(NPC, 193.69, 30.0556, -196.3, 2, 0) +MovementLoopAddLocation(NPC, 237.29, 30.0556, -170.62, 2, 0) +MovementLoopAddLocation(NPC, 227.4, 30.0556, -125.1, 2, 0) +MovementLoopAddLocation(NPC, 204.14, 30.0556, -113.76, 2, 0) +MovementLoopAddLocation(NPC, 159.52, 30.0556, -125.28, 2, 0) +MovementLoopAddLocation(NPC, 128, 30.0556, -133.993, 2, 0) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerAnnaWinston.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerAnnaWinston.lua new file mode 100755 index 000000000..89b015332 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerAnnaWinston.lua @@ -0,0 +1,174 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerAnnaWinston.lua + Script Purpose : Trainer Anna Winston + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil001.mp3", "", "", 3826694129, 553189793, Spawn) + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_17_1") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "You seem to have potential, adventurer. I think you shall make a great champion of the Overlord some day. As you begin your training here at the Outpost, it is important that you learn how to gauge the capabilities of your adversary.") +end + +function dlg_17_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil002.mp3", "", "", 4184288425, 582050840, Spawn) + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_17_2") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") +end + +function dlg_17_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil003.mp3", "", "", 3153490829, 2957467491, Spawn) + AddConversationOption(conversation, "How do I target an opponent?", "dlg_17_3") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") +end + +function dlg_17_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil004.mp3", "", "", 3804622316, 716418387, Spawn) + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_17_4") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") +end + +function dlg_17_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil005.mp3", "", "", 1876992668, 3587528446, Spawn) + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_17_5") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") +end + +function dlg_17_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil006.mp3", "", "", 3654063813, 804080382, Spawn) + AddConversationOption(conversation, "What does the level indicate?", "dlg_17_6") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.") +end + +function dlg_17_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil007.mp3", "", "", 1614821790, 2742028941, Spawn) + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_17_7") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") +end + +function dlg_17_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil008.mp3", "", "", 3345285161, 1595199883, Spawn) + AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_17_8") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "You gain more experience for defeating higher-level opponents, but they will be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") +end + +function dlg_17_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil009.mp3", "", "", 2978922911, 137803014, Spawn) + AddConversationOption(conversation, "What are the colors?", "dlg_17_9") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "The color of the opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should try fighting a target. The more danger its color indicates, the greater the threat it represents.") +end + +function dlg_17_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil010.mp3", "", "", 962673165, 2603707279, Spawn) + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_17_10") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") +end + +function dlg_17_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil011.mp3", "", "", 2405729502, 4006280510, Spawn) + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_17_11") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") +end + +function dlg_17_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil012.mp3", "", "", 1405338343, 2444664063, Spawn) + AddConversationOption(conversation, "What do up arrows mean?", "dlg_17_12") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows mean it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") +end + +function dlg_17_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_17_13") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") +end + +function dlg_17_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil014.mp3", "", "", 119965585, 995426469, Spawn) + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_17_14") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") +end + +function dlg_17_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil015.mp3", "", "", 3757452020, 2618123784, Spawn) + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_17_15") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") +end + +function dlg_17_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_anna_winston/tutorial_island02_evil_revamp/trainers/con_system/con_evil016.mp3", "", "", 1301376651, 859276859, Spawn) + AddConversationOption(conversation, "Thank you, instructor.") + StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you. Learn well and you will indeed become the great champion I know you can be!") +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerArthurMerrin.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerArthurMerrin.lua new file mode 100755 index 000000000..1b8177e23 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerArthurMerrin.lua @@ -0,0 +1,88 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerArthurMerrin.lua + Script Purpose : Trainer Arthur Merrin + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How does one take up crafting?", "dlg_11_1") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Greetings, brave hero of the Overlord! It is my responsibility to explain how crafting and tradeskills can bring prosperity to the kingdom of Freeport. I hope I can encourage your participation in helping our city flourish. We can beat those hapless Qeynosians through our superior commerce!") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Where does one perform crafting?", "dlg_11_2") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Crafting, or tradeskilling as some call it, involves taking ingredients harvested or obtained in the world, mixing them with the proper fuel, and carefully following a specific recipe to create something new and useful for yourself or your fellow citizens. Just as you can gain levels by adventuring, you have a separate Artisan level that increases as you earn experience crafting.") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can I make a variety of items?", "dlg_11_3") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Crafting takes place in workshops, just like the one we have here on the island. Inside this doorway you will find the fuel and devices you'll need to build, cook, scribe, sew, and create all manner of useful goods. When you arrive in our grand city, you will find the entrances to workshops scattered throughout your home village.") +end + +function dlg_11_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What could I specialize in?", "dlg_11_4") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "As you practice your craft you will learn to make a variety of products, but as you advance in your profession you will specialize in certain types of goods. As you acquire new recipe books, you will learn new types of items you can make.") +end + +function dlg_11_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Where do I learn recipes?", "dlg_11_5") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "You might choose to become a Provisioner that makes food and drink, a Woodworker that crafts totems and staves, an Armorer that forges plate and chain armor, a Sage that scribes potent spells for mages and priests, or one of many other noble professions.") +end + +function dlg_11_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do with the items I make?", "dlg_11_6") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Basic recipes can be bought for a small fee from a merchant near the workshops in Freeport. Rare recipes can be obtained by adventuring in the wilds of Norrath. You may want to trade goods or services with other adventurers and artisans to obtain such valuable recipes. You can view your recipe book by pressing the N key. ") +end + +function dlg_11_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Do you have any further advice?", "dlg_11_7") + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "You can either use the items yourself or make a tidy profit by selling them to others. A skilled artisan is always in demand for the goods they provide, so learn your craft well and you may build a fortune that others in Freeport can only envy!") +end + +function dlg_11_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- give tradeskill item(s) here + AddConversationOption(conversation, "Thank you for the guidance.", "dlg_11_8") + StartConversation(conversation, NPC, Spawn, "Here is a handbook that will provide you with some basic reference material to start with. Once you reach Freeport, you will find a tradeskill tutor within your local crafting workshop who can teach you more about crafting in further detail.") +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerCorxKnickknack.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerCorxKnickknack.lua new file mode 100755 index 000000000..fc3df0a8a --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerCorxKnickknack.lua @@ -0,0 +1,153 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerCorxKnickknack.lua + Script Purpose : Trainer Corx Knickknack + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,3) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_" .. choice .. "_1006.mp3", "", "", 0, 0, Spawn) + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 7 then + AddConversationOption(conversation, "Do you know Charles Arker?", "dlg_42_1") + end + + AddConversationOption(conversation, "Tell me about items and equipment.", "dlg_7_1") + AddConversationOption(conversation, "Tell me about my inventory.", "dlg_7_11") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Good day," .. GetName(Spawn) .. ". I've been stationed here at the outpost to teach the Overlord's newest recruits about equipment and inventory space. Good equipment is one of the most important aspects of any adventurer!") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do with the treasures I earn while adventuring?", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Norrath is full of wealth and treasures for brave heroes like you. Sometimes the opponents you defeat in battle leave behind treasure chests with valuable loot. You can also buy items from other players, craft them as an artisan, or be awarded items for completing quests.") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the item information tell me?", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Some items you obtain can be equipped on your person. If you find weapons, armor, jewelry, or certain other goodies, you may be able to use them. To look at an item and determine if you can use it, move your mouse pointer over the item.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are things like attribute bonuses important?", "dlg_7_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "For items that can be equipped, such as weapons and armor, mousing over it tells you which professions can use the item and at what level it can be equipped. You'll also see any benefits, such as attribute bonuses and resists, that the equipment provides. Learn about attributes by talking to Trainer Nogg Dreadscar.") +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can I tell which of two weapons is better?", "dlg_7_5") + StartConversation(conversation, NPC, Spawn, "A wise adventurer is always trying to improve his or her equipment. Whenever you see gear that provides an overall greater benefit than what you have, that item is an upgrade for you.") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can I tell which of two pieces of armor is better?", "dlg_7_6") + StartConversation(conversation, NPC, Spawn, "Weapons have a Damage Rating that shows the relative damage you can do with them. A higher Damage Rating is always better. Be sure you are comparing weapons of the same type, such as a two-handed weapon with another two-hander, or one dual-wield weapon with another.") +end + +function dlg_7_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What about scouts and priests?", "dlg_7_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function dlg_7_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do I do with items I can't use?", "dlg_7_8") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Scouts and priests need varying amounts of protection depending on how they play. If they find themselves at the forefront of battle, protection becomes very important. If they stay out of harms way, attribute bonuses may be more valuable.") +end + +function dlg_7_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why are some items marked 'No Value' or 'No Trade'?", "dlg_7_9") + StartConversation(conversation, NPC, Spawn, "An item can be sold to a non-player merchant for cash unless it has the 'No Value' flag on it. Items can be sold or traded to another player unless it has the 'No Trade' flag. If an item says it is 'Lore,' you can only have one of them on your character at a time.") +end + +function dlg_7_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does it mean when an item says it is 'Attuneable'?", "dlg_7_10") + StartConversation(conversation, NPC, Spawn, "Some items are marked 'No Value' because they are easy to obtain, such as harvested goods. You have to work to earn wealth," .. GetName(Spawn) .. ". Items are marked 'No Trade' in order to ensure that you earn them yourself, such as defeating a very tough monster or completing a long quest.") +end + +function dlg_7_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I manage my inventory?", "dlg_7_11") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "If an item is marked 'Attuneable,' you must attune it to yourself before it provides any benefits. You'll notice a message on screen when you are wearing an item that must be attuned. To attune it, right-click on the item and select 'Attune.' Once attuned, that item can no longer be traded or sold to another player.") +end + +function dlg_7_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can I put bags inside of bags?", "dlg_7_12") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Press the I key to view your inventory. Beneath your portrait are six slots that can hold items. You can place bags or other containers in those slots, which will give you even more storage space. Press the B key to open all your bags at once.") +end + +function dlg_7_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + + AddConversationOption(conversation, "So one item takes up one bag slot?", "dlg_7_13") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function dlg_7_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about items and equipment.", "dlg_7_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Certain items, such as ammunition or harvested resources, can be stacked up to 200 at a time, depending on the item. Many goods, such as armor and clothing, cannot be stacked at all.") +end + + +-- Charles Arker +function dlg_42_1(NPC, Spawn) + SetStepComplete(Spawn, 54, 7) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks, I will check back with you.") + StartConversation(conversation, NPC, Spawn, "Sorry, never met that person. You should see me about some training, though.") +end diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerDargFrostwind.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerDargFrostwind.lua new file mode 100755 index 000000000..7a6d160ef --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerDargFrostwind.lua @@ -0,0 +1,327 @@ +--[[ + Script Name : Trainer Darg Frostwind.lua + Script Purpose : Combat Trainer on Outpost of the Overlord + Script Author : Scatman (Updated by Cynnar 2018.09.23 11.32.10) + Script Date : 2008.09.07 + Script Notes : +--]] + +--Quest ID's +local TheArtOfCombat = 363 + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 3 then + AddConversationOption(conversation, "Do you know anyone named Charles Arker? He's a very famous hero.", "CharlesArker") + end + + if HasCompletedQuest(Spawn, TheArtOfCombat) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind001.mp3", "", "", 4099559600, 3648787893, Spawn) + AddConversationOption(conversation, "What can you teach me about combat?", "LearnAboutCombat") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ". I've been stationed here at the outpost to teach new recruits the finer points of combat. After all, it's our duty to honor the Overlord by achieving legendary victories in his glorious name.") + + elseif HasQuest(Spawn, TheArtOfCombat) and GetQuestStep(Spawn, TheArtOfCombat) < 4 then + if GetQuestStep(Spawn, TheArtOfCombat) == 1 then + -- on the first step + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind001.mp3", "", "", 4099559600, 3648787893, Spawn) + AddConversationOption(conversation, "What can you teach me about combat?", "LearnAboutCombat") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ". I've been stationed here at the outpost to teach new recruits the finer points of combat. After all, it's our duty to honor the Overlord by achieving legendary victories in his glorious name.") + else + if GetQuestStep(Spawn, TheArtOfCombat) == 3 then + AddConversationOption(conversation, "I defeated one of the sparring partners.", "Victorious") + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind_initial001.mp3", "", "", 3438807645, 3037995135, Spawn) + AddConversationOption(conversation, "Not yet, but I will soon.") + StartConversation(conversation, NPC, Spawn, "Have you defeated the sparring partner yet?") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind001.mp3", "", "", 4099559600, 3648787893, Spawn) + AddConversationOption(conversation, "What can you teach me about combat?", "LearnAboutCombat") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ". I've been stationed here at the outpost to teach new recruits the finer points of combat. After all, it's our duty to honor the Overlord by achieving legendary victories in his glorious name.") + end +end + +function Victorious(NPC, Spawn) + FaceTarget(NPC, Spawn) + SetStepComplete(Spawn, TheArtOfCombat, 3) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind_quest001.mp3", "", "", 86781152, 1169988088, Spawn) + AddConversationOption(conversation, "Is there anything else I can do?", "ReturnToTayil") + StartConversation(conversation, NPC, Spawn, "Good. The stronger you are the more use you are to us.") +end + +function ReturnToTayil(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind_quest002.mp3", "", "", 1230472892, 2272326902, Spawn) + AddConversationOption(conversation, "I will go speak with her.") + StartConversation(conversation, NPC, Spawn, "I'm sure of it! Go speak with Tayil N'Velex, she is just south of Sythor's Spire.") +end + +function LearnAboutCombat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind_quest000.mp3", "", "", 2841640734, 3529617772, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "ChallengeFoe") + if HasQuest(Spawn, TheArtOfCombat) then + if GetQuestStep(Spawn, TheArtOfCombat) == 1 then + SetStepComplete(Spawn, TheArtOfCombat, 1) + end + + AddConversationOption(conversation, "I will return victorious!") + + end + StartConversation(conversation, NPC, Spawn, "Very well. The nearby sparring partners to my left are all looking to fight. They may hurt you, but they won't kill you. Return to me once you've bested one of them in combat.") +end + +function ChallengeFoe(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind003.mp3", "", "", 351947717, 288851730, Spawn) + AddConversationOption(conversation, "How do I begin the battle?", "BeginBattle") + StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.") +end + +function BeginBattle(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind004.mp3", "", "", 898388945, 3212674311, Spawn) + AddConversationOption(conversation, "So I can fight anyone or anything I want?", "FightAnything") + StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.") +end + +function FightAnything(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind005.mp3", "", "", 316074774, 2036579965, Spawn) + AddConversationOption(conversation, "Tell me about melee combat.", "MeleeCombat") + AddConversationOption(conversation, "Tell me about ranged combat.", "RangeCombat") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "CombatRewards") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "AspectsOfCombat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help or give you quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.") +end + +function MeleeCombat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind006.mp3", "", "", 589533624, 3601190139, Spawn) + AddConversationOption(conversation, "What classes specialize in melee combat?", "MeleeClasses") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function MeleeClasses(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind007.mp3", "", "", 2775277419, 241586674, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "BeginBattle") + AddConversationOption(conversation, "Tell me about ranged combat.", "RangeCombat") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "CombatRewards") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "AspectsOfCombat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Monks, and Paladins stand at the front lines of battle facing the enemy. Crafty scouts such as Swashbucklers, Rangers, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function RangeCombat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind008.mp3", "", "", 2757586190, 3183393393, Spawn) + AddConversationOption(conversation, "How do I launch a ranged attack?", "BeginRangedCombat") + StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.") +end + +function BeginRangedCombat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind009.mp3", "", "", 714558264, 1505806898, Spawn) + AddConversationOption(conversation, "What classes specialize in ranged combat?", "RangeClasses") + StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.") +end + +function RangeClasses(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind010.mp3", "", "", 3793580571, 76138183, Spawn) + AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "SpellsOrArtsAtDistance") + StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Swashbucklers, Troubadors, Dirges, and particularly Rangers specialize in ranged physical attacks. Mages, priests, and paladins have spells that do damage to their foes from a distance.") +end + +function SpellsOrArtsAtDistance(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind011.mp3", "", "", 836156120, 3927966266, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "BeginFight") + AddConversationOption(conversation, "Tell me about melee combat.", "MeleeCombat") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "CombatRewards") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "AspectsOfCombat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.") +end + +function CombatRewards(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind012.mp3", "", "", 3227230541, 1094360763, Spawn) + AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?", "WorthyOpponent") + StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.") +end + +function WorthyOpponent(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind013.mp3", "", "", 4205213467, 4000330517, Spawn) + AddConversationOption(conversation, "Are certain types of targets more rewarding than others?", "MoreRewarding") + StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it. Talk to Trainer Anna Winston for more information on evaluating your opponents.") +end + +function MoreRewarding(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind014.mp3", "", "", 2594073574, 99097516, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "BeginFight") + AddConversationOption(conversation, "Tell me about melee combat.", "MeleeCombat") + AddConversationOption(conversation, "Tell me about ranged combat.", "RangeCombat") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "AspectsOfCombat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.") +end + +function AspectsOfCombat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind015.mp3", "", "", 1380380758, 346612034, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "RightOpponent") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "KnowSurroundings") + AddConversationOption(conversation, "Tell me about using my abilities.", "UsingAbilities") + AddConversationOption(conversation, "Teach me the basics of combat.", "CombatBasics") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You'll learn many advanced combat techniques over time. There's no substitute for experience," .. GetName(Spawn) .. ". I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.") +end + +function RightOpponent(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind016.mp3", "", "", 4103736528, 1424079812, Spawn) + AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "WeakStrongOpponent") + StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.") +end + +function WeakStrongOpponent(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind017.mp3", "", "", 1757690835, 3459787443, Spawn) + AddConversationOption(conversation, "What resources should I be keeping an eye on?", "WatchResources") + StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names. Talk to Trainer Marla Gilliam for more information on evaluating your opponents.") +end + +function WatchResources(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind018.mp3", "", "", 3585763044, 1432114558, Spawn) + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "KnowSurroundings") + AddConversationOption(conversation, "Tell me about using my abilities.", "UsingAbilities") + AddConversationOption(conversation, "Teach me the basics of combat.", "CombatBasics") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.") +end + +function KnowSurroundings(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind019.mp3", "", "", 1548792480, 2310924503, Spawn) + AddConversationOption(conversation, "Anything else I should watch out for?", "AnythingElse") + StartConversation(conversation, NPC, Spawn, "Keeping your surroundings in mind is crucial to victory. Fighting in areas with lots of aggressive creatures is a bad idea, because they won't hesitate to gang up on you.") +end + +function AnythingElse(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind020.mp3", "", "", 1299871364, 2128759102, Spawn) + AddConversationOption(conversation, "Any other tips?", "OtherTips") + StartConversation(conversation, NPC, Spawn, "Staying too long on the exact spot where you just defeated a foe can be dangerous. Another enemy is likely to show up there soon after, which can be an unpleasant surprise if you're already in another battle.") +end + +function OtherTips(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind021.mp3", "", "", 1741681732, 1086303848, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "RightOpponent") + AddConversationOption(conversation, "Tell me about using my abilities.", "UsingAbilities") + AddConversationOption(conversation, "Teach me the basics of combat.", "CombatBasics") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You should be aware of what's going on around you. Using your mouse wheel to scroll into third person and holding down the left mouse button allows you to move the camera around your character. It's a good idea to do this when fighting in dangerous areas to make sure nothing sneaks up on you.") +end + +function UsingAbilities(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind022.mp3", "", "", 16477562, 1573877371, Spawn) + AddConversationOption(conversation, "What do you mean?", "ExplainFurther") + StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you prepare well and are active during combat. You should be using every spell or combat art that has a positive effect on your chances to win.") +end + +function ExplainFurther(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind023.mp3", "", "", 771045837, 1953428673, Spawn) + AddConversationOption(conversation, "What about during battle?", "AbilitiesDuringBattle") + StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs', so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.") +end + +function AbilitiesDuringBattle(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind024.mp3", "", "", 2163337564, 124850201, Spawn) + AddConversationOption(conversation, "What else should I know about spells and arts?", "MoreSpellsAndArts") + StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select \"Examine\" to see details on their effects.") +end + +function MoreSpellsAndArts(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind025.mp3", "", "", 244808971, 2377115174, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "RightOpponent") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "KnowSurroundings") + AddConversationOption(conversation, "Teach me the basics of combat.", "CombatBasics") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Sythor the All-Seeing in the tower at the center of the outpost.") +end + +-- Charles Arker +function CharlesArker(NPC, Spawn) + SetStepComplete(Spawn, 54, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_darg_frostwind/tutorial_island02_evil_revamp/trainers/combat/darg_frostwind026.mp3", "", "", 582138351, 1217482106, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "I've trained the greatest champions on this island. I've never heard of anyone by that name.") +end diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerJaylaSurfrider.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerJaylaSurfrider.lua new file mode 100755 index 000000000..d3b420337 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerJaylaSurfrider.lua @@ -0,0 +1,122 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerJaylaSurfrider.lua + Script Purpose : Trainer Jayla Surfrider + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,3) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_" .. choice .. "_1021.mp3", "", "", 0, 0, Spawn) + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 2 then + AddConversationOption(conversation, "Do you know a man called Charles Arker?", "dlg_37_1") + end + + AddConversationOption(conversation, "What can cause my death? ", "dlg_3_1") + AddConversationOption(conversation, "I prefer to talk about this another time.") + StartConversation(conversation, NPC, Spawn, "Even the mightiest hero of the Overlord will meet an untimely end on occasion. Let me teach you the consequences of death and how you can recover properly.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How will I know when I'm going to die?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there, XXXXX.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why green?", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "Just keep an eye on your health bar, the green line located beneath your name in the upper left of your screen. At least...you hope it's green.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happens then?", "dlg_3_4") + AddConversationOption(conversation, "You're a morbid person. I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Green means you're healthy. As your health diminishes, the bar turns yellow, then orange, and finally red. If the bar is empty, you die. You pay the debt which cancels all others, if you get my meaning.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So death is not the end?", "dlg_3_5") + StartConversation(conversation, NPC, Spawn, "Your spirit lays trapped in your fallen body, unable to move. At this point, you have a choice: wait for a nearby ally to revive you, or choose a location from the window in the center of your screen at which to reappear. In some cases you'll have a single choice, in others multiple choices.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the consequences?", "dlg_3_6") + StartConversation(conversation, NPC, Spawn, "Fortunately for all of us, death in Norrath is a temporary thing. If another adventurer revives you, you reappear at the spot of your death. If you choose a location to revive, you will appear at that spot. There are consequences to death, however.") +end + +function dlg_3_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is experience debt?", "dlg_3_7") + AddConversationOption(conversation, "I think I've learned enough for now. Cheer up!") + StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more" .. GetName(Spawn) .. ". Second, you suffer a revive sickness that lowers your abilities for a short time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") +end + +function dlg_3_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is revive sickness like?", "dlg_3_8") + StartConversation(conversation, NPC, Spawn, "Experience debt is indicated by a red line on your" .. GetName(Spawn) .. ". bar. As you earn experience going forward, part of your" .. GetName(Spawn) .. ". will go toward paying off your debt while the rest will continue to advance you toward your next level. Mousing over your" .. GetName(Spawn) .. ". bar also tells how much debt you have.") +end + +function dlg_3_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the results of item damage?", "dlg_3_9") + StartConversation(conversation, NPC, Spawn, "You'll see an icon for revive sickness in your spell effects window. Mousing over the icon will tell you how long it will remain. The type of sickness you have depends on how you were revived, but no matter what there will be a negative effect. Don't worry, it passes soon enough.") +end + +function dlg_3_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do about item damage?", "dlg_3_10") + StartConversation(conversation, NPC, Spawn, "Your equipped items usually take about 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, XXXXX!") +end + +function dlg_3_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for your enlightening yet depressing advice.") + StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability. Speak to Trainer Vissa Sathliss to learn more about repairing your gear. Should your equipment take damage here at the outpost, Mender Greshar at the forge can make repairs for you.") +end + +-- Charles Arker quest from Field Investigator +function dlg_37_1(NPC, Spawn) + SetStepComplete(Spawn, 54, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Not yet. Thank you, though.") + StartConversation(conversation, NPC, Spawn, "Sorry, never heard of him. Did he die recently?") +end diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerKashaYitski.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerKashaYitski.lua new file mode 100755 index 000000000..a6bf32970 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerKashaYitski.lua @@ -0,0 +1,159 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerKashaYitski.lua + Script Purpose : Trainer Kasha Yitski + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1031.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are Heroic Opportunities?", "dlg_18_1") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Come closer, adventurer. Ah yes, I can see it in your eyes: the desire to best your foes in glorious battle! Well, lucky for you I have knowledge that can aid you in your quest. If you pay close attention, I can teach you how to use a powerful technique called Heroic Opportunities.") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are Heroic Opportunities complicated?", "dlg_18_2") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Beginning at level 5, Heroic Opportunities can be triggered in combat. They allow both lone adventurers and groups of allies to combine their attacks into a series of spells or combat arts performed in a specific order. When successful, Heroic Opportunities give beneficial effects such as extra attacks against your foes or beneficial magic to heal or enhance your abilities.") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So how does a Heroic Opportunity arise?", "dlg_18_3") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Rest assured, someone of your considerable skills in battle will find them easy! Once you start using them, you'll wonder how you ever got along without them.") +end + +function dlg_18_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, that does sound easy. How do I begin a Heroic Opportunity?", "dlg_18_4") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Let me tell you the short and simple version first so that you can see how easy Heroic Opportunities are to use. All you need to do is use your ability that triggers the Heroic Opportunity, then use the spells or combat arts that are blinking on your hotbar or in your Knowledge Book. Easy, isn't it?") +end + +function dlg_18_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can I trigger a Starter Chain whenever I want?", "dlg_18_5") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities have two parts called the Starter Chain and the Combat Wheel. At level 5, every adventure class gains an ability that triggers a Starter Chain: Fighting Chance, Divine Providence, Arcane Augur, or Lucky Break. Open your Knowledge Book by pressing K and click the Abilities tab to see it. You can drag its icon to your hotbar to use it.") +end + +function dlg_18_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happens when I trigger a Starter Chain?", "dlg_18_6") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Starter Chains can only be triggered while in battle with an enemy. After all, Heroic Opportunities are all about becoming great in combat! When you or an ally triggers a Starter Chain, you will see it appear in the corner of your screen.") +end + +function dlg_18_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are Heroic Opportunities only usable in groups?", "dlg_18_7") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Once a Starter Chain is initiated, it shows different ability icons flashing on the screen. A Starter Chain will generally display four different icons that indicate which spells or combat arts advance the Heroic Opportunity to the next stage. Icons will be blue, yellow, red, or green, depending on which class has the ability.") +end + +function dlg_18_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I know what I should do to advance the Starter Chain?", "dlg_18_8") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities can be used alone or in groups. If you fight alone you will have a limited number of ways to advance the Starter Chain, but if you are in a group made up of different classes then you will be able to advance the Starter Chain in different ways to unleash a variety of Heroic Opportunities.") +end + +function dlg_18_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Use the spell or art that is blinking. That's all there is to it?", "dlg_18_9") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Any spells or combat arts that can advance the Heroic Opportunity will flash on your hotbar and in your Knowledge Book. You have 10 seconds to complete the Starter Chain and advance to the Combat Wheel. See, it's easy: just use the spell or art that blinks!") +end + +function dlg_18_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why does it trigger one of three?", "dlg_18_10") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "It's quite simple. After you've advanced the Starter Chain, the bright and colorful Combat Wheel appears. The Combat Wheel shows a series of icons and displays the name of the Heroic Opportunity you have triggered. A Starter Chain will initiate one of three different Heroic Opportunities.") +end + +function dlg_18_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the Combat Wheel tell me?", "dlg_18_11") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "There are three potential Heroic Opportunities: common, uncommon, and rare. Each provides a different benefit. Though even the common ones are valuable, the rare event can sometimes turn the tide of battle in your favor!") +end + +function dlg_18_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can I tell the difference?", "dlg_18_12") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "As with the Starter Chain, the Combat Wheel indicates which spells or arts must be performed to advance and eventually complete the heroic event. Sometimes these spells or abilities must be performed in a particular order. Other times there is no order.") +end + +function dlg_18_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How long do I have to complete the Heroic Opportunity?", "dlg_18_13") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "In the very center of the Wheel, you'll see either a clockwise-pointing arrow or arrows pointing in different directions. The clockwise arrow indicates that the abilities must be completed in order. The other types of arrows mean that the abilities can be completed in any order.") +end + +function dlg_18_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That sounds easy!", "dlg_18_14") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "The Combat Wheel must be completed within 10 seconds or the Opportunity will fail. The blue bar that appears around the outside of the Wheel is a timer. When the blue bar is gone, this indicates that time has run out to complete the Heroic Opportunity.") +end + +function dlg_18_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Any other tricks I should know?", "dlg_18_15") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "It really is! As you become more familiar with using Heroic Opportunities, you can take note of the members of your group and plan out ahead of time which Opportunities will provide you the greatest benefit.") +end + +function dlg_18_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the information. I'll try Heroic Opportunities in my next battle!") + StartConversation(conversation, NPC, Spawn, "Scout classes have a little something extra. By using their Coin icon, the Scout can shift to another Heroic Opportunity. This shift can only happen once per Combat Wheel. This ability must also be used before any other spell or combat art has been used to advance the Wheel.") +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerNoggDreadscar.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerNoggDreadscar.lua new file mode 100755 index 000000000..8508b3289 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerNoggDreadscar.lua @@ -0,0 +1,109 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerNoggDreadscar.lua + Script Purpose : Trainer Nogg Dreadscar + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_nogg_dreadscar/tutorial_island02_evil_revamp/trainers/attributes/nogg_dreadscar001.mp3", "", "", 1345962966, 10192429, Spawn) + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 1 then + AddConversationOption(conversation, "What do you know about Charles Arker?", "dlg_36_1") + end + + AddConversationOption(conversation, "Tell me what my physical attributes do.", "PhysicalAttributes") + AddConversationOption(conversation, "How do I view my physical attributes?.", "ShowAttributes") + AddConversationOption(conversation, "How do I improve my physical attributes?", "ImproveAttributes") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Well met, " .. GetName(Spawn) .. ". The Overlord demands that his subjects maintain a healthy body and a keen mind. He has charged me with training new recruits about your physical attributes: Strength, Agility, Stamina, Intelligence, and Wisdom.") +end + +function PhysicalAttributes(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Tell me about Agility", "AgilityAttribute") + AddConversationOption(conversation, "How do I view my physical attributes?.", "ShowAttributes") + AddConversationOption(conversation, "How do I improve my physical attributes?", "ImproveAttributes") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Monks and Paladins have.") +end + +function ShowAttributes(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Tell me what my physical attributes do.", "PhysicalAttributes") + AddConversationOption(conversation, "How do I improve my physical attributes?", "ImproveAttributes") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character in your persona window. Just press the P key to open your persona window.") +end + +function ImproveAttributes(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Are there other ways?", "OtherWays") +AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Your physical attributes, as well as other aspects of your character, can be improved in a number of ways. Many items add points to your attributes, resistances, Health or Power. Hold your mouse pointer over your items to see what benefits they provide.") +end + +function OtherWays(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Tell me what my physical attributes do.", "PhysicalAttributes") + AddConversationOption(conversation, "How do I view my physical attributes?.", "ShowAttributes") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Many spells and combat arts enhance your attributes. Some of these can be cast on yourself, while others can improve other player characters that you group with. Grouping with other classes provides a wider variety of ways to improve your attributes.") +end + +function AgilityAttribute(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Tell me about Stamina", "StaminaAttribute") + AddConversationOption(conversation, "How do I view my physical attributes?.", "ShowAttributes") + AddConversationOption(conversation, "How do I improve my physical attributes?", "ImproveAttributes") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Agility helps you avoid physical attacks. The more Agility you have, the higher your Avoidance ability. Agility also determines the maximum amount of power Swashbucklers, Rangers, Troubadors, and Dirges have.") +end + +function StaminaAttribute(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Tell me about Intelligence", "IntelligenceAttribute") + AddConversationOption(conversation, "How do I view my physical attributes?.", "ShowAttributes") + AddConversationOption(conversation, "How do I improve my physical attributes?", "ImproveAttributes") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Stamina gives you more Health points. The more Health you have, the longer you can survive in battle. Stamina is a useful attribute for every class.") +end + +function IntelligenceAttribute(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Tell me about Wisdom", "WisdomAttribute") + AddConversationOption(conversation, "How do I view my physical attributes?.", "ShowAttributes") + AddConversationOption(conversation, "How do I improve my physical attributes?", "ImproveAttributes") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Intelligence is more than just a sign of how smart you are. The more Intelligence you have, the more damage you do with spells in combat. Intelligence also determines the maximum amount of power Wizards, Warlocks, Illusionists, Conjurors, Troubadors, and Dirges have.") +end + +function WisdomAttribute(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How do I view my physical attributes?.", "ShowAttributes") + AddConversationOption(conversation, "How do I improve my physical attributes?", "ImproveAttributes") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Wisdom increases your resistances to magical types of attacks: Heat, Cold, Disease, Poison, Magic, Mental and Divine. Wisdom also determines the maximum amount of power Templars, Mystics, Furies, Wardens, and Paladins have.") +end + + +function dlg_36_1(NPC, Spawn) + SetStepComplete(Spawn, 54, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks for letting me know.", "dlg_36_2") + StartConversation(conversation, NPC, Spawn, "Charles Barker? Larker? Jarker? Nope, never heard of him.") +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerSythortheAllSeeing.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerSythortheAllSeeing.lua new file mode 100755 index 000000000..929679eb0 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerSythortheAllSeeing.lua @@ -0,0 +1,144 @@ +--[[ + Spawn Template + Script Name: Trainer Sythor the All-Seeing.lua + Script Purpose: Combat Arts, Spells, and Abilities training + Script Author: John Adams + Script Date: 2008.09.06 + Script Notes: Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + choice = math.random(1,3) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_" .. choice .. "_1004.mp3", "", "", 0, 0, Spawn) + + AddConversationOption(conversation, "Let us begin.", "Begin") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Welcome to the service of the Overlord. Our great leader has sent me here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them. Listen and learn from the mighty Sythor the All-Seeing!") +end + +function Begin(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Tell me about Spells.", "AboutSpells") + AddConversationOption(conversation, "Tell me about Combat Arts.", "AboutCombatArts") + AddConversationOption(conversation, "Tell me about Abilities.", "AboutAbilities") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?", "Find") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?", "Improve") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to share my vast knowledge. What can I help you with?") +end + +function AboutSpells(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Who uses Spells?", "UsesSpells") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A Spell is a magical ability. Spells can have a variety of uses. Some allow you to damage an enemy, while others might provide benefits to yourself or an ally. You can hold your mouse pointer over a Spell's icon to see a description of what it does, or right-click on it and select 'Examine.'") +end + +function UsesSpells(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I have more questions.", "Begin") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Mages, priests, paladins, shadowknights, troubadors, and dirges all cast Spells. Each class has a list of Spells that is unique. While other classes may have similar Spells, no one has capabilities exactly like that of another class. Also, certain magical items may be imbued with Spell effects that can be cast or that activate on their own.") +end + +function AboutCombatArts(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Who uses Combat Arts?", "UsesCombatArts") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Combat Arts are a lot like Spells, but they usually take less time to cast and cannot be interrupted. As their name implies, many Combat Arts focus on some aspect of battle.") +end + +function UsesCombatArts(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I have more questions.", "Begin") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All fighters and scouts use Combat Arts. Each of these classes has unique Combat Arts that help distinguish them from other classes. Combat Arts have names and effects that fit the class that uses them.") +end + +function AboutAbilities(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How are Abilities different from Spells and Combat Arts?", "Abilities") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Abilities are general things your character can do, along with certain capabilities specific to your race. Some of your Abilities are extremely useful, such as Sprint, which allows you to run very fast for a short period of time. You can also Call for Help when you are in danger, or launch a Ranged Attack if you have a ranged weapon and ammo.") +end + + +function Abilities(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I have more questions.", "Begin") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Unlike Spells and Combat Arts, Abilities cannot be upgraded. Most of your Abilities are received when you first enter the world, although certain new ones can be granted as you become more experienced.") +end + +function Find(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How do I use my Spells, Combat Arts, and Abilities?", "UseKnowledge") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All your Spells and Combat Arts, as well as other Abilities, are found in your Knowledge Book. Press the K key to open it at any time, and click the name of the tab you wish to view: Abilities, Spells, or Combat Arts.") +end + +function UseKnowledge(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I have more questions.", "Begin") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To use a Spell, Combat Art, or Ability, drag its icon from your Knowledge Book onto your hotbar. Some have already been placed there for you. To use one, simply click its icon on your hotbar or press the key assigned to it. You can open additional hotbars by right-clicking on a hotbar and selecting 'Open New Hotbar'.") +end + +function Improve(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How can I judge the effectiveness of my spells and Combat Arts?", "Ranks") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels from 1 to 50. Certain special Spells or Combat Arts can be obtained by doing quests. Once you are level 51 and higher, you must find ways to purchase or obtain your new Spells and Combat Arts.") +end + +function Ranks(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "Upgrades") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "There are three main ranks of Spells and Combat Arts: Apprentice, Adept, and Master. Within each rank are up to four tiers of quality. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice I rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function Upgrades(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "OtherRanks") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "You can buy Apprentice II versions of spells or combat arts here in the tower. Just purchase them from the appropriate merchant. When you arrive in Freeport, you will find a Class Trainer that sells Apprentice II versions of your Spells or Combat Arts.") +end + +function OtherRanks(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "OtherWaysToImprove") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells as you defeat opponents in battle. Many enemies will carry Adept I versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master I versions.") +end + +function OtherWaysToImprove(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "Unique") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Apprentice IV quality spells, as well as valuable Adept III scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function Unique(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How can I keep all these Spells and Arts stright in my Knowledge Book?", "SortKnowledge") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many completely new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The names and icons of these upgrades are often similar, but the newer versions are more effective. Again, you will want to obtain the highest rank of these new abilities that you can.") +end + +function SortKnowledge(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I have more questions.", "Begin") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities you wish to use.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerVellaNDur.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerVellaNDur.lua new file mode 100755 index 000000000..cf915d0a1 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerVellaNDur.lua @@ -0,0 +1,117 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerVellaNDur.lua + Script Purpose : Trainer Vella N'Dur + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + + if HasQuest(Spawn, 54) and GetQuestStep(Spawn, 54) == 6 then + AddConversationOption(conversation, "Do you know someone named Charles Arker?", "dlg_41_1") + end + + AddConversationOption(conversation, "I'd like to learn about collections.", "dlg_0_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.", "dlg_0_4") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Come closer if you want me to answer any questions you have about collections or harvesting!") + + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "dlg_7_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Come closer if you want me to answer any questions you have about collections or harvesting!") + end + + if convo==41 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.") + AddConversationOption(conversation, "I'd like to learn about harvesting.") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Come closer if you want me to answer any questions you have about collections or harvesting!") + end + + if convo==44 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1007.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Do you know someone named Charles Arker?", "dlg_44_1") + AddConversationOption(conversation, "I'd like to learn about collections.") + AddConversationOption(conversation, "I'd like to learn about harvesting.") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Come closer if you want me to answer any questions you have about collections or harvesting!") + end + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happens next?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select Harvest. The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I complete the collection?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "dlg_0_4") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are harvestables used for?", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "Harvestables come in five forms, each tied to its own respective skill. These skills can be seen by opening your Skills window by pressing the P key, clicking on the Skills tab and selecting your General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and plants increase gathering.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd like to learn about collections now.", "dlg_0_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end + +-- charles Arker +function dlg_41_1(NPC, Spawn) + SetStepComplete(Spawn, 54, 6) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, Vella.") + StartConversation(conversation, NPC, Spawn, "Sorry, but I can't say that I know this person.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/OutpostOverlord/TrainerVissaSathliss.lua b/Lua/SpawnScripts/OutpostOverlord/TrainerVissaSathliss.lua new file mode 100755 index 000000000..c5394794a --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/TrainerVissaSathliss.lua @@ -0,0 +1,82 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/TrainerVissaSathliss.lua + Script Purpose : Trainer Vissa Sathliss + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_vissa_sathliss/tutorial_island02_evil_revamp/trainers/mending_banking/vissa_sathliss001.mp3", "", "", 3749329714, 942115959, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "dlg_1_1") + AddConversationOption(conversation, "Tell me about mending items.", "dlg_1_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I am here to tell you all about mending and banking! Banking and mending! Which do you want to hear about?") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_vissa_sathliss/tutorial_island02_evil_revamp/trainers/mending_banking/vissa_sathliss002.mp3", "", "", 1416455798, 3801139838, Spawn) + AddConversationOption(conversation, "How do I open my bank?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "You already have an account with the Freeport Exchange, and luckily for you we have a branch right here in the outpost. Go see Banker Whizratchet to access your account. Additional branches can be found in your home district when you reach the city, as well as other parts of Freeport. You cannot access your bank from Qeynos.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_vissa_sathliss/tutorial_island02_evil_revamp/trainers/mending_banking/vissa_sathliss003.mp3", "", "", 3699958078, 292875506, Spawn) + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_1_3") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_vissa_sathliss/tutorial_island02_evil_revamp/trainers/mending_banking/vissa_sathliss004.mp3", "", "", 2521528483, 3790132847, Spawn) + AddConversationOption(conversation, "What are 'shared' bank slots?", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_vissa_sathliss/tutorial_island02_evil_revamp/trainers/mending_banking/vissa_sathliss005.mp3", "", "", 3405989423, 121335076, Spawn) + AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coins) placed in your shared slots can be accessed by other characters on your account that are also citizens of Freeport. Lore and No-Trade items cannot be put into the shared slots. Characters that are Qeynos citizens cannot access a Freeport bank.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_vissa_sathliss/tutorial_island02_evil_revamp/trainers/mending_banking/vissa_sathliss006.mp3", "", "", 231285175, 3337306547, Spawn) + AddConversationOption(conversation, "I want to learn about mending items.", "dlg_1_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about banking.", "dlg_1_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you will no longer receive any benefit from them. You can visit a mender to get them repaired, such as Mender Greshar at the outpost forge. Speak to Trainer Jayla Surfrider if you wish to learn more about the effects of death.") +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/Vim.lua b/Lua/SpawnScripts/OutpostOverlord/Vim.lua new file mode 100755 index 000000000..cec9f9838 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Vim.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/Vim.lua + Script Author : Cynnar + Script Date : 2018.10.14 09:10:43 + Script Purpose : + : +--]] + +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/Vim.lua + Script Purpose : Vim + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_481beac8.mp3", "I love traveling the seas... Oh! Did you need something?", "sniff", 2187888771, 2112320089, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_187fc6bb.mp3", "I am busy right now...", "no", 1835666244, 487490745, Spawn) + else + end + +end + + + diff --git a/Lua/SpawnScripts/OutpostOverlord/Waulon.lua b/Lua/SpawnScripts/OutpostOverlord/Waulon.lua new file mode 100755 index 000000000..acb168ca8 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Waulon.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/OutpostoftheOverlord/Waulon.lua + Script Purpose : Waulon + Script Author : Cynnar + Script Date : 2018.10.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/waulon/boat_06p_tutorial02/walon_0_004.mp3", "Where's me hat? Needs me lucky hat!", "", 2688932325, 103225044, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/waulon/boat_06p_tutorial02/walon_0_008.mp3", "What? Can't you see? Busy, away with ye!", "", 1608066875, 70639594, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/Whizratchet.lua b/Lua/SpawnScripts/OutpostOverlord/Whizratchet.lua new file mode 100755 index 000000000..3471d3cab --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/Whizratchet.lua @@ -0,0 +1,14 @@ +--[[ + Spawn Template + Script Name: Whizratchet.lua + Script Purpose: Banker (evil) + Script Author: Sylva1n + Script Date: 2009.07.05 + Script Notes: Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Say(NPC, "As a banker it is my job to hold items and coin for you for safe-keeping. If you would like to learn more, speak with Trainer Vissa Sathliss. She is just east of me, around the corner.", Spawn) +end diff --git a/Lua/SpawnScripts/OutpostOverlord/WixWimblewick.lua b/Lua/SpawnScripts/OutpostOverlord/WixWimblewick.lua new file mode 100755 index 000000000..6e93e8565 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/WixWimblewick.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/WixWimblewick.lua + Script Purpose : Wix Wimblewick + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "I can't wait to get back to Temple Street.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Wimblewick's the name, Wimblewickin is what I do. What that means, I have no idea!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/ZitoGraban.lua b/Lua/SpawnScripts/OutpostOverlord/ZitoGraban.lua new file mode 100755 index 000000000..767d602fc --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/ZitoGraban.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/ZitoGraban.lua + Script Purpose : Zito Graban + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "You've got to be deviant to survive in Freeport.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1032.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I've almost completed my shell collection to turn in to Gethe Huggs.", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A.lua b/Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A.lua new file mode 100755 index 000000000..b995b7165 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A.lua @@ -0,0 +1,113 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/aMilitiapatroller_A.lua + Script Purpose : Waypoint Path for a Militia Patroller A.lua + Script Author : Cynnar + Script Date : 10/07/2018 11:15:11 PM + Script Notes : This is for the front guard in Outpost on the left hand side +--]] + +function spawn(NPC) + AddTimer(NPC, 2000, "waypoints") + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -16.14, -5.15, 184, 2, 0) + MovementLoopAddLocation(NPC, -19.32, -5.14, 181.23, 2, 0) + MovementLoopAddLocation(NPC, -23.59, -5.12, 175.47, 2, 0) + MovementLoopAddLocation(NPC, -26.22, -5.11, 173.02, 2, 0) + MovementLoopAddLocation(NPC, -29.26, -5.1, 171.54, 2, 0) + MovementLoopAddLocation(NPC, -31.59, -5.1, 170.96, 2, 0) + MovementLoopAddLocation(NPC, -34.76, -5.08, 168.7, 2, 0) + MovementLoopAddLocation(NPC, -36.53, -5.08, 166.25, 2, 0) + MovementLoopAddLocation(NPC, -37.67, -5.07, 164.93, 2, 0) + MovementLoopAddLocation(NPC, -44.05, -5.05, 161.94, 2, 0) + MovementLoopAddLocation(NPC, -46.3, -5.04, 159.93, 2, 0) + MovementLoopAddLocation(NPC, -47.42, -5.03, 158.42, 2, 0) + MovementLoopAddLocation(NPC, -48.41, -5.03, 156.66, 2, 0) + MovementLoopAddLocation(NPC, -49.15, -5.02, 151.3, 2, 0) + MovementLoopAddLocation(NPC, -50.41, -5.02, 148.23, 2, 0) + MovementLoopAddLocation(NPC, -51.99, -5.01, 144.53, 2, 0) + MovementLoopAddLocation(NPC, -54.06, -5, 140.62, 2, 0) + MovementLoopAddLocation(NPC, -56.25, -4.99, 137.41, 2, 0) + MovementLoopAddLocation(NPC, -57.17, -4.99, 134.97, 2, 0) + MovementLoopAddLocation(NPC, -57.43, -4.99, 131.77, 2, 0) + MovementLoopAddLocation(NPC, -57.25, -4.99, 128.55, 2, 0) + MovementLoopAddLocation(NPC, -55.58, -4.9, 122.23, 2, 0) + MovementLoopAddLocation(NPC, -54.43, -5.06, 117, 2, 0) + MovementLoopAddLocation(NPC, -54.48, -5.45, 113.06, 2, 0) + MovementLoopAddLocation(NPC, -53.01, -5.42, 110.88, 2, 0) + MovementLoopAddLocation(NPC, -49.91, -5.4, 109.19, 2, 0) + MovementLoopAddLocation(NPC, -46.51, -5.15, 107.84, 2, 0) + MovementLoopAddLocation(NPC, -40.91, -5.03, 105.2, 2, 0) + MovementLoopAddLocation(NPC, -37.76, -5.06, 103.81, 2, 0) + MovementLoopAddLocation(NPC, -35.53, -5.07, 102.16, 2, 0) + MovementLoopAddLocation(NPC, -37.76, -5.06, 103.81, 2, 0) + MovementLoopAddLocation(NPC, -40.91, -5.03, 105.2, 2, 0) + MovementLoopAddLocation(NPC, -46.51, -5.15, 107.84, 2, 0) + MovementLoopAddLocation(NPC, -49.91, -5.4, 109.19, 2, 0) + MovementLoopAddLocation(NPC, -53.01, -5.42, 110.88, 2, 0) + MovementLoopAddLocation(NPC, -54.48, -5.45, 113.06, 2, 0) + MovementLoopAddLocation(NPC, -54.43, -5.06, 117, 2, 0) + MovementLoopAddLocation(NPC, -55.58, -4.9, 122.23, 2, 0) + MovementLoopAddLocation(NPC, -57.25, -4.99, 128.55, 2, 0) + MovementLoopAddLocation(NPC, -57.43, -4.99, 131.77, 2, 0) + MovementLoopAddLocation(NPC, -57.17, -4.99, 134.97, 2, 0) + MovementLoopAddLocation(NPC, -56.25, -4.99, 137.41, 2, 0) + MovementLoopAddLocation(NPC, -54.06, -5, 140.62, 2, 0) + MovementLoopAddLocation(NPC, -51.99, -5.01, 144.53, 2, 0) + MovementLoopAddLocation(NPC, -50.41, -5.02, 148.23, 2, 0) + MovementLoopAddLocation(NPC, -49.15, -5.02, 151.3, 2, 0) + MovementLoopAddLocation(NPC, -48.41, -5.03, 156.66, 2, 0) + MovementLoopAddLocation(NPC, -47.42, -5.03, 158.42, 2, 0) + MovementLoopAddLocation(NPC, -46.3, -5.04, 159.93, 2, 0) + MovementLoopAddLocation(NPC, -44.05, -5.05, 161.94, 2, 0) + MovementLoopAddLocation(NPC, -37.67, -5.07, 164.93, 2, 0) + MovementLoopAddLocation(NPC, -36.53, -5.08, 166.25, 2, 0) + MovementLoopAddLocation(NPC, -34.76, -5.08, 168.7, 2, 0) + MovementLoopAddLocation(NPC, -31.59, -5.1, 170.96, 2, 0) + MovementLoopAddLocation(NPC, -29.26, -5.1, 171.54, 2, 0) + MovementLoopAddLocation(NPC, -26.22, -5.11, 173.02, 2, 0) + MovementLoopAddLocation(NPC, -23.59, -5.12, 175.47, 2, 0) + MovementLoopAddLocation(NPC, -19.32, -5.14, 181.23, 2, 0) + MovementLoopAddLocation(NPC, -16.14, -5.15, 184, 2, 0) + MovementLoopAddLocation(NPC, -9.87, -5.19, 185.99, 2, 0) + MovementLoopAddLocation(NPC, -3.74, -5.15, 180.58, 2, 0) + MovementLoopAddLocation(NPC, 5.11, -5.12, 174.85, 2, 0) + MovementLoopAddLocation(NPC, 13.03, -5.13, 167.98, 2, 0) + MovementLoopAddLocation(NPC, 17.86, -5.29, 165.81, 2, 0) + MovementLoopAddLocation(NPC, 22.16, -5.31, 164.42, 2, 0) + MovementLoopAddLocation(NPC, 29.25, -6.04, 166.37, 2, 0) + MovementLoopAddLocation(NPC, 40.97, -4.31, 166.69, 2, 0) + MovementLoopAddLocation(NPC, 47.82, -3.38, 167.24, 2, 0) + MovementLoopAddLocation(NPC, 40.97, -4.31, 166.69, 2, 0) + MovementLoopAddLocation(NPC, 29.25, -6.04, 166.37, 2, 0) + MovementLoopAddLocation(NPC, 22.16, -5.31, 164.42, 2, 0) + MovementLoopAddLocation(NPC, 17.86, -5.29, 165.81, 2, 0) + MovementLoopAddLocation(NPC, 13.03, -5.13, 167.98, 2, 0) + MovementLoopAddLocation(NPC, 5.11, -5.12, 174.85, 2, 0) + MovementLoopAddLocation(NPC, -3.74, -5.15, 180.58, 2, 0) + MovementLoopAddLocation(NPC, -9.87, -5.19, 185.99, 2, 0) + MovementLoopAddLocation(NPC, -12.66, -5.1, 190.72, 2, 0) + MovementLoopAddLocation(NPC, -15.13, -5.09, 196.95, 2, 0) + MovementLoopAddLocation(NPC, -15.46, -5.17, 199.64, 2, 0) + MovementLoopAddLocation(NPC, -17.5, -5.15, 202.81, 2, 0) + MovementLoopAddLocation(NPC, -20.38, -5.16, 206.51, 2, 0) + MovementLoopAddLocation(NPC, -22.38, -5.14, 210.98, 2, 0) + MovementLoopAddLocation(NPC, -24.27, -5.39, 215.67, 2, 0) + MovementLoopAddLocation(NPC, -17.32, -5.09, 213.62, 2, 0) + MovementLoopAddLocation(NPC, -16.52, -5.17, 209.99, 2, 0) + MovementLoopAddLocation(NPC, -13.86, -5.14, 204.8, 2, 0) + MovementLoopAddLocation(NPC, -10.44, -5.11, 199.43, 2, 0) + MovementLoopAddLocation(NPC, -7.5, -5.14, 194.95, 2, 0) + MovementLoopAddLocation(NPC, -7.01, -5.2, 191.9, 2, 0) + MovementLoopAddLocation(NPC, -8.56, -5.21, 188.34, 2, 0) + MovementLoopAddLocation(NPC, -10.19, -5.2, 186.8, 2, 0) +end diff --git a/Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A_Follower.lua b/Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A_Follower.lua new file mode 100755 index 000000000..ca391e734 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/aMilitiapatroller_A_Follower.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/aMilitiapatroller_A_Follower.lua + Script Author : Cynnar + Script Date : 2018.10.07 10:10:32 + Script Purpose : + : +--]] + +function spawn(NPC) + AddTimer(NPC, 900, "followguard_A") +end + +function followguard_A(NPC) + local zone = GetZone(NPC) + local guard_A_placement = GetSpawnByLocationID(zone, 399224) + local sli = GetSpawnLocationID(NPC) + local leaderX = GetX(guard_A_placement) + local leaderY = GetY(guard_A_placement) + local leaderZ = GetZ(guard_A_placement) + local speed = 2 + -- Say(NPC, "Leader location is: " .. GetX(guard_A_placement) .. ", " .. GetY(guard_A_placement) .. ", " .. GetZ(guard_A_placement)) + + if sli == 399195 then + if GetDistance(NPC, guard_A_placement) >= 8 then + speed = 5 + MoveToLocation(NPC, leaderX - 2, leaderY, leaderZ, speed) + else + speed = 2 + MoveToLocation(NPC, leaderX - 2, leaderY, leaderZ, speed) + end + elseif sli == 399239 then + if GetDistance(NPC, guard_A_placement) >= 8 then + -- Say(NPC, "Leader location is: " .. GetX(guard_A_placement) .. "") + -- Say(NPC, "My location is: " .. GetX(NPC) .. "") + speed = 5 + MoveToLocation(NPC, leaderX, leaderY, leaderZ - 2, speed) + else + speed = 2 + MoveToLocation(NPC, leaderX, leaderY, leaderZ - 2, speed) + end + elseif sli == 399179 then + if GetDistance(NPC, guard_A_placement) >= 8 then + MoveToLocation(NPC, leaderX + 2, leaderY, leaderZ, speed) + -- Say(NPC, "Leader location is: " .. GetX(guard_A_placement) .. "") + -- Say(NPC, "My location is: " .. GetX(NPC) .. "") + speed = 5 + else + speed = 2 + MoveToLocation(NPC, leaderX + 2, leaderY, leaderZ, speed) + end + end + speed = 2 + AddTimer(NPC, 3000, "followguard_A") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end diff --git a/Lua/SpawnScripts/OutpostOverlord/aTrainedWolf.lua b/Lua/SpawnScripts/OutpostOverlord/aTrainedWolf.lua new file mode 100755 index 000000000..d22393bc7 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/aTrainedWolf.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/aTrainedWolf.lua + Script Author : Cynnar + Script Date : 2017.01.17 12:01:01 + Script Purpose : Follow a Tunarian Wolfmaster + : +--]] + + + +function spawn(NPC) + AddTimer(NPC, 500, "followmaster") +end + +function followmaster(NPC, Spawn) + local zone = GetZone(NPC) + local wolfmasterplacement = GetSpawnByLocationID(zone, 394954) + local sli = GetSpawnLocationID(NPC) + if sli == 394887 then + SetFollowTarget(NPC, wolfmasterplacement) + if not IsFollowing(NPC) then + SetSpeed(NPC , 1) + ToggleFollow(NPC) + end + end + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/aTunareWolfmaster.lua b/Lua/SpawnScripts/OutpostOverlord/aTunareWolfmaster.lua new file mode 100755 index 000000000..652de8320 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/aTunareWolfmaster.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/aTunareWolfmaster.lua + Script Author : Cynnar + Script Date : 2017.01.15 01:01:19 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "Testing hail function") +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/aTunarianWolfmaster.lua b/Lua/SpawnScripts/OutpostOverlord/aTunarianWolfmaster.lua new file mode 100755 index 000000000..76e6a7b29 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/aTunarianWolfmaster.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/aTunarianWolfmaster.lua + Script Author : Cynnar + Script Date : 2017.01.15 02:01:49 + Script Purpose : + : +--]] + +function spawn(NPC) + local modeltype = GetModelType(NPC) + if modeltype == 71 then + SetModelType(NPC, 65) + end + local sli = GetSpawnLocationID(NPC) + if sli == 394954 then + atw394954(NPC) + end +end + +function hailed(NPC, Spawn) +Say(NPC, "Testing script") +end + +function respawn(NPC) + spawn(NPC) +end + +function atw394954(NPC) +MovementLoopAddLocation(NPC, -82.9, -9.01, -32.37, 2, 5) +MovementLoopAddLocation(NPC, -89.3, -9.04, -32.93, 2, 0) +MovementLoopAddLocation(NPC, -93.81, -9.04, -39.63, 2, 0) +MovementLoopAddLocation(NPC, -92.14, -6.69, -44.1, 2, 0) +MovementLoopAddLocation(NPC, -97.23, -3.89, -49.12, 2, 0) +MovementLoopAddLocation(NPC, -100.03, -1.57, -53.72, 2, 0) +MovementLoopAddLocation(NPC, -94.65, 0.25, -57.16, 2, 0) +MovementLoopAddLocation(NPC, -95.38, 2.81, -61.48, 2, 0) +MovementLoopAddLocation(NPC, -97.77, 4.07, -63, 2, 0) +MovementLoopAddLocation(NPC, -92.54, 5.15, -66.36, 2, 0) +MovementLoopAddLocation(NPC, -91.12, 6.01, -77.53, 2, 0) +MovementLoopAddLocation(NPC, -90.65, 4.56, -85.65, 2, 0) +MovementLoopAddLocation(NPC, -97.59, 4.44, -89.64, 2, 0) +MovementLoopAddLocation(NPC, -97.98, 4.44, -93.59, 2, 0) +MovementLoopAddLocation(NPC, -110.26, 4.3, -99.75, 2, 0) +MovementLoopAddLocation(NPC, -119.67, 4.32, -100.01, 2, 0) +MovementLoopAddLocation(NPC, -131.47, 4.37, -92.67, 2, 0) +MovementLoopAddLocation(NPC, -134.29, 4.37, -86.85, 2, 0) +MovementLoopAddLocation(NPC, -130.15, 4.35, -61.75, 2, 0) +MovementLoopAddLocation(NPC, -128.1, 4.34, -53.3, 2, 0) +MovementLoopAddLocation(NPC, -130.09, 4.35, -59.37, 2, 0) +MovementLoopAddLocation(NPC, -133.06, 4.37, -85.97, 2, 0) +MovementLoopAddLocation(NPC, -128.33, 4.55, -71.54, 2, 0) +MovementLoopAddLocation(NPC, -128.16, 4.55, -67.7, 2, 0) +MovementLoopAddLocation(NPC, -129.9, 4.35, -62.65, 2, 0) +MovementLoopAddLocation(NPC, -128.14, 4.34, -53.98, 2, 0) +MovementLoopAddLocation(NPC, -129.55, 4.35, -60.2, 2, 0) +MovementLoopAddLocation(NPC, -133.42, 4.37, -82.19, 2, 0) +MovementLoopAddLocation(NPC, -131.98, 4.37, -89.95, 2, 0) +MovementLoopAddLocation(NPC, -126.96, 4.33, -95.66, 2, 0) +MovementLoopAddLocation(NPC, -118.24, 4.32, -100.61, 2, 0) +MovementLoopAddLocation(NPC, -110.1, 4.29, -100.76, 2, 0) +MovementLoopAddLocation(NPC, -100.42, 4.45, -96.02, 2, 0) +MovementLoopAddLocation(NPC, -94.31, 4.42, -87.22, 2, 0) +MovementLoopAddLocation(NPC, -97.45, 4.44, -86.45, 2, 0) +MovementLoopAddLocation(NPC, -97.31, 4.46, -84.61, 2, 0) +MovementLoopAddLocation(NPC, -91.17, 5.53, -81.39, 2, 0) +MovementLoopAddLocation(NPC, -92.97, 5.45, -68.62, 2, 0) +MovementLoopAddLocation(NPC, -97.44, 5.03, -64.94, 2, 0) +MovementLoopAddLocation(NPC, -98.14, 1.47, -59.36, 2, 0) +MovementLoopAddLocation(NPC, -100.07, 0.17, -56.66, 2, 0) +MovementLoopAddLocation(NPC, -95.31, -1.86, -52.95, 2, 0) +MovementLoopAddLocation(NPC, -96.89, -7.05, -44.33, 2, 0) +MovementLoopAddLocation(NPC, -90.52, -9.04, -36.04, 2, 0) +MovementLoopAddLocation(NPC, -89.3, -9.04, -32.93, 2, 0) +end + diff --git a/Lua/SpawnScripts/OutpostOverlord/aTunarianhorsesentry.lua b/Lua/SpawnScripts/OutpostOverlord/aTunarianhorsesentry.lua new file mode 100755 index 000000000..7d68550b3 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/aTunarianhorsesentry.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/aTunarianhorsesentry.lua + Script Purpose : Mount for Tunarian sentry (2780070) + Script Author : John Adams + Script Date : 2009.03.27 + Script Notes : Figure out how to use one script for all Tunarian Horse Sentry NPCs +--]] + +function spawn(NPC) + SetMount(NPC, 6848) + SetMountColor(NPC, 255, 255, 255, 255, 255, 255) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/Lua/SpawnScripts/OutpostOverlord/aTunarianscout1.lua b/Lua/SpawnScripts/OutpostOverlord/aTunarianscout1.lua new file mode 100755 index 000000000..29e263e1b --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/aTunarianscout1.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/aTunarianscout1.lua + Script Purpose : When player enters 20m proximity, scout Crouches + Script Author : John Adams + Script Date : 2009.01.08 + Script Notes : JA: may need to adjust range +--]] + +local a_Tunarian_scout = 2780067 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 30, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Player) + FaceTarget(NPC, Player) + DuckSpawn = GetSpawn(NPC, a_Tunarian_scout) -- Get Tunarian Scout + SpawnSet(DuckSpawn, "visual_state", "221") -- Start crouch_idle +end + +function LeaveRange(NPC, Player) + DuckSpawn = GetSpawn(NPC, a_Tunarian_scout) -- Get Tunarian Scout + SpawnSet(DuckSpawn, "visual_state", "0") -- Stop crouch_idle +end diff --git a/Lua/SpawnScripts/OutpostOverlord/acliffdiverhawk.lua b/Lua/SpawnScripts/OutpostOverlord/acliffdiverhawk.lua new file mode 100755 index 000000000..da5ae0b48 --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/acliffdiverhawk.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/acliffdiverhawk.lua + Script Author : Cynnar + Script Date : 2018.12.24 12:12:43 + Script Purpose : + Script Notes : Hawk needs to turn around after the return flight to original location +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + +end + +function FlyToMoleRat(NPC) + + local TargetMoleRat = GetTempVariable(NPC, "MoleRat") + + if TargetMoleRat ~= nil then + local x = GetX(TargetMoleRat) + local y = GetY(TargetMoleRat) + local z = GetZ(TargetMoleRat) + + MoveToLocation(NPC, x, y, z, 8, "KillMoleRat") + end + +end + +function KillMoleRat(NPC) + + local MoleRat = GetTempVariable(NPC, "MoleRat") + if MoleRat ~= nil then + SetTempVariable(NPC, "MoleRat", nil) + Despawn(MoleRat) + AddTimer(NPC, 2500, "ReturnHome") + end +end + +function ReturnHome(NPC) + + local x = GetOrigX(NPC) + local y = GetORigY(NPC) + local z = GetOrigZ(NPC) + + if IsInCombat(NPC) == false then + MoveToLocation(NPC, x, y, z, 5) + end +end diff --git a/Lua/SpawnScripts/OutpostOverlord/beehive03.lua b/Lua/SpawnScripts/OutpostOverlord/beehive03.lua new file mode 100755 index 000000000..ed29ca75c --- /dev/null +++ b/Lua/SpawnScripts/OutpostOverlord/beehive03.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/OutpostOverlord/beehive03.lua + Script Author : jakejp + Script Date : 2018.10.08 01:10:18 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "smack hive" then + SmackHive(Spawn, NPC) + end +end + +function SmackHive(Caster, Target) + SpawnSet(Target, "show_command_icon", 0) + local QueenBee + local SoldierBee + local beehive01 = 2780121 + + if GetSpawnID(Target) == beehive01 then + Say(Caster, "here") + QueenBee = 401317 + SoldierBee = 401351 + elseif GetSpawnID(Target) == 2780120 then + QueenBee = 401318 + SoldierBee = 401354 + elseif GetSpawnID(Target) == 2780122 then + QueenBee = 1585522 + SoldierBee = 401358 + elseif GetSpawnID(Target) == 2780124 then + QueenBee = 401317 + SoldierBee = 401351 + end + + -- 20% chance to spawn a Queen bee + -- 80% chance to spawn a soldier bee + choice = math.random(1, 100) + + if choice <= 20 then + -- spawn a Queen bee + --SpawnMob(GetZone(Target), 2780076, false, GetX(Target), GetY(Target), GetZ(Target)) + SpawnByLocationID(GetZone(Target), QueenBee) + else + -- spawn a soldier bee + --SpawnMob(GetZone(Target), 2780078, false, GetX(Target), GetY(Target), GetZ(Target)) + SpawnByLocationID(GetZone(Target), SoldierBee) + + end + AddTimer(Target, 60000, "enable_command_icon_beeHive") +end + +function enable_command_icon_beeHive(NPC, Player) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/BotanistLith.lua b/Lua/SpawnScripts/PeatBog/BotanistLith.lua new file mode 100755 index 000000000..81ec4bd8a --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/BotanistLith.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/PeatBog/BotanistLith.lua + Script Purpose : Botanist Lith + Script Author : scatman + Script Date : 2009.05.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local KERRA = 11 +local QUEST_1 = 1 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + elseif HasQuest(Spawn, QUEST_1) then + else + if GetRace(Spawn) == KERRA then + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/botanist_lith/qey_adv04_bog/quests/nareh/nareh000.mp3", "The plant life here is absolutely astounding.", "", 1130721210, 2119698425, Spawn) + end + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/botanist_lith/qey_adv04_bog/quests/nareh/nareh_lakosha000.mp3", "", "", 1585352530, 1011819212, Spawn) + AddConversationOption(conversation, "Lakosha Maera sent me.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "The plant life here is absolutely astounding.") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/botanist_lith/qey_adv04_bog/quests/nareh/nareh_lakosha001.mp3", "", "", 2621096962, 3551613449, Spawn) + AddConversationOption(conversation, "Unfortunate news. Someone in Nettleville attempted to perform a Pa'Rok ceremony with tainted dirt.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Ah, wonderful. I have not spoken to her in quite some time. What news does she send?") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/botanist_lith/qey_adv04_bog/quests/nareh/nareh_lakosha002.mp3", "", "", 619900214, 1453098884, Spawn) + AddConversationOption(conversation, "No, but the ceremony was for naught. Lakosha asked me to visit you because the dirt that corrupted the ceremony came from Peat Bog.", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "I'm not familiar with that ceremony, was anybody hurt?") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/botanist_lith/qey_adv04_bog/quests/nareh/nareh_lakosha003.mp3", "", "", 418560600, 341427965, Spawn) + AddConversationOption(conversation, "How so?", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Oh, I see. I guess that agrees with my findings, unfortunately.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/botanist_lith/qey_adv04_bog/quests/nareh/nareh000.mp3", "The plant life here is absolutely astounding.", "", 1130721210, 2119698425, Spawn) +--]] + diff --git a/Lua/SpawnScripts/PeatBog/FeriusMentus.lua b/Lua/SpawnScripts/PeatBog/FeriusMentus.lua new file mode 100755 index 000000000..fea6d8815 --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/FeriusMentus.lua @@ -0,0 +1,88 @@ +--[[ + Script Name : SpawnScripts/PeatBog/FeriusMentus.lua + Script Purpose : Ferius Mentus + Script Author : Scatman + Script Date : 2009.05.10 + Script Notes : +--]] + +local QUEST_1 = 214 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + Say(NPC, "If I can perfect this, it may be amazingly useful.", Spawn) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + YesYoureHere(NPC, Spawn, conversation) + end +end + +------------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------------- + +function YesYoureHere(NPC, Spawn, conversation) + AddConversationOption(conversation, "Why are you so grump?", "SoGrumpy") + AddConversationOption(conversation, "Fine, I'll leave.") + StartConversation(conversation, NPC, Spawn, "Yes, yes, you're here, I'm here, why don't we talk eh? No thanks.") +end + +function SoGrumpy(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why do you need frogs?", "WhyNeedFrogs") + StartConversation(conversation, NPC, Spawn, "My research is coming to a stand still! I paid some young lad to go fetch me frogs and just took my money and left! Can you believe that? Now I have no frogs.") +end + +function WhyNeedFrogs(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well I could help you collect some frogs.", "ICanCollectFrogs") + StartConversation(conversation, NPC, Spawn, "I already told you! I need them for research! The frogs here secrete a fluid that tastes HORRIBLE. It helps them avoid being eaten. With the influx if 'rehabilitated' ogres coming in, I'm trying to come up with an easy way to remind them not to eat the gnomes or halflings.") +end + +function ICanCollectFrogs(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do this.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "You think so? I need some of the glands inside them. I don't expect you to be able to recognize it, so just bring me the whole body. Then of them, in fact.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Yes I did.", "GotFrogs") + else + AddConversationOption(conversation, "No, not yet.") + end + StartConversation(conversation, NPC, Spawn, "Did you get the frogs?") +end + +function GotFrogs(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Ah, perfect! Thanks! So much nicer than the one that ran off earlier. Thank you.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/GuardAndrews.lua b/Lua/SpawnScripts/PeatBog/GuardAndrews.lua new file mode 100755 index 000000000..90c81abae --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/GuardAndrews.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/PeatBog/GuardAndrews.lua + Script Purpose : Guard Andrews + Script Author : John Adams/Scatman + Script Date : 2009.05.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 2997871263, 2912813719, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 4099618783, 4191002419, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1945337199, 2685949436, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 4141262779, 4227030045, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/GuardBlack.lua b/Lua/SpawnScripts/PeatBog/GuardBlack.lua new file mode 100755 index 000000000..e021fe4d7 --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/GuardBlack.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : SpawnScripts/PeatBog/GuardBlack.lua + Script Purpose : Guard Black + Script Author : Scatman + Script Date : 2009.05.15 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 744.55, -32.81, 402.73, 3, 0) + MovementLoopAddLocation(NPC, 746.47, -33.1, 407.78, 3, 0) + MovementLoopAddLocation(NPC, 746.31, -33.21, 412.6, 3, 0) + MovementLoopAddLocation(NPC, 744.68, -33.18, 417.61, 3, 0) + MovementLoopAddLocation(NPC, 741.26, -33.18, 421.35, 3, 0) + MovementLoopAddLocation(NPC, 736.26, -33.2, 423.3, 3, 0) + MovementLoopAddLocation(NPC, 731.15, -33.26, 424.82, 3, 0) + MovementLoopAddLocation(NPC, 704.95, -33.19, 428.48, 3, 0) + MovementLoopAddLocation(NPC, 699.76, -33.36, 427.99, 3, 0) + MovementLoopAddLocation(NPC, 694.18, -33.37, 426.54, 3, 0) + MovementLoopAddLocation(NPC, 688.9, -33.37, 425.63, 3, 0) + MovementLoopAddLocation(NPC, 683.86, -33.36, 425.03, 3, 0) + MovementLoopAddLocation(NPC, 673.27, -33.36, 424.2, 3, 0) + MovementLoopAddLocation(NPC, 657.7, -33.33, 419.79, 3, 0) + MovementLoopAddLocation(NPC, 652.52, -33.38, 419.24, 3, 0) + MovementLoopAddLocation(NPC, 646.98, -33.35, 419.4, 3, 0) + MovementLoopAddLocation(NPC, 641.92, -33.35, 420.54, 3, 0) + MovementLoopAddLocation(NPC, 637.19, -33.12, 423.45, 3, 0) + MovementLoopAddLocation(NPC, 633.65, -32.79, 427.09, 3, 0) + MovementLoopAddLocation(NPC, 630.93, -33.09, 430.89, 3, 0) + MovementLoopAddLocation(NPC, 624.97, -33.22, 439.37, 3, 0) + MovementLoopAddLocation(NPC, 621.71, -33.21, 442.77, 3, 0) + MovementLoopAddLocation(NPC, 617.66, -33.22, 444.66, 3, 0) + MovementLoopAddLocation(NPC, 612.81, -33.23, 446.07, 3, 0) + MovementLoopAddLocation(NPC, 608.08, -33.11, 446.5, 3, 0) + MovementLoopAddLocation(NPC, 602.84, -33.11, 446.53, 3, 0) + MovementLoopAddLocation(NPC, 598.36, -33.1, 445.95, 3, 0) + MovementLoopAddLocation(NPC, 592.84, -33.08, 444.43, 3, 0) + MovementLoopAddLocation(NPC, 584.58, -32.44, 441.8, 3, 0) + MovementLoopAddLocation(NPC, 571.31, -32.77, 434.96, 3, 0) + MovementLoopAddLocation(NPC, 568.07, -33.1, 430.09, 3, 0) + MovementLoopAddLocation(NPC, 572.64, -32.59, 437.5, 3, 0) + MovementLoopAddLocation(NPC, 593.19, -33.08, 444.52, 3, 0) + MovementLoopAddLocation(NPC, 597.92, -33.08, 445.7, 3, 0) + MovementLoopAddLocation(NPC, 603.18, -33.11, 446.45, 3, 0) + MovementLoopAddLocation(NPC, 607.15, -33.11, 446.51, 3, 0) + MovementLoopAddLocation(NPC, 611.84, -33.2, 446.23, 3, 0) + MovementLoopAddLocation(NPC, 621.39, -33.23, 442.97, 3, 0) + MovementLoopAddLocation(NPC, 633.66, -32.79, 427.05, 3, 0) + MovementLoopAddLocation(NPC, 636.8, -33.07, 423.78, 3, 0) + MovementLoopAddLocation(NPC, 641.59, -33.36, 420.75, 3, 0) + MovementLoopAddLocation(NPC, 646.35, -33.36, 419.33, 3, 0) + MovementLoopAddLocation(NPC, 657.45, -33.36, 419.75, 3, 0) + MovementLoopAddLocation(NPC, 663.21, -33.29, 421.21, 3, 0) + MovementLoopAddLocation(NPC, 667.58, -33.34, 422.64, 3, 0) + MovementLoopAddLocation(NPC, 673.05, -33.37, 424.19, 3, 0) + MovementLoopAddLocation(NPC, 694.13, -33.35, 426.27, 3, 0) + MovementLoopAddLocation(NPC, 699.34, -33.38, 427.62, 3, 0) + MovementLoopAddLocation(NPC, 704.85, -33.18, 428.59, 3, 0) + MovementLoopAddLocation(NPC, 731.38, -33.25, 424.62, 3, 0) + MovementLoopAddLocation(NPC, 740.85, -33.19, 421.32, 3, 0) + MovementLoopAddLocation(NPC, 744.27, -33.18, 418.04, 3, 0) + MovementLoopAddLocation(NPC, 746.14, -33.22, 412.85, 3, 0) + MovementLoopAddLocation(NPC, 746.48, -33.11, 408, 3, 0) + MovementLoopAddLocation(NPC, 744.85, -32.81, 402.81, 3, 0) + MovementLoopAddLocation(NPC, 734.76, -32.19, 389.66, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/GuardDierdra.lua b/Lua/SpawnScripts/PeatBog/GuardDierdra.lua new file mode 100755 index 000000000..7f1733a77 --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/GuardDierdra.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/PeatBog/GuardDierdra.lua + Script Purpose : Guard Dierdra + Script Author : John Adams/Scatman + Script Date : 2009.05.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ed0d92f8.mp3", "I hate the night shift! If the gnolls don't attack now, I may die of boredom.", "grumble", 1226814424, 706962620, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_c865a827.mp3", "Duty above all else, citizen, except honor!", "scold", 373851625, 467562033, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 3448203562, 506341016, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/guard/human_guard_service_good_1_hail_gf_ee473c11.mp3", "Good day to you, citizen. All preserve Queen Antonia.", "salute", 1886617373, 1115286759, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/GuardMoor.lua b/Lua/SpawnScripts/PeatBog/GuardMoor.lua new file mode 100755 index 000000000..6f60c6d1e --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/GuardMoor.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/PeatBog/GuardMoor.lua + Script Purpose : Guard Moor + Script Author : Scatman + Script Date : 2009.05.15 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 584.25, -32.33, 441.91, 3, 0) + MovementLoopAddLocation(NPC, 598.15, -33.1, 445.74, 3, 0) + MovementLoopAddLocation(NPC, 607.76, -33.11, 446.59, 3, 0) + MovementLoopAddLocation(NPC, 612.02, -33.2, 445.92, 3, 0) + MovementLoopAddLocation(NPC, 617.22, -33.22, 444.66, 3, 0) + MovementLoopAddLocation(NPC, 621.62, -33.22, 442.55, 3, 0) + MovementLoopAddLocation(NPC, 627.85, -33.27, 435.54, 3, 0) + MovementLoopAddLocation(NPC, 636.71, -33.06, 423.79, 3, 0) + MovementLoopAddLocation(NPC, 641.7, -33.35, 420.61, 3, 0) + MovementLoopAddLocation(NPC, 646.74, -33.35, 419.53, 3, 0) + MovementLoopAddLocation(NPC, 652.65, -33.38, 419.18, 3, 0) + MovementLoopAddLocation(NPC, 657.5, -33.35, 419.74, 3, 0) + MovementLoopAddLocation(NPC, 672.32, -33.37, 423.81, 3, 0) + MovementLoopAddLocation(NPC, 689.76, -33.36, 425.47, 3, 0) + MovementLoopAddLocation(NPC, 699.01, -33.37, 427.68, 3, 0) + MovementLoopAddLocation(NPC, 704.67, -33.19, 428.52, 3, 0) + MovementLoopAddLocation(NPC, 731.1, -33.27, 424.74, 3, 0) + MovementLoopAddLocation(NPC, 736.09, -33.24, 423.34, 3, 0) + MovementLoopAddLocation(NPC, 740.37, -33.19, 421.48, 3, 0) + MovementLoopAddLocation(NPC, 744.27, -33.18, 418.17, 3, 0) + MovementLoopAddLocation(NPC, 746.42, -33.22, 412.98, 3, 0) + MovementLoopAddLocation(NPC, 746.44, -33.13, 408.27, 3, 0) + MovementLoopAddLocation(NPC, 745.29, -32.91, 403.56, 3, 0) + MovementLoopAddLocation(NPC, 742.62, -32.6, 399.85, 3, 0) + MovementLoopAddLocation(NPC, 735.4, -32.26, 389.95, 3, 0) + MovementLoopAddLocation(NPC, 745.03, -32.83, 403.05, 3, 0) + MovementLoopAddLocation(NPC, 746.26, -33.1, 407.56, 3, 0) + MovementLoopAddLocation(NPC, 746.27, -33.22, 412.85, 3, 0) + MovementLoopAddLocation(NPC, 744.74, -33.2, 417.52, 3, 0) + MovementLoopAddLocation(NPC, 741.14, -33.18, 420.85, 3, 0) + MovementLoopAddLocation(NPC, 736.75, -33.19, 423.34, 3, 0) + MovementLoopAddLocation(NPC, 731.96, -33.25, 424.64, 3, 0) + MovementLoopAddLocation(NPC, 705.05, -33.18, 428.57, 3, 0) + MovementLoopAddLocation(NPC, 699.7, -33.35, 427.85, 3, 0) + MovementLoopAddLocation(NPC, 689.17, -33.36, 425.51, 3, 0) + MovementLoopAddLocation(NPC, 673.34, -33.36, 424.36, 3, 0) + MovementLoopAddLocation(NPC, 657.78, -33.32, 419.86, 3, 0) + MovementLoopAddLocation(NPC, 652.59, -33.37, 419.05, 3, 0) + MovementLoopAddLocation(NPC, 647.36, -33.36, 419.62, 3, 0) + MovementLoopAddLocation(NPC, 642.06, -33.35, 420.83, 3, 0) + MovementLoopAddLocation(NPC, 637.23, -33.12, 423.53, 3, 0) + MovementLoopAddLocation(NPC, 633.44, -32.81, 427.2, 3, 0) + MovementLoopAddLocation(NPC, 625.27, -33.22, 439.43, 3, 0) + MovementLoopAddLocation(NPC, 621.78, -33.21, 442.6, 3, 0) + MovementLoopAddLocation(NPC, 617.1, -33.25, 444.71, 3, 0) + MovementLoopAddLocation(NPC, 612.48, -33.21, 446.16, 3, 0) + MovementLoopAddLocation(NPC, 607.66, -33.11, 446.52, 3, 0) + MovementLoopAddLocation(NPC, 603.23, -33.11, 446.57, 3, 0) + MovementLoopAddLocation(NPC, 598.56, -33.11, 446.12, 3, 0) + MovementLoopAddLocation(NPC, 583.64, -32.33, 441.48, 3, 0) + MovementLoopAddLocation(NPC, 567.05, -32.83, 432.89, 3, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/GuardNander.lua b/Lua/SpawnScripts/PeatBog/GuardNander.lua new file mode 100755 index 000000000..c4273623a --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/GuardNander.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/PeatBog/GuardNander.lua + Script Purpose : Guard Nander + Script Author : Scatman + Script Date : 2009.05.14 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_76da37c9.mp3", "I hate working this shift! If the gnolls don't attack now I may die of boredom.", "grumble", 31199107, 4082603014, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_c865a827.mp3", "Duty above all else citizen, except honor!", "scold", 3958491070, 1651361777, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ebfceda5.mp3", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 1717559969, 1730005307, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/guard/dwarf_guard_service_good_1_hail_gm_ee473c11.mp3", "Good day to you citizen, all preserve Queen Antonia.", "salute", 2539353309, 3288832983, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/GuardVivian.lua b/Lua/SpawnScripts/PeatBog/GuardVivian.lua new file mode 100755 index 000000000..d4e63c3a3 --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/GuardVivian.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/PeatBog/GuardVivian.lua + Script Purpose : Guard Vivian + Script Author : Scatman + Script Date : 2009.05.14 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "I hate working this shift! If the gnolls don't attack now I may die of boredom.", "grumble", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Duty above all else citizen, except honor!", "scold", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Greetings, citizen. I am on guard duty. Should you get into trouble, seek me out.", "attention", 0, 0, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Good day to you citizen, all preserve Queen Antonia.", "salute", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/LieutenantDawson.lua b/Lua/SpawnScripts/PeatBog/LieutenantDawson.lua new file mode 100755 index 000000000..1ab612987 --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/LieutenantDawson.lua @@ -0,0 +1,365 @@ +--[[ + Script Name : SpawnScripts/PeatBog/LieutenantDawson.lua + Script Purpose : Lieutenant Dawson + Script Author : Scatman + Script Date : 2009.08.10 + Script Notes : +--]] + +local MIN_LEVEL = 5 +local QUEST_FROM_JOHFRIT = 46 +local QUEST_1 = 215 +local QUEST_2 = 216 +local QUEST_3 = 217 +local QUEST_4 = 218 +local QUEST_5 = 219 +local QUEST_6 = 220 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) + ProvidesQuest(NPC, QUEST_6) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_JOHFRIT) then + SetStepComplete(Spawn, QUEST_FROM_JOHFRIT, 1) + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + if HasCompletedQuest(Spawn, QUEST_6) then + Say(NPC, "Once again, thank you for all you have done.", Spawn) + elseif HasQuest(Spawn, QUEST_6) then + Say(NPC, "Once again, thank you for all you have done.", Spawn) + else + OnQuest5(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + OnQuest4(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + OnQuest3(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + OnQuest2(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + OnQuest1(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if GetLevel(Spawn) < MIN_LEVEL then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/qst_dawson_toolow_bd47ca5c.mp3", "Return to me when you're a bit more experienced, I think I could use your help.", "", 664604870, 1946809996, Spawn) + else + DoYouHaveAQuestion(NPC, Spawn, conversation) + end + end +end + +----------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +----------------------------------------------------------------------------------------------------------------------------------- + +function DoYouHaveAQuestion(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson000.mp3", "", "", 2113696179, 3288237924, Spawn) + AddConversationOption(conversation, "What is your mind occupied with?", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Do you have a question? Please be brief, my mind is occupied at the moment.") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson001.mp3", "", "", 1614058358, 1618385129, Spawn) + AddConversationOption(conversation, "How do you plan on doing that?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "I'm not entirely sure yet. Strange things have been happening in the Peat Bog. The ecology here has taken a staggering turn and that has attracted attention. I am trying to provide a strong presence here but with no direct support from Qeynos that is tough. I just need to show Qeynos that investing more people here is necessary.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson002.mp3", "", "", 3230267563, 3912489115, Spawn) + AddConversationOption(conversation, "Sure, what can I do?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "That is yet another thing I'm not quite certain of yet. I need time to think that over but there are enough mundane problems that I've very little time to think. Care to lend a hand?") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson003.mp3", "", "", 1827785196, 3415599407, Spawn) + AddConversationOption(conversation, "Sure, I can do it.", "dlg_0_4") + AddConversationOption(conversation, "Not now, sorry.") + StartConversation(conversation, NPC, Spawn, "You can take care of some of the recurring problems while I try to focus my mind elsewhere. The fungus men around here have been causing enough incidents to warrant action. And the ravenous bog slugs are becoming more active. Take some of them out for me and it will give me the time needed to plan. Whadya say?") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson004.mp3", "", "", 146673171, 1820291654, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Great. The fungus men can be found around the mushrooms that dot the landscape. The ravenous bog slugs can be found south of here: if you follow this path to where the sewer grate lies and then head south, heading east once you hit the water, then further south, you should find them.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson005.mp3", "", "", 3763908858, 4198264181, Spawn) + + if (HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 3) or (HasCompletedQuest(Spawn, QUEST_1)) then + AddConversationOption(conversation, "Yes, I have.", "dlg_1_1") + else + AddConversationOption(conversation, "No, not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Have you killed the slugs and fungus men?") +end + +----------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +----------------------------------------------------------------------------------------------------------------------------------- + +function dlg_1_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 3) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson006.mp3", "", "", 74693624, 878787652, Spawn) + AddConversationOption(conversation, "Sure, what can I do?", "dlg_1_2") + AddConversationOption(conversation, "Sorry, no.") + StartConversation(conversation, NPC, Spawn, "Good, it's a relief to have those taken care of. This will allow us to expend resources in more important areas. Speaking of which, I've recently received some strange reports. How'd you like to help me again?") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson007.mp3", "", "", 3523318297, 3580020244, Spawn) + AddConversationOption(conversation, "Ok, I'll attach the beacon.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "The body of water you passed earlier: I've had at least two reports of some sort of machine in that water. I've alerted the research teams, but they are busy elsewhere. In the mean time, it would be helpful if you could do two things for me. First, find the machine to verify it exists. And, second, if it does exist, tag it with an arcanic beacon.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson008.mp3", "", "", 702901482, 1827477819, Spawn) + + if (HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 2) or (HasCompletedQuest(Spawn, QUEST_2)) then + AddConversationOption(conversation, "Yes. I attached the beacon, but before that I was attacked by a gnoll.", "dlg_6_1") + else + AddConversationOption(conversation, "No, not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Did you find the machine?") +end + +function dlg_6_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_2) then + SetStepComplete(Spawn, QUEST_2, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson009.mp3", "", "", 416950362, 1150655784, Spawn) + AddConversationOption(conversation, "Yes. I will help.", "dlg_6_2") + AddConversationOption(conversation, "For now I must leave.") + StartConversation(conversation, NPC, Spawn, "A gnoll?! Things are worse here than I thought. Perhaps they... hmm... I still need your help, can you stay?") +end + +----------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +----------------------------------------------------------------------------------------------------------------------------------- + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson010.mp3", "", "", 2108767843, 3888763580, Spawn) + AddConversationOption(conversation, "Where are the ambush sites?", "dlg_6_3") + StartConversation(conversation, NPC, Spawn, "I am glad. A number of our research teams in the Peat Bog were recently ambushed. Nobody was killed, thankfully, but their work has been lost. We've escorted the researchers to safety and left the ambush sites undisturbed. I would like you to go to each site and check for any clues that may tell us who did this. It would be easy to assume it was the gnolls, but I would like evidence to complement my gut feeling.") +end + +function dlg_6_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson011.mp3", "", "", 3580800965, 1143356388, Spawn) + AddConversationOption(conversation, "I will return.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "The first is west from Two Logs Pond, which is south from the sewer grate. The second is east of the pond in the north eastern corner of the area there. The final ambush site is directly south of the second site.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson012.mp3", "", "", 3649722083, 1259667690, Spawn) + + if (HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 4) or (HasCompletedQuest(Spawn, QUEST_3)) then + AddConversationOption(conversation, "Yes, at one I found a gnoll paw. There was nothing telling at the others.", "dlg_12_1") + else + AddConversationOption(conversation, "No, not yet.") + end + StartConversation(conversation, NPC, Spawn, "Have you examined all of the ambush sites?") +end + +function dlg_12_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_3) then + SetStepComplete(Spawn, QUEST_3, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson013.mp3", "", "", 459920710, 2550974214, Spawn) + AddConversationOption(conversation, "Yes, I can help.", "dlg_12_2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "That's good. Well, it's bad, but it's good. You know what I mean. This means we have less to worry about. It seems the gnolls are on the move, probably because we've found them. If our intelligence is correct they're moving a number of machines out of the Peat Bog. I don't know if this is a retreat or some movement for another advance, but we need to stop those machines. Can you help?") +end + +----------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +----------------------------------------------------------------------------------------------------------------------------------- + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson014.mp3", "", "", 3721129561, 3085892436, Spawn) + AddConversationOption(conversation, "I'll be back when this is done.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Wonderful. Their exit route seems to start in the south-east most corner of the Peat Bog and move west from there. There should be three machines. Kill the gnolls protecting the machine, destroy the machine itself, and then move on to the next one. Our people will be along soon enough to take care of the remains.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson015.mp3", "", "", 2647530103, 2587149233, Spawn) + + if (HasQuest(Spawn, QUEST_4) and GetQuestStep(Spawn, QUEST_4) == 4) or (HasCompletedQuest(Spawn, QUEST_4)) then + AddConversationOption(conversation, "Yes, I have.", "dlg_14_1") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Did you stop the gnolls?") +end + +function dlg_14_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_4) then + SetStepComplete(Spawn, QUEST_4, 4) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson017.mp3", "", "", 3063961189, 3632961186, Spawn) + AddConversationOption(conversation, "What loose end?", "dlg_14_2") + StartConversation(conversation, NPC, Spawn, "Good. I would hate to see one of the other Lieutenants clean up my mess. Thank you. There's still one loose end to clean up, if you're willing.") +end + +----------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 5 +----------------------------------------------------------------------------------------------------------------------------------- + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson018.mp3", "", "", 1491634247, 1091662891, Spawn) + AddConversationOption(conversation, "I can do this.", "dlg_14_3") + AddConversationOption(conversation, "I can't do this.") + StartConversation(conversation, NPC, Spawn, "Dentfang. He was one of the gnolls in charge of this area. He knows he can't return after such a failure, perhaps he hopes to hide out here long enough to reclaim his honor by slaying the guards of Qeynos. Nobody wants to see that happen. My scouts have suggested three possible places within the Peat Bog where he may be hiding. I've already sent teams to two places, the two I consider least likely. I'm positive he's at the final spot, and I would like you to take care of him. What do you say?") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_dawson/qey_adv04_bog/quests/dawson/dawson019.mp3", "", "", 726337004, 1780065710, Spawn) + AddConversationOption(conversation, "Is he dangerous?", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Good. If you start in the southwestern corner of the Peat Bog and then travel north, you should come to the area where he's hiding. Travel there and give him what he deserves.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +function OnQuest5(NPC, Spawn, conversation) + if (HasQuest(Spawn, QUEST_5) and GetQuestStep(Spawn, QUEST_5) == 2) or (HasCompletedQuest(Spawn, QUEST_5)) then + AddConversationOption(conversation, "I have.", "Quest5Done") + else + AddConversationOption(conversation, "Not yet.") + end + + StartConversation(conversation, NPC, Spawn, "Did you dispose of Dentfang?") +end + +function Quest5Done(NPC, Spawn) + if HasQuest(Spawn, QUEST_5) then + SetStepComplete(Spawn, QUEST_5, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You are welcome.", "WordHasCome") + StartConversation(conversation, NPC, Spawn, "Good. With him gone the gnoll presence here will not be able to regain strength. They will flee or be killed. You've done a great thing for us, " .. GetName(Spawn) .. ". I appreciate it more than you know. And Qeynos, appreciates it too.") +end + +----------------------------------------------------------------------------------------------------------------------------------- +-- QUEST 6 +----------------------------------------------------------------------------------------------------------------------------------- + +function WordHasCome(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "bow", 0, 0, Spawn) + AddConversationOption(conversation, "I can do this.", "OfferQuest6") + StartConversation(conversation, NPC, Spawn, "Word has come down from above, " .. GetName(Spawn) .. ". You have been requested specifically. Because of your help here you have been noticed. You are specifically being request in The Caves. You should be very proud. I am glad to have worked with you, I am sure you will be a huge asset in the coming battle.") +end + +function OfferQuest6(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_6) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/Oakvil.lua b/Lua/SpawnScripts/PeatBog/Oakvil.lua new file mode 100755 index 000000000..e7740311a --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/Oakvil.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/PeatBog/Oakvil.lua + Script Purpose : Oakvil + Script Author : Scatman + Script Date : 2009.05.14 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if math.random(1, 100) <= 25 then + SaySomethingRandom(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + SaySomethingRandom(NPC, Spawn) +end + +function SaySomethingRandom(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 983188064, 3043413352, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 892528408, 239693863, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2541554579, 2951095822, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1832724458, 980846932, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 903813734, 2512856176, Spawn) + end +end diff --git a/Lua/SpawnScripts/PeatBog/qst_ambush_site_1.lua b/Lua/SpawnScripts/PeatBog/qst_ambush_site_1.lua new file mode 100755 index 000000000..51d1910e4 --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/qst_ambush_site_1.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/PeatBog/qst_ambush_site_1.lua + Script Purpose : Handles quest updates for the first ambush site + Script Author : Scatman + Script Date : 2009.05.10 + Script Notes : +--]] + +local QUEST_3 = 217 + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST_3, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_3) and not QuestStepIsComplete(Caster, QUEST_3, 1) then + SetStepComplete(Caster, QUEST_3, 1) + --popup dialog box after inspect + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/qst_ambush_site_2.lua b/Lua/SpawnScripts/PeatBog/qst_ambush_site_2.lua new file mode 100755 index 000000000..c4656e67c --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/qst_ambush_site_2.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/PeatBog/qst_ambush_site_2.lua + Script Purpose : Handles quest updates for the second ambush site + Script Author : Scatman + Script Date : 2009.05.10 + Script Notes : +--]] + +local QUEST_3 = 217 + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST_3, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_3) and not QuestStepIsComplete(Caster, QUEST_3, 2) then + SetStepComplete(Caster, QUEST_3, 2) + --popup dialog box after inspect + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/qst_ambush_site_3.lua b/Lua/SpawnScripts/PeatBog/qst_ambush_site_3.lua new file mode 100755 index 000000000..472767e3a --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/qst_ambush_site_3.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/PeatBog/qst_ambush_site_3.lua + Script Purpose : Handles quest updates for the third ambush site + Script Author : Scatman + Script Date : 2009.05.10 + Script Notes : +--]] + +local QUEST_3 = 217 + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST_3, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_3) and not QuestStepIsComplete(Caster, QUEST_3, 3) then + SetStepComplete(Caster, QUEST_3, 3) + --popup dialog box after inspect + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/quest_machine_in_water.lua b/Lua/SpawnScripts/PeatBog/quest_machine_in_water.lua new file mode 100755 index 000000000..0daaf6bb7 --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/quest_machine_in_water.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/PeatBog/quest_machine_in_water.lua + Script Purpose : quest_machine_in_water + Script Author : Scatman + Script Date : 2009.05.10 + Script Notes : +--]] + +local QUEST_2 = 216 +local gnoll_spawned_recently = false + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST_2, 1) + gnoll_spawned_recently = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_2) and GetQuestStep(Caster, QUEST_2) == 1 then + if gnoll_spawned_recently == false then + gnoll_spawned_recently = true + SendMessage(Caster, "Before you can attach the beacon you hear a howl nearby.") + Gnoll = SpawnMob(GetZone(Caster), GetRandomGnollID(), false, GetX(Target), GetY(Target), GetZ(Target)) + AddHate(Caster, Gnoll, 100) + AddTimer(Target, 30000, "ResetGnoll") + else + SetStepComplete(Caster, QUEST_2, 1) + end + end +end + +function GetRandomGnollID() + choice = math.random(1, 2) + + -- 1 of 2 'a gnoll machinist' + if choice == 1 then + return 1980103 + elseif choice == 2 then + return 1980102 + end +end + +function ResetGnoll(NPC) + gnoll_spawned_recently = false +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PeatBog/quest_shipment_1.lua b/Lua/SpawnScripts/PeatBog/quest_shipment_1.lua new file mode 100755 index 000000000..fad9e226f --- /dev/null +++ b/Lua/SpawnScripts/PeatBog/quest_shipment_1.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/PeatBog/quest_shipment_1.lua + Script Purpose : quest_shipment_1 + Script Author : Scatman + Script Date : 2009.05.11 + Script Notes : +--]] + +local QUEST_4 = 218 + +function spawn(NPC) + --SetRequiredQuest(NPC, QUEST_4) +end + +function respawn(NPC) + Spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(Target, Caster) + if HasQuest(Caster, QUEST_4) then + if IsBox1(Target) == true and not QuestStepIsComplete(Caster, QUEST_4, 1) then + SendMessage(Caster, "Charges set for 5 seconds.") + SetStepComplete(Caster, QUEST_4, 1) + AddTimer(Target, 5000, "BlowUpBox") + elseif IsBox2(Target) == true and not QuestStepIsComplete(Caster, QUEST_4, 2) then + SendMessage(Caster, "Charges set for 5 seconds.") + SetStepComplete(Caster, QUEST_4, 2) + AddTimer(Target, 5000, "BlowUpBox") + elseif IsBox3(Target) == true and not QuestStepIsComplete(Caster, QUEST_4, 3) then + SendMessage(Caster, "Charges set for 5 seconds.") + SetStepComplete(Caster, QUEST_4, 3) + AddTimer(Target, 5000, "BlowUpBox") + end + end +end + +function IsBox1(Box) + if math.floor(GetX(Box)) == 688 and math.floor(GetY(Box)) == -35 and math.floor(GetZ(Box)) == 600 then + return true + else + return false + end +end + +function IsBox2(Box) + if math.floor(GetX(Box)) == 753 and math.floor(GetY(Box)) == -33 and math.floor(GetZ(Box)) == 604 then + return true + else + return false + end +end + +function IsBox3(Box) + if math.floor(GetX(Box)) == 797 and math.floor(GetY(Box)) == -33 and math.floor(GetZ(Box)) == 580 then + return true + else + return false + end +end + +function BlowUpBox(Box) + -- make box go boom. need visual + Despawn(Box) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/PillarsFlame/anomadiccarpetkeeper.lua b/Lua/SpawnScripts/PillarsFlame/anomadiccarpetkeeper.lua new file mode 100755 index 000000000..c88eef0b4 --- /dev/null +++ b/Lua/SpawnScripts/PillarsFlame/anomadiccarpetkeeper.lua @@ -0,0 +1,161 @@ +--[[ + Script Name : SpawnScripts/PillarsFlame/anomadiccarpetkeeper.lua + Script Purpose : A Nomadic Carpet Keeper (700148) + Script Author : Neatz09 + Script Date : 4/17/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1042.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 584677 then + --Giant's Field-- + AddConversationOption(con, "To Prophet's Peak", "FieldToPeak") + AddConversationOption(con, "To Stinging Isle.", "FieldToIsle") + AddConversationOption(con, "To Swiftrider's Caravan.", "FieldToSwift") + AddConversationOption(con, "To T'Narev.", "FieldToNarev") + elseif GetSpawnLocationID(NPC) == 584675 then + --Prophet's Peak-- + AddConversationOption(con, "To Giant's Field.", "PeakToField") + AddConversationOption(con, "To Stinging Isle.", "PeakToIsle") + AddConversationOption(con, "To Swiftrider's Caravan.", "PeakToSwift") + AddConversationOption(con, "To T'Narev.", "PeakToNarev") + elseif GetSpawnLocationID(NPC) == 584676 then + --Stinging Isle-- + AddConversationOption(con, "To Giant's Field.", "IsleToField") + AddConversationOption(con, "To Prophet's Peak.", "IsleToPeak") + AddConversationOption(con, "To Swiftrider's Caravan.", "IsleToSwift") + AddConversationOption(con, "To T'Narev.", "IsleToNarev") + elseif GetSpawnLocationID(NPC) == 584673 then + --Swiftrider's Caravan-- + AddConversationOption(con, "To Giant's Field.", "SwiftToField") + AddConversationOption(con, "To Prophet's Peak.", "SwiftToPeak") + AddConversationOption(con, "To Stinging Isle.", "SwiftToIsle") + AddConversationOption(con, "To T'Narev.", "SwiftToNarev") + elseif GetSpawnLocationID(NPC) == 584674 then + --T'Narev-- + AddConversationOption(con, "To Giant's Field.", "NarevToField") + AddConversationOption(con, "To Prophet's Peak.", "NarevToPeak") + AddConversationOption(con, "To Stinging Isle.", "NarevToIsle") + AddConversationOption(con, "To Swiftrider's Caravan.", "NarevToSwift") + else + PlayFlavor(NPC, "", "Not implemented yet!", "cry", 0, 0, Spawn) + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function FieldToPeak(NPC, Spawn) + StartAutoMount(Spawn, 738) + SetMount(Spawn, 1369) +end + +function FieldToIsle(NPC, Spawn) + StartAutoMount(Spawn, 740) + SetMount(Spawn, 1369) +end + +function FieldToSwift(NPC, Spawn) + StartAutoMount(Spawn, 732) + SetMount(Spawn, 1369) +end + +function FieldToNarev(NPC, Spawn) + StartAutoMount(Spawn, 739) + SetMount(Spawn, 1369) +end + +function PeakToField(NPC, Spawn) + StartAutoMount(Spawn, 742) + SetMount(Spawn, 1369) +end + +function PeakToIsle(NPC, Spawn) + StartAutoMount(Spawn, 743) + SetMount(Spawn, 1369) +end + +function PeakToSwift(NPC, Spawn) + StartAutoMount(Spawn, 734) + SetMount(Spawn, 1369) +end + +function PeakToNarev(NPC, Spawn) + StartAutoMount(Spawn, 741) + SetMount(Spawn, 1369) +end + +function IsleToField(NPC, Spawn) + StartAutoMount(Spawn, 745) + SetMount(Spawn, 1369) +end + +function IsleToPeak(NPC, Spawn) + StartAutoMount(Spawn, 746) + SetMount(Spawn, 1369) +end + +function IsleToSwift(NPC, Spawn) + StartAutoMount(Spawn, 733) + SetMount(Spawn, 1369) +end + +function IsleToNarev(NPC, Spawn) + StartAutoMount(Spawn, 744) + SetMount(Spawn, 1369) +end + +function SwiftToField(NPC, Spawn) + StartAutoMount(Spawn, 728) + SetMount(Spawn, 1369) +end + +function SwiftToPeak(NPC, Spawn) + StartAutoMount(Spawn, 730) + SetMount(Spawn, 1369) +end + +function SwiftToIsle(NPC, Spawn) + StartAutoMount(Spawn, 729) + SetMount(Spawn, 1369) +end + +function SwiftToNarev(NPC, Spawn) + StartAutoMount(Spawn, 727) + SetMount(Spawn, 1369) +end + +function NarevToField(NPC, Spawn) + StartAutoMount(Spawn, 735) + SetMount(Spawn, 1369) +end + +function NarevToPeak(NPC, Spawn) + StartAutoMount(Spawn, 736) + SetMount(Spawn, 1369) +end + +function NarevToIsle(NPC, Spawn) + StartAutoMount(Spawn, 737) + SetMount(Spawn, 1369) +end + +function NarevToSwift(NPC, Spawn) + StartAutoMount(Spawn, 731) + SetMount(Spawn, 1369) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Qeynos/acaninewatcher.lua b/Lua/SpawnScripts/Qeynos/acaninewatcher.lua new file mode 100755 index 000000000..93eb6c47d --- /dev/null +++ b/Lua/SpawnScripts/Qeynos/acaninewatcher.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Qeynos/acaninewatcher.lua + Script Author : Cynnar + Script Date : 2019.04.28 04:04:16 + Script Purpose : + : +--]] + +function spawn(NPC) +MoveToLocation(NPC, 432.51, -21.56, 284.73, 1) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/QeynosHarbor/Aliindar.lua b/Lua/SpawnScripts/QeynosHarbor/Aliindar.lua new file mode 100755 index 000000000..5a35abc41 --- /dev/null +++ b/Lua/SpawnScripts/QeynosHarbor/Aliindar.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/QeynosHarbor/Aliindar.lua + Script Author : TyroneSWG + Script Date : 2019.01.23 03:01:35 + Script Purpose : Broker Aliindar's Voiceover files. (Note: they aren't playing not sure why.) + : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 5, "InRange", "LeaveRange") +end + +function hailed(NPC, Spawn) + --PlayVoice(Spawn, "voiceover/english/broker_aliidar/qey_harbor/031_con_merchant_aliindar_erudite_2_hail_52cd8074.mp3", mp3_key1, mp3_key2) + Say(NPC, "Something something hailed voiceover here", Spawn) +end + +function respawn(NPC) + +end + +function InRange(NPC, Spawn) + --PlayVoice(Spawn, "voiceover/english/broker_aliidar/qey_harbor/031_con_merchant_aliindar_erudite_2_aoi_1fefa590.mp3", mp3_key1, mp3_key2) + Say(NPC, "Something Something area voice trigger here") +end + +function LeaveRange(NPC, Spawn) +end + diff --git a/Lua/SpawnScripts/QeynosHarbor/IanCathlan.lua b/Lua/SpawnScripts/QeynosHarbor/IanCathlan.lua new file mode 100755 index 000000000..9982fcb30 --- /dev/null +++ b/Lua/SpawnScripts/QeynosHarbor/IanCathlan.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/QeynosHarbor/IanCathlan.lua + Script Author : Zcoretri + Script Date : 2017.06.02 05:06:14 + Script Purpose : + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I was just being friendly. Good day to you.") + AddConversationOption(conversation, "You wouldn't happen to know where I can get some good armor, would you?", "Option1") + StartConversation(conversation, NPC, Spawn, "An' hail ta ye as well. Can ol' Ian help ya with somethin', or are ya just bein' friendly?") +end + +function Option1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Maybe ... what do you want me to do?", "Option2") + StartConversation(conversation, NPC, Spawn, "I might tell ya, if you help me out. In return, I'll give you some old armor that I can have refitted for you.") +end + +function Option2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I can help you look. Where should I start?", "Option3") + StartConversation(conversation, NPC, Spawn, "My family has a history of losing things. I was hoping you could help me look for a few items; some are very sentimental.") +end + +function Option3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "I'll return if I find anything.") + StartConversation(conversation, NPC, Spawn, "I've a list of places where I may have misplaced a few things. Check the area to see if you can find anything. ") +end + diff --git a/Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen.lua b/Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen.lua new file mode 100755 index 000000000..d68b694c2 --- /dev/null +++ b/Lua/SpawnScripts/QeynosHarbor/aQeynoscitizen.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/QeynosHarbor/aQeynoscitizen.lua + Script Author : Zcoretri + Script Date : 2017.06.02 04:06:39 + Script Purpose : + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/BankerBogfoot.lua b/Lua/SpawnScripts/QueensColony/BankerBogfoot.lua new file mode 100755 index 000000000..f089108be --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/BankerBogfoot.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : SpawnScripts/QueensColony/BankerBogfoot.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Banker Bogfoot dialog + : +--]] + +function spawn(NPC) + hailed(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1006.mp3", "As a banker it is my job to hold items and coin for you for safe-keeping. If you would like to learn more, speak with Trainer Zidget Sprogrudder. She is just east of me, around the corner.", "", 0, 0, Spawn) +end + diff --git a/Lua/SpawnScripts/QueensColony/BarthMignus.lua b/Lua/SpawnScripts/QueensColony/BarthMignus.lua new file mode 100755 index 000000000..011cff040 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/BarthMignus.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/QueensColony/BarthMignus.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Barth Mignus dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I hear Murrar Shar is on the island.", "", 1689589577, 4560189, Spawn) +end + + diff --git a/Lua/SpawnScripts/QueensColony/CaptainVarlos.lua b/Lua/SpawnScripts/QueensColony/CaptainVarlos.lua new file mode 100755 index 000000000..0efd6fdf4 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/CaptainVarlos.lua @@ -0,0 +1,107 @@ +--[[ + Script Name : SpawnScripts/QueensColony/CaptainVarlos.lua + Script Author : Zcoretri + Script Date : 2015.07.27 + Script Purpose : Captail Varlos dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_varlos/boat_06p_tutorial02/varlos_0_027.mp3", "", "", 2285948102, 2994720481, Spawn) + AddConversationOption(conversation, "Yes. Take me to Qeynos.", "AreYouSure") + AddConversationOption(conversation, "Who are you?", "WhoAreYou") + AddConversationOption(conversation, "No, I'd like to explore more.") + StartConversation(conversation, NPC, Spawn, "So, ya' ready ta go ashore matey?") +end + +function WhoAreYou(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_varlos/boat_06p_tutorial02/varlos_0_003.mp3", "", "", 2565389482, 560555759, Spawn) + AddConversationOption(conversation, "I think I'm ready to leave now.", "AreYouSure") + AddConversationOption(conversation, "I'd like to explore more. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I am Captain Draik Varlos, and this 'ere fine ship is the Far Journey. I can give ya' a ride to Qeynos when yer ready to leave the island.") +end + +function AreYouSure(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_varlos/tutorial_island02_fvo_hail3.mp3", "", "", 1155995604, 1406357895, Spawn) + AddConversationOption(conversation, "I'm ready for the challenges ahead. Take me to Qeynos.", "AreYouSure2") + AddConversationOption(conversation, "On second thought, maybe I should wait a bit.") + StartConversation(conversation, NPC, Spawn, "Ya' best be sure ta' explore the whole island, ya' hear! Norrath can be a dangerous place ya' know?") +end + +function AreYouSure2(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_varlos/boat_06p_tutorial02/varlos_0_013.mp3", "", "", 3880459741, 170861362, Spawn) + AddConversationOption(conversation, "Thanks for the ride!", "AreYouSure3") + AddConversationOption(conversation, "Wait! I've changed my mind. Let me off.") + StartConversation(conversation, NPC, Spawn, "Yar! That's what we be needin'. Ok then, off to Qeynos!") +end + +function AreYouSure3(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_varlos/boat_06p_tutorial02/varlos_0_028.mp3", "", "", 1009737776, 2173458794, Spawn) + AddConversationOption(conversation, "To Qeynos!", "LeaveIsland") + AddConversationOption(conversation, "Oh, nevermind! I'll stay!") + StartConversation(conversation, NPC, Spawn, "Don't ya' mind, we get paid ta' do that.") +end + +function LeaveIsland(NPC, Spawn) + Race = GetRace(Spawn) + + -- Human / Kerra + if Race == 9 or Race == 11 then + ZoneRef = GetZone("Nettleville") + Zone(ZoneRef,Spawn) + + -- Erudite + elseif Race == 3 then + ZoneRef = GetZone("Starcrest") + Zone(ZoneRef,Spawn) + + -- Barbarian / Dwarf + elseif Race == 0 or Race == 2 then + ZoneRef = GetZone("Graystone") + Zone(ZoneRef,Spawn) + + -- High Elf / Froglok + elseif Race == 4 or Race == 8 then + ZoneRef = GetZone("Castleview") + Zone(ZoneRef,Spawn) + + -- Half Elf / Wood Elf + elseif Race == 6 or Race == 15 then + ZoneRef = GetZone("Willowwood") + Zone(ZoneRef,Spawn) + + -- Gnome / Halfling + elseif Race == 5 or Race == 7 then + ZoneRef = GetZone("Baubbleshire") + Zone(ZoneRef,Spawn) + + -- Fae + elseif Race == 17 then + ZoneRef = GetZone("Kelethin") + Zone(ZoneRef,Spawn) + + -- Unknown + else + Say(Spawn, "Sorry, I cannot deal with someone of your race. Try visiting the boat on the other island!") + ZoneRef = GetZone("OutpostOverlord") + Zone(ZoneRef,Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/CaptainWarrik.lua b/Lua/SpawnScripts/QueensColony/CaptainWarrik.lua new file mode 100755 index 000000000..a7154a74a --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/CaptainWarrik.lua @@ -0,0 +1,188 @@ +--[[ + Script Name : SpawnScripts/QueensColony/CaptainWarrik.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Captain Warrik dialog + : +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int001.mp3", "", "", 204642470, 358524335, Spawn) + AddConversationOption(conversation, "Teach me about interacting with people and objects around Norrath.", "dlg_6_1") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Greetings," .. GetName(Spawn) .. ". You're the new addition to the colony that we've been hearing about. I've been stationed here by the queen to show you ways to interact with the world around you.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int002.mp3", "", "", 3266378152, 2419021702, Spawn) + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "dlg_6_2") + AddConversationOption(conversation, "How do I interact with non-player characters?", "dlg_6_5") + AddConversationOption(conversation, "How can I interact with objects in the world?", "dlg_6_10") + AddConversationOption(conversation, "What can I do with items in my inventory?", "dlg_6_13") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "You can interact with several types of individuals and items. Among these are other player characters, non-player characters, objects in the world, and items in your inventory.") +end + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int003.mp3", "", "", 2351145322, 214243520, Spawn) + AddConversationOption(conversation, "How can I tell which actions I can take?", "dlg_6_3") + StartConversation(conversation, NPC, Spawn, "You can perform a number of actions by right-clicking on a nearby player that you see. You can invite them to a group, follow them, talk to them, inspect their equipment, trade with them, and other choices. Some actions can only be taken while you are in a group with them.") +end + +function dlg_6_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int004.mp3", "", "", 217492850, 1476210113, Spawn) + AddConversationOption(conversation, "How do I talk to other players?", "dlg_6_4") + StartConversation(conversation, NPC, Spawn, "If one of the right-click choices is grey, it means it is unavailable. You either need to be closer to the other player or be grouped with them.") +end + +function dlg_6_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int005.mp3", "", "", 499804299, 1158500700, Spawn) + AddConversationOption(conversation, "How do I interact with non-player characters?", "dlg_6_5") + AddConversationOption(conversation, "How can I interact with objects in the world?", "dlg_6_10") + AddConversationOption(conversation, "What can I do with items in my inventory?", "dlg_6_13") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "If you are near another player, you can type something on the command line of your Chat window and press enter. All other nearby players can see this text. To send a private message, right-click on the character and select the 'tell' option, or hit the T key and type their name.") +end + +function dlg_6_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int006.mp3", "", "", 887410160, 3920006297, Spawn) + AddConversationOption(conversation, "How do I tell the difference?", "dlg_6_6") + StartConversation(conversation, NPC, Spawn, "There are a variety of non-player characters (NPCs) around Norrath. Some of them are there to talk to or buy from, while others are meant to fight.") +end + +function dlg_6_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int007.mp3", "", "", 2117851027, 1566096416, Spawn) + AddConversationOption(conversation, "Are there different ways to interact with a single NPC?", "dlg_6_7") + StartConversation(conversation, NPC, Spawn, "The shape of your mouse pointer when you move it over an NPC indicates the primary means of interaction. If the pointer becomes a speech bubble, you can talk to that NPC. If it becomes crossed swords, you can attack them. If it looks like a stack of coins, that's a merchant.") +end + +function dlg_6_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int008.mp3", "", "", 4204591829, 775598592, Spawn) + AddConversationOption(conversation, "Are there multiple ways to talk to an NPC?", "dlg_6_8") + StartConversation(conversation, NPC, Spawn, "You can see all the ways you can interact with an NPC by right-clicking on it. If an option is grey, you probably need to be closer to it.") +end + +function dlg_6_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int009.mp3", "", "", 3050147178, 1058091559, Spawn) + AddConversationOption(conversation, "How do I go about attacking an NPC?", "dlg_6_9") + StartConversation(conversation, NPC, Spawn, "Well, you're talking to me, so you know at least one way! You can either right-click and select 'hail,' click on them if that is their default action, or target them and hit the H key.") +end + +function dlg_6_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int010.mp3", "", "", 3207862275, 1652184320, Spawn) + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "dlg_6_2") + AddConversationOption(conversation, "How do I interact with non-player characters?", "dlg_6_5") + AddConversationOption(conversation, "How can I interact with objects in the world?", "dlg_6_10") + AddConversationOption(conversation, "What can I do with items in my inventory?", "dlg_6_13") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To learn about combat, talk to Trainer Hayl McGuinness near the western archway. To learn about evaluating your opponents, talk to Trainer Marla Gilliam, who is near Hayl. Both these trainers provide information vital to your success as an adventurer.") +end + +function dlg_6_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int011.mp3", "", "", 986431613, 4262526566, Spawn) + AddConversationOption(conversation, "How do I tell what the glowing object will do?","dlg_6_11") + StartConversation(conversation, NPC, Spawn, "If something glows when you move your mouse over it, you can interact with it. It might be a door or gate that takes you to another location, a book you see on a table, a chest you can loot, or another type of object. Some items only glow if you are on a quest to find them.") +end + +function dlg_6_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int012.mp3", "", "", 281123238, 3770593908, Spawn) + AddConversationOption(conversation, "Can anything bad happen by clicking on an object?", "dlg_6_12") + StartConversation(conversation, NPC, Spawn, "Sometimes you'll receive information on what the object will do when you hold your mouse over it. Other times you will need to right-click on the object to see what action you can take with it.") +end + +function dlg_6_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int013.mp3", "", "", 22184547, 714173495, Spawn) + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "dlg_6_2") + AddConversationOption(conversation, "How do I interact with non-player characters?", "dlg_6_5") + AddConversationOption(conversation, "What can I do with items in my inventory?", "dlg_6_13") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Be wary of clicking on an object when you don't know what it will do, as something unexpected could happen. You might draw the attention of someone who didn't want you to touch it, or might end up somewhere you didn't plan to go.") +end + +function dlg_6_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int014.mp3", "", "", 3003386223, 1374934830, Spawn) + AddConversationOption(conversation, "How do I know what I can do with an item?", "dlg_6_14") + StartConversation(conversation, NPC, Spawn, "Sometimes you'll receive items in your inventory, such as when you complete a quest or loot a chest from a fallen opponent. Other times, you'll receive an item by clicking on a glowing object you see in the world, or that is given to you by another player.") +end + +function dlg_6_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int015.mp3", "", "", 921421095, 934280804, Spawn) + AddConversationOption(conversation, "What are some common things I can do with items?", "dlg_6_15") + StartConversation(conversation, NPC, Spawn, "Open your inventory with the I key, or open up all bags you are carrying by pressing the B key. You can bring up a menu of choices for what you can do with an item by right-clicking on it. Double-clicking the left mouse button on something in your inventory will try to do that item's default action.") +end + +function dlg_6_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int016.mp3", "", "", 3594960522, 2732369829, Spawn) + AddConversationOption(conversation, "What about other types of items?", "dlg_6_16") + StartConversation(conversation, NPC, Spawn, "If the item is a piece of armor or a weapon, you can equip it. If it's a book or a note, you can read it. If it is food or drink, you can consume it. Some items, such as furniture, can be placed while you are inside the house or apartment you own.") +end + +function dlg_6_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_warrik/tutorial_island02_revamp/trainers/world_interaction/world_int017.mp3", "", "", 1124732255, 409658595, Spawn) + AddConversationOption(conversation, "In what ways can I interact with other player characters?", "dlg_6_2") + AddConversationOption(conversation, "How do I interact with non-player characters?", "dlg_6_5") + AddConversationOption(conversation, "How can I interact with objects in the world?", "dlg_6_10") + AddConversationOption(conversation, "I'll return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items in your inventory can give you quests or provide other benefits. Right-click on items in your inventory and select the 'Examine' option to learn more about any item you are carrying.") +end + + diff --git a/Lua/SpawnScripts/QueensColony/ClericMaraVaen.lua b/Lua/SpawnScripts/QueensColony/ClericMaraVaen.lua new file mode 100755 index 000000000..5224b996c --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/ClericMaraVaen.lua @@ -0,0 +1,237 @@ +--[[ + Script Name : SpawnScripts/QueensColony/ClericMaraVaen.lua + Script Purpose : Cleric Mara'Vaen + Script Author : John Adams + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local JoiningTheForwardRanks = 163 +local TheSourceOfEvil = 164 + +function spawn(NPC) + SetLuaBrain(NPC) + SetBrainTick(NPC, 500) + + ProvidesQuest(NPC, TheSourceOfEvil) +end + +function respawn(NPC) + spawn(NPC) +end + +-- Brain override +function Think(NPC, Target) + local mostHated = GetMostHated(NPC) + if mostHated ~= nil then +Say(NPC, "Has most hated") + aggro(NPC, mostHated) + end +end + +-- Should only cast on lost scouts (ghost version) +function aggro(NPC, Spawn) +Say(NPC, "In aggro()") + if GetTempVariable(NPC, "CASTING") ~= "True" then +Say(NPC, "Casting spell") + SetTempVariable(NPC, "CASTING", "True") + CastSpell(Spawn, 130027, 1, NPC) + AddTimer(NPC, 1610, "FinishedCasting") + end +end + +-- Timer callback to allow casting again +function FinishedCasting(NPC) + SetTempVariable(NPC, "CASTING", "False") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, JoiningTheForwardRanks) then + if HasCompletedQuest(Spawn, TheSourceOfEvil) then + ThanksForHelp(Spawn, NPC, true) + elseif HasQuest(Spawn, TheSourceOfEvil) then + ThanksForHelp(Spawn, NPC, true) + else + ThanksForHelp(Spawn, NPC, false) + end + elseif HasQuest(Spawn, JoiningTheForwardRanks) then + if GetQuestStep(Spawn, JoiningTheForwardRanks) == 1 then + DoNotFret(NPC, Spawn) + elseif GetQuestStep(Spawn, JoiningTheForwardRanks) == 2 then + KeepTrying(NPC, Spawn) + elseif GetQuestStep(Spawn, JoiningTheForwardRanks) == 3 then + GreatGame(NPC, Spawn) + elseif GetQuestStep(Spawn, JoiningTheForwardRanks) == 4 then + ClearMorak(NPC, Spawn) + elseif GetQuestStep(Spawn, JoiningTheForwardRanks) == 5 then + QuestComplete(NPC, Spawn) + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen011.mp3", "", "", 1665452069, 4059457198, Spawn) + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Spawn, "I don't have any tasks for you yet. Speak with Murrar Shar outside of Myrrin's Tower. He should have some tasks for you.") + end +end + +function DoNotFret(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen001.mp3", "", "", 2971501331, 3435878603, Spawn) + AddConversationOption(conversation, "I guess you know me?", "dlg_20_1") + AddConversationOption(conversation, "Nice to meet you, too.") + StartConversation(conversation, NPC, Spawn, "Do not fret, " .. GetName(Spawn) .. ". The hand of Qeynos reaches far and wide to help those in need.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen002.mp3", "", "", 2633924079, 3010054159, Spawn) + AddConversationOption(conversation, "I'm ready.", "dlg_20_2") + AddConversationOption(conversation, "I don't think I'm ready.") + StartConversation(conversation, NPC, Spawn, "Murrar sent word that you were coming. He said to be nice, hehe! No worries, I mean only the best. In any case, I'll be doing most of the work for this first task, when you're ready.") +end + +function dlg_20_2(NPC, Spawn) + SetStepComplete(Spawn, JoiningTheForwardRanks, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen003.mp3", "", "", 929576879, 4035132590, Spawn) + AddConversationOption(conversation, "I'll do my best.") + StartConversation(conversation, NPC, Spawn, "You see those ghostly figures down in the canyon? Those are the souls of our scouts who were lost and consumed by evil. I believe that they may be trapped between our world and the next. I think I can resurrect them, if you can just lure them close to me.") +end + +function KeepTrying(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll keep trying.") + StartConversation(conversation, NPC, Spawn, "Keep trying, I believe we can save more scouts if you get them close to me.") +end + +function GreatGame(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen005.mp3", "", "", 1882665589, 1902293914, Spawn) + AddConversationOption(conversation, "Bring it on!", "dlg_21_1") + AddConversationOption(conversation, "I'll be right back.") + StartConversation(conversation, NPC, Spawn, "That was a great game of cat and mouse you pulled there! Nice job, but now for the hard part.") +end + +function dlg_21_1(NPC, Spawn) + SetStepComplete(Spawn, JoiningTheForwardRanks, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen006.mp3", "", "", 3734054586, 4057468106, Spawn) + AddConversationOption(conversation, "I have a feeling I know where this is going.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "Long ago there lived a ferocious breed on this island, a species of dire wolf that the Sapswill called 'the Morak.' The Morak were cleansed from the island so it could be a safer place.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen007.mp3", "", "", 519840211, 2908756618, Spawn) + AddConversationOption(conversation, "Consider it done.") + StartConversation(conversation, NPC, Spawn, "The evil that builds on the island has drawn them from their graves and they hunt again. They are thick through Dead Canyon and we need to clear a path for our scouts to move forward.") +end + +function ClearMorak(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm on my way.") + StartConversation(conversation, NPC, Spawn, "The Morak need to be cleared so our scouts can push forward.") +end + +function QuestComplete(NPC, Spawn) + SetStepComplete(Spawn, JoiningTheForwardRanks, 5) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen009.mp3", "", "", 72596140, 1372143516, Spawn) + AddConversationOption(conversation, "Is there anything else I can do?", "AnythingElse") + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "You did it, I knew you could! Our scouts were able to clear through to the far side of the village. I'll send word back to Murrar. Thank you, " .. GetName(Spawn) .. ".") +end + +------------------------------------------------------------------------------------------------------------------ +-- QUEST 5 +------------------------------------------------------------------------------------------------------------------ + +function AnythingElse(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen012.mp3", "", "", 2525989430, 544085949, Spawn) + AddConversationOption(conversation, "So should I travel there?", "TravelThere") + AddConversationOption(conversation, "I'll deal with this later.") + StartConversation(conversation, NPC, Spawn, "The few scouts that broke through to the Sapswill village report a twist in this evil plot. Apparently the goblins are victims of the evil as well. A few goblins survived some sort of an attack on their village and are being held at a scout camp that has been set up on its outskirts.") +end + +function TravelThere(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen013.mp3", "", "", 2720199838, 3131530763, Spawn) + AddConversationOption(conversation, "On my way", "OfferQuest5") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "Yes, seek out Sorcerer Oofala. He is charged with protecting the camp there and should have more information. The camp is in an alcove on the far east side of the Abandoned Village. You will need to traverse around the Village to get to the camp. Good luck.") +end + +function ThanksForHelp(Spawn, NPC, onNextQuest) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen010.mp3", "", "", 1827963300, 3132811539, Spawn) + if onNextQuest == false then + AddConversationOption(conversation, "Is there anything else I can do?", "AnythingElse") + end + AddConversationOption(conversation, "And also with you.") + StartConversation(conversation, NPC, Spawn, "Thank you for your help. Peace be with you.") +end + + +function OfferQuest5(NPC, Spawn) + OfferQuest(NPC, Spawn, TheSourceOfEvil) +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1011.mp3", "", "", 0, 0) +--]] + +--[[ + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen003.mp3", "", "", 929576879, 4035132590, Spawn) + AddConversationOption(conversation, "I'll do my best.", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "You see those ghostly figures down in the canyon? Those are the souls of our scouts who were lost and consumed by evil. I believe that they may be trapped between our world and the next. I think I can resurrect them, if you can just lure them close to me.") + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen006.mp3", "", "", 3734054586, 4057468106, Spawn) + AddConversationOption(conversation, "I have a feeling I know where this is going.", "dlg_21_2") + StartConversation(conversation, NPC, Spawn, "Long ago there lived a ferocious breed on this island, a species of dire wolf that the Sapswill called 'the Morak.' The Morak were cleansed from the island so it could be a safer place.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cleric_mara_vaen/tutorial_island02_revamp/quests/citizenship/clericmaravaen/clericmaravaen007.mp3", "", "", 519840211, 2908756618, Spawn) + AddConversationOption(conversation, "Consider it done.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "The evil that builds on the island has drawn them from their graves and they hunt again. They are thick through Dead Canyon and we need to clear a path for our scouts to move forward.") +end + +--]] diff --git a/Lua/SpawnScripts/QueensColony/DefenderBristlebrow.lua b/Lua/SpawnScripts/QueensColony/DefenderBristlebrow.lua new file mode 100755 index 000000000..d2e233203 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/DefenderBristlebrow.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/DefenderBristlebrow.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Defender Bristlebrow dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "No time for idle talk, I need to keep focused.") +end + +function aggro(NPC) + opt1 = math.random(1,9) + if opt1 == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/barbarian_base_1/ft/barbarian/barbarian_base_1_1_aggro_gm_ea4ba638.mp3", "Sentries, alarm!", "", 83822322, 1846685810) + elseif opt1 == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/barbarian_base_1/ft/barbarian/barbarian_base_1_1_aggro_gm_394a7fe3.mp3", "Not sneaky enough to get past me.", "", 3715495401, 2861752836) + elseif opt1 == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/barbarian_base_1/ft/barbarian/barbarian_base_1_1_victory_gm_e707fef0.mp3", "Flee cowards, before I slaughter you all!", "", 3583801206, 1799910552) + elseif opt1 == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/barbarian_base_1/ft/barbarian/barbarian_base_1_1_aggro_gm_d2336620.mp3", "Your overconfidence will be your undoing.", "", 1735697087, 1551611219) + end +end + +function killed(NPC) + opt2 = math.random(1,5) + if opt2 == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/barbarian_base_1/ft/barbarian/barbarian_base_1_1_victory_gm_f87005b5.mp3", "Now you will have peace.", "", 3932457554, 2553847722) + elseif opt2 == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/barbarian_base_1/ft/barbarian/barbarian_base_1_1_victory_gm_155a84f0.mp3", "You fought well but not well enough!", "", 450019542, 4158631545) + elseif opt2 == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/barbarian_base_1/ft/barbarian/barbarian_base_1_1_maoscout_gm_abf544b6.mp3", "Time to run, you sneaky coward!", "", 401121050, 1757713301) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/DefenderKuglup.lua b/Lua/SpawnScripts/QueensColony/DefenderKuglup.lua new file mode 100755 index 000000000..30b724151 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/DefenderKuglup.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/DefenderKuglup.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Defender Kuglup dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Say(NPC, "There's another one!") +end + +function aggro(NPC) + opt1 = math.random(1,7) + if opt1 == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_base_1/ft/barbarian/barbarian_base_1_1_aggro_gf_ea4ba638.mp3", "Sentries, alarm!", "", 3264181187, 3210126852) + elseif opt1 == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_base_1/ft/barbarian/barbarian_base_1_1_aggro_gf_d2336620.mp3", "You overconfidence will be your undoing.", "", 2263836674, 942538899) + elseif opt1 == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_base_1/ft/barbarian/barbarian_base_1_1_aggro_gf_394a7fe3.mp3", "Not sneaky enough to get past me.", "", 3417148270, 2109180100) + elseif opt1 == 4 then + PlayFlavor(NPC, "voiceover/english/barbarian_base_1/ft/barbarian/barbarian_base_1_1_maoscout_gf_abf544b6.mp3", "Time to run, you sneaky coward!", "", 195739451, 1913168121) + end +end + +function killed(NPC) + opt2 = math.random(1,6) + if opt2 == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_base_1/ft/barbarian/barbarian_base_1_1_victory_gf_155a84f0.mp3", "You fought well but not well enough!", "", 1144735491, 2154607760) + elseif opt2 == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_base_1/ft/barbarian/barbarian_base_1_1_victory_gf_e707fef0.mp3", "Flee cowards, before I slaughter you all!", "", 1852613611, 2630125108) + elseif opt2 == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_base_1/ft/barbarian/barbarian_base_1_1_victory_gf_f87005b5.mp3", "Now you will have peace.", "", 2974774059, 665726799) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Deianeira.lua b/Lua/SpawnScripts/QueensColony/Deianeira.lua new file mode 100755 index 000000000..bdf8e63de --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Deianeira.lua @@ -0,0 +1,164 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Deianeira.lua + Script Purpose : Deianeira + Script Author : Scatman + Script Date : 2008.09.20 + Script Notes : +--]] + +local Tainted = 183 +local GhostsAndGoblins = 184 + +function spawn(NPC) + ProvidesQuest(NPC, Tainted) + ProvidesQuest(NPC, GhostsAndGoblins) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasCompletedQuest(Spawn, Tainted) then + if HasCompletedQuest(Spawn, GhostsAndGoblins) or HasQuest(Spawn, GhostsAndGoblins) then + Quest2RandomSay(NPC, Spawn) + else + NotConvinced(NPC, Spawn) + end + elseif HasQuest(Spawn, Tainted) then + if GetQuestStep(Spawn, Tainted) < 9 then + listenToTheSilence(NPC, Spawn) + elseif GetQuestStep(Spawn, Tainted) == 9 then + listenToTheSilence(NPC, Spawn, 2) + end + else + listenToTheSilence(NPC, Spawn, 1) + end +end + +function listenToTheSilence(NPC, Spawn, option) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira001.mp3", "", "", 974807054, 1523157599, Spawn) + + if option == 1 then + AddConversationOption(conversation, "Listen to the silence?", "quest1_before1") + elseif option == 2 then + AddConversationOption(conversation, "I found a parchment that hinted Direspike was under the influence of something else.", "FoundParchment") + end + + AddConversationOption(conversation, "Then I'll leave you in peace.") + StartConversation(conversation, NPC, Spawn, "Shhh...I'm trying to listen to the silence. Whisper please.") +end + +function quest1_before1(npc, spawn) + conversation = CreateConversation() + + PlayFlavor(npc, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira002.mp3", "", "", 1920565588, 3425134667, Spawn) + AddConversationOption(conversation, "The view's not so clear from here.", "quest1_before2") + StartConversation(conversation, npc, spawn, "Away from the noise over in the camp. I like standing here. You can see where you've been and where you can go. You know what awaits you if you go further in. If only everything were as simple as that, where all your choices are clear and you can see what awaits.") +end + +function quest1_before2(npc, spawn) + conversation = CreateConversation() + + PlayFlavor(npc, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira003.mp3", "", "", 3746790389, 1573998689, Spawn) + AddConversationOption(conversation, "What evil do you sense?", "quest1_before3") + AddConversationOption(conversation, "Then I'll have no more dealings with you.") + StartConversation(conversation, npc, spawn, "True, but it's clearer than, say, the difference between good and evil. All those around here who are ''good'' avoid me because I was born ''evil''. I grew up in Freeport. Does that make them better than me somehow, that I chose to leave Freeport to work on behalf of the Queen only recently? Who knows? Yet I must be evil; I can sense the evil in others.") +end + +function quest1_before3(npc, spawn) + conversation = CreateConversation() + + PlayFlavor(npc, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira004.mp3", "", "", 428169630, 2788724653, Spawn) + AddConversationOption(conversation, "I'll do what I can.", "quest1_offerQuest") + AddConversationOption(conversation, "Perhaps some other time.") + StartConversation(conversation, npc, spawn, "They say that there is a taint rising from an unknown source, polluting this place and corrupting the inhabitants. I feel it is much simpler than that. There are spiders in the Tainted Forest, poisonous ones. With their venom, they can cause untold suffering. The search for ''evil'' sometimes has a mundane cause. We must rid the Colony of these spiders.", spawn) +end + +function quest1_offerQuest(npc, spawn) + OfferQuest(npc, spawn, Tainted) +end + +function FoundParchment(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira005.mp3", "", "", 2666912393, 3640169922, Spawn) + AddConversationOption(conversation, "The crawlers were being influenced by a hidden totem.", "dlg_17_2") + AddConversationOption(conversation, "I'm not finished with them yet.") + StartConversation(conversation, NPC, Spawn, "The influence of something else? But I've sensed the evil in them. They aren't capable of planning to be evil. It must be their poison. It must!") +end + +function dlg_17_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira006.mp3", "", "", 1022748345, 1750032594, Spawn) + AddConversationOption(conversation, "There is something that runs deeper than spider venom here.", "NotConvinced") + StartConversation(conversation, NPC, Spawn, "I was so sure... Well, there goes that theory. Tell me, you may be less biased than someone like me: do you sense anything in the Tainted Forest? Anything at all?") +end + +function NotConvinced(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira007.mp3", "", "", 2498899827, 4165283209, Spawn) + AddConversationOption(conversation, "So you moved to Qeynos?", "dlg_17_4") + StartConversation(conversation, NPC, Spawn, "I'm not convinced, but this does throw a gnome wrench into things. I don't believe that there is such a thing as evil. Look at me: I was raised to believe Qeynos was a horrible place filled with mindless drones. Once I came of age I realized that the Overlord's minions were spreading lies.") +end + +function dlg_17_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira008.mp3", "", "", 56356150, 3856145142, Spawn) + AddConversationOption(conversation, "You were wrong about the toxic crawlers' poison.", "dlg_17_5") + StartConversation(conversation, NPC, Spawn, "'Moved' is such a polite way to say it. I betrayed Freeport to do what I felt in my heart was right. And yet...not everyone in Qeynos accepts me or my decision. So I came here, where I could help remove this island's taint. The honorable Qeynosians won't work with me, so I've had to devise my own theories.") +end + +function dlg_17_5(NPC, Spawn) + SetStepComplete(Spawn, Tainted, 9) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira009.mp3", "", "", 3026175083, 2234137219, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_17_6") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "We all make mistakes. Hopefully, this is not a mistake I'll live to regret. Are you willing to help me test another theory?") +end + +function dlg_17_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/deianeira/tutorial_island02_revamp/quests/deianeira/deianeira010.mp3", "", "", 3135820636, 1299129722, Spawn) + AddConversationOption(conversation, "I'll check into it.", "OfferQuest2") + AddConversationOption(conversation, "I'll need to do this later.") + StartConversation(conversation, NPC, Spawn, "The Tainted Forest is key. Look for the Forest Keeper, a treant who lives in a nook in the hillside just beyond these trees. It was a guardian of this place and has resisted the taint. It may be willing to speak to you. It chooses not to speak to a betrayer like me.") +end + +function OfferQuest2(NPC, Spawn) + OfferQuest(NPC, Spawn, GhostsAndGoblins) +end + +function Quest2RandomSay(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1, 5) + + if choice == 1 then + Say(NPC, "There's only so much I can do to earn someone's trust.") + elseif choice == 2 then + Say(NPC, "It's up to us to find the answers; they're never handed to us.") + elseif choice == 3 then + Say(NPC, "Evil is not always what it appears to be. That's the danger.") + elseif choice == 4 then + Say(NPC, "We Ayr'Dal are proud, though others may not appreciate us.") + elseif choice == 5 then + Say(NPC, "Freeport isn't that bad of a place, if you like watching over your shoulder all the time.") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Durg.lua b/Lua/SpawnScripts/QueensColony/Durg.lua new file mode 100755 index 000000000..ae65aef12 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Durg.lua @@ -0,0 +1,27 @@ +--[[ + Spawn Template + Script Name : Durg.lua + Script Purpose : Durg's spawnscript at the tree house in the Queen's Colony. + Script Author : Scatman + Script Date : 2008.08.29 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + choice = math.random(1, 2) + + if HasQuest(Spawn, ADiplomaticMission) and not QuestStepIsComplete(Spawn, ADiplomaticMission, 6) then + SetStepComplete(Spawn, ADiplomaticMission, 6) + end + + if choice == 1 then + Say(NPC, "Durg happy to meet you!") + else + Say(NPC, "Must protect diplomat!") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/EbikWobblecog.lua b/Lua/SpawnScripts/QueensColony/EbikWobblecog.lua new file mode 100755 index 000000000..43e5e75cb --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/EbikWobblecog.lua @@ -0,0 +1,227 @@ +--[[ + Script Name : SpawnScripts/QueensColony/EbikWobblecog.lua + Script Purpose : Ebik Wobblecog + Script Author : John Adams + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local EbiksMissingParts = 185 + +function spawn(NPC) + ProvidesQuest(NPC, EbiksMissingParts) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, EbiksMissingParts) then + if GetQuestStep(Spawn, EbiksMissingParts) == 4 then + -- handing in quest + SetStepComplete(Spawn, EbiksMissingParts, 4) + + PlayFlavor(NPC, "voiceover/english/island_of_refuge/ebikwobblecog/ior_ebikwobblecog_021.mp3", "", "", 1116547002, 1635450019, Spawn) + AddConversationOption(conversation, "Good luck.") + StartConversation(conversation, NPC, Spawn, "Yes, yes, yes! There are all the parts I need! Thank you ever so much. Please take this as a token of my appreciation. I'm sure the boat will be here any minute now.") + else + -- hasn't finished the quest yet + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_secondtalk_01.mp3", "", "", 688070292, 1255284608, Spawn) + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Spawn, "I need all the parts, I can't leave without them and luckily the boat to Qeynos hasn't showed up yet. Please help me find all the parts.") + end + elseif HasCompletedQuest(Spawn, EbiksMissingParts) then + -- quest completed + AddConversationOption(conversation, "Good luck.") + StartConversation(conversation, NPC, Spawn, "The boat really should be here by now. It must be running late, or maybe my pocket clock has a frizzer misaligned again... Hmmmm.") + else + -- does not have the quest yet + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_01.mp3", "", "", 2713964680, 2172979410, Spawn) + AddConversationOption(conversation, "Why are you going to Qeynos?", "dlg_23_1") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "Why, hello there! I was just sitting here waiting for the boat to Qeynos.") + end +end + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_02.mp3", "", "", 532888096, 1705696510, Spawn) + AddConversationOption(conversation, "What was the news?", "dlg_23_2") + AddConversationOption(conversation, "Safe travels.") + StartConversation(conversation, NPC, Spawn, "Ahh, I'm going there to meet my father. He dropped me off on this island because he was afraid our boat wouldn't make the trip. I begged him to stay, but he said he had urgent news for Qeynos.") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_03.mp3", "", "", 3248832255, 3165995891, Spawn) + AddConversationOption(conversation, "Why was his ship distracting?", "dlg_23_3") + AddConversationOption(conversation, "Goodbye.") + StartConversation(conversation, NPC, Spawn, "I'm not quite sure. He was in such a hurry that he never told me. Also I may have been a little distracted by his ship, it was really amazing.") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_04.mp3", "", "", 1312724951, 594166513, Spawn) + AddConversationOption(conversation, "Go on.", "dlg_23_4") + StartConversation(conversation, NPC, Spawn, "Because it was under water, of course! Have you ever seen a boat that runs beneath the waves? I certainly haven't. It was such genius, I spent the entire voyage inspecting it.") +end + +function dlg_23_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_05.mp3", "", "", 2209355729, 410792148, Spawn) + AddConversationOption(conversation, "What curse?", "dlg_23_5") + AddConversationOption(conversation, "I want no part of your curse, goodbye.") + StartConversation(conversation, NPC, Spawn, "I'm certain he hadn't planned on it falling below the surface. It's just another example of our curse, I suppose.") +end + +function dlg_23_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island02/ebik_firsttalk_06.mp3", "", "", 848346297, 415788395, Spawn) + AddConversationOption(conversation, "Yes, I'd like that.", "dlg_23_6") + AddConversationOption(conversation, "Not really.") + StartConversation(conversation, NPC, Spawn, "Surely you've heard of the Wobblecog family curse of miscalculation? No... no, I suppose you haven't, have you? Well, it doesn't appear that the boat is here yet. I imagine I've got time to tell you about our curse if you'd like to hear it.") +end + +function dlg_23_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island02/ebik_firsttalk_07.mp3", "", "", 489617943, 459263052, Spawn) + AddConversationOption(conversation, "Please go on.", "dlg_23_7") + StartConversation(conversation, NPC, Spawn, "Very well. It began long ago in Ak'Anon when the king decided to hold a contest. It was grand. The king invited everyone to make a clockwork king, and the one that most resembled him would win.") +end + +function dlg_23_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_08.mp3", "", "", 2658473484, 2726816701, Spawn) + AddConversationOption(conversation, "What happened then?", "dlg_23_8") + AddConversationOption(conversation, "That's nice, fairwell.") + StartConversation(conversation, NPC, Spawn, "The two favored inventors were my ancestor, Tizik Wobblecog, and an ingenious, but maligned tinkerer named Meldrath. They both submitted their designs, and after much deliberation it was found that the Wobblecog plan provided a much more accurate interpretation of the king.") +end + +function dlg_23_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_09.mp3", "", "", 168646029, 2064100068, Spawn) + AddConversationOption(conversation, "Do go on.", "dlg_23_9") + StartConversation(conversation, NPC, Spawn, "Tizik's clockwork became the royal doppelganger of course, and Meldrath became infuriated. He placed a curse on my family that has lasted every generation from then onward.") +end + +function dlg_23_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_10.mp3", "", "", 468670444, 2791058506, Spawn) + AddConversationOption(conversation, "That does sound bothersome.", "dlg_23_10") + StartConversation(conversation, NPC, Spawn, "He cursed us with miscalculation! It's nearly driven my family to madness. ") +end + +function dlg_23_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_11.mp3", "", "", 1677273819, 2525140274, Spawn) + AddConversationOption(conversation, "That sounds devastating.", "dlg_23_11") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "We're the most ingenious inventors, you see. We have truly inspired ideas, but can not ever see them through to completion because we fumble some inane formula.") +end + +function dlg_23_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_12.mp3", "", "", 605082040, 3732575966, Spawn) + AddConversationOption(conversation, "I see.", "dlg_23_12") + StartConversation(conversation, NPC, Spawn, "Oh, it is! Take my father for instance. We thought he had finally overcome the curse when he made that boat. It looked so beautiful and was more complete than any other Wobblecog invention has been in centuries. ") +end + +function dlg_23_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_13.mp3", "", "", 2893072579, 3745020880, Spawn) + AddConversationOption(conversation, "How did you get here if the boat sunk?", "dlg_23_13") + AddConversationOption(conversation, "Oh boy...I really don't have time for this.") + StartConversation(conversation, NPC, Spawn, "Then, as soon as we got it out in the ocean, it sunk like a rock. Who knew iron wouldn't float?") +end + +function dlg_23_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_14.mp3", "", "", 950110533, 2594458588, Spawn) + AddConversationOption(conversation, "But it moved along the floor?", "dlg_23_14") + AddConversationOption(conversation, "Are you still talking? Goodbye.") + StartConversation(conversation, NPC, Spawn, "Luckily, my father had compensated for the curse. He knew something was bound to go wrong, so he completely encapsulated the boat, making it water tight just in case something went awry. Sure enough, the moment she left the berth the Ticking Tock fell straight to the sea floor.") +end + +function dlg_23_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_15.mp3", "", "", 2110642575, 2339438650, Spawn) + AddConversationOption(conversation, "I see...", "dlg_23_15") + AddConversationOption(conversation, "Okay then...I'm just gonna walk away now.") + StartConversation(conversation, NPC, Spawn, "Oh, yes! There were several waterproofed whirligigs set up in a flagnuvian configuration to displace the meganominal gnoggnards.") +end + +function dlg_23_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_16.mp3", "", "", 2068602594, 1935966397, Spawn) + AddConversationOption(conversation, "What's wrong?", "dlg_23_16") + AddConversationOption(conversation, "And that's my cue to leave.") + StartConversation(conversation, NPC, Spawn, "So here I am, sitting on the dock with all of the extra par... hmm... Oh! This seems to be a bit of a problem.") +end + +function dlg_23_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_17.mp3", "", "", 1279276755, 1158727410, Spawn) + AddConversationOption(conversation, "Maybe I can help?", "dlg_23_17") + AddConversationOption(conversation, "Sounds like you're out of luck.") + StartConversation(conversation, NPC, Spawn, "I'm missing the extra parts that my father asked me to collect. Oh no! This is disastrous! I can't leave the dock because I'll miss the boat and I can't go to Qeynos without those parts! What am I going to do?") +end + +function dlg_23_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_18.mp3", "", "", 651304560, 3462850597) + AddConversationOption(conversation, "What parts are you missing?", "dlg_23_18") + StartConversation(conversation, NPC, Spawn, "You'd do that for me? Oh, thank you very, very, much! I'll stay here and ask the boat captain to wait for you to return, should he come. I'm missing three parts and I have no idea where they could be. I know they're on the island somewhere!") +end + +function dlg_23_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ebik_wobblecog/tutorial_island01/ebik/ebik_firsttalk_19.mp3", "", "", 3704607131, 803524082, Spawn) + AddConversationOption(conversation, "I'll get right on it.", "dlg_23_19") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "I'm missing a size 7 clunker, a copper-coated springer, and a triangle spinner. If you could find them and bring them to me, I'd be forever grateful!") +end + +function dlg_23_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, EbiksMissingParts) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/GalanCrestrider.lua b/Lua/SpawnScripts/QueensColony/GalanCrestrider.lua new file mode 100755 index 000000000..f133ad01c --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/GalanCrestrider.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/QueensColony/GalanCrestrider.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Galan Crestrider dialog + : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1022.mp3", "", "", 0, 0, Spawn) +end + +function InRange(NPC, Player) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Welcome to Crestrider's Trading Post.", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "If you can trade it, we can buy it.", "", 1689589577, 4560189, Spawn) + end +end diff --git a/Lua/SpawnScripts/QueensColony/Geredo.lua b/Lua/SpawnScripts/QueensColony/Geredo.lua new file mode 100755 index 000000000..3cb4328e3 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Geredo.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Geredo.lua + Script Author : Zcoretri + Script Date : 2015.07.27 + Script Purpose : Geredo dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/geredo/boat_06p_tutorial02_fvo_001.mp3", "Do you happen to have any mechanical leg extenders? I want to see the water.", "agree", 2902186099, 1357276764, Spawn) + else + PlayFlavor(NPC, "voiceover/english/geredo/boat_06p_tutorial02_fvo_002.mp3", "Thinking I should design a new mechanical boat. It would be perfect! Yes, perfect indeed!", "ponder", 2630458163, 1309095480, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/GogginCogspring.lua b/Lua/SpawnScripts/QueensColony/GogginCogspring.lua new file mode 100755 index 000000000..2f1f06870 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/GogginCogspring.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/QueensColony/GogginCogspring.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Goggin Cogspring dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1006.mp3", "Some day I'll get out there and work off this tab I have with Galan.", "", 0, 0, Spawn) +end + diff --git a/Lua/SpawnScripts/QueensColony/Gonk.lua b/Lua/SpawnScripts/QueensColony/Gonk.lua new file mode 100755 index 000000000..dee7f6664 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Gonk.lua @@ -0,0 +1,27 @@ +--[[ + Spawn Template + Script Name : Gonk.lua + Script Purpose : Gonk's spawnscript at the tree house in the Queen's Colony. + Script Author : Scatman + Script Date : 2008.08.29 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + choice = math.random(1, 2) + + if HasQuest(Spawn, ADiplomaticMission) and not QuestStepIsComplete(Spawn, ADiplomaticMission, 7) then + SetStepComplete(Spawn, ADiplomaticMission, 7) + end + + if choice == 1 then + Say(NPC, "Gonk likes diplomats!") + else + Say(NPC, "Gonk not bonk diplomat!") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/GrakusStonemallet.lua b/Lua/SpawnScripts/QueensColony/GrakusStonemallet.lua new file mode 100755 index 000000000..5b9231c5b --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/GrakusStonemallet.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/QueensColony/GrakusStonemallet.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Grakus Stonemallet dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "The Sapswill stout that we used to get from the goblins has all but disappeared. We need to fix this problem immediately.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/QueensColony/Groak.lua b/Lua/SpawnScripts/QueensColony/Groak.lua new file mode 100755 index 000000000..cb7f58a5c --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Groak.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Groak.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Groak dialog + : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Player) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Good thing Murrar Shar is here!", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "It's amazing what you can make from a fish.", "", 1689589577, 4560189, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1016.mp3", "", "", 0, 0, Spawn) +end + + + diff --git a/Lua/SpawnScripts/QueensColony/HannaDeeppockets.lua b/Lua/SpawnScripts/QueensColony/HannaDeeppockets.lua new file mode 100755 index 000000000..174851aae --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/HannaDeeppockets.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/QueensColony/HannaDeeppockets.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Hanna Deeppockets dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + -- need the halfling greeting voiceovers + if choice == 1 then + PlayFlavor(NPC, "", "All your basic necessities you'll find here.", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "The Deeppockets have a long history of good deals, ask anyone!", "", 0, 0, Spawn) + end +end + +function targeted(NPC, Spawn) + if GetDistance(Spawn, NPC) < 10 then + hailed(NPC, Spawn) + end +end + diff --git a/Lua/SpawnScripts/QueensColony/HelmsmanNyles.lua b/Lua/SpawnScripts/QueensColony/HelmsmanNyles.lua new file mode 100755 index 000000000..840e39b08 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/HelmsmanNyles.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/QueensColony/HelmsmanNyles.lua + Script Author : Zcoretri + Script Date : 2015.07.27 + Script Purpose : Helmsman Nyles dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Land! I see land!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + Say(NPC, "Ale salts! We're havin' rudder storm!") + elseif choice == 3 then + PlayFlavor(NPC, "", "Crazy! What are you talking about?", "", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/HighChieftainGrexx.lua b/Lua/SpawnScripts/QueensColony/HighChieftainGrexx.lua new file mode 100755 index 000000000..5f3f89531 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/HighChieftainGrexx.lua @@ -0,0 +1,109 @@ +--[[ + Script Name : SpawnScripts/QueensColony/HighChieftainGrexx.lua + Script Purpose : High Chieftain Grexx + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TheSourceOfEvil = 164 +local ADiplomaticMission = 166 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if HasQuest(Spawn, ADiplomaticMission) and GetQuestStep(Spawn, ADiplomaticMission) == 8 then + SetStepComplete(Spawn, ADiplomaticMission, 8) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, TheSourceOfEvil) then + RebuildWeWill(NPC, Spawn) + elseif HasQuest(Spawn, TheSourceOfEvil) then + if GetQuestStep(Spawn, TheSourceOfEvil) == 6 then + SadTimes(NPC, Spawn) + elseif GetQuestStep(Spawn, TheSourceOfEvil) == 7 then + HeroMustGo(NPC, Spawn) + elseif GetQuestStep(Spawn, TheSourceOfEvil) == 8 then + Prophecy(NPC, Spawn) + elseif GetQuestStep(Spawn, TheSourceOfEvil) == 9 then + RebuildWeWill(NPC, Spawn) + else + WaitingForHero(NPC, Spawn) + end + else + WaitingForHero(NPC, Spawn) + end +end + +function SadTimes(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/high_chieftain_grexx/tutorial_island02_revamp/quests/citizenship/highchieftaingrexx/highchieftaingrexx001.mp3", "", "", 3594102111, 1132457141, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_5_1") + AddConversationOption(conversation, "Sad times, indeed.") + StartConversation(conversation, NPC, Spawn, "Sad times upon us. The Great Balancing before us. Coming I knew you would be. Had to, you did.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/high_chieftain_grexx/tutorial_island02_revamp/quests/citizenship/highchieftaingrexx/highchieftaingrexx002.mp3", "", "", 2612330834, 4076610842, Spawn) + AddConversationOption(conversation, "I'll do what I can.", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "Prophecy speaks of the Great Balancing. Time when gobbies are faced with destruction, hero arrives to save us. Hero I feel from you.") +end + +function dlg_5_2(NPC, Spawn) + SetStepComplete(Spawn, TheSourceOfEvil, 6) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/high_chieftain_grexx/tutorial_island02_revamp/quests/citizenship/highchieftaingrexx/highchieftaingrexx003.mp3", "", "", 3142497620, 848770757, Spawn) + AddConversationOption(conversation, "I'll head to the cave.", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "As it was written! Sources of evil me thinks springs from cave. Fog shows us evil inside. Hero must save the Sapswill. Hero must be victorious!") +end + +function HeroMustGo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/high_chieftain_grexx/tutorial_island02_revamp/quests/citizenship/highchieftaingrexx/highchieftaingrexx004.mp3", "", "", 2809756305, 2299623207, Spawn) + AddConversationOption(conversation, "To the cave, right.") + StartConversation(conversation, NPC, Spawn, "Cave of fog to northeast hero must go!") +end + +function Prophecy(NPC, Spawn) + SetStepComplete(Spawn, TheSourceOfEvil, 8) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/high_chieftain_grexx/tutorial_island02_revamp/quests/citizenship/highchieftaingrexx/highchieftaingrexx005.mp3", "", "", 4263574455, 1760884911, Spawn) + StartConversation(conversation, NPC, Spawn, "Ahhh! Truth the Prophecy speaks. The Great Balancing is complete. Evil our hero has conquered. The Sapswill shall always remember and rebuild we will in your name, ".. GetName(Spawn) .. ". Take the hero's gift.") + --Say(NPC, "Ahhh! Truth the Prophecy speaks. The Great Balancing is complete. Evil our hero has conquered. The sapswill shall always remember and rebuild we will in your name, " .. GetName(Spawn) .. ". Take the hero's gift.") +end + +function RebuildWeWill(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Good luck.") + StartConversation(conversation, NPC, Spawn, "Rebuild we will in your name, " .. GetName(Spawn) .. "!") +end + +function WaitingForHero(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/high_chieftain_grexx/tutorial_island02_revamp/quests/citizenship/highchieftaingrexx/highchieftaingrexx007.mp3", "", "", 3809751141, 2628831609, Spawn) + AddConversationOption(conversation, "I'm just paying my respects, your...er, Grexxness.") + AddConversationOption(conversation, "The hero will be along anytime now.") + StartConversation(conversation, NPC, Spawn, "Waiting for hero we are, but the Great Balancing is not ready.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Ingrid.lua b/Lua/SpawnScripts/QueensColony/Ingrid.lua new file mode 100755 index 000000000..2adc7698d --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Ingrid.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Ingrid.lua + Script Author : Zcoretri + Script Date : 2015.07.27 + Script Purpose : Ingrid dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_007.mp3", "Yo ho ho and a bottle of rum!", "", 964088856, 3568852318, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_009.mp3", "I hate rats, every time we dock they get on board and eat our supplies.", "", 3636322414, 1973183674, Spawn) + else + PlayFlavor(NPC, "voiceover/english/ingrid/boat_06p_tutorial02_fvo_008.mp3", "Don't you just love the sea?", "", 541733813, 1294072887, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Leebo.lua b/Lua/SpawnScripts/QueensColony/Leebo.lua new file mode 100755 index 000000000..cd59869fa --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Leebo.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Leebo.lua + Script Purpose : Leebo + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Upgrade your spells here!", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/LieutenantWestfall.lua b/Lua/SpawnScripts/QueensColony/LieutenantWestfall.lua new file mode 100755 index 000000000..1ff07cf00 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/LieutenantWestfall.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/QueensColony/LieutenantWestfall.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Lieutenant Westfall dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "What's that there! To arms, the Morak are coming!", "point", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/QueensColony/MaylinMeadowlark.lua b/Lua/SpawnScripts/QueensColony/MaylinMeadowlark.lua new file mode 100755 index 000000000..dae870e5e --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/MaylinMeadowlark.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/QueensColony/MaylinMeadowlark.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Maylin Meadowlark dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I think I saw something moving out there!", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/MenderMannus.lua b/Lua/SpawnScripts/QueensColony/MenderMannus.lua new file mode 100755 index 000000000..4b4d1d4b7 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/MenderMannus.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/QueensColony/MenderMannus.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Mender Mannus dialog + : +--]] + +function spawn(NPC) + +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks, I will do so.") + StartConversation(conversation, NPC, Spawn, "Hello there, " ..GetName(Spawn).. ". Menders like me repair your equipment after it is damaged due to death. For more information on repairs, speak to Trainer Zidget Sprogrudder nearby. I'll fix your gear for a small fee, but menders in Qeynos won't be quite so generous!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/MeriBogfoot.lua b/Lua/SpawnScripts/QueensColony/MeriBogfoot.lua new file mode 100755 index 000000000..15162780a --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/MeriBogfoot.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/QueensColony/MeriBogfoot.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Meri Bogfoot dialog + : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Player) + PlayFlavor(NPC, "", "Left foot, right foot, spin...", "", 1689589577, 4560189) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1005.mp3", "", "", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/MurrarShar.lua b/Lua/SpawnScripts/QueensColony/MurrarShar.lua new file mode 100755 index 000000000..859e203a6 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/MurrarShar.lua @@ -0,0 +1,357 @@ +--[[ + Script Name : SpawnScripts/QueensColony/MurrarShar.lua + Script Purpose : Murrar Shar + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Notes : +--]] + +local WelcomeToNorrath = 133 +local TheArtOfCombat = 132 +local APresenceOfEvil = 131 +local IntoTheTaintedForest = 162 +local JoiningTheForwardRanks = 163 +local TheSourceOfEvil = 164 + +local quest2_text = nil + +function spawn(NPC) + ProvidesQuest(NPC, TheArtOfCombat) + ProvidesQuest(NPC, APresenceOfEvil) + ProvidesQuest(NPC, IntoTheTaintedForest) + ProvidesQuest(NPC, JoiningTheForwardRanks) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, TheArtOfCombat) then + if HasQuest(Spawn, TheArtOfCombat) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar010.mp3", "", "", 2562990263, 480187891, Spawn) + if GetQuestStep(Spawn, TheArtOfCombat) == 4 then + quest2_text = "I'm glad to hear it, for now we have need of our courage" + AddConversationOption(conversation, "I defeated my sparring partner and learned about combat.", "DefeatedSparringPartner") + end + AddConversationOption(conversation, "Not yet.") + AddConversationOption(conversation, "I would prefer to leave the island and go to Qeynos.", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "Hello again, " .. GetName(Spawn) .. ". Have you passed the test that Trainer Hayl McGuinness set before you?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar007.mp3", "", "", 4090368410, 193364605, Spawn) + AddConversationOption(conversation, "Who are you?", "WhoAreYou") + AddConversationOption(conversation, "I would prefer to leave the island now.", "LeaveIsland") + AddConversationOption(conversation, "I will return after I look around a bit.") + StartConversation(conversation, NPC, Spawn, "Welcome, " .. GetName(Spawn) .. ", I have been anticipating your arrival. Your skills are greatly needed here at the Queen's Colony.") + end + elseif not HasCompletedQuest(Spawn, APresenceOfEvil) then + if HasQuest(Spawn, APresenceOfEvil) then + if GetQuestStep(Spawn, APresenceOfEvil) <= 5 then + CurrentTaskInJournal(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar014.mp3", "", "", 3089319907, 3490280411, Spawn) + AddConversationOption(conversation, "I agree. There's something behind all of this.", "BehindAllThis") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "Hmm... yes, these reports are disturbing indeed. I cannot place the source that tainted our beloved soldiers.") + end + else + --give 2nd quest + quest2_text = "Hello " .. GetName(Spawn) + DefeatedSparringPartner(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, IntoTheTaintedForest) then + if HasQuest(Spawn, IntoTheTaintedForest) then + if GetQuestStep(Spawn, IntoTheTaintedForest) <= 5 then + CurrentTaskInJournal(NPC, Spawn) + elseif GetQuestStep(Spawn, IntoTheTaintedForest) == 6 then + Quest3Done(NPC, Spawn) + end + else + ReadyToHelpNow(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, JoiningTheForwardRanks) then + if HasQuest(Spawn, JoiningTheForwardRanks) then + CurrentTaskInJournal(NPC, Spawn) + else + SamplesExamined(Spawn, NPC) + end + elseif not HasCompletedQuest(Spawn, TheSourceOfEvil) then + if HasQuest(Spawn, TheSourceOfEvil) then + if GetQuestStep(Spawn, TheSourceOfEvil) == 9 then + Quest5Done(NPC, Spawn) + else + CurrentTaskInJournal(NPC, Spawn) + end + else + GoblinsAreVictims(NPC, Spawn) + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar030.mp3", "", "", 3165714952, 1304016911, Spawn) + AddConversationOption(conversation, "Farewell.") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "Qeynos will live for you, my friend. Your deeds here will not be forgotten. Farewell.") + end + +end + +function LeaveIsland(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar_leave000.mp3", "", "", 752128822, 2974687933, Spawn) + AddConversationOption(conversation, "Where can I find Captain Varlos?", "WhereCaptainVarlos") + StartConversation(conversation, NPC, Spawn, "If you feel you are ready to leave the island you can do so at any time. We have an arrangement with Captain Varlos. He will take you to the fair city of Qeynos.") +end + + +function WhereCaptainVarlos(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar_leave001.mp3", "", "", 3799088988, 2590558774, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Head through the south archway to the beach. Once there, you will find Varlos' ship on the dock. He should be aboard the ship. I hope you enjoy Qeynos, " .. GetName(Spawn) .. ".") +end + +function WhoAreYou(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar001.mp3", "", "", 4276663740, 184288328, Spawn) + AddConversationOption(conversation, "What is the purpose of this colony?", "PurposeColony") + AddConversationOption(conversation, "We'll talk about this later.") + StartConversation(conversation, NPC, Spawn, "I am Murrar Shar, General of the Royal Antonican Guard and prrrotector of Queen Antonia Bayle.") +end + +function PurposeColony(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar002.mp3", "", "", 1723259718, 37401788, Spawn) + AddConversationOption(conversation, "Tell me more about Qeynos.", "MoreAboutQeynos") + AddConversationOption(conversation, "I'd like to get to work. How can I help you?", "HowCanHelp") + AddConversationOption(conversation, "A pleasure to meet you, but I must go.") + StartConversation(conversation, NPC, Spawn, "The Queen's Colony was established as a training ground for prospective citizens of Qeynos. Our great city needs valiant defenders.") +end + +function MoreAboutQeynos(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar003.mp3", "", "", 490663804, 1186290249, Spawn) + AddConversationOption(conversation, "Tell me more about Freeport.", "MoreAboutFreeport") + AddConversationOption(conversation, "I'd rather not get into it.") + StartConversation(conversation, NPC, Spawn, "Qeynos is a grand city that stands on the western shores of the continent Karan. It is a place where truth and justice are valued above all else. It is ruled by the brave and noble Queen Antonia Bayle. Our kingdom is a bright light that stands against the dark empire of Freeport.") +end + +function MoreAboutFreeport(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar004.mp3", "", "", 920852811, 2210592101, Spawn) + AddConversationOption(conversation, "I will do so. How can I be of service to the colony?", "HowCanHelp") + AddConversationOption(conversation, "I'm not willing yet.") + StartConversation(conversation, NPC, Spawn, "Freeport is a city of cruelty and malice, governed by its selfish Overlord, Lucan D'Lere. He is a dangerous madman who seeks to conquer Norrath and hold us all in his iron grip. Beware his lies, " .. GetName(Spawn) .. ".") +end + +function CurrentTaskInJournal(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar008.mp3", "", "", 2240443890, 2947060693, Spawn) + AddConversationOption(conversation, "Hey, that's a nice sword. Where'd you get it?", "NiceSword") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, NPC, Spawn, "Your current task is written in your journal. Return to me when you're finished.") +end + +function NiceSword(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar013.mp3", "", "", 271551862, 2243544574, Spawn) + AddConversationOption(conversation, "Okay, I will.") + StartConversation(conversation, NPC, Spawn, "Thank you for noticing. They call this one Berik, Sword of Thunder. I earned it in a dungeon in Antonica known as Stormhold. Work hard and you might find such a prize someday.") +end + +-- 1st QUEST DIALOG + +function HowCanHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar005.mp3", "", "", 2129721282, 2945062289, Spawn) + AddConversationOption(conversation, "I am ready to learn, Murrar.", "ReadyToLearn") + AddConversationOption(conversation, "Not just now.") + StartConversation(conversation, NPC, Spawn, "Ahh, your future is as bright as your heart, but there are perils in this world that only the mightiest of adventurers may overcome. Live for Qeynos and Qeynos will live for you!") +end + +function ReadyToLearn(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, WelcomeToNorrath) then + SetStepComplete(Spawn, WelcomeToNorrath, 1) + end + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar006.mp3", "", "", 3748435458, 1580349546, Spawn) + AddConversationOption(conversation, "I will do as you ask.", "OfferQuest1") + AddConversationOption(conversation, "I don't have time right now.") + StartConversation(conversation, NPC, Spawn, "I am very glad to hear it! Go and speak to Trainer Hayl McGuinness, just northwest of here near the archway. I've written his name in your journal. He will teach you the basics of combat.") +end + +function DefeatedSparringPartner(NPC, Spawn) + SetStepComplete(Spawn, TheArtOfCombat, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar011.mp3", "", "", 4256576079, 2557419428, Spawn) + AddConversationOption(conversation, "I would be glad to. What can I do?", "WhatCanIDo") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, quest2_text .. ". Until recently, our colony lived in peace with a clan of goblins known as the Sapswill that reside on the other side of the island. But for some unknown reason, they have begun to attack us. We need to begin an investigation at once to get to the bottom of this. Will you help?") +end + +-- 2nd QUEST DIALOG + +function WhatCanIDo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar012.mp3", "", "", 3644220831, 939546210, Spawn) + AddConversationOption(conversation, "I will do so.", "OfferQuest2") + AddConversationOption(conversation, "I don't have time right now.") + StartConversation(conversation, NPC, Spawn, "The goblins have started attacking us from the west. We're not sure what sparked the uprising, but they are now relentlessly trying to invade the colony. I need you to go see how our defenders are doing at the west gate and gather any information you can. Speak with Seargant Haggus at the barricades and see what you can do to assist him.") +end + +function BehindAllThis(NPC, Spawn) + SetStepComplete(Spawn, APresenceOfEvil, 6) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar015.mp3", "", "", 2203186957, 1407413043, Spawn) + AddConversationOption(conversation, "I am ready to help now.", "ReadyToHelpNow") + AddConversationOption(conversation, "Thanks. I'll be back.") + StartConversation(conversation, NPC, Spawn, "I can assure you that we will find out though. In the meantime, here is a reward for your continued assistance.") +end + +-- 3rd QUEST DIALOG + +function ReadyToHelpNow(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar016.mp3", "", "", 943121762, 902772716, Spawn) + AddConversationOption(conversation, "I could do that.", "ICouldDoThat") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "Ready to continue eh? The dead soldiers were resurrected by something most evil and bent on destroying the Colony. Recently the wildlife on the island has felt the effects of the evil as well. I must get some samples from those creatures, so that I can examine them more closely.") +end + +function ICouldDoThat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar017.mp3", "", "", 818627273, 1220772208, Spawn) + AddConversationOption(conversation, "Will do.", "OfferQuest3") + AddConversationOption(conversation, "I'm too busy right now.") + StartConversation(conversation, NPC, Spawn, "Thank you, but I have already sent a skilled hunter to do the job. Maybe you should check up on him though and make sure things are going well. He's been out in the Tainted Forest for a while now. Look for Sha'Dur up the stairs on the north side of the Sunset Meadow.") +end + +function Quest3Done(NPC, Spawn) + SetStepComplete(Spawn, IntoTheTaintedForest, 6) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1036.mp3", "", "", 0, 0) + AddConversationOption(conversation, "Thanks.") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "Good, the samples. I'll need to consult with Myrrin about them, but in the mmmmeantime here is your reward. Come back to me later and hopefully these samples will have prroven worthy.") +end + +-- 4th QUEST DIALOG + +function SamplesExamined(Spawn, NPC) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar019.mp3", "", "", 1940724466, 1039099607, Spawn) + AddConversationOption(conversation, "I'm guessing you'd like me to find out.", "dlg_19_1") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + AddConversationOption(conversation, "I have something else to do before I get involved.") + StartConversation(conversation, NPC, Spawn, "The samples have been examined and my worst fear has been realized. A poisonous mist clings to the tissue, eating and controlling it. I suspect necromancy, but from whom?") +end + +function dlg_19_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar020.mp3", "", "", 969547880, 3659700172, Spawn) + AddConversationOption(conversation, "You want me to confront the Chieftain now?", "dlg_19_2") + StartConversation(conversation, NPC, Spawn, "That I do. My best guess is that the goblin leader, High Chieftain Grexx, is involved. He is the most powerful and influential figure to the goblins. If he were somehow corrupted, the goblins would follow any orders he demanded.") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar021.mp3", "", "", 2156921006, 779590907, Spawn) + AddConversationOption(conversation, "Will do.", "OfferQuest4") + AddConversationOption(conversation, "I can't right now.") + StartConversation(conversation, NPC, Spawn, "First things first ," .. GetName(Spawn) .. ". We need to break through to the goblin village. I have assigned this duty to Cleric Mara'Vaen. Seek her out and see how you can help.") +end + +-- 5th QUEST DIALOG + +function GoblinsAreVictims(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will speak with the Cleric at once.") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "The scouts that broke through to the Sapswill Village report that the goblins themselves are victims of the evil. Cleric Mara'Vaen will doubtless have the most recent information on this development.", Spawn) +end + +function Quest5Done(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar028.mp3", "", "", 1703190849, 2791144430, Spawn) + AddConversationOption(conversation, "It was nothing, really.", "ItWasNothingReally") + AddConversationOption(conversation, "How do I leave the island?", "LeaveIsland") + StartConversation(conversation, NPC, Spawn, "By the glory of Qeynos, you've done it! The source of evil is gone and the island is saved. You are on a path to greatness, " .. GetName(Spawn) .. ". Your deeds here shall not be forgotten and I forsee many adventures ahead of you.") +end + +function ItWasNothingReally(NPC, Spawn) + SetStepComplete(Spawn, TheSourceOfEvil, 9) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/murrar_shar/tutorial_island02_revamp/quests/citizenship/murrarshar/murrarshar029.mp3", "", "", 3787491059, 860331081, Spawn) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Nothing! I will tell the Queen personally of your bravery. Take this reward as a gift from Qeynos. Feel free to head to Qeynos at anytime, or stay and hone your skills. Speak with Captain Varlos on the docks when you wish to leave.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- OFFER QUESTS +-------------------------------------------------------------------------------------------------------------------- +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, TheArtOfCombat) +end + +function OfferQuest2(NPC, Spawn) + OfferQuest(NPC, Spawn, APresenceOfEvil) +end + +function OfferQuest3(NPC, Spawn) + OfferQuest(NPC, Spawn, IntoTheTaintedForest) +end + +function OfferQuest4(NPC, Spawn) + OfferQuest(NPC, Spawn, JoiningTheForwardRanks) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/NebbleUnderroot.lua b/Lua/SpawnScripts/QueensColony/NebbleUnderroot.lua new file mode 100755 index 000000000..3c5abd779 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/NebbleUnderroot.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/QueensColony/NebbleUnderroot.lua + Script Author : Zcoretri + Script Date : 2015.07.27 + Script Purpose : Nebble Unfderroot dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "Mmm, triggerfish pie! I can smell it now.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Shark fin soup! Maybe I'll get lucky.", "", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Patroller1.lua b/Lua/SpawnScripts/QueensColony/Patroller1.lua new file mode 100755 index 000000000..e1fb5f6dd --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Patroller1.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Patroller1.lua + Script Purpose : a Qeynos Guardsman + Script Author : John Adams + Script Date : 2008.11.26 + Script Notes : Attempting to create a "leader" guard the other 3 will follow around the island. +--]] + +function spawn(NPC) + --Syntax is NPC, x, y, z, speed, delay (in seconds) + MovementLoopAddLocation(NPC, 21.09, -5.30, 161.75, 2, 0) + MovementLoopAddLocation(NPC, 21.18, -5.28, 144.12, 2, 0) + MovementLoopAddLocation(NPC, 16.59, -5.27, 133.36, 2, 0) + MovementLoopAddLocation(NPC, 10.50, -5.24, 114.47, 2, 0) + MovementLoopAddLocation(NPC, 6.95, -5.22, 103.47, 2, 0) + MovementLoopAddLocation(NPC, -25.22, -5.10, 100.19, 2, 0) + MovementLoopAddLocation(NPC, -52.38, -5.79, 108.30, 2, 0) + MovementLoopAddLocation(NPC, -55.46, -4.91, 131.16, 2, 0) + MovementLoopAddLocation(NPC, -46.75, -5.04, 157.32, 2, 0) + MovementLoopAddLocation(NPC, -23.70, -5.12, 176.13, 2, 0) + MovementLoopAddLocation(NPC, -9.30, -5.20, 186.68, 2, 0) + MovementLoopAddLocation(NPC, -21.30, -5.41, 217.11, 2, 0) + MovementLoopAddLocation(NPC, -7.47, -5.21, 188.38, 2, 0) + MovementLoopAddLocation(NPC, 1.16, -5.22, 181.35, 2, 0) + MovementLoopAddLocation(NPC, 12.73, -5.26, 172.09, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + Emote(NPC, "glares at you.") + Say(NPC, "Yes, I'm busy. Hurry up now, what is it?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/PaulaMarx.lua b/Lua/SpawnScripts/QueensColony/PaulaMarx.lua new file mode 100755 index 000000000..a1de0e979 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/PaulaMarx.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : SpawnScripts/QueensColony/PaulaMarx.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Paula Marx dialog + Modified Date : 2017.04.13 + Modified by : EmemJr + Notes : Added dialog and code for Turning in collections +--]] + + +function spawn(NPC) + + MovementLoopAddLocation(NPC, 5.65, -6.50, 208.26, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 0.71, -5.83, 198.18, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 10.66, -6.90, 200.55, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 18.65, -6.87, 194.36, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 26.80, -6.86, 187.05, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 31.08, -6.24, 197.45, 2, 10, "Gather") + + MovementLoopAddLocation(NPC, 9.11, -6.80, 206.29, 2, 10, "Gather") + + -- return to spawn point and hang out. + MovementLoopAddLocation(NPC, -6.18, -4.96, 218.46, 2, 0) + MovementLoopAddLocation(NPC, -5.91, -4.96, 218.24, 2, 30) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + --if (player has a collection then add a convesation option to hand in a collection + --end + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What Collections?","WhatCollections") + if HasCollectionsToHandIn(Spawn) then + AddConversationOption(conversation, "I have a collection for you", "TurnIn") + + end + AddConversationOption(conversation, "Goodbye!") + StartConversation(conversation, NPC, Spawn, "Hello, traveler! How I envy you. What I wouldn't give to journey the world as I did in my youth. Alas, my days of adventuring are long past, but at least I can occupy myself with my various trinkets and collections that I picked up in my travels.") +end + +function Gather(NPC) + GatherSpawn = GetSpawn(NPC, 2530009) -- Get Paula Marx + SpawnSet(NPC, "visual_state", "2809") -- Start gathering + AddTimer(NPC, 5000, "stop_gathering") -- for 5 seconds, then stop +end + +function stop_gathering(NPC) + GatherSpawn = GetSpawn(NPC, 2530009) -- get Paula Marx + SpawnSet(NPC, "visual_state", "0") -- Stop her from gathering +end +function WhatCollections(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I'll keep that in mind.") + StartConversation(conversation, NPC, Spawn, "Why, any sort of collection. There's so much out there to find! Just open your eyes and peek under the rocks. If you find anything interesting, let me have a look. Collecting is the only way I seem to relive my youth!") +end + +function TurnIn(NPC, Spawn) + FaceTarget(NPC, Spawn) + HandInCollections(Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Okay,bye!") + StartConversation(conversation, NPC, Spawn, "This is a magnificent find! Here, take this for all your hard work.") +end diff --git a/Lua/SpawnScripts/QueensColony/PredatorShadur.lua b/Lua/SpawnScripts/QueensColony/PredatorShadur.lua new file mode 100755 index 000000000..e247ea928 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/PredatorShadur.lua @@ -0,0 +1,116 @@ +--[[ + Script Name : SpawnScripts/QueensColony/PredatorShadur.lua + Script Purpose : Predator Sha'dur + Script Author : John Adams + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local IntoTheTaintedForest = 162 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, IntoTheTaintedForest) then + if GetQuestStep(Spawn, IntoTheTaintedForest) == 1 then + -- on step 1 + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur001.mp3", "", "", 974461124, 1688750829, Spawn) + AddConversationOption(conversation, "Easy there, all is not lost. I can help.", "AllNotLost") + AddConversationOption(conversation, "Then I'll just come back later.") + StartConversation(conversation, NPC, Spawn, "Wraaa! The day is grim. Has this world lost all of its goodness and left us with this cold husk? I suppose you were sent by Murrar, but my job has been halted.") + elseif GetQuestStep(Spawn, IntoTheTaintedForest) == 2 or GetQuestStep(Spawn, 9) == 4 then + -- on step 2 + AddConversationOption(conversation, "I'm still looking.") + StartConversation(conversation, NPC, Spawn, "Wraaa! Don't worry, I didn't expect to get my bow and arrows back anyway.") + elseif GetQuestStep(Spawn, IntoTheTaintedForest) == 3 then + -- on step 3 + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur005.mp3", "", "", 2074453663, 3037764595, Spawn) + AddConversationOption(conversation, "There were no arrows to be found.", "NoArrowsFound") + StartConversation(conversation, NPC, Spawn, "Wra... my bow! You did this for me? Maybe this day is not so bad. Maybe you found my arrows too?") + elseif GetQuestStep(Spawn, IntoTheTaintedForest) == 5 then + Step5Complete(NPC, Spawn) + else + GivenHope(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, IntoTheTaintedForest) then + GivenHope(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quest/citizenship_predator_shadur_notonquest_ace49adb.mp3", "I like your look. I think you may be able to help me. Speak with Murrar Shar, back in the Queen's Colony, if you're interested.", "", 3528725023, 1136267894, Spawn) + end +end + +function AllNotLost(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur002.mp3", "", "", 1717533921, 3624025078, Spawn) + AddConversationOption(conversation, "Maybe I can find your bow and arrows?", "FindBowAndArrows") + AddConversationOption(conversation, "I'd rather stay out of this.") + StartConversation(conversation, NPC, Spawn, "Help was a word I didn't expect to hear, but I'm most likely beyond helping. See, I was sent here to collect samples from the wildlife that has become tainted, but on my hunt I was ambushed by the nearby goblins. My bow and arrows were lost in the scuffle.") +end + +function FindBowAndArrows(NPC, Spawn) + SetStepComplete(Spawn, IntoTheTaintedForest, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur003.mp3", "", "", 3011492014, 1113535899, Spawn) + AddConversationOption(conversation, "Don't worry, I'll find it.") + StartConversation(conversation, NPC, Spawn, "I'm sure my bow is in the hands of those tainted Sapswill tappers that ambushed me. You might try, but I don't except much.") +end + +function NoArrowsFound(NPC, Spawn) + SetStepComplete(Spawn, IntoTheTaintedForest, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur006.mp3", "", "", 2110516952, 1980416532, Spawn) + AddConversationOption(conversation, "Be at ease, friend. I can get the sticks.") + StartConversation(conversation, NPC, Spawn, "Well there goes the day again! What's a bow without arrows? The only good sticks I've found to make arrow shafts are by that spider den! Brrrr!") +end + +function Step5Complete(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur007.mp3", "", "", 1042822953, 3405333200, Spawn) + AddConversationOption(conversation, "That's the spirit!", "dlg_16_1") + StartConversation(conversation, NPC, Spawn, "You'd do this for me again? I can fletch these sticks into perfect arrows. You, my friend, have turned my eyes. It's a great day. I know we can beat this menace!") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur008.mp3", "", "", 985337170, 2895526537, Spawn) + AddConversationOption(conversation, "You've already got some samples? But...", "dlg_16_2") + StartConversation(conversation, NPC, Spawn, "You know, come to think of it. I did get a few small samples before I lost my bow. Why don't you take them back to Murrar to see if they'll do.") +end + +function dlg_16_2(NPC, Spawn) + SetStepComplete(Spawn, IntoTheTaintedForest, 5) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/predator_sha_dur/tutorial_island02_revamp/quests/citizenship/predatorshadur/predatorshadur009.mp3", "", "", 2433535127, 45385354, Spawn) + AddConversationOption(conversation, "Great! I know Murrar's waiting for these.", "dlg_16_3") + StartConversation(conversation, NPC, Spawn, "No really, go ahead! With your help finding my gear, you've shown that there is light in this dim hour. We will live to fight another day.") +end + +function GivenHope(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Good luck.") + StartConversation(conversation, NPC, Spawn, "My arrows are almost ready! You've given me hope friend.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/SapswillVillageDancer.lua b/Lua/SpawnScripts/QueensColony/SapswillVillageDancer.lua new file mode 100755 index 000000000..e4e54cd67 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SapswillVillageDancer.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SapswillVillageDancer.lua + Script Purpose : Spawn script for a dancing Sapswill. + Script Author : Scatman + Script Date : 2009.01.11 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) + SpawnSet(NPC, "visual_state", 11298) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if HasCompletedQuest(Spawn, ADiplomaticMission) or HasQuest(Spawn, ADiplomaticMission) then + QuestTalk(NPC, Spawn) + else + NormalTalk(NPC, Spawn) + end + + +end + +function NormalTalk(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "Danger? Only danger I see is crackin' my nog on this rock!") + else + Say(NPC, "Invasion? Ahh my dance! I call it the Stout Shuffle though.") + end +end + +function QuestTalk(NPC, Spawn) + if HasQuest(Spawn, ADiplomaticMission) and not QuestStepIsComplete(Spawn, ADiplomaticMission, 4) then + SetStepComplete(Spawn, ADiplomaticMission, 4) + end + + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "Special welcomes, diplomat!") + else + Say(NPC, "Dancing is good for diplomats too!") + end +end + diff --git a/Lua/SpawnScripts/QueensColony/SapswillVillageDrunk.lua b/Lua/SpawnScripts/QueensColony/SapswillVillageDrunk.lua new file mode 100755 index 000000000..beaefff82 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SapswillVillageDrunk.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SapswillVillageDrunk.lua + Script Purpose : Spawn script for a drunk Sapswill villager. + Script Author : Scatman + Script Date : 2009.01.11 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) + SpawnSet(NPC, "visual_state", 228) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if HasQuest(Spawn, ADiplomaticMission) and not QuestStepIsComplete(Spawn, ADiplomaticMission, 2) then + SetStepComplete(Spawn, ADiplomaticMission, 2) + end + + --FaceTarget(NPC, Spawn) + Say(NPC, "...") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/SapswillVillageHappy.lua b/Lua/SpawnScripts/QueensColony/SapswillVillageHappy.lua new file mode 100755 index 000000000..8791890d9 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SapswillVillageHappy.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SapswillVillageHappy.lua + Script Purpose : Spawn script for a happy Sapswill villager. + Script Author : Scatman + Script Date : 2009.01.11 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) + SpawnSet(NPC, "visual_state", 11150) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if HasQuest(Spawn, ADiplomaticMission) and not QuestStepIsComplete(Spawn, ADiplomaticMission, 5) then + SetStepComplete(Spawn, ADiplomaticMission, 5) + end + + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "Get some swill, diplomat! Is good!") + else + Say(NPC, "Dishpan hands? Huh? Oh! Dip-lo-mat! Ha! Funny!") + end +end + diff --git a/Lua/SpawnScripts/QueensColony/SapswillVillageMusician.lua b/Lua/SpawnScripts/QueensColony/SapswillVillageMusician.lua new file mode 100755 index 000000000..a7f30c7da --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SapswillVillageMusician.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SapswillVillageMusician.lua + Script Purpose : Spawn script for Sapswill musician. + Script Author : Scatman + Script Date : 2009.01.11 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if HasCompletedQuest(Spawn, ADiplomaticMission) or HasQuest(Spawn, ADiplomaticMission) then + QuestTalk(NPC, Spawn) + else + NormalTalk(NPC, Spawn) + end + + +end + +function NormalTalk(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "What you mean backwards? Expert I am!") + else + Say(NPC, "Course I know what I'm doing! What you mean backwards?") + end +end + +function QuestTalk(NPC, Spawn) + if HasQuest(Spawn, ADiplomaticMission) and not QuestStepIsComplete(Spawn, ADiplomaticMission, 1) then + SetStepComplete(Spawn, ADiplomaticMission, 1) + end + + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "I play special tune for diplomats!") + else + Say(NPC, "Happy meeting, diplomat!") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/SapswillVillageSitting.lua b/Lua/SpawnScripts/QueensColony/SapswillVillageSitting.lua new file mode 100755 index 000000000..6100b01bc --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SapswillVillageSitting.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SapswillVillageSitting.lua + Script Purpose : Spawn script for a sitting Sapswill. + Script Author : Scatman + Script Date : 2009.01.11 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if HasCompletedQuest(Spawn, ADiplomaticMission) or HasQuest(Spawn, ADiplomaticMission) then + QuestTalk(NPC, Spawn) + else + NormalTalk(NPC, Spawn) + end +end + +function NormalTalk(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1, 4) + if choice == 1 then + Say(NPC, "If not for twins, we not make it.") + elseif choice == 2 then + Say(NPC, "A friend to gobbies! Grexx was right!") + elseif choice == 3 then + Say(NPC, "Grexx was right, hopes has come!") + else + Say(NPC, "Days are grim, but Grexx has hopes.") + end +end + +function QuestTalk(NPC, Spawn) + if HasQuest(Spawn, ADiplomaticMission) and not QuestStepIsComplete(Spawn, ADiplomaticMission, 3) then + SetStepComplete(Spawn, ADiplomaticMission, 3) + end + + FaceTarget(NPC, Spawn) + + choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "Hail? But soothsayer says no hail in forecast!") + else + Say(NPC, "Happy days ahead now, diplomatic friend!") + end +end + diff --git a/Lua/SpawnScripts/QueensColony/SapswillvillagerRunner.lua b/Lua/SpawnScripts/QueensColony/SapswillvillagerRunner.lua new file mode 100755 index 000000000..124e8873e --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SapswillvillagerRunner.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : aSapswillvillagerRunner.lua + Script Purpose : Makes the sapswill on the Queen's Colony run around the rock. + Script Author : Scatman + Script Date : 2008.12.15 + Script Notes : +--]] + +local ADiplomaticMission = 166 + +function spawn(NPC) + SpawnSet(NPC, "visual_state", 0) + MovementLoopAddLocation(NPC, -75.98, 0.26, -238.35, 4, 0) + MovementLoopAddLocation(NPC, -72.04, 0.25, -240.76, 4, 0) + MovementLoopAddLocation(NPC, -73.36, 0.26, -245.79, 4, 0) + MovementLoopAddLocation(NPC, -78.16, 0.35, -248.07, 4, 0) + MovementLoopAddLocation(NPC, -82.81, 1.69, -245.62, 4, 0) + MovementLoopAddLocation(NPC, -85.91, 2.09, -240.37, 4, 0) + MovementLoopAddLocation(NPC, -82.86, 1.75, -237.19, 4, 0) +end + +function hailed(NPC, Spawn) + --FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end diff --git a/Lua/SpawnScripts/QueensColony/SergeantHaggus.lua b/Lua/SpawnScripts/QueensColony/SergeantHaggus.lua new file mode 100755 index 000000000..60fa631e0 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SergeantHaggus.lua @@ -0,0 +1,84 @@ +--[[ + Script Name : SpawnScripts/QueensColony/SergeantHaggus.lua + Script Purpose : Sergeant Haggus + Script Author : Scatman + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local APresenceOfEvil = 131 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, APresenceOfEvil) and GetQuestStep(Spawn, APresenceOfEvil) < 6 then + if GetQuestStep(Spawn, APresenceOfEvil) == 1 then + --on 1st part of quest + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sergeant_haggus/tutorial_island02_revamp/quests/citizenship/sergeanthaggus/sergeanthaggus001.mp3", "", "", 706977451, 1189091137, Spawn) + AddConversationOption(conversation, "Yes. He was wondering how our defenses are holding?", "WonderingHowDefenses") + AddConversationOption(conversation, "I'll come back. It seems that you're busy.") + StartConversation(conversation, NPC, Spawn, "Har! These scampering whelps will never break through! Oh, hello there. What's that, Murrar sent you?") + elseif GetQuestStep(Spawn, APresenceOfEvil) == 2 then + -- on 2nd part of quest + AddConversationOption(conversation, "I will.") + StartConversation(conversation, NPC, Spawn, "Har har! Don't give up yet, " .. GetName(Spawn) .. ". Slay some of those invaders. If you need some tips on combat, talk to Hayl McGuinness at the Training Grounds in the colony.") + elseif GetQuestStep(Spawn, APresenceOfEvil) == 3 then + --on 3rd part of quest + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sergeant_haggus/tutorial_island02_revamp/quests/citizenship/sergeanthaggus/sergeanthaggus005.mp3", "", "", 4260313183, 1230463125, Spawn) + AddConversationOption(conversation, "I'm ready!", "ImReady") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "By the hilt of the Claymore, you're a strong one! I could use your strength for another task.") + elseif GetQuestStep(Spawn, APresenceOfEvil) == 4 then + --on 4th part of quest + AddConversationOption(conversation, "Very well.") + StartConversation(conversation, NPC, Spawn, "Any news of the missing soldiers? Search Sunset Meadow for these soldiers and return to me with your findings.") + elseif GetQuestStep(Spawn, APresenceOfEvil) == 5 then + --on 5th part of quest + SetStepComplete(Spawn, APresenceOfEvil, 5) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sergeant_haggus/tutorial_island02_revamp/quests/citizenship/sergeanthaggus/sergeanthaggus009.mp3", "", "", 3590531004, 2647104527, Spawn) + AddConversationOption(conversation, "Farewell to you.") + StartConversation(conversation, NPC, Spawn, "Ah, they'll pay for this! You've done well, " .. GetName(Spawn) .. ". Sometime when you're not so busy, maybe you'd take a job with the Qeynos Guard and we can fight along side one another again. Take this information back to Murrar. Farewell.") + end + elseif HasCompletedQuest(Spawn, APresenceOfEvil) or (HasQuest(Spawn, APresenceOfEvil) and GetQuestStep(Spawn, APresenceOfEvil) == 6) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sergeant_haggus/tutorial_island02_revamp/quests/citizenship/sergeanthaggus/sergeanthaggus010.mp3", "", "", 3061438505, 1032934814, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "You've proven yourself to me, " .. GetName(Spawn) .. ". Consider yourself a friend to the Qeynos Guard.") + else + Say(NPC, "Ah you look strong. I'm certain we could use your help, go speak with Murrar. He's south of the tower that is just east of here.") + end +end + +function WonderingHowDefenses(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sergeant_haggus/tutorial_island02_revamp/quests/citizenship/sergeanthaggus/sergeanthaggus002.mp3", "", "", 3601499241, 3746466672, Spawn) + AddConversationOption(conversation, "Could you use some help?", "CouldYouUseHelp") + AddConversationOption(conversation, "I'll take my leave.") + StartConversation(conversation, NPC, Spawn, "While the goblins aren't very powerful, they're most definitely tenacious. It's almost as if they have no mind of their own and are throwing themselves at us like flies unto a swatter.") +end + +function CouldYouUseHelp(NPC, Spawn) + SetStepComplete(Spawn, APresenceOfEvil, 1) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sergeant_haggus/tutorial_island02_revamp/quests/citizenship/sergeanthaggus/sergeanthaggus003.mp3", "", "", 407810644, 1199559577, Spawn) + AddConversationOption(conversation, "Will do!") + StartConversation(conversation, NPC, Spawn, "Aye, you're a gusty one aren't you? I'll give you a chance to prove your strength. Fend off some of these invading Sapswill and we'll see how you fare.") +end + +function ImReady(NPC, Spawn) + SetStepComplete(Spawn, APresenceOfEvil, 3) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sergeant_haggus/tutorial_island02_revamp/quests/citizenship/sergeanthaggus/sergeanthaggus006.mp3", "", "", 2780322339, 3145013232, Spawn) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, NPC, Spawn, "A platoon of my soldiers set out a while ago and hasn't returned. Search Sunset Meadow for these soldiers and return to me with your findings.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Shirra.lua b/Lua/SpawnScripts/QueensColony/Shirra.lua new file mode 100755 index 000000000..0ebd024fa --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Shirra.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Shirra.lua + Script Purpose : Shirra + Script Author : John Adams + Script Date : 2008.09.21 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1035.mp3", "Upgrade your combat arts here!", "", 0, 0, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/SorcererOofala.lua b/Lua/SpawnScripts/QueensColony/SorcererOofala.lua new file mode 100755 index 000000000..0e257e8c0 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/SorcererOofala.lua @@ -0,0 +1,175 @@ +--[[ + Spawn Template + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : + + These are just suggested functions to get you started. Edit as needed. +--]] + +local TheSourceOfEvil = 164 + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, TheSourceOfEvil) then + StavesHere(NPC, Spawn) + elseif HasQuest(Spawn, TheSourceOfEvil) then + if GetQuestStep(Spawn, TheSourceOfEvil) == 1 then + LoveThisJob(NPC, Spawn) + elseif GetQuestStep(Spawn, TheSourceOfEvil) == 2 then + KeepLooking(NPC, Spawn) + elseif GetQuestStep(Spawn, TheSourceOfEvil) == 3 then + CausedAnUproar(NPC, Spawn) + elseif GetQuestStep(Spawn, TheSourceOfEvil) == 4 then + INeedToStayBack(NPC, Spawn) + elseif GetQuestStep(Spawn, TheSourceOfEvil) == 5 then + WhatAFight(NPC, Spawn) + else + StavesHere(NPC, Spawn) + end + else + NoAssignments(NPC, Spawn) + end +end + +function NoAssignments(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Very well.") + StartConversation(conversation, NPC, Spawn, "I do not have any assignments for you right now. Speak with Murrar Shar outside of Myrrin's Tower at the center of the colony. He should have some work for you.") +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST 5 +--------------------------------------------------------------------------------------------------------------------- + +function LoveThisJob(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala001.mp3", "", "", 3877143308, 4000536977, Spawn) + AddConversationOption(conversation, "Great like you I guess.", "GreatLikeYou") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "Boom! I love this job! Someday I'll be the greatest wizard in all of Qeynos. And you," .. GetName(Spawn) .. ", what do you aspire to be?") +end + +function GreatLikeYou(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- display a different message is the player is an Erudite (3) + if GetRace(Spawn) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala003.mp3", "", "", 2241109918, 2606755898, Spawn) + AddConversationOption(conversation, "I'm all ears.", "YouNeedMyHelp") + StartConversation(conversation, NPC, Spawn, "It is possible. I would never doubt a fellow Erudite's journey to greatness. Well let's start now, I can use your help.") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala002.mp3", "", "", 4176331969, 1953264521, Spawn) + AddConversationOption(conversation, "You need my help?", "YouNeedMyHelp") + StartConversation(conversation, NPC, Spawn, "It is possible, but unlikely. I've got the edge of course, being an Erudite. But let's put that behind us, since I suppose I need your help.") + end +end + +function YouNeedMyHelp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala004.mp3", "", "", 2866793980, 3810777786, Spawn) + AddConversationOption(conversation, "Go on.", "GoOn") + StartConversation(conversation, NPC, Spawn, "Well I need to stay here and guard the camp, but I need you to venture into the Abandoned Village. The goblins have revealed some disturbing news. A few survived and made it into our camp here, but the rest were consumed by a mysterious fog.") +end + +function GoOn(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala005.mp3", "", "", 973060911, 209786157, Spawn) + AddConversationOption(conversation, "So you want me to destroy these totems?", "DestroyTotems") + AddConversationOption(conversation, "I can't do that right now.") + StartConversation(conversation, NPC, Spawn, "Apparently some mysterious totems appeared throughout the village and spewed a fog that enveloped it. It appears that only a few survived, and the rest were turned into... the living dead.") +end + +function DestroyTotems(NPC, Spawn) + SetStepComplete(Spawn, TheSourceOfEvil, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala006.mp3", "", "", 4222023563, 856617808, Spawn) + AddConversationOption(conversation, "I will hunt the totems.") + StartConversation(conversation, NPC, Spawn, "Exactly. Clear them away from the village and maybe it will help lead us to the source of the evil.") +end + +function KeepLooking(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll keep looking.") + StartConversation(conversation, NPC, Spawn, "Keep looking for those totems. They should be on the outskirts of the Sapswill tents.") +end + +function CausedAnUproar(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala008.mp3", "", "", 4250133850, 1269094283, Spawn) + AddConversationOption(conversation, "By me? Aren't you the great wizard?", "GreatWizard") + StartConversation(conversation, NPC, Spawn, "Wow, you really caused an uproar! Removing those totems must have angered whatever sinister force is behind all this. An evil champion has shown his face and must be dealt with. The Dark Blademaster must be defeated!") +end + +function GreatWizard(NPC, Spawn) + SetStepComplete(Spawn, TheSourceOfEvil, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala014.mp3", "", "", 767847484, 3041386379, Spawn) + AddConversationOption(conversation, "I guess I'll take care of it.") + StartConversation(conversation, NPC, Spawn, "Well, if Murrar had sent me to take out the Blademaster, it would be done already. My orders are to protect the camp here, at which I am doing a superb job. Enough debate. Destroy the Blademaster!") +end + +function INeedToStayBack(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sheesh!") + StartConversation(conversation, NPC, Spawn, "I need to stay back and guard the camp. Get rid of the Dark Blademaster!") +end + +function WhatAFight(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala010.mp3", "", "", 1430233881, 2273383755, Spawn) + AddConversationOption(conversation, "Should I report back to Murrar?", "ReportBack") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "What a fight that was! For a moment there, I thought I would need to step in and help you. The Blademaster's insignia is very disturbing. I should have known Freeport was involved in this corruption somehow! We must act quickly if we are to stop the evil.") +end + +function ReportBack(NPC, Spawn) + SetStepComplete(Spawn, TheSourceOfEvil, 5) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala013.mp3", "", "", 911037523, 2792380927, Spawn) + AddConversationOption(conversation, "I'll head to the High Chieftain.") + StartConversation(conversation, NPC, Spawn, "There's no time! Our forward scouts report that High Chieftain Grexx is still alive and holding off the invasion from his tree house to the east. You must go talk to him before it's too late!") +end + +function StavesHere(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quests/citizenship/sorcereroofala/sorcereroofala011.mp3", "", "", 2191225450, 1589931900, Spawn) + AddConversationOption(conversation, "I'll keep that in mind.") + StartConversation(conversation, NPC, Spawn, "If you ever need them, my guardian staves will be here.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sorcerer_oofala/tutorial_island02_revamp/quest/citizenship_sorcerer_oofala_staffkill_5b312f60.mp3", "Ha! Did you see that?", "chuckle", 3419630960, 667923165, Spawn) +--]] diff --git a/Lua/SpawnScripts/QueensColony/TheForestKeeper.lua b/Lua/SpawnScripts/QueensColony/TheForestKeeper.lua new file mode 100755 index 000000000..3b5181fad --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TheForestKeeper.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TheForestKeeper.lua + Script Purpose : The Forest Keeper + Script Author : John Adams + Script Date : 2008.12.12 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local GhostsAndGoblins = 184 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, GhostsAndGoblins) then + MustRemainStrong(NPC, Spawn, 0) + elseif HasQuest(Spawn, GhostsAndGoblins) then + if GetQuestStep(Spawn, GhostsAndGoblins) == 1 then + MustRemainStrong(NPC, Spawn, 1) + elseif GetQuestStep(Spawn, GhostsAndGoblins) == 2 then + MustRemainStrong(NPC, Spawn, 0) + elseif GetQuestStep(Spawn, GhostsAndGoblins) == 3 then + MustRemainStrong(NPC, Spawn, 2) + else + MustRemainStrong(NPC, Spawn, 0) + end + end +end + +function MustRemainStrong(NPC, Spawn, Choice) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/the_forest_keeper/tutorial_island02_revamp/quests/forest_keeper/forest_keeper001.mp3", "", "", 404349798, 0, Spawn) + + if Choice == 1 then + AddConversationOption(conversation, "Are you the Forest Keeper that Deianeira spoke of?", "dlg_1_1") + elseif Choice == 2 then + AddConversationOption(conversation, "I've released many of the ghosts but there is no end to them!", "ReleasedGhosts") + end + + AddConversationOption(conversation, "Good luck with that!") + StartConversation(conversation, NPC, Spawn, "I must remain strong and vigilant against this! I will not give in to the corruption!") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/the_forest_keeper/tutorial_island02_revamp/quests/forest_keeper/forest_keeper002.mp3", "", "", 1673079737, 0, Spawn) + AddConversationOption(conversation, "Can we do anything to stop it?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "Eh? Who's that? Oh, that betrayer! She should go back to Freeport! Yes, I was once a Forest Keeper, maintaining this wood. But look around you! The other treants have succumbed to the evil that pervades this island. They've become ghosts, trapped between this life and their rebirth.") +end + +function dlg_1_2(NPC, Spawn) + SetStepComplete(Spawn, GhostsAndGoblins, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/the_forest_keeper/tutorial_island02_revamp/quests/forest_keeper/forest_keeper003.mp3", "", "", 3694344031, 0, Spawn) + AddConversationOption(conversation, "I will set them free.") + StartConversation(conversation, NPC, Spawn, "Trapped in those ghostly forms, they are contributing to the decay of the Forest. I've been able to stave off the taint myself, but with so many of my brethren gone, it gets more and more difficult. They must be set free, so that they can be reborn into the earth. Without rebirth, there will be no living saplings!") +end + +function ReleasedGhosts(NPC, Spawn) + SetStepComplete(Spawn, GhostsAndGoblins, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/the_forest_keeper/tutorial_island02_revamp/quests/forest_keeper/forest_keeper004.mp3", "", "", 375881043, 0, Spawn) + AddConversationOption(conversation, "I'll do what I can. Stay strong!") + StartConversation(conversation, NPC, Spawn, "Alas, the decay runs too deep. You must learn what horrors those naughty goblins have released! There are still a few of them that are as yet untainted at the Last Stand, northeasterly of here. Speak to the soothsayer there; he may have ideas. We were friends in the old days.") +end + diff --git a/Lua/SpawnScripts/QueensColony/TimboAlefirst.lua b/Lua/SpawnScripts/QueensColony/TimboAlefirst.lua new file mode 100755 index 000000000..9f8d7af5c --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TimboAlefirst.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TimboAlefirst.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Timbo Alefirst dialog + : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Wow, Meri is a great dancer!", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerBordaGemseeker.lua b/Lua/SpawnScripts/QueensColony/TrainerBordaGemseeker.lua new file mode 100755 index 000000000..08204050e --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerBordaGemseeker.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerBordaGemseeker.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Borda Gemseeker dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "dlg_0_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.","dlg_0_4") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "Don't be shy! Come closer, m'dear, and I'd be happy to answer any questions you have about collections or harvesting!") + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happens next?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select 'harvest.' The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I complete the collection?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "dlg_0_4") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are harvestables used for?", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "Harvestables come in five forms, each tied to its own respective skill. These skills can be seen by opening your Skills window by pressing the P key, clicking on the Skills tab and selecting your General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and plants increase gathering.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd like to learn about collections now.", "dlg_0_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerCharleneStoutmuffin.lua b/Lua/SpawnScripts/QueensColony/TrainerCharleneStoutmuffin.lua new file mode 100755 index 000000000..c30e5c8be --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerCharleneStoutmuffin.lua @@ -0,0 +1,142 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerCharleneStoutmuffin.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Charlene Stoutmuffin dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1005.mp3", "", "", 0, 0) + AddConversationOption(conversation, "Tell me about items and equipment.", "dlg_12_1") + AddConversationOption(conversation, "Tell me about my inventory.", "dlg_12_11") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Good day, " .. GetName(Spawn) .. ". I'm here at the colony to teach our Queen's newest recruits about equipment and inventory space. Good equipment is one of the most important aspects of any adventurer!") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do with the treasures I earn while adventuring?", "dlg_12_2") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Norrath is full of treasures for brave heroes like you. Sometimes the opponents you defeat in battle leave behind treasure chests with valuable loot. You can also buy items from other players, craft them as an artisan, or be awarded items for completing quests.") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the item information tell me?", "dlg_12_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items you obtain can be equipped on your person. If you find weapons, armor, jewelry, or certain other goodies, you may be able to use them. To look at a piece of equipment and determine if you can use it, move your mouse pointer over the item.") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are things like attribute bonuses important?", "dlg_12_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "For items that can be equipped, such as weapons and armor, mousing over it tells you which professions can use the item and at what level it can be equipped. You'll also see any benefits, such as attribute bonuses and resists, that the equipment provides. Learn about attributes by talking to Trainer Gurga Trueheart.") +end + +function dlg_12_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can I tell which of two weapons is better?", "dlg_12_5") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A wise adventurer is always trying to improve his or her equipment. Whenever you see gear that provides an overall greater benefit than what you have, that item is an upgrade for you.") +end + +function dlg_12_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can I tell which of two pieces of armor is better?", "dlg_12_6") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Weapons have a Damage Rating that shows the relative damage you can do with them. A higher Damage Rating is always better. Be sure you are comparing weapons of the same type, such as a two-handed weapon with another two-hander, or one dual-wield weapon with another.") +end + +function dlg_12_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What about scouts and priests?", "dlg_12_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function dlg_12_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do I do with equipment I can't use?", "dlg_12_8") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Scouts and priests need varying amounts of protection depending on how they play. If they find themselves at the forefront of battle, protection becomes very important. If they stay out of harms way, attribute bonuses may be more valuable.") +end + +function dlg_12_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why are some items marked 'No Value' or 'No Trade'?", "dlg_12_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "An item can be sold to a non-player merchant for cash unless it has the 'No Value' flag on it. Items can be sold or traded to another player unless it has the 'No Trade' flag. If an item says it is 'Lore,' you can only have one of them on your character at a time.") +end + +function dlg_12_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does it mean when an item says it is 'Attuneable'?", "dlg_12_10") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items are marked 'No Value' because they are easy to obtain, such as harvested goods. You have to work to earn wealth," .. GetName(Spawn) .. ". Items are marked 'No Trade' in order to ensure that you earn them yourself, such as defeating a very tough monster or completing a long quest.") +end + +function dlg_12_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I manage my inventory?", "dlg_12_11") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "If an item is marked 'Attuneable,' you must attune it to yourself before it provides any benefits. You'll notice a message on screen when you are wearing an item that must be attuned. To attune it, right-click on the item and select 'Attune.' Once attuned, that item can no longer be traded or sold to another player.") +end + +function dlg_12_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can I put bags inside of bags?", "dlg_12_12") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Press the I key to open your inventory. Beneath your portrait are six slots that can hold items. You can place bags or other containers in those slots, which will give you even more storage space. Press the B key to open all your bags at once.") +end + +function dlg_12_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So one item takes up one bag slot?", "dlg_12_13") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function dlg_12_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Tell me about items and equipment.", "dlg_12_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Certain items, such as ammunition or harvested resources, can be stacked up to 200 at a time, depending on the item. Many goods, such as armor and clothing, cannot be stacked at all.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerCheyeSeawind.lua b/Lua/SpawnScripts/QueensColony/TrainerCheyeSeawind.lua new file mode 100755 index 000000000..14d6207c1 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerCheyeSeawind.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerCheyeSeawind.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Cheye Seawind dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1021.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can cause my death? ", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Even the bravest champion of Queen Antonia will meet an untimely end on occasion. Let me teach you the consequences of death and how you can recover properly.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How will I know when I'm going to die?", "dlg_7_2") + StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there, " .. GetName(Spawn) .. ".") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why green?", "dlg_7_3") + StartConversation(conversation, NPC, Spawn, "Just keep an eye on your health bar, the green line located beneath your name in the upper left of your screen. At least...you hope it's green.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happens then?", "dlg_7_4") + AddConversationOption(conversation, "You're a morbid person. I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Green means you're healthy. As your health diminishes, the bar turns yellow, then orange, and finally red. If the bar is empty, you die. You pay the debt which cancels all others, if you get my meaning.") +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So death is not the end?", "dlg_7_5") + StartConversation(conversation, NPC, Spawn, "Your spirit lays trapped in your fallen body, unable to move. At this point, you have a choice: wait for a nearby ally to revive you, or choose a location from the window in the center of your screen at which to reappear. In some cases you'll have a single choice, in others multiple choices.") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the consequences?", "dlg_7_6") + StartConversation(conversation, NPC, Spawn, "Fortunately for all of us, death in Norrath is a temporary thing. If another adventurer revives you, you reappear at the spot of your death. If you choose a location to revive, you will appear at that spot. There are consequences to death, however.") +end + +function dlg_7_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is experience debt?", "dlg_7_7") + AddConversationOption(conversation, "I think I've learned enough for now. Cheer up!") + StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more. Second, you suffer a revive sickness that lowers your abilities for a short time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") +end + +function dlg_7_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is revive sickness like?", "dlg_7_8") + StartConversation(conversation, NPC, Spawn, "Experience debt is indicated by a red line on your experience bar. As you earn experience going forward, part of your experience will go toward paying off your debt while the rest will continue to advance you toward your next level. Mousing over your experience bar also tells how much debt you have.") +end + +function dlg_7_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the results of item damage?", "dlg_7_9") + StartConversation(conversation, NPC, Spawn, "You'll see an icon for revive sickness in your spell effects window. Mousing over the icon will tell you how long it will remain. The type of sickness you have depends on how you were revived, but no matter what there will be a negative effect. Don't worry, it passes soon enough.") +end + +function dlg_7_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do about item damage?", "dlg_7_10") + StartConversation(conversation, NPC, Spawn, "Your equipped items usually take 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, " .. GetName(Spawn) .. "!") +end + +function dlg_7_10(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for your enlightening yet depressing advice.") + StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability. Speak to Trainer Zidget Sprogrudder to learn more about repairing your gear. Should your equipment take damage here at the outpost, Mender Mannus at the forge can make repairs for you.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerGregoryCollins.lua b/Lua/SpawnScripts/QueensColony/TrainerGregoryCollins.lua new file mode 100755 index 000000000..024083a30 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerGregoryCollins.lua @@ -0,0 +1,88 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerGregoryCollins.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Gregory Collins dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How does one take up crafting?", "dlg_18_1") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Hello my friend! I have the pleasure of serving Qeynos by explaining the role of crafting and tradeskills to newly arrived heroes such as you. By taking on the role of an artisan, you can help expand the influence of our fair city in worldwide commerce.") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Where does one perform crafting?", "dlg_18_2") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Crafting, or tradeskilling as some call it, involves taking ingredients harvested or obtained in the world, mixing them with the proper fuel, and carefully following a specific recipe to create something new and useful for yourself or your fellow citizens. Just as you can gain levels by adventuring, you have a separate Artisan level that increases as you earn experience crafting.") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can I make a variety of items?", "dlg_18_3") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Crafting takes place in workshops, just like the one we have here on the island. Inside the workshops you will find the fuel and devices you'll need to build, cook, scribe, sew, and create all manner of useful goods. When you arrive in our grand city, you will find the entrance to a similar workshop in your home village.") +end + +function dlg_18_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What could I specialize in?", "dlg_18_4") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "As you practice your craft you will learn to make a variety of products, but as you advance in your profession you will specialize in certain types of goods. As you acquire new recipe books, you will learn new types of items you can make.") +end + +function dlg_18_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Where do I learn recipes?", "dlg_18_5") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "You might choose to become a Provisioner that makes food and drink, a Woodworker that crafts totems and staves, an Armorer that forges plate and chain armor, a Sage that scribes potent spells for mages and priests, or one of many other noble professions.") +end + +function dlg_18_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What can I do with the items I make?", "dlg_18_6") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Basic recipes can be bought for a small fee from a merchant near the workshops in the cities. Rare recipes can be obtained by adventuring in the wilds of Norrath. You may want to trade goods or services with other adventurers and artisans to obtain such valuable recipes. You can view your recipe book by pressing the N key. ") +end + +function dlg_18_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Do you have any further advice?", "dlg_18_7") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "You can either use the items yourself or make a tidy profit by selling them to others. A skilled artisan is always in demand for the goods they provide, so learn your craft well and you will always have a place in Qeynos society. ") +end + +function dlg_18_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the guidance.") + AddConversationOption(conversation, "I will return another time to learn your lesson.") + StartConversation(conversation, NPC, Spawn, "Here is a handbook that will provide you with some basic reference material to start with. Once you reach Qeynos, you will find a tradeskill tutor within your local crafting workshop who can teach you more about crafting in further detail.") + -- JA: Need to give out some tradeskill item here +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerGurgaTrueheart.lua b/Lua/SpawnScripts/QueensColony/TrainerGurgaTrueheart.lua new file mode 100755 index 000000000..797c369a7 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerGurgaTrueheart.lua @@ -0,0 +1,122 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerGurgaTrueheart.lua + Script Purpose : Trainer Gurga Trueheart + Script Author : John Adams + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart001.mp3", "", "", 330223646, 1165391404, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_14_1") + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_14_6") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_14_7") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". You look like you keep both your body and mind in good shape. Even so, I bet you could use more information on your physical attributes: Strength, Agility, Stamina, Intelligence, and Wisdom. That's what I'm here to teach you!") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart002.mp3", "", "", 3017268324, 3420396892, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "dlg_14_2") + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_14_6") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_14_7") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength you have, the more physical damage you can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Monks, and Paladins have.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart003.mp3", "", "", 1800198432, 422621617, Spawn) + AddConversationOption(conversation, "Tell me about Stamina.", "dlg_14_3") + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_14_6") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_14_7") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Agility helps you avoid physical attacks. The more Agility you have, the higher your Avoidance ability. Agility also determines the maximum amount of power Swashbucklers, Rangers, Troubadors, and Dirges have.") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart004.mp3", "", "", 824633632, 4280308507, Spawn) + AddConversationOption(conversation, "Tell me about Intelligence.", "dlg_14_4") + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_14_6") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_14_7") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Stamina gives you more Health points. The more Health you have, the longer you can survive in battle. Stamina is a useful attribute for every class.") +end + +function dlg_14_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart005.mp3", "", "", 634969391, 333054011, Spawn) + AddConversationOption(conversation, "Tell me about Wisdom.", "dlg_14_5") + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_14_6") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_14_7") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Intelligence is more than just a sign of how smart you are. The more Intelligence you have, the more damage you do with spells in combat. Intelligence also determines the maximum amount of power Wizards, Warlocks, Illusionists, Conjurors, Troubadors, and Dirges have.") +end + +function dlg_14_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart006.mp3", "", "", 172104333, 2804988196, Spawn) + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_14_6") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_14_7") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Wisdom increases your resistances to magical types of attacks: Heat, Cold, Disease, Poison, Magic, Mental and Divine. Wisdom also determines the maximum amount of power Templars, Mystics, Furies, Wardens, and Paladins have.") +end + +function dlg_14_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart007.mp3", "", "", 3977540961, 2552439869, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_14_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "dlg_14_7") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your persona window. Just press the P key to open your persona window.") +end + +function dlg_14_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart008.mp3", "", "", 3884845357, 2691699677, Spawn) + AddConversationOption(conversation, "Are there other ways?", "dlg_14_8") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Your physical attributes, as well as other aspects of your character, can be improved in a number of ways. Many items add points to your attributes, resistances, Health, or Power. Hold your mouse pointer over your items to see what benefits they provide.") +end + +function dlg_14_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_gurga_trueheart/tutorial_island02_revamp/trainers/attributes/gurga_trueheart009.mp3", "", "", 1275102729, 1764856299, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "dlg_14_1") + AddConversationOption(conversation, "How do I view my physical attributes?", "dlg_14_6") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Many spells and combat arts enhance your attributes. Some of these can be cast on yourself, while others can improve other player characters that you group with. Grouping with other classes provides a wider variety of ways to improve your attributes.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1015.mp3", "", "", 0, 0) +--]] + diff --git a/Lua/SpawnScripts/QueensColony/TrainerHaylMcGuinness.lua b/Lua/SpawnScripts/QueensColony/TrainerHaylMcGuinness.lua new file mode 100755 index 000000000..5057ff8d1 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerHaylMcGuinness.lua @@ -0,0 +1,328 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerHaylMcGuinness.lua + Script Author : Jabantiz + Script Date : 2016.09.06 09:09:52 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + +--[[ + Script Name : SpawnScripts/QueensColony/TrainerHaylMcGuinness.lua + Script Purpose : Trainer Hayl McGuinness + Script Author : John Adams + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TheArtOfCombat = 132 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, TheArtOfCombat) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good026.mp3", "", "", 1881020230, 3830147813, Spawn) + AddConversationOption(conversation, "I'd like to learn about combat so that I can help the colony.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. "! I'm here to teach new recruits the basics of combat. Murrar told me you show great promise!") + elseif HasQuest(Spawn, TheArtOfCombat) and GetQuestStep(Spawn, TheArtOfCombat) < 4 then + if GetQuestStep(Spawn, TheArtOfCombat) == 1 then + -- on the first step + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good026.mp3", "", "", 1881020230, 3830147813, Spawn) + AddConversationOption(conversation, "I'd like to learn about combat so that I can help the colony.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. "! I'm here to teach new recruits the basics of combat. Murrar told me you show great promise!") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good_quest001.mp3", "", "", 1571324247, 1735764796, Spawn) + + if GetQuestStep(Spawn, TheArtOfCombat) == 3 then + AddConversationOption(conversation, "I was victorious!", "Victorious") + end + AddConversationOption(conversation, "Not yet, but I will soon.") + StartConversation(conversation, NPC, Spawn, "So, did you defeat the sparring partner like I asked?") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good026.mp3", "", "", 1881020230, 3830147813, Spawn) + AddConversationOption(conversation, "I'd like to learn about combat so that I can help the colony.", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. "! I'm here to teach new recruits the basics of combat. Murrar told me you show great promise!") + end +end + +function Victorious(NPC, Spawn) + SetStepComplete(Spawn, TheArtOfCombat, 3) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good_quest002.mp3", "", "", 1477689908, 1568507038, Spawn) + AddConversationOption(conversation, "I'll report back to Murrar.") + StartConversation(conversation, NPC, Spawn, "Great work! You've proven your worth and are ready for greater challenges. If you want further instruction later, just come see me. But right now you must report back to Murrar so that you can discover what's behind the trouble here at the colony.") +end + + + +function dlg_8_1(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good_quest000.mp3", "", "", 861129842, 2513176543, Spawn) + AddConversationOption(conversation, "How do I challenge a foe in battle?", "dlg_8_2") + if HasQuest(Spawn, TheArtOfCombat) then + if GetQuestStep(Spawn, TheArtOfCombat) == 1 then + SetStepComplete(Spawn, TheArtOfCombat, 1) + end + AddConversationOption(conversation, "I will return victorious!") + end + StartConversation(conversation, NPC, Spawn, "Okay, let's see what you're made of. One of the nearby sparring partners to my left will be happy to test your mettle. Challenge any one of them and return to me when you've earned a victory.") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good003.mp3", "", "", 1337742058, 2404050935, Spawn) + AddConversationOption(conversation, "How do I begin the battle?", "dlg_8_3") + StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.") +end + +function dlg_8_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good004.mp3", "", "", 2853756515, 4008764495, Spawn) + AddConversationOption(conversation, "So I can fight anyone or anything I want?", "dlg_8_4") + StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.") +end + +function dlg_8_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good005.mp3", "", "", 1297419022, 3029770958, Spawn) + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_8_5") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_8_10") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "dlg_8_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_8_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help or give you quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.") +end + +function dlg_8_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good006.mp3", "", "", 416525203, 2657385928, Spawn) + AddConversationOption(conversation, "What classes specialize in melee combat?", "dlg_8_6") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function dlg_8_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good007.mp3", "", "", 1651948874, 1480304616, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_8_2") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_8_10") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "dlg_8_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_8_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Monks, and Paladins stand at the front lines of battle facing the enemy. Crafty scouts such as Swashbucklers, Rangers, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function dlg_8_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good008.mp3", "", "", 1478105613, 895646178, Spawn) + AddConversationOption(conversation, "How do I launch a ranged attack?", "dlg_8_11") + StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.") +end + +function dlg_8_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good009.mp3", "", "", 4078770069, 1143811293, Spawn) + AddConversationOption(conversation, "What classes specialize in ranged combat?", "dlg_8_12") + StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.") +end + +function dlg_8_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good010.mp3", "", "", 4251211849, 3911610409, Spawn) + AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "dlg_8_13") + StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Swashbucklers, Troubadors, Dirges, and particularly Rangers specialize in ranged physical attacks. Mages, priests, and paladins have spells that do damage to their foes from a distance.") +end + +function dlg_8_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good011.mp3", "", "", 4022476088, 3590432929, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_8_2") + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_8_5") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "dlg_8_14") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_8_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.") +end + +function dlg_8_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good012.mp3", "", "", 2647469623, 502375197, Spawn) + AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?", "dlg_8_15") + StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.") +end + +function dlg_8_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good013.mp3", "", "", 3707215797, 2577902646, Spawn) + AddConversationOption(conversation, "Are certain types of targets more rewarding than others?", "dlg_8_16") + StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it. Talk to Trainer Marla Gilliam for more information on evaluating your opponents.") +end + +function dlg_8_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good014.mp3", "", "", 2418682059, 3250675692, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "dlg_8_2") + AddConversationOption(conversation, "Tell me about melee combat.", "dlg_8_5") + AddConversationOption(conversation, "Tell me about ranged combat.", "dlg_8_10") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "dlg_8_17") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.") +end + +function dlg_8_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good015.mp3", "", "", 3575809563, 632788793, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_8_18") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_8_21") + AddConversationOption(conversation, "Tell me about using my abilities.", "dlg_8_24") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_8_2") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many advanced combat techniques that you will learn over time. There's no substitute for experience," .. GetName(Spawn) .. ". I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.") +end + +function dlg_8_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good016.mp3", "", "", 3175726067, 1849673241, Spawn) + AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "dlg_8_19") + StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.") +end + +function dlg_8_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good017.mp3", "", "", 1334502220, 1072117512, Spawn) + AddConversationOption(conversation, "What resources should I be keeping an eye on?", "dlg_8_20") + StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names. Talk to Trainer Marla Gilliam for more information on evaluating your opponents.") +end + +function dlg_8_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good018.mp3", "", "", 4117626633, 2141014135, Spawn) + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_8_21") + AddConversationOption(conversation, "Tell me about using my abilities.", "dlg_8_24") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_8_2") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.") +end + +function dlg_8_21(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good019.mp3", "", "", 2725345993, 3739954421, Spawn) + AddConversationOption(conversation, "Anything else I should watch out for?", "dlg_8_22") + StartConversation(conversation, NPC, Spawn, "Keeping your surroundings in mind is crucial to victory. Fighting in areas with lots of aggressive creatures is a bad idea, because they won't hesitate to gang up on you.") +end + +function dlg_8_22(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good020.mp3", "", "", 4260973055, 2919672507, Spawn) + AddConversationOption(conversation, "Any other tips?", "dlg_8_23") + StartConversation(conversation, NPC, Spawn, "Staying too long on the exact spot where you just defeated a foe can be dangerous. Another enemy is likely to show up there soon after, which can be an unpleasant surprise if you're already in another battle.") +end + +function dlg_8_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good021.mp3", "", "", 2035277963, 965678861, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_8_24") + AddConversationOption(conversation, "Tell me about using my abilities.", "dlg_8_24") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_8_2") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You should be aware of what's going on around you. Using your mouse wheel to scroll into third person and holding down the left mouse button allows you to move the camera around your character. It's a good idea to do this when fighting in dangerous areas to make sure nothing sneaks up on you.") +end + +function dlg_8_24(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good022.mp3", "", "", 3488047041, 965083005, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_8_25") + StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you prepare well and are active during combat. You should be using every spell or combat art that has a positive effect on your chances to win.") +end + +function dlg_8_25(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good023.mp3", "", "", 3086044683, 813829457, Spawn) + AddConversationOption(conversation, "What about during battle?", "dlg_8_26") + StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs,' so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.") +end + +function dlg_8_26(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good024.mp3", "", "", 2201642498, 2339371912, Spawn) + AddConversationOption(conversation, "What else should I know about spells and arts?", "dlg_8_27") + StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select 'Examine' to see details on their effects.") +end + +function dlg_8_27(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_hayl_mcguinness/tutorial_island02_revamp/trainers/combat/combat_good025.mp3", "", "", 1394782063, 4291748674, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "dlg_8_24") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "dlg_8_21") + AddConversationOption(conversation, "Teach me the basics of combat.", "dlg_8_2") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Myrrin the Magnific in the tower at the center of the colony.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerMarlaGilliam.lua b/Lua/SpawnScripts/QueensColony/TrainerMarlaGilliam.lua new file mode 100755 index 000000000..662559d05 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerMarlaGilliam.lua @@ -0,0 +1,163 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerMarlaGilliam.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Marla Gilliam dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good001.mp3", "", "", 4073343319, 3363307823, Spawn) + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_10_1") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Welcome, adventurer! I sense that you will fight many battles and that you will one day be known as a great hero of Qeynos. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good002.mp3", "", "", 1749673923, 3874199641, Spawn) + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_10_2") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good003.mp3", "", "", 1857737581, 147614376, Spawn) + AddConversationOption(conversation, "How do I target an opponent?", "dlg_10_3") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good004.mp3", "", "", 3683773140, 1432557589, Spawn) + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_10_4") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") +end + +function dlg_10_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good005.mp3", "", "", 75959961, 1250212958, Spawn) + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_10_5") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") +end + +function dlg_10_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good006.mp3", "", "", 783568461, 1746620407, Spawn) + AddConversationOption(conversation, "What does the level indicate?", "dlg_10_6") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.") +end + +function dlg_10_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good007.mp3", "", "", 2126605511, 1738009054, Spawn) + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_10_7") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") +end + +function dlg_10_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good009.mp3", "", "", 253347516, 133392970, Spawn) + AddConversationOption(conversation, "What are the colors?", "dlg_10_8") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "The color of the opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should try fighting a target. The more danger its color indicates, the greater the threat it represents.") +end + +function dlg_10_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good010.mp3", "", "", 1862367558, 3739171183, Spawn) + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_10_9") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") +end + +function dlg_10_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good011.mp3", "", "", 1994206530, 2520624309, Spawn) + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_10_10") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") +end + +function dlg_10_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good012.mp3", "", "", 1328804443, 2071176575, Spawn) + AddConversationOption(conversation, "What do up arrows mean?", "dlg_10_11") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still be challenging.") +end + +function dlg_10_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good013.mp3", "", "", 692862081, 3880129920, Spawn) + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_10_12") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") +end + +function dlg_10_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good014.mp3", "", "", 2013675936, 3060214959, Spawn) + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_10_13") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") +end + +function dlg_10_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good015.mp3", "", "", 19627555, 2002715179, Spawn) + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_10_14") + AddConversationOption(conversation, "I will learn this lesson later.") + StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") +end + +function dlg_10_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_marla_gilliam/tutorial_island02_revamp/trainers/con_system/con_good016.mp3", "", "", 761596996, 3232449140, Spawn) + AddConversationOption(conversation, "Thank you, instructor.") + StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to the challenges you face throughout your journeys in Norrath. Learn well and you will indeed become the great champion I know you can be!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerMyrrintheMagnific.lua b/Lua/SpawnScripts/QueensColony/TrainerMyrrintheMagnific.lua new file mode 100755 index 000000000..429336b65 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerMyrrintheMagnific.lua @@ -0,0 +1,188 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerMyrrintheMagnific.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Myrrin the Magnific dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good001.mp3", "", "", 1664457984, 1938404159, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_21_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions on Spells and Combat Arts as well as other abilities. How can I help you?") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good002.mp3", "", "", 808130965, 1737550396, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_21_2") + AddConversationOption(conversation, "Tell me about Combat Arts.", "dlg_21_5") + AddConversationOption(conversation, "Tell me about Abilities.", "dlg_21_8") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?", "dlg_21_11") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?", "dlg_21_14") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. How can I help you?") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good003.mp3", "", "", 3665238716, 2727251573, Spawn) + AddConversationOption(conversation, "Who uses Spells?", "dlg_21_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A Spell is a magical ability. Spells can have a variety of uses. Some allow you to damage an enemy, while others might provide benefits to yourself or an ally. You can hold your mouse pointer over a Spell's icon to see a description of what it does, or right-click on it and select 'Examine.'") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good004.mp3", "", "", 808721069, 3167840134, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_21_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Mages, priests, paladins, shadowknights, troubadors, and dirges all cast Spells. Each class has a list of Spells that is unique. While other classes may have similar Spells, no one has capabilities exactly like that of another class. Also, certain magical items may be imbued with Spell effects that can be cast or that activate on their own.") +end + +function dlg_21_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good005.mp3", "", "", 3516119767, 3186961937, Spawn) + AddConversationOption(conversation, "Who uses Combat Arts?", "dlg_21_6") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Combat Arts are a lot like Spells, but they usually take less time to cast and cannot be interrupted. As their name implies, many Combat Arts focus on some aspect of battle.") +end + +function dlg_21_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good006.mp3", "", "", 4152547953, 4144844763, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_21_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All fighters and scouts use Combat Arts. Each of these classes has unique Combat Arts that help distinguish them from other classes. Combat Arts have names and effects that fit the class that uses them.") +end + +function dlg_21_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good007.mp3", "", "", 4041785353, 3148613558, Spawn) + AddConversationOption(conversation, "How are Abilities different from Spells and Combat Arts?", "dlg_21_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Abilities are general things your character can do, along with certain capabilities specific to your race. Some of your Abilities are extremely useful, such as Sprint, which allows you to run very fast for a short period of time. You can also Call for Help when you are in danger, or launch a Ranged Attack if you have a ranged weapon and ammo.") +end + +function dlg_21_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good008.mp3", "", "", 4015978134, 2213340213, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_21_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Unlike Spells and Combat Arts, Abilities cannot be upgraded. Most of your Abilities are received when you first begin your adventures in Norrath, although certain new ones can be granted as you become more experienced.") +end + +function dlg_21_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good009.mp3", "", "", 3669707140, 1805788377, Spawn) + AddConversationOption(conversation, "How do I use my Spells, Combat Arts, and Abilities?", "dlg_21_12") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All your Spells and Combat Arts, as well as other Abilities, are found in your Knowledge Book. Press the K key to open it at any time, and click the name of the tab you wish to view: Abilities, Spells, or Combat Arts.") +end + +function dlg_21_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good010.mp3", "", "", 214302336, 1560132109, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_21_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To use a Spell, Combat Art, or Ability, drag its icon from your Knowledge Book onto your hotbar. Some have already been placed there for you. To use one, simply click its icon on your hotbar or press the key assigned to it. You can open additional hotbars by right-clicking on a hotbar and selecting 'Open New Hotbar.'") +end + +function dlg_21_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good011.mp3", "", "", 2343506137, 3325799537, Spawn) + AddConversationOption(conversation, "How can I judge the effectiveness of my Spells and Combat Arts?", "dlg_21_15") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels from 1 to 50 and will automatically be scribed in your Knowledge Book. Certain special Spells or Combat Arts can be obtained by doing quests. Once you are level 51 and higher, you must find ways to purchase or obtain your new Spells and Combat Arts.") +end + +function dlg_21_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good012.mp3", "", "", 2215632312, 3289511413, Spawn) + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "dlg_21_16") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "There are three main ranks of Spells and Combat Arts: Apprentice, Adept, and Master. Within each rank are up to four tiers of quality. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice I rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function dlg_21_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good013.mp3", "", "", 3424361190, 3770163771, Spawn) + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "dlg_21_17") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "You can buy Apprentice II versions of your first six levels of Spells or Combat Arts here in the tower. Just purchase them from the appropriate merchant. When you arrive in Qeynos, you will find a Class Trainer that sells Apprentice II versions of your Spells or Combat Arts.") +end + +function dlg_21_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good017.mp3", "", "", 983281181, 2794508480, Spawn) + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "dlg_21_18") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells and arts as you defeat opponents in battle. Many enemies will carry Adept I versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master I versions.") +end + +function dlg_21_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good014.mp3", "", "", 3599821078, 422980237, Spawn) + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "dlg_21_19") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Apprentice IV quality spells, as well as valuable Adept III scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function dlg_21_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good015.mp3", "", "", 3513594939, 2556536854, Spawn) + AddConversationOption(conversation, "How can I keep all these Spells and Arts straight in my Knowledge Book?", "dlg_21_20") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The names and icons of these upgrades are often similar, but the newer versions are more effective. Again, you will want to obtain the highest rank of these new abilities.") +end + +function dlg_21_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_myrrin_the_magnific/tutorial_island02_revamp/trainers/spells_arts_abilities/spells_arts_good016.mp3", "", "", 1747363815, 678736548, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_21_1") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities you wish to use.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerVerrinGlimmertide.lua b/Lua/SpawnScripts/QueensColony/TrainerVerrinGlimmertide.lua new file mode 100755 index 000000000..394302652 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerVerrinGlimmertide.lua @@ -0,0 +1,158 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerVerrinGlimmertide.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Verrin Glimmertide dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1022.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I would like to hear about Heroic Opportunities now.", "dlg_11_1") + AddConversationOption(conversation, "I will return to learn about Heroic Opportunities when I have reached level 5.") + StartConversation(conversation, NPC, Spawn, "Greetings," .. GetName(Spawn) .. ". I am here to train you in the use of Heroic Opportunities. This useful combat technique can be employed by adventurers who are level 5 and higher. Since you are not yet level 5, you cannot yet use them. If you don't want to hear about them now, you could return when you have reached level 5.") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are Heroic Opportunities complicated?", "dlg_11_2") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Beginning at level 5, Heroic Opportunities can be triggered in combat. They allow both lone adventurers and groups of allies to combine their attacks into a series of spells or combat arts performed in a specific order. When successful, Heroic Opportunities give beneficial effects such as extra attacks against your foes or beneficial magic to heal or enhance your abilities.") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So how does a Heroic Opportunity arise?", "dlg_11_3") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Rest assured, someone of your considerable skills in battle will find them easy! Once you start using them, you'll wonder how you ever got along without them.") +end + +function dlg_11_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, that does sound easy. How do I begin a Heroic Opportunity?", "dlg_11_4") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Let me tell you the short and simple version first so that you can see how easy Heroic Opportunities are to use. All you need to do is use your ability that triggers the Heroic Opportunity, then use the spells or combat arts that are blinking on your hotbar or in your Knowledge Book. Easy, isn't it?") +end + +function dlg_11_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can I trigger a Starter Chain whenever I want?", "dlg_11_5") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities have two parts called the Starter Chain and the Combat Wheel. At level 5, every adventure class gains an ability that triggers a Starter Chain: Fighting Chance, Divine Providence, Arcane Augur, or Lucky Break. Open your Knowledge book by pressing K and click the Abilities tab to see it. You can drag its icon to your hotbar to use it.") +end + +function dlg_11_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What happens when I trigger a Starter Chain?", "dlg_11_6") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Starter Chains can only be triggered while in battle with an enemy. After all, Heroic Opportunities are all about becoming great in combat! When you or an ally triggers a Starter Chain, you will see it appear in the corner of your screen.") +end + +function dlg_11_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are Heroic Opportunities only usable in groups?", "dlg_11_7") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Once a Starter Chain is initiated, it shows different ability icons flashing on the screen. A Starter Chain will generally display four different icons that indicate which spells or combat arts advance the Heroic Opportunity to the next stage. Icons will be blue, yellow, red, or green, depending on which class has the ability.") +end + +function dlg_11_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I know what I should do to advance the Starter Chain?", "dlg_11_8") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities can be used alone or in groups. If you fight alone you will have a limited number of ways to advance the Starter Chain, but if you are in a group made up of different classes then you will be able to advance the Starter Chain in different ways to unleash a variety of Heroic Opportunities.") +end + +function dlg_11_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Use the spell or art that is blinking. That's all there is to it?", "dlg_11_9") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "Any spells or combat arts that can advance the Heroic Opportunity will flash on your hotbar and in your Knowledge Book. You have 10 seconds to complete the Starter Chain and advance to the Combat Wheel. See, it's easy: just use the spell or art that blinks!") +end + +function dlg_11_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why does it trigger one of three?", "dlg_11_10") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "It's quite simple. After you've advanced the Starter Chain, the bright and colorful Combat Wheel appears. The Combat Wheel shows a series of icons and displays the name of the Heroic Opportunity you have triggered. A Starter Chain will initiate one of three different Heroic Opportunities.") +end + +function dlg_11_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What does the Combat Wheel tell me?", "dlg_11_11") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "There are three potential Heroic Opportunities: common, uncommon, and rare. Each provides a different benefit. Though even the common ones are valuable, the rare event can sometimes turn the tide of battle in your favor!") +end + +function dlg_11_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can I tell the difference?", "dlg_11_12") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "As with the Starter Chain, the Combat Wheel indicates which spells or arts must be performed to advance and eventually complete the heroic event. Sometimes these spells or abilities must be performed in a particular order. Other times there is no order.") +end + +function dlg_11_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How long do I have to complete the Heroic Opportunity?", "dlg_11_13") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "In the very center of the Wheel, you'll see either a clockwise-pointing arrow or arrows pointing in different directions. The clockwise arrow indicates that the abilities must be completed in order. The other types of arrows mean that the abilities can be completed in any order.") +end + +function dlg_11_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That sounds easy!", "dlg_11_14") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "The Combat Wheel must be completed within 10 seconds or the Opportunity will fail. The blue bar that appears around the outside of the Wheel is a timer. When the blue bar is gone, this indicates that time has run out to complete the Heroic Opportunity.") +end + +function dlg_11_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Any other tricks I should know?", "dlg_11_15") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "It really is! As you become more familiar with using Heroic Opportunities, you can take note of the members of your group and plan out ahead of time which Opportunities will provide you the greatest benefit.") +end + +function dlg_11_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the information. I'll try Heroic Opportunities in my next battle!") + StartConversation(conversation, NPC, Spawn, "Scout classes have a little something extra. By using their Coin icon, the Scout can shift to another Heroic Opportunity. This shift can only happen once per Combat Wheel. This ability must also be used before any other spell or combat art has been used to advance the Wheel.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/TrainerZidgetSprogrudder.lua b/Lua/SpawnScripts/QueensColony/TrainerZidgetSprogrudder.lua new file mode 100755 index 000000000..cb78e950b --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/TrainerZidgetSprogrudder.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : SpawnScripts/QueensColony/TrainerZidgetSprogrudder.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Trainer Zidget Sprogrudder dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1005.mp3", "", "", 0, 0) +--]] + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_zidget_sprogrudder/tutorial_island02_revamp/trainers/mending_banking/zidget_sprogrudder001.mp3", "", "", 3939010463, 2059400102, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "dlg_15_1") + AddConversationOption(conversation, "Tell me about mending items.", "dlg_15_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can tell you all about mending and banking! Banking and mending! Which do you want to hear about?") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_zidget_sprogrudder/tutorial_island02_revamp/trainers/mending_banking/zidget_sprogrudder002.mp3", "", "", 2569144953, 681435280, Spawn) + AddConversationOption(conversation, "How do I open my bank?", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "You already have an account with the Qeynos Exchange, and luckily for you, we have a branch right here in the colony. Go see Banker Bogfoot to access your account. Additional branches can be found in your home village when you reach the city, as well as other parts of Qeynos. You cannot access your bank from Freeport.") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_zidget_sprogrudder/tutorial_island02_revamp/trainers/mending_banking/zidget_sprogrudder003.mp3", "", "", 1818090205, 3165962311, Spawn) + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_15_3") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") +end + +function dlg_15_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_zidget_sprogrudder/tutorial_island02_revamp/trainers/mending_banking/zidget_sprogrudder004.mp3", "", "", 22498702, 4161666959, Spawn) + AddConversationOption(conversation, "What are 'shared' bank slots?", "dlg_15_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") +end + +function dlg_15_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_zidget_sprogrudder/tutorial_island02_revamp/trainers/mending_banking/zidget_sprogrudder005.mp3", "", "", 1857727319, 1420810063, Spawn) + AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_15_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coins) placed in your shared slots can be accessed by other characters on your account that are also citizens of Qeynos. Lore and No-Trade items cannot be put into the shared slots. Characters that are Freeport citizens cannot access a Qeynos bank.") +end + +function dlg_15_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_zidget_sprogrudder/tutorial_island02_revamp/trainers/mending_banking/zidget_sprogrudder006.mp3", "", "", 731970945, 2493990127, Spawn) + AddConversationOption(conversation, "I want to learn about mending items.", "dlg_15_6") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") +end + +function dlg_15_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0) + AddConversationOption(conversation, "Tell me about banking.", "dlg_15_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Mannus at the colony forge, to get them repaired . Speak to Trainer Cheye Seawind if you wish to learn more about the effects of death.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Vim.lua b/Lua/SpawnScripts/QueensColony/Vim.lua new file mode 100755 index 000000000..384d1415e --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Vim.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Vim.lua + Script Author : Zcoretri + Script Date : 2015.07.27 + Script Purpose : Vim dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_187fc6bb.mp3", "I am busy right now...", "no", 1835666244, 487490745, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/merchant_vim/boat_06p_tutorial02/020_merchant_vim_hail_481beac8.mp3", "I love traveling the seas... Oh! Did you need something?", "sniff", 2187888771, 2112320089, Spawn) + else + Say(NPC, "The Far Journey is a beautiful ship, aint she?") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/VisageoftheQueen.lua b/Lua/SpawnScripts/QueensColony/VisageoftheQueen.lua new file mode 100755 index 000000000..0a55c3d82 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/VisageoftheQueen.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : SpawnScripts/QueensColony/VisageoftheQueen.lua + Script Author : Zcoretri + Script Date : 2015.07.30 + Script Purpose : Visage of the Queen talking statue dialog + : +--]] + +function spawn(NPC) + Start(NPC) + --SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function Start(NPC) + AddTimer(NPC, 1200000, "speech1") +end + +--[[function InRange(NPC, Spawn) + speech1(NPC) +end + +function LeaveRange(NPC, Spawn) + stop_speech(NPC) +end--]] + +function speech1(NPC, Spawn) + SpawnSet(NPC, "mood_state", "13046") -- Give her serious face! + SpawnSet(NPC, "action_state", "10756") -- Start waving arms about wildly + + PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_b_e5f9dee6.mp3", "Who performed this miracle? We did. All of us, by our own hands, guided by our vision and the blessings of the gods. Qeynos stands as proof in the power of justice, equality, and compassion. For, as our founding patriarch, Antonius Bayle, would say: If a city will be great, it must first be good! And our city indeed owes its greatness to the goodness and benevolent ideals we citizens uphold.", "", 1818828034, 1870559483) + + AddTimer(NPC, 30000, "speech2") -- for 30 seconds, then to next speech cycle + +end + +function speech2(NPC, Spawn) + SpawnSet(NPC, "mood_state", "13046") -- Give her serious face! + SpawnSet(NPC, "action_state", "10756") -- Start waving arms about wildly + + PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_c_1aa755c8.mp3", "In this Age of Destiny, Qeynos blossoms with abundance in both arts and commerce. Our children are nourished in body, mind, and spirit. Scholars, merchants, artisans, soldiers- all of us are welcome here; all of us find ample means and opportunity to share our unique gifts. Our city is a lamp in the darkness, and a clarion call to awaken Norrath from its long nightmare of discord. Let us remember that people in other lands look to us for hope and guidance. We are Norrath's shining example of what civilization really and truly means. But we mustn't fall into complacency and self-satisfaction. There is yet much to be done. There are refugees beyond our gates who do not enjoy the freedoms and rights we take for granted. They scratch out their meager lives in hunger and ignorance. Some flee persecution and violence; others are tormented by the merciless ravages of want. We Qeynosians who live in abundance are called to reach out to these refugees, to open our hearts and hands.", "", 3038020523, 1696768651) + + AddTimer(NPC, 75000, "speech3") -- for 30 seconds, then to next speech cycle + +end + +function speech3(NPC, Spawn) + SpawnSet(NPC, "mood_state", "13046") -- Give her serious face! + SpawnSet(NPC, "action_state", "10756") -- Start waving arms about wildly + + PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_d_54e171d.mp3", "Yes, I am proud to call myself a Qeynosian. And I am certain that every one of us here is just as proud, just as grateful, and just as eager to share the light of civilization until it shines in every corner of Norrath. We must be extra vigilant to protect our way of life from the corruption of Freeport, which threatens us night and day. In Freeport, they mock the ideals we hold dear. They would make slaves of each and every one of us if they could. We have all seen examples of their ruthlessness and cruelty, of their total disregard for righteousness, of their deceptive and treacherous ways. We know of their unabated greed, and their appetite for territory. How they snap up lands and goods with no thought for the rights of needs of their victims.", "", 2019122145, 3355586847) + + AddTimer(NPC, 60000, "speech4") -- for 30 seconds, then to next speech cycle + +end + +function speech4(NPC, Spawn) + SpawnSet(NPC, "mood_state", "13046") -- Give her serious face! + SpawnSet(NPC, "action_state", "10756") -- Start waving arms about wildly + + PlayFlavor(NPC, "voiceover/english/queen_antonia_bayle/qey_north/eco_200_statue_queen_antonia_bayle_propaganda_1_e_8dd02ef3.mp3", "But Freeport shall not prevail! We Qeynosians know that the destiny of Norrath is like the sun at dawn, like a great light which begins with a spark and illuminates the land. Qeynos is that spark! Qeynos will spread its light of civilization until nothing and no one remains in darkness! And we are the ones called to carry this light. And so ... everyone ... I beseech thee all to remember that this is indeed the Age Of Destiny. And we Qeynosians are its children, and its acolytes ... and its greatest hope!", "", 4080984009, 3907237860) + + AddTimer(NPC, 30000, "stop_speech") -- for 30 seconds, then to next speech cycle + +end + +function stop_speech(NPC) + SpawnSet(NPC, "mood_state", "0") -- Give her stone face! + SpawnSet(NPC, "action_state", "0") -- Stop her waving + + AddTimer(NPC, 1200000, "speech1") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/Waulon.lua b/Lua/SpawnScripts/QueensColony/Waulon.lua new file mode 100755 index 000000000..f7dad5627 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/Waulon.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/QueensColony/Waulon.lua + Script Author : Zcoretri + Script Date : 2015.07.27 + Script Purpose : Waulon dialog + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/waulon/boat_06p_tutorial02/walon_0_004.mp3", "Where's me hat? Needs me lucky hat!", "", 2688932325, 103225044, Spawn) + else + PlayFlavor(NPC, "voiceover/english/waulon/boat_06p_tutorial02/walon_0_008.mp3", "What? Can't you see? Busy, away with ye!", "", 1608066875, 70639594, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/aMorakdevourer_halfling.lua b/Lua/SpawnScripts/QueensColony/aMorakdevourer_halfling.lua new file mode 100755 index 000000000..02223b806 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/aMorakdevourer_halfling.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/QueensColony/aMorakdevourer_halfling.lua + Script Purpose : a Morak devourer + Script Author : Scatman + Script Date : 2009.05.14 + Script Notes : +--]] + +function spawn(NPC) + if GetSpawnLocationID(NPC) == 1584881 then + local Halfling = GetSpawnByLocationID(GetZone(NPC), 1584880) + if Halfling == nil then + SpawnByLocationID(GetZone(NPC), 1584880) + else + SpawnSet(Halfling, "show_command_icon", 0) + end + + local RescuedHalfling = GetSpawnByLocationID(GetZone(NPC), 1584992) + if RescuedHalfling ~= nil then + Say(Halfling, "Ahhhhhh! I must escape!") + Despawn(RescuedHalfling) + end + end +end + +function respawn(NPC) + spawn(NPC) +end + +function group_dead(NPC, Spawn) + local Halfling = GetSpawnByLocationID(GetZone(NPC), 1584880) + if Halfling ~= nil then + SpawnSet(Halfling, "show_command_icon", 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/aQeynosianscout(rescue).lua b/Lua/SpawnScripts/QueensColony/aQeynosianscout(rescue).lua new file mode 100755 index 000000000..9071b7be0 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/aQeynosianscout(rescue).lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/aQeynosianscout.lua + Script Purpose : a Qeynosian scout + Script Author : John Adams/Scatman + Script Date : 2009.01.11 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 30, "InRange", "LeaveRange") +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Player) + choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "", "A little help here! How did I get myself into this mess?", "", 1689589577, 4560189, Player) + elseif choice == 2 then + PlayFlavor(NPC, "", "Devil dogs! Those were my best pair of pants!", "", 1689589577, 4560189, Player) + else + Say(NPC, "They took my armor, but they'll never take my pride!", Player) + end +end + +function casted_on(NPC, Spawn, Message) + if Message == "Help down" then + SpawnByLocationID(GetZone(NPC), 1584992) + Despawn(NPC) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/aQeynosianscout(rescued).lua b/Lua/SpawnScripts/QueensColony/aQeynosianscout(rescued).lua new file mode 100755 index 000000000..a13c7582c --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/aQeynosianscout(rescued).lua @@ -0,0 +1,114 @@ +--[[ + Script Name : SpawnScripts/QueensColony/aQeynosianscout.lua + Script Purpose : a Qeynosian scout + Script Author : John Adams/Scatman + Script Date : 2009.01.11 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local DoggoneIt = 165 + +function spawn(NPC) + ProvidesQuest(NPC, DoggoneIt) + Say(NPC, "Whew, thank you! I couldn't hold on much longer.") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + --Say(NPC, "Test") + + if HasCompletedQuest(Spawn, DoggoneIt) then + Say(NPC, "I hate dogs!") + else + EvilMoraks(NPC, Spawn) + end +end + +function EvilMoraks(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, DoggoneIt) then + if GetQuestStep(Spawn, DoggoneIt) == 2 then + AddConversationOption(conversation, "You look pretty shaken up.", "ShakenUp") + elseif QuestStepIsComplete(Spawn, DoggoneIt, 3) and QuestStepIsComplete(Spawn, DoggoneIt, 4) and QuestStepIsComplete(Spawn, DoggoneIt, 5) and GetQuestStep(Spawn, DoggoneIt) == 6 then + AddConversationOption(conversation, "You're not going to like this...there are multitudes of Moraks ahead.", "NotGoingToLike") + elseif GetQuestStep(Spawn, DoggoneIt) >= 7 then + AddConversationOption(conversation, "Um...about that gift you gave me...", "AboutThatGift") + end + else + AddConversationOption(conversation, "I've gotten rid of them. Are there more?", "AreThereMore") + end + + AddConversationOption(conversation, "Be brave!") + StartConversation(conversation, NPC, Spawn, "Wh..where are they? Those nasty, evil Moraks?") +end + +function AreThereMore(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll get rid of them.", "OfferQuest1") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "Get them away! Who knew that Moraks were hounds, I ask you? They've got to be eliminated! Dratted beasts!") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, DoggoneIt) +end + +function ShakenUp(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "These little pups? They don't scare me.", "DontScareMe") + StartConversation(conversation, NPC, Spawn, "Whew! When I was assigned to explore the village, I had no idea there would be these... these dogs! I'm deathly afraid of them. Got bitten very badly as a child you see. This is terrible! How can I finish my mission! Hmmm! You don't seem to be frightened of them.") +end + +function DontScareMe(NPC, Spawn) + SetStepComplete(Spawn, DoggoneIt, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Not a problem. Wait for me here.") + StartConversation(conversation, NPC, Spawn, "I would be forever in your debt if you could perhaps take a quick peek around the village for me and clear out any of those wretched Moraks so that I can continue my misson please?") +end + +function NotGoingToLike(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "The Moraks are even more plentiful around the villages. I cleared a path, but they'll soon be back.", "SoonBeBack") + StartConversation(conversation, NPC, Spawn, "Oh, dear.") +end + +function SoonBeBack(NPC, Spawn) + SetStepComplete(Spawn, DoggoneIt, 6) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- summon A Diplomatic Gift if the player does not have one + if not HasItem(Spawn, 1565) then + SummonItem(Spawn, 1565) + end + + AddConversationOption(conversation, "I'll take care of it, no worries.") + StartConversation(conversation, NPC, Spawn, "I do owe you for this friend. I'm primarily a scout but also a diplomat-in-training. I'm supposed to open lines of communication with the Sapswill soothsayer, who supposedly knows a great deal about what's ailing our Colony. Can you take him this gift? As an act of diplomat-in-training?") +end + +function AboutThatGift(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- summon A Diplomatic Gift if the player does not have one + if not HasItem(Spawn, 1565) then + SummonItem(Spawn, 1565) + end + + AddConversationOption(conversation, "I'm sorry. I'll be more careful.") + StartConversation(conversation, NPC, Spawn, "Oooh! You lost it, didn't you? Good thing I'm a diplomat-in-training! I have a bunch of these at hand. Here, take this one. Please try not to lose it!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/aSapswillsoothsayer.lua b/Lua/SpawnScripts/QueensColony/aSapswillsoothsayer.lua new file mode 100755 index 000000000..c283cd86b --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/aSapswillsoothsayer.lua @@ -0,0 +1,154 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +local GhostsAndGoblins = 184 +local DoggoneIt = 165 +local ADiplomaticMission = 166 + +function spawn(NPC) + ProvidesQuest(NPC, ADiplomaticMission) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if HasCompletedQuest(Spawn, GhostsAndGoblins) then + GrexxPromises(NPC, Spawn, 0) + elseif HasQuest(Spawn, GhostsAndGoblins) then + if GetQuestStep(Spawn, GhostsAndGoblins) == 4 then + GrexxPromises(NPC, Spawn, 1) + elseif GetQuestStep(Spawn, GhostsAndGoblins) >= 4 and GetQuestStep(Spawn, GhostsAndGoblins) <= 8 then + GrexxPromises(NPC, Spawn, 0) + elseif GetQuestStep(Spawn, GhostsAndGoblins) == 9 then + GrexxPromises(NPC, Spawn, 2) + end + else + GrexxPromises(NPC, Spawn, 0) + end +end + +function GrexxPromises(NPC, Spawn, Choice) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, DoggoneIt) then + if HasCompletedQuest(Spawn, ADiplomaticMission) then + elseif HasQuest(Spawn, ADiplomaticMission) then + AddConversationOption(conversation, "I just wanted to say, about that present...", "GiftFromQeynos") + else + AddConversationOption(conversation, "I just wanted to say, about that present...", "GiftFromQeynos") + end + elseif HasQuest(Spawn, DoggoneIt) then + if GetQuestStep(Spawn, DoggoneIt) == 7 then + AddConversationOption(conversation, "I bring you a gift from the people of Qeynos.", "GiftFromQeynos") + end + end + + if Choice == 1 then + AddConversationOption(conversation, "The Forest Keeper sent me to ...", "ForestKeeperSentMe") + elseif Choice == 2 then + AddConversationOption(conversation, "I've gotten the items you've asked for.", "GotYourItemsBitch") + end + + AddConversationOption(conversation, "I'll bet they are.") + StartConversation(conversation, NPC, Spawn, "Grexx promises us and his promise is kept!") +end + +function ForestKeeperSentMe(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "But what...", "ButWhat") + StartConversation(conversation, NPC, Spawn, "Forest Keeper, big tree! Yes, yes, waiting for you. Big tree, big promise! Water is needed, yes! Three waters, fallen from the skies and the roots from deep beneath! Fetch the waters! Gather the roots!") +end + +function ButWhat(NPC, Spawn) + SetStepComplete(Spawn, GhostsAndGoblins, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well. Okay.") + StartConversation(conversation, NPC, Spawn, "Nothing more to say! Big tree sends you to me to help! Big tree keeps promise! Bring waters and roots first, then sayings I will sooth! Must bring to me, or nothing more will I say!") +end + +function GotYourItemsBitch(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "The Forest Keeper said you'd know how to stop the corruption of the colony.", "ForestKeeperSaid") + StartConversation(conversation, NPC, Spawn, "Yes! Yes! Freshest waters! Tasty roots! Now will I tell you what you want to know. What you want to know?") +end + +function ForestKeeperSaid(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Then what was all that stuff for?", "StuffFor") + StartConversation(conversation, NPC, Spawn, "Me? No! Grexx knows all, no sayings need to sooth on that! Ha! Why tree tell you such a joke? Ha! Evil things creeping up on poor gobbies, long time now! Big tree is wrong, nothing new to know about that. Happy you came to help us, though!") +end + +function StuffFor(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You mean you're going to make a brew out of them?", "MakeBrew") + StartConversation(conversation, NPC, Spawn, "Ah, tasty roots! Mash them up, grind them up and soak in the waters. After the moons are new again, ready to drink, it is! Helps to forget, helps to remember. Tasty Roots!") +end + +function MakeBrew(NPC, Spawn) + SetStepComplete(Spawn, GhostsAndGoblins, 9) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I don't think it's very even.") + StartConversation(conversation, NPC, Spawn, "Yes, yes! Tasty brew! If you knew there was no sooth to be said, would you have got tasty roots and fresh waters for us? No! So now we have them and now you will know as much as Sapswills! Even trade! Even trade! Share with you, we will, too!") +end + +------------------------------------------------------------------------------------------ +-- diplomat quest +------------------------------------------------------------------------------------------ + +function GiftFromQeynos(NPC, Spawn) + if HasQuest(Spawn, DoggoneIt) and HasItem(Spawn, 1565) then + -- remove a Diplomatic Gift + RemoveItem(Spawn, 1565) + SetStepComplete(Spawn, DoggoneIt, 7) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, ADiplomaticMission) and not HasCompletedQuest(Spawn, ADiplomaticMission) and HasCompletedQuest(Spawn, DoggoneIt) then + AddConversationOption(conversation, "It's a small token of friendship. A diplomatic gesture.", "TokenOfFriendship") + end + + AddConversationOption(conversation, "It's my pleasure to meet you.") + StartConversation(conversation, NPC, Spawn, "Hello! Hello! I knew you would be coming! I knew! And bringing a present...we loves presents!") +end + +------------------------------------------------------------------------------------------ +-- diplomat quest +------------------------------------------------------------------------------------------ + +function TokenOfFriendship(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll pay my respect to your...er people.", "OfferQuest1") + AddConversationOption(conversation, "I need to run.") + StartConversation(conversation, NPC, Spawn, "Friends for life, we are now! Is our tradition to greet everyone we meet. Go meet the Sapswills! Is the diplomatic way! Hail them all! We like friends! Meet the Sapswills, then meet High Chiefain Grexx! He likes friends too! To long life and happy friendships!") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, ADiplomaticMission) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/adeadsoldier.lua b/Lua/SpawnScripts/QueensColony/adeadsoldier.lua new file mode 100755 index 000000000..f53c92cd3 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/adeadsoldier.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/adeadsoldier.lua + Script Purpose : a dead soldier + Script Author : Scatman + Script Date : 2009.06.13 + Script Notes : +--]] + +local DefiledSoldier = 2530024 +local APresenceOfEvil = 131 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "OutOfRange") +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if HasQuest(Spawn, APresenceOfEvil) and GetQuestStep(Spawn, APresenceOfEvil) == 4 and not (GetTempVariable(NPC, "APresenceOfEvil_Activated") == "True") then + SetStepComplete(Spawn, APresenceOfEvil, 4) + SetTempVariable(NPC, "APresenceOfEvil_Activated", "True") + local defiled = SpawnMob(GetZone(NPC), DefiledSoldier, 0, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + if defiled ~= nil then + Attack(NPC, Spawn) + end + Despawn(NPC, 2000) + end +end + +function OutOfRange(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/afallenassassin.lua b/Lua/SpawnScripts/QueensColony/afallenassassin.lua new file mode 100755 index 000000000..d1e547e1f --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/afallenassassin.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/QueensColony/afallenassassin.lua + Script Purpose : Path to doom, and drop skull when killed by player + Script Author : Jabantiz + Script Date : 9/11/2016 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -125.5, 4.64, -50.29, 4) + MovementLoopAddLocation(NPC, -132.23, 4.36, -63.2, 4) + MovementLoopAddLocation(NPC, -133.43, 4.37, -88.26, 4) + MovementLoopAddLocation(NPC, -110.11, 4.29, -101.71, 4) + MovementLoopAddLocation(NPC, -97.02, 4.24, -116.82, 4) + MovementLoopAddLocation(NPC, -81.65, 4.13, -120.89, 4) + MovementLoopAddLocation(NPC, -70.74, 4.09, -133.39, 4) + MovementLoopAddLocation(NPC, -57.57, 2.24, -135.21, 4) + MovementLoopAddLocation(NPC, -51.81, 2.03, -153.28, 4, 60) +end + +function respawn(NPC) + spawn(NPC) +end + +function death(NPC, Spawn) + if IsPlayer(Spawn) then + local chance = math.random(1, 100) + if chance <= 35 then + local skull = SpawnMob(GetZone(Spawn), 2530192, false, GetX(NPC), GetY(NPC), GetZ(NPC)) + if skull ~= nil then + SpawnSet(skull, "expire", "1000") + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/alostscout(Ghost).lua b/Lua/SpawnScripts/QueensColony/alostscout(Ghost).lua new file mode 100755 index 000000000..7d5b1fe30 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/alostscout(Ghost).lua @@ -0,0 +1,38 @@ +--[[ + Script Name : + Script Purpose : + Script Author : Jabantiz + Script Date : 9/9/2016 + Script Notes : +--]] + +local JoiningTheForwardRanks = 163 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, Message) + local Cleric = GetSpawn(NPC, 2530111) + if Message == "Divine Smite" and CompareSpawns(Spawn, Cleric) then + local newScout = SpawnMob(GetZone(NPC), 2530196, false, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + if newScout ~= nil then + CopySpawnAppearance(newScout, NPC) + SpawnSet(newScout, "visual_state", "0") + AddTimer(newScout, 5000, "Speak") + end + local mostHated = GetMostHated(NPC) + if mostHated ~= nil and IsPlayer(mostHated) then + if HasQuest(mostHated, JoiningTheForwardRanks) and GetQuestStep(mostHated, JoiningTheForwardRanks) == 2 then + AddStepProgress(mostHated, JoiningTheForwardRanks, 2, 1) + end + end + Despawn(NPC) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/alostscout.lua b/Lua/SpawnScripts/QueensColony/alostscout.lua new file mode 100755 index 000000000..37b69279b --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/alostscout.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/QueensColony/alostscout.lua + Script Purpose : a lost scout + Script Author : John Adams + Script Date : 2008.09.20 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function Speak(NPC) + local choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "Wha... what happened? I should get back to the colony!", "", 1689589577, 4560189, spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Whe... where am I? I should get back to the colony!", "", 1689589577, 4560189, spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Whew, thank you! I couldn't hold on much longer.", "", 1689589577, 4560189, spawn) + else + PlayFlavor(NPC, "", "Ahhhhh! I must escape!", "", 1689589577, 4560189, spawn) + end + + AddTimer(NPC, 1000, "Run") +end + +function Run(NPC) + MoveToLocation(NPC, 216.86, -3.46, 141.55, 4, "Run2") +end + +function Run2(NPC) + MoveToLocation(NPC, 185.83, -3.20, 149.79, 4, "Vanish") +end + +function Vanish(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/arazortoothshark.lua b/Lua/SpawnScripts/QueensColony/arazortoothshark.lua new file mode 100755 index 000000000..ed2a2a106 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/arazortoothshark.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/QueensColony/arazortoothshark.lua + Script Author : fearfx + Script Date : 2017.01.25 06:01:45 + Script Purpose : a hacky fix for a quest in DLW (The Big One, ID= 190) Spawns Smolderfin. + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function death(NPC, Spawn) + if GetName(NPC) == "Smolderfin" then + SetTempVariable(Spawn, "TheBigOne", nil) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430717.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430717.lua new file mode 100755 index 000000000..2ceda6cb5 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430717.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430717.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430717.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:15 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -46.29, -8.62, 202.88, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -54.23, -7.85, 214.12, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -52.21, -8.07, 208.63, 2, 0) + MovementLoopAddLocation(NPC, -52.19, -8.47, 206.83, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -53.11, -8.10, 207.86, 2, 0) + MovementLoopAddLocation(NPC, -57.63, -8.20, 211.73, 2, 0) + MovementLoopAddLocation(NPC, -59.43, -8.58, 213.08, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -58.24, -8.68, 210.06, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -61.68, -9.83, 209.94, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -60.21, -9.37, 210.08, 2, 0) + MovementLoopAddLocation(NPC, -50.18, -8.24, 214.05, 2, math.random(10, 20)) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430718.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430718.lua new file mode 100755 index 000000000..c686497e1 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430718.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430718.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430718.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:20 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -42.96, -4.92, 209.22, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -44.44, -5.93, 207.51, 2, 0) + MovementLoopAddLocation(NPC, -45.33, -6.69, 206.83, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -57.25, -8.09, 213.98, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.21, -7.98, 215.67, 2, 0) + MovementLoopAddLocation(NPC, -56.29, -8.36, 218.24, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -55.15, -7.82, 214.00, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -57.43, -8.32, 210.77, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -52.60, -8.03, 208.28, 2, 0) + MovementLoopAddLocation(NPC, -47.96, -8.43, 204.32, 2, 0) + MovementLoopAddLocation(NPC, -46.79, -8.37, 203.75, 2, 0) + MovementLoopAddLocation(NPC, -45.17, -8.99, 201.82, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -45.77, -8.71, 202.42, 2, 0) + MovementLoopAddLocation(NPC, -47.36, -9.08, 202.50, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -47.01, -8.51, 203.49, 2, 0) + MovementLoopAddLocation(NPC, -44.16, -6.81, 206.04, 2, 0) + MovementLoopAddLocation(NPC, -43.74, -5.31, 207.99, 2, 0) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430719.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430719.lua new file mode 100755 index 000000000..fc169f9d6 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430719.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430719.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430719.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:23 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -55.17, -8.35, 219.01, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -57.67, -8.41, 210.61, 2, 0) + MovementLoopAddLocation(NPC, -58.46, -9.14, 208.98, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -52.14, -8.04, 209.99, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -52.18, -8.02, 216.00, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -54.28, -8.63, 207.03, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -52.38, -8.17, 207.80, 2, 0) + MovementLoopAddLocation(NPC, -49.31, -8.41, 208.89, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -47.84, -6.82, 209.67, 2, 0) + MovementLoopAddLocation(NPC, -44.44, -4.90, 212.81, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -45.27, -5.30, 214.09, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -49.24, -8.23, 215.67, 2, 0) + MovementLoopAddLocation(NPC, -52.03, -8.05, 216.82, 2, 0) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430721.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430721.lua new file mode 100755 index 000000000..32c0b962f --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430721.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430721.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430721.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:25 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -61.11, -9.43, 210.91, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -59.83, -8.73, 211.54, 2, 0) + MovementLoopAddLocation(NPC, -58.87, -8.44, 212.25, 2, 0) + MovementLoopAddLocation(NPC, -55.22, -7.82, 214.03, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.17, -7.87, 212.97, 2, 0) + MovementLoopAddLocation(NPC, -58.12, -8.29, 211.89, 2, 0) + MovementLoopAddLocation(NPC, -59.17, -8.69, 210.85, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -58.11, -8.70, 209.87, 2, 0) + MovementLoopAddLocation(NPC, -46.48, -8.26, 203.89, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -43.24, -8.45, 202.82, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.04, -8.05, 216.26, 2, 0) + MovementLoopAddLocation(NPC, -57.81, -8.53, 218.41, 2, 0) + MovementLoopAddLocation(NPC, -58.34, -8.85, 219.32, 2, 0) + MovementLoopAddLocation(NPC, -59.41, -9.46, 220.19, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -57.98, -8.60, 218.81, 2, 0) + MovementLoopAddLocation(NPC, -47.72, -8.66, 203.40, 2, 0) + MovementLoopAddLocation(NPC, -47.26, -9.67, 201.70, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -47.65, -6.91, 215.31, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -52.38, -8.00, 216.04, 2, 0) + MovementLoopAddLocation(NPC, -56.56, -8.41, 218.44, 2, 0) + MovementLoopAddLocation(NPC, -58.40, -8.85, 219.25, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -48.89, -8.33, 209.68, 2, 0) + MovementLoopAddLocation(NPC, -46.31, -6.10, 208.97, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -47.16, -6.14, 213.70, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -52.24, -8.02, 216.43, 2, 0) + MovementLoopAddLocation(NPC, -54.11, -8.12, 218.06, 2, math.random(10, 20)) +end diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430722.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430722.lua new file mode 100755 index 000000000..cfeab2e60 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430722.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430722.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430722.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:28 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -53.42, -7.88, 214.04, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -46.27, -8.52, 203.13, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -46.82, -5.67, 210.62, 2, 0) + MovementLoopAddLocation(NPC, -49.02, -8.23, 211.02, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.17, -7.91, 211.90, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -42.10, -7.65, 204.79, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.06, -8.90, 207.52, 2, 0) + MovementLoopAddLocation(NPC, -57.25, -9.09, 208.03, 2, 0) + MovementLoopAddLocation(NPC, -59.49, -9.50, 208.90, 2, 0) + MovementLoopAddLocation(NPC, -61.58, -9.46, 217.06, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -55.62, -7.91, 211.43, 2, 0) + MovementLoopAddLocation(NPC, -51.73, -8.43, 207.07, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -57.40, -8.32, 210.77, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -57.32, -8.13, 213.20, 2, 0) + MovementLoopAddLocation(NPC, -60.47, -9.23, 218.20, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -58.30, -8.34, 216.18, 2, 0) + MovementLoopAddLocation(NPC, -53.07, -7.89, 213.89, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -46.31, -8.62, 202.89, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -46.69, -5.63, 210.58, 2, 0) + MovementLoopAddLocation(NPC, -45.30, -5.23, 212.23, 2, math.random(10, 20)) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430744.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430744.lua new file mode 100755 index 000000000..af38d4094 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430744.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430744.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430744.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:18 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -56.43, -7.93, 212.96, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -43.07, -4.89, 209.84, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -51.05, -8.14, 213.87, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -57.40, -9.22, 207.79, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.23, -8.45, 209.26, 2, 0) + MovementLoopAddLocation(NPC, -50.49, -8.22, 215.42, 2, 0) + MovementLoopAddLocation(NPC, -50.04, -8.32, 216.87, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -49.88, -8.31, 216.50, 2, 0) + MovementLoopAddLocation(NPC, -54.20, -7.88, 211.09, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -50.66, -8.82, 206.11, 2, 0) + MovementLoopAddLocation(NPC, -46.63, -8.89, 202.35, 2, 0) + MovementLoopAddLocation(NPC, -44.78, -10.91, 199.08, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -45.96, -8.94, 201.97, 2, 0) + MovementLoopAddLocation(NPC, -48.77, -9.41, 204.07, 2, 0) + MovementLoopAddLocation(NPC, -53.80, -9.08, 205.33, 2, 0) + MovementLoopAddLocation(NPC, -55.52, -9.23, 206.16, 2, 0) + MovementLoopAddLocation(NPC, -57.39, -9.83, 205.81, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.56, -9.59, 205.89, 2, 0) + MovementLoopAddLocation(NPC, -53.84, -8.15, 208.18, 2, 0) + MovementLoopAddLocation(NPC, -45.97, -5.59, 214.15, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -61.53, -9.44, 217.02, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -56.08, -7.90, 211.96, 2, 0) + MovementLoopAddLocation(NPC, -54.29, -8.11, 208.75, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -47.37, -6.93, 207.66, 2, 0) + MovementLoopAddLocation(NPC, -43.06, -7.39, 204.81, 2, math.random(10, 20)) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430767.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430767.lua new file mode 100755 index 000000000..d543a0383 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430767.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430767.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430767.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:50 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -28.12, -7.93, 242.43, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -28.18, -7.90, 240.48, 2, 0) + MovementLoopAddLocation(NPC, -36.09, -7.99, 228.60, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -32.08, -8.18, 237.48, 2, 0) + MovementLoopAddLocation(NPC, -31.91, -8.35, 239.49, 2, 0) + MovementLoopAddLocation(NPC, -31.14, -8.32, 240.70, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -31.34, -8.24, 239.49, 2, 0) + MovementLoopAddLocation(NPC, -28.74, -7.99, 232.29, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -31.73, -7.98, 232.08, 2, 0) + MovementLoopAddLocation(NPC, -40.05, -9.26, 237.60, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -33.32, -7.97, 232.40, 2, 0) + MovementLoopAddLocation(NPC, -32.42, -7.99, 231.88, 2, 0) + MovementLoopAddLocation(NPC, -31.08, -7.99, 230.47, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -26.02, -7.85, 242.88, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -16.10, -7.88, 241.70, 2, math.random(10, 20)) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430768.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430768.lua new file mode 100755 index 000000000..900fefed0 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430768.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430768.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430768.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:52 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -34.48, -8.51, 237.79, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -25.42, -7.96, 235.13, 2, 0) + MovementLoopAddLocation(NPC, -27.30, -8.24, 246.90, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -27.85, -8.03, 244.66, 2, 0) + MovementLoopAddLocation(NPC, -29.99, -8.09, 240.71, 2, 0) + MovementLoopAddLocation(NPC, -32.23, -8.18, 237.32, 2, 0) + MovementLoopAddLocation(NPC, -34.14, -8.06, 233.58, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -26.35, -7.96, 235.57, 2, 0) + MovementLoopAddLocation(NPC, -24.49, -7.98, 235.90, 2, 0) + MovementLoopAddLocation(NPC, -21.97, -7.94, 236.82, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -30.06, -7.99, 233.74, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -32.10, -8.04, 235.92, 2, 0) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430769.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430769.lua new file mode 100755 index 000000000..6ed65f80c --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430769.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430769.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430769.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:55 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -31.05, -10.09, 250.86, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -31.52, -10.14, 250.52, 2, 0) + MovementLoopAddLocation(NPC, -32.09, -9.58, 247.38, 2, 0) + MovementLoopAddLocation(NPC, -26.05, -7.83, 241.87, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -28.05, -7.88, 240.00, 2, 0) + MovementLoopAddLocation(NPC, -31.34, -8.16, 238.13, 2, 0) + MovementLoopAddLocation(NPC, -39.90, -8.43, 232.29, 2, 0) + MovementLoopAddLocation(NPC, -42.22, -8.53, 231.74, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -41.19, -8.51, 231.87, 2, 0) + MovementLoopAddLocation(NPC, -40.11, -8.56, 232.90, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -40.02, -8.95, 235.63, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -34.03, -8.05, 233.44, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -32.21, -8.86, 243.39, 2, 0) + MovementLoopAddLocation(NPC, -30.93, -9.04, 246.10, 2, 0) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430770.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430770.lua new file mode 100755 index 000000000..1ea8d4824 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430770.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430770.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430770.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:58 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -43.16, -8.28, 230.59, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -40.08, -8.70, 233.82, 2, 0) + MovementLoopAddLocation(NPC, -38.19, -8.95, 237.70, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -35.49, -8.88, 240.14, 2, 0) + MovementLoopAddLocation(NPC, -26.58, -8.66, 249.70, 2, 0) + MovementLoopAddLocation(NPC, -23.23, -8.38, 251.90, 2, 0) + MovementLoopAddLocation(NPC, -20.99, -8.36, 253.95, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -26.53, -7.88, 243.40, 2, 0) + MovementLoopAddLocation(NPC, -28.11, -7.88, 239.98, 2, 0) + MovementLoopAddLocation(NPC, -30.23, -7.99, 236.20, 2, 0) + MovementLoopAddLocation(NPC, -31.84, -7.98, 232.45, 2, 0) + MovementLoopAddLocation(NPC, -35.02, -8.01, 227.63, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -25.82, -7.84, 231.87, 2, math.random(10, 20)) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430771.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430771.lua new file mode 100755 index 000000000..c7f42fa0b --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430771.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430771.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430771.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:01 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -18.11, -7.83, 241.55, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -20.20, -7.83, 239.75, 2, 0) + MovementLoopAddLocation(NPC, -22.97, -7.97, 236.55, 2, 0) + MovementLoopAddLocation(NPC, -23.76, -7.97, 235.98, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -31.93, -7.97, 234.45, 2, 0) + MovementLoopAddLocation(NPC, -39.32, -8.35, 232.29, 2, 0) + MovementLoopAddLocation(NPC, -43.18, -8.93, 232.84, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -44.16, -8.41, 230.63, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -40.62, -8.46, 231.85, 2, 0) + MovementLoopAddLocation(NPC, -38.01, -8.41, 233.88, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -20.89, -7.83, 235.71, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -20.52, -7.18, 232.01, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -24.10, -7.86, 233.85, 2, 0) + MovementLoopAddLocation(NPC, -26.41, -7.91, 232.99, 2, 0) + MovementLoopAddLocation(NPC, -27.62, -7.92, 231.93, 2, 0) + MovementLoopAddLocation(NPC, -29.52, -8.00, 231.80, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -28.07, -7.96, 232.33, 2, 0) + MovementLoopAddLocation(NPC, -21.97, -8.12, 251.86, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -30.11, -9.87, 250.84, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -29.55, -9.75, 250.88, 2, 0) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430773.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430773.lua new file mode 100755 index 000000000..b86b47542 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430773.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430773.lua + Script Purpose : Waypoint Path for smallcrab002_06.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:04 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -35.02, -7.99, 228.74, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -32.26, -8.00, 231.61, 2, 0) + MovementLoopAddLocation(NPC, -19.97, -8.57, 254.97, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -25.92, -8.14, 248.08, 2, 0) + MovementLoopAddLocation(NPC, -27.84, -8.02, 244.58, 2, 0) + MovementLoopAddLocation(NPC, -30.10, -8.36, 243.81, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -31.20, -8.21, 239.49, 2, 0) + MovementLoopAddLocation(NPC, -32.19, -8.07, 236.14, 2, 0) + MovementLoopAddLocation(NPC, -34.14, -7.95, 225.83, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -37.13, -8.29, 233.89, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -31.52, -8.86, 244.51, 2, 0) + MovementLoopAddLocation(NPC, -30.55, -9.13, 247.09, 2, 0) + MovementLoopAddLocation(NPC, -27.84, -9.22, 250.48, 2, 0) + MovementLoopAddLocation(NPC, -27.46, -9.97, 254.79, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -29.69, -8.98, 247.46, 2, 0) + MovementLoopAddLocation(NPC, -36.00, -8.80, 238.65, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -38.88, -9.25, 238.78, 2, math.random(10, 20)) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430774.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430774.lua new file mode 100755 index 000000000..3573a7dc3 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430774.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430774.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430774.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:06 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -25.34, -9.33, 254.01, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -24.82, -8.67, 251.72, 2, 0) + MovementLoopAddLocation(NPC, -32.26, -8.95, 244.01, 2, 0) + MovementLoopAddLocation(NPC, -41.14, -9.48, 237.69, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -33.01, -9.05, 243.73, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -25.14, -7.92, 237.34, 2, 0) + MovementLoopAddLocation(NPC, -19.83, -7.82, 236.45, 2, 0) + MovementLoopAddLocation(NPC, -16.57, -7.84, 239.38, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -23.14, -7.85, 239.77, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -24.29, -7.89, 239.11, 2, 0) + MovementLoopAddLocation(NPC, -36.96, -8.01, 224.80, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -25.15, -8.94, 252.59, 2, 0) + MovementLoopAddLocation(NPC, -23.25, -9.18, 255.15, 2, 0) + MovementLoopAddLocation(NPC, -22.40, -9.60, 256.95, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -27.61, -8.55, 247.96, 2, 0) + MovementLoopAddLocation(NPC, -30.29, -8.62, 244.98, 2, 0) + MovementLoopAddLocation(NPC, -33.81, -8.46, 238.07, 2, 0) + MovementLoopAddLocation(NPC, -39.57, -8.05, 229.82, 2, 0) + MovementLoopAddLocation(NPC, -40.08, -8.02, 227.58, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -28.70, -7.95, 233.56, 2, 0) + MovementLoopAddLocation(NPC, -26.54, -7.95, 235.42, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -45.03, -9.41, 233.79, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -42.18, -9.20, 235.18, 2, 0) + MovementLoopAddLocation(NPC, -32.70, -9.33, 245.56, 2, 0) + MovementLoopAddLocation(NPC, -25.65, -9.02, 252.43, 2, 0) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430775.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430775.lua new file mode 100755 index 000000000..e7c0ca93c --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430775.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430775.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430775.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:09 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -32.17, -7.98, 233.65, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -30.60, -8.56, 244.27, 2, 0) + MovementLoopAddLocation(NPC, -30.02, -8.78, 246.02, 2, 0) + MovementLoopAddLocation(NPC, -30.20, -9.49, 248.97, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -30.22, -8.83, 246.02, 2, 0) + MovementLoopAddLocation(NPC, -39.94, -7.96, 225.74, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -28.36, -7.84, 237.38, 2, 0) + MovementLoopAddLocation(NPC, -27.19, -7.89, 239.71, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -30.06, -7.96, 238.34, 2, 0) + MovementLoopAddLocation(NPC, -38.02, -8.22, 232.72, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -28.46, -9.03, 249.01, 2, 0) + MovementLoopAddLocation(NPC, -28.01, -9.13, 249.93, 2, 0) + MovementLoopAddLocation(NPC, -26.39, -9.10, 251.87, 2, 0) + MovementLoopAddLocation(NPC, -26.15, -9.28, 253.01, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -26.95, -9.69, 254.03, 2, 0) + MovementLoopAddLocation(NPC, -28.00, -10.09, 254.80, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -27.10, -9.67, 253.75, 2, 0) + MovementLoopAddLocation(NPC, -25.00, -7.95, 234.80, 2, math.random(10, 20)) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430792.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430792.lua new file mode 100755 index 000000000..56c197e30 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430792.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430792.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430792.lua + Script Author : Rylec + Script Date : 10-19-2019 12:42:12 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -15.43, -7.86, 241.00, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -11.82, -7.15, 241.18, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -24.43, -8.17, 249.57, 2, 0) + MovementLoopAddLocation(NPC, -25.05, -8.73, 251.76, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -25.75, -8.70, 250.85, 2, 0) + MovementLoopAddLocation(NPC, -41.28, -9.14, 235.66, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -44.40, -9.99, 236.91, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -42.94, -9.67, 236.89, 2, 0) + MovementLoopAddLocation(NPC, -41.44, -9.27, 236.19, 2, 0) + MovementLoopAddLocation(NPC, -33.03, -7.96, 227.82, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -39.77, -8.36, 231.97, 2, 0) + MovementLoopAddLocation(NPC, -43.71, -9.43, 234.96, 2, 0) + MovementLoopAddLocation(NPC, -45.25, -9.97, 236.09, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -44.98, -9.51, 234.32, 2, 0) + MovementLoopAddLocation(NPC, -44.20, -9.09, 232.91, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -40.36, -8.46, 232.06, 2, 0) + MovementLoopAddLocation(NPC, -24.17, -7.91, 238.13, 2, 0) + MovementLoopAddLocation(NPC, -22.90, -7.91, 238.77, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -24.00, -7.85, 239.99, 2, 0) + MovementLoopAddLocation(NPC, -31.43, -8.93, 244.95, 2, math.random(10, 20)) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430813.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430813.lua new file mode 100755 index 000000000..1f64bb52a --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430813.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430813.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430813.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:32 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 10.26, -10.8, 236.38, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.22, -8.62, 238.92, 2, 0) + MovementLoopAddLocation(NPC, 4.85, -8.77, 242.62, 2, 0) + MovementLoopAddLocation(NPC, 6.18, -9.13, 243.6, 2, 0) + MovementLoopAddLocation(NPC, 8.10, -8.37, 247.14, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.83, -12.29, 242.26, 2, 0) + MovementLoopAddLocation(NPC, 11.77, -13.09, 241.69, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.47, -11.01, 240.37, 2, 0) + MovementLoopAddLocation(NPC, 8.79, -10.40, 239.11, 2, 0) + MovementLoopAddLocation(NPC, 10.32, -10.21, 233.68, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.03, -9.76, 234.00, 2, 0) + MovementLoopAddLocation(NPC, 7.85, -8.93, 234.12, 2, 0) + MovementLoopAddLocation(NPC, -6.59, -7.48, 240.66, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.34, -10.03, 234.49, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 0.02, -7.79, 243.33, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 4.72, -8.70, 241.19, 2, 0) + MovementLoopAddLocation(NPC, 7.60, -9.81, 238.89, 2, 0) + MovementLoopAddLocation(NPC, 12.00, -12.49, 238.33, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.18, -10.60, 239.09, 2, 0) + MovementLoopAddLocation(NPC, 8.44, -10.27, 239.15, 2, 0) + MovementLoopAddLocation(NPC, 7.06, -10.11, 241.38, 2, 0) + MovementLoopAddLocation(NPC, 6.57, -8.74, 244.49, 2, 0) + MovementLoopAddLocation(NPC, 6.26, -9.30, 254.73, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.66, -10.84, 247.89, 2, 0) + MovementLoopAddLocation(NPC, 12.22, -13.09, 247.89, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 10.28, -13.37, 253.37, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 8.40, -9.54, 253.14, 2, 0) + MovementLoopAddLocation(NPC, 6.63, -8.55, 250.57, 2, 0) + MovementLoopAddLocation(NPC, 5.96, -8.97, 239.94, 2, 0) + MovementLoopAddLocation(NPC, 7.41, -9.64, 238.93, 2, 0) + MovementLoopAddLocation(NPC, 6.93, -8.71, 237.81, 2, 0) +end diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430814.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430814.lua new file mode 100755 index 000000000..736b574d5 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430814.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430814.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430814.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:39 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + --MoveToLocation(NPC, 6.1, -8.58, 250.68) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 6.18, -8.58, 250.68, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 4.17, -8.99, 252.80, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.15, -8.71, 244.71, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -2.74, -7.83, 246.55, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 0.18, -7.92, 245.26, 2, 0) + MovementLoopAddLocation(NPC, 3.81, -8.52, 244.14, 2, 0) + MovementLoopAddLocation(NPC, 6.36, -9.63, 242.42, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 5.30, -8.44, 248.61, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 5.51, -8.46, 247.28, 2, 0) + MovementLoopAddLocation(NPC, 6.19, -9.55, 242.20, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.21, -9.63, 241.40, 2, 0) + MovementLoopAddLocation(NPC, 6.35, -9.06, 239.60, 2, 4) + MovementLoopAddLocation(NPC, 6.26, -8.92, 239.46, 2, 0) + MovementLoopAddLocation(NPC, 7.75, -9.35, 237.56, 2, 0) + MovementLoopAddLocation(NPC, 9.32, -10.26, 236.57, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.49, -11.62, 240.76, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 9.46, -10.12, 239.78, 2, 0) + MovementLoopAddLocation(NPC, 7.65, -10.12, 240.92, 2, 0) + MovementLoopAddLocation(NPC, 6.23, -8.37, 248.61, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.24, -8.36, 247.72, 2, 0) + MovementLoopAddLocation(NPC, 5.95, -8.61, 245.61, 2, 0) + MovementLoopAddLocation(NPC, 5.99, -8.33, 238.20, 2, 0) + MovementLoopAddLocation(NPC, 6.42, -8.21, 236.25, 2, math.random(10, 20)) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430815.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430815.lua new file mode 100755 index 000000000..d9608a406 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430815.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430815.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430815.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:42 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 4.27, -8.60, 240.85, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 7.81, -9.43, 253.85, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 3.74, -8.64, 247.62, 2, 0) + MovementLoopAddLocation(NPC, 2.44, -8.22, 244.80, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -3.66, -7.66, 245.55, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 5.99, -8.83, 239.63, 2, 0) + MovementLoopAddLocation(NPC, 6.65, -8.66, 238.29, 2, 0) + MovementLoopAddLocation(NPC, 10.96, -10.43, 236.43, 2, 0) + MovementLoopAddLocation(NPC, 8.22, -9.70, 237.00, 2, 0) + MovementLoopAddLocation(NPC, 5.41, -8.13, 238.13, 2, 0) + MovementLoopAddLocation(NPC, 4.09, -7.98, 238.17, 2, 0) + MovementLoopAddLocation(NPC, 6.05, -8.67, 244.97, 2, 0) + MovementLoopAddLocation(NPC, 7.18, -8.30, 247.93, 2, 0) + MovementLoopAddLocation(NPC, 7.17, -9.38, 254.83, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.35, -8.48, 249.77, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 4.41, -8.53, 248.29, 2, 0) + MovementLoopAddLocation(NPC, 1.99, -8.07, 243.65, 2, 0) + MovementLoopAddLocation(NPC, 0.49, -7.94, 240.44, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -5.03, -7.57, 239.80, 2, 0) + MovementLoopAddLocation(NPC, -8.63, -6.70, 238.70, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -0.11, -7.78, 243.68, 2, 0) + MovementLoopAddLocation(NPC, 5.33, -8.93, 252.90, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 5.67, -9.21, 242.73, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 4.69, -8.74, 242.51, 2, 0) +end + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430816.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430816.lua new file mode 100755 index 000000000..6889217cd --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430816.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430816.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430816.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:45 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 7.94, -9.01, 232.32, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 7.95, -9.16, 235.92, 2, 0) + MovementLoopAddLocation(NPC, 7.40, -8.87, 237.27, 2, 0) + MovementLoopAddLocation(NPC, 7.07, -9.22, 238.66, 2, 0) + MovementLoopAddLocation(NPC, 6.14, -9.22, 240.14, 2, 0) + MovementLoopAddLocation(NPC, 5.76, -8.70, 244.91, 2, 0) + MovementLoopAddLocation(NPC, 6.81, -8.48, 249.95, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 3.75, -8.03, 238.48, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 8.60, -10.09, 238.07, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 7.82, -9.79, 238.27, 2, 0) + MovementLoopAddLocation(NPC, 5.76, -8.27, 238.26, 2, 0) + MovementLoopAddLocation(NPC, 4.41, -8.04, 238.69, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.09, -8.09, 236.44, 2, 0) +end diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430817.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430817.lua new file mode 100755 index 000000000..04e86c0a9 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430817.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430817.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430817.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:47 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 11.42, -13.21, 247.65, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 8.10, -8.50, 249.16, 2, 0) + MovementLoopAddLocation(NPC, 6.24, -8.72, 251.94, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -1.78, -7.75, 245.62, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 3.39, -9.04, 253.60, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 10.17, -12.94, 247.18, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 4.67, -8.50, 248.27, 2, 0) + MovementLoopAddLocation(NPC, 2.41, -8.58, 247.57, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 0.17, -7.81, 244.26, 2, 0) + MovementLoopAddLocation(NPC, -1.77, -7.60, 239.48, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -1.59, -7.67, 244.87, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.53, -9.79, 241.64, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.17, -8.99, 243.93, 2, 0) + MovementLoopAddLocation(NPC, 7.48, -8.67, 244.95, 2, 0) + MovementLoopAddLocation(NPC, 7.84, -8.51, 246.15, 2, 0) +end + + diff --git a/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430823.lua b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430823.lua new file mode 100755 index 000000000..47628099d --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/asmallcoastalcrab430823.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/QueensColony/asmallcoastalcrab430823.lua + Script Purpose : Waypoint Path for asmallcoastalcrab430823.lua + Script Author : Rylec + Script Date : 10-19-2019 12:41:27 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -0.76, -8.27, 249.66, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -0.68, -7.71, 241.56, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 0.08, -7.80, 244.03, 2, 0) + MovementLoopAddLocation(NPC, 8.57, -12.99, 257.02, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 6.02, -8.37, 247.99, 2, 0) + MovementLoopAddLocation(NPC, 5.99, -9.14, 240.16, 2, 0) + MovementLoopAddLocation(NPC, 8.55, -10.00, 237.29, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 7.02, -8.88, 238.07, 2, 0) + MovementLoopAddLocation(NPC, 3.45, -8.55, 242.45, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 4.19, -8.64, 241.94, 2, 0) + MovementLoopAddLocation(NPC, 7.35, -10.16, 240.69, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, 7.07, -10.03, 240.57, 2, 0) + MovementLoopAddLocation(NPC, 2.36, -8.29, 240.06, 2, 0) + MovementLoopAddLocation(NPC, -1.61, -7.62, 240.34, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -5.73, -7.55, 242.63, 2, math.random(10, 20)) +end + diff --git a/Lua/SpawnScripts/QueensColony/ataintedSapswillambusher.lua b/Lua/SpawnScripts/QueensColony/ataintedSapswillambusher.lua new file mode 100755 index 000000000..8b91067a0 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/ataintedSapswillambusher.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/QueensColony/ataintedSapswillambusher.lua + Script Purpose : Path the ambushers to their doom + Script Author : Jabantiz + Script Date : 9/11/2016 + Script Notes : +--]] + +function spawn(NPC) + if GetSpawnLocationID(NPC) == 429588 then + MoveToLocation(NPC, -51.9, 2.03, -152.31, 3) + elseif GetSpawnLocationID(NPC) == 429491 then + MovementLoopAddLocation(NPC, -85.97, 1.67, -183.84, 3) + MovementLoopAddLocation(NPC, -70, 2.1, -178.69, 3) + MovementLoopAddLocation(NPC, -51.42, 2.13, -165, 3) + MovementLoopAddLocation(NPC, -51.97, 2.03, -152.1, 3, 60) + elseif GetSpawnLocationID(NPC) == 429508 then + MovementLoopAddLocation(NPC, -71.15, 3.24, -194.55, 3) + MovementLoopAddLocation(NPC, -59.29, 3.78, -181.34, 3) + MovementLoopAddLocation(NPC, -48.83, 2.38, -155.41, 3) + MovementLoopAddLocation(NPC, -52.89, 2.03, -152.21, 3, 60) + elseif GetSpawnLocationID(NPC) == 429657 then + MovementLoopAddLocation(NPC, 18.29, 3.25, -222.27, 3) + MovementLoopAddLocation(NPC, 4.28, 2.29, -207.62, 3) + MovementLoopAddLocation(NPC, -5.31, 2.44, -183.86, 3) + MovementLoopAddLocation(NPC, -13.56, 4.14, -174.91, 3) + MovementLoopAddLocation(NPC, -27.47, 3.49, -168.66, 3) + MovementLoopAddLocation(NPC, -45.68, 2.12, -159.96, 3) + MovementLoopAddLocation(NPC, -52.86, 2.03, -150.91, 3, 60) + end +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/ataintedSapswillinvader.lua b/Lua/SpawnScripts/QueensColony/ataintedSapswillinvader.lua new file mode 100755 index 000000000..b80f55a44 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/ataintedSapswillinvader.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/QueensColony/aTaintedSapswillInvader.lua + Script Purpose : a Tainted Sapswill Invader + Script Author : John Adams + Script Date : 2008.10.27 + Script Notes : 6 wandering sapswills, random destination coords +--]] + +function spawn(NPC) + local dest = math.random(1,3) + if dest == 1 then + MovementLoopAddLocation(NPC, 61.3, -4.2, 180.5, 2, 1) + MovementLoopAddLocation(NPC, 64.5, -4, 193, 2, 1) + MovementLoopAddLocation(NPC, 78, -4.3, 182.4, 2, 10) + elseif dest == 2 then + MovementLoopAddLocation(NPC, 75.9, -4.4, 160.5, 2, 1) + MovementLoopAddLocation(NPC, 73.6, -4.3, 170.8, 2, 1) + MovementLoopAddLocation(NPC, 81.2, -4.5, 172.4, 2, 10) + else + MovementLoopAddLocation(NPC, 75, -4, 171, 2, 10) + end +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/ebiksclunker.lua b/Lua/SpawnScripts/QueensColony/ebiksclunker.lua new file mode 100755 index 000000000..adafd17e5 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/ebiksclunker.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/QueensColony/ebiksclunker.lua + Script Author : Jabantiz + Script Date : 2016.09.13 12:09:59 + Script Purpose : + : +--]] + +local EbiksMissingParts = 185 + +function spawn(NPC) + SetRequiredQuest(NPC, EbiksMissingParts, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "search parts" then + SetStepComplete(Spawn, EbiksMissingParts, 1) + end +end diff --git a/Lua/SpawnScripts/QueensColony/ebiksspinner.lua b/Lua/SpawnScripts/QueensColony/ebiksspinner.lua new file mode 100755 index 000000000..1758cbbc7 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/ebiksspinner.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/QueensColony/ebiksspinner.lua + Script Author : Jabantiz + Script Date : 2016.09.13 12:09:46 + Script Purpose : + : +--]] + +local EbiksMissingParts = 185 + +function spawn(NPC) + SetRequiredQuest(NPC, EbiksMissingParts, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "search parts" then + SetStepComplete(Spawn, EbiksMissingParts, 3) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/ebiksspringer.lua b/Lua/SpawnScripts/QueensColony/ebiksspringer.lua new file mode 100755 index 000000000..65150ebf4 --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/ebiksspringer.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/QueensColony/ebiksspringer.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 9/13/2016 + Script Notes : +--]] + +local EbiksMissingParts = 185 + +function spawn(NPC) + SetRequiredQuest(NPC, EbiksMissingParts, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "search parts" then + SetStepComplete(Spawn, EbiksMissingParts, 2) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/eviltotem.lua b/Lua/SpawnScripts/QueensColony/eviltotem.lua new file mode 100755 index 000000000..f0d9a471f --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/eviltotem.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/QueensColony/eviltotem.lua + Script Purpose : Handles enabling/disabling the totems on the correct step as well as updates + Script Author : Jabantiz + Script Date : 9/9/2016 + Script Notes : +--]] + +local TheSourceOfEvil = 164 + +function spawn(NPC) + SetRequiredQuest(NPC, TheSourceOfEvil, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "destroy totem" then + if HasQuest(Spawn, TheSourceOfEvil) and GetQuestStep(Spawn, TheSourceOfEvil) == 2 then + AddStepProgress(Spawn, TheSourceOfEvil, 2, 1) + Despawn(NPC) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/goodbookfeedingtheguurok.lua b/Lua/SpawnScripts/QueensColony/goodbookfeedingtheguurok.lua new file mode 100755 index 000000000..95e10bf7f --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/goodbookfeedingtheguurok.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : goodbookfeedingtheguurok.lua + Script Purpose : Handles the book at the goblin treehouse + Script Author : Jabantiz + Script Date : 9/9/2016 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "Read book" then + local con = CreateConversation() + + AddConversationOption(con, "Stop reading.", "CloseConversation") + StartDialogConversation(con, 1, NPC, Spawn, "When Guurok near must be fed.\nGuurok eat skills, but not gobbie skulls.\nIt's people! Good thing graveyard near.\nBring more gobbies in case angered!\nSix peoples it needs from on rock.") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/QueensColony/statuewidget.lua b/Lua/SpawnScripts/QueensColony/statuewidget.lua new file mode 100755 index 000000000..fa9ff241e --- /dev/null +++ b/Lua/SpawnScripts/QueensColony/statuewidget.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/QueensColony/statuewidget.lua + Script Purpose : Offer the quest "Lasydia's Call" upon interaction with this widget + Script Author : Jabantiz + Script Date : 9/13/2016 + Script Notes : +--]] + +local LasydiasCall = 186 + +function casted_on(NPC, Spawn, Message) + if Message == "Read Inscription" then + if not HasQuest(Spawn, LasydiasCall) and not HasCompletedQuest(Spawn, LasydiasCall) then + OfferQuest(NPC, Spawn, LasydiasCall) + else + AddConversationOption(con, "exit", "CloseConversation") + StartDialogConversation(con, 1, NPC, Spawn, "\"Lasydia - as divinely merciful as she is beautiful. Deliverer of the drowned and caretaker of the castaway.\" A feeling of purpose surrounds and penetrates you. You feel a sudden desire to make the waters around you a safer place.") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/ArmsdealerNylzs.lua b/Lua/SpawnScripts/Ruins/ArmsdealerNylzs.lua new file mode 100755 index 000000000..67a466569 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/ArmsdealerNylzs.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/Ruins/ArmsdealerNylzs.lua + Script Purpose : Armsdealer Nylzs + Script Author : John Adams + Script Date : 2009.08.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + + local choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_aoi_gm_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 3019943489, 1406568446, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_1a08e567.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1197055422, 631535840, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 105908870, 230263487, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2596269432, 669710728, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today, or am I just wasting my time? This isn't a museum display you know!", "glare", 1394544165, 1181852771, Spawn) + else + end + +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + InRange(NPC, Spawn) +end diff --git a/Lua/SpawnScripts/Ruins/CaptainArellius.lua b/Lua/SpawnScripts/Ruins/CaptainArellius.lua new file mode 100755 index 000000000..b8114a4d0 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/CaptainArellius.lua @@ -0,0 +1,444 @@ +--[[ + Script Name : SpawnScripts/TheRuins/CaptainArellius.lua + Script Purpose : Captain Arellius + Script Author : jakejp + Script Date : 2018.09.30 // Finished 2018.12.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QuestFromSprawl +local QuestFromGraveyard +local QuestFromSunkenCity + +local First_ReportingForDuty = 368 +local Fifth_RequestingFurtherOrders = 372 +local Sixth_SteppingUptheOffensive = 373 +local Tenth_FileAFinalReport = 395 +local Eleventh_AJourneyOutsideTheCity = 396 + +function spawn(NPC) + ProvidesQuest(NPC, First_ReportingForDuty) + ProvidesQuest(NPC, Sixth_SteppingUptheOffensive) + ProvidesQuest(NPC, Eleventh_AJourneyOutsideTheCity) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,3) + + if HasQuest(Spawn, QuestFromGraveyard) or HasQuest(Spawn, QuestFromSprawl) or HasQuest(Spawn, QuestFromSunkenCity) then + if HasQuest(Spawn, QuestFromGraveyard) then + SetStepComplete(Spawn, QuestFromGraveyard, 1) + if not HasCompletedQuest(Spawn, First_ReportingForDuty) and not HasQuest(Spawn, First_ReportingForDuty) then + AddConversationOption(conversation, "My name is .. GetName(Spawn) .. . Custodian Zaddar in the Graveyard sent me.", "dlg_0_1") + end + elseif HasQuest(Spawn, QuestFromSprawl) then + SetStepComplete(Spawn, QuestFromSprawl, 1) + if not HasCompletedQuest(Spawn, First_) and not HasQuest(Spawn, First_) then + AddConversationOption(conversation, "My name is .. GetName(Spawn) .. . Custodian Zaddar in the Graveyard sent me.", "dlg_0_1") + end + elseif HasQuest(Spawn, QuestFromSunkenCity) then + SetStepComplete(Spawn, QuestFromSunkenCity, 1) + if not HasCompletedQuest(Spawn, First_) and not HasQuest(Spawn, First_) then + AddConversationOption(conversation, "My name is .. GetName(Spawn) .. . Custodian Zaddar in the Graveyard sent me.", "dlg_0_1") + end + end + + if not HasCompletedQuest(Spawn, First_ReportingForDuty) and not HasQuest(Spawn, First_ReportingForDuty) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius001.mp3", "", "", 3910993894, 659100358, Spawn) + AddConversationOption(conversation, "It sounds like you need a hand. How can I help?") + AddConversationOption(conversation, "Your conflict is none of my concern.") + StartConversation(conversation, NPC, Spawn, "Stand your ground! I will defend Freeport to my dying breath! Are you friend or foe?") + else + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/quest_captain_arellius_callout_257dc2e4.mp3", "To arms! The Ruins must be defended against these mindless brutes!", "brandish", 2691467763, 3825315561, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/quest_captain_arellius_callout_5b6ad828.mp3", "The Freeport Militia will make a stand against these orcs!", "threaten", 3371139514, 3350465604, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/quest_captain_arellius_callout_6af9e361.mp3", "We must avenge the fallen of Shoreside!", "brandish", 352522731, 4132511279, Spawn) + end + end + end + + if not HasCompletedQuest (Spawn, First_ReportingForDuty) then + if HasQuest(Spawn, First_ReportingForDuty) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius019.mp3", "", "", 79133986, 324326874, Spawn) + AddConversationOption(conversation, "Not yet, Captain.", "dlg_1_14") + StartConversation(conversation, NPC, Spawn, "Have you completed your assignments for Lieutenant Argosian at the first outpost?") + elseif CanReceiveQuest(Spawn, First_ReportingForDuty) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius001.mp3", "", "", 3910993894, 659100358, Spawn) + AddConversationOption(conversation, "It sounds like you need a hand. How can I help?", "dlg_1_1") + AddConversationOption(conversation, "Your conflict is none of my concern.") + StartConversation(conversation, NPC, Spawn, "Stand your ground! I will defend Freeport to my dying breath! Are you friend or foe?") + end + elseif not CanReceiveQuest(Spawn, Sixth_SteppingUptheOffensive) and not HasCompletedQuest(Spawn, Fifth_RequestingFurtherOrders) then + if HasQuest(Spawn, Fifth_RequestingFurtherOrders) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius019.mp3", "", "", 79133986, 324326874, Spawn) + AddConversationOption(conversation, "I completed a number of tasks for the lieutenant. He sent me back to you to receive further orders.", "dlg_2_0") + AddConversationOption(conversation, "Not yet, Captain.") + StartConversation(conversation, NPC, Spawn, "Have you completed your assignments for Lieutenant Argosian at the first outpost?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius019.mp3", "", "", 79133986, 324326874, Spawn) + AddConversationOption(conversation, "Not yet, Captain.") + StartConversation(conversation, NPC, Spawn, "Have you completed your assignments for Lieutenant Argosian at the first outpost?") + end + elseif not HasCompletedQuest(Spawn, Sixth_SteppingUptheOffensive) then + if CanReceiveQuest(Spawn, Sixth_SteppingUptheOffensive) then -- probably need to look this over again tbh + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius019.mp3", "", "", 79133986, 324326874, Spawn) + AddConversationOption(conversation, "I completed a number of tasks for the lieutenant. He sent me back to you to receive further orders.", "dlg_2_0") + AddConversationOption(conversation, "Not yet, Captain.") + StartConversation(conversation, NPC, Spawn, "Have you completed your assignments for Lieutenant Argosian at the first outpost?") + elseif HasQuest(Spawn, Sixth_SteppingUptheOffensive) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius029.mp3", "", "", 2327537314, 879285291, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you finished your assignments given by Lieutenant Imperidus at the second outpost?") + end + elseif not CanReceiveQuest(Spawn, Eleventh_AJourneyOutsideTheCity) and not HasCompletedQuest(Spawn, Tenth_FileAFinalReport) then + if HasQuest(Spawn, Tenth_FileAFinalReport) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius029.mp3", "", "", 2327537314, 879285291, Spawn) + AddConversationOption(conversation, "I helped the lieutenant investigate the Lonetusk orcs.", "dlg_40_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you finished your assignments given by Lieutenant Imperidus at the second outpost?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius029.mp3", "", "", 2327537314, 879285291, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you finished your assignments given by Lieutenant Imperidus at the second outpost?") + end + elseif not HasCompletedQuest(Spawn, Eleventh_AJourneyOutsideTheCity) then + Say(Spawn, "here") + if HasQuest(Spawn, Eleventh_AJourneyOutsideTheCity) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius037.mp3", "", "", 1359197915, 2412521722, Spawn) + AddConversationOption(conversation, "Be well, Captain.", "dlg_42_1") + StartConversation(conversation, NPC, Spawn, "It is good to see you again, .. GetName(Spawn) .. ! We are in your debt for helping uncover the source of the orc menace. Thanks to you, we are keeping the orcs at bay and I'm confident we will drive them out of the Ruins soon.") + elseif CanReceiveQuest(Spawn, Eleventh_AJourneyOutsideTheCity) then + dlg_40_3(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, Tenth_FileAFinalReport) then + Say(Spawn, "here") + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius037.mp3", "", "", 1359197915, 2412521722, Spawn) + AddConversationOption(conversation, "Be well, Captain.", "dlg_42_1") + StartConversation(conversation, NPC, Spawn, "It is good to see you again, .. GetName(Spawn) .. ! We are in your debt for helping uncover the source of the orc menace. Thanks to you, we are keeping the orcs at bay and I'm confident we will drive them out of the Ruins soon.") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius005.mp3", "", "", 1356974238, 3910566628, Spawn) + AddConversationOption(conversation, "Orcs, really?", "dlg_0_2") + AddConversationOption(conversation, "Where did the orcs come from?") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You've entered a war zone, citizen. The Freeport Militia is here in force to defend our city. Two orc clans seem to be working together in an attempt to take over the Ruins and use it as a staging ground to attack Freeport.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius005.mp3", "", "", 1356974238, 3910566628, Spawn) + AddConversationOption(conversation, "Where did the orcs come from?", "dlg_1_2") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You've entered a war zone, citizen. The Freeport Militia is here in force to defend our city. Two orc clans seem to be working together in an attempt to take over the Ruins and use it as a staging ground to attack Freeport.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius006.mp3", "", "", 1435383956, 2150191113, Spawn) + AddConversationOption(conversation, "What are these tribes called?", "dlg_1_3") + AddConversationOption(conversation, "I have no desire to mess around with orcs.") + StartConversation(conversation, NPC, Spawn, "Both tribes have been lurking in the Ruins for some time, but they've never been this aggressive before. They seem to have become more organized and have obtained better weapons and armor.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius007.mp3", "", "", 803622320, 3191751364, Spawn) + AddConversationOption(conversation, "Why is this place called the Ruins?", "dlg_1_4") + AddConversationOption(conversation, "What work do you have for me?", "dlg_1_12") + AddConversationOption(conversation, "I think I will take my leave.") + StartConversation(conversation, NPC, Spawn, "The weaker of the two tribes is called the Brokentusk. The stronger clan is known as the Lonetusk. I don't know much about their background personally, but my lieutenants stationed in the field may have more information.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius008.mp3", "", "", 471952694, 1388761764, Spawn) + AddConversationOption(conversation, "This place used to have grand houses and shops?", "dlg_1_5") + AddConversationOption(conversation, "I don't want to hear any more.") + StartConversation(conversation, NPC, Spawn, "Take a few steps inside the archway and you'll see why. This is an old section of Freeport that has long been abandoned. Its once stately manors and exclusive boutiques are now burned-out shells and broken walls.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius009.mp3", "", "", 2311879676, 4148126515, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_1_6") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "Oh yes. What we now call the Ruins was once known as Shoreside, an expensive and very exclusive residential district. It was favored by the wealthy for its ocean view and isolation from the hustle and bustle of the city, but the irony is that those very qualities led to its downfall.") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius010.mp3", "", "", 1270241224, 2005347889, Spawn) + AddConversationOption(conversation, "What happened then?", "dlg_1_7") + AddConversationOption(conversation, "I have no more time for old stories.") + StartConversation(conversation, NPC, Spawn, "Freeport has come under attack many times, and our Militia maintains a strong presence in the Commonlands to fend off the Bloodskull orcs. During one particularly fierce battle, the bulk of our forces were committed to a frontal assault on the city gates.") +end + +function dlg_1_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius011.mp3", "", "", 2984532909, 290696404, Spawn) + AddConversationOption(conversation, "Couldn't the Militia save them?", "dlg_1_8") + AddConversationOption(conversation, "I've heard enough. How can I help you defend the Ruins?", "OfferQuest1") + AddConversationOption(conversation, "Too bad.") + StartConversation(conversation, NPC, Spawn, "In an unusually clandestine move, the Brokentusk and Lonetusk tribes seized the opportunity to sneak into the Shoreside docks by nightfall. The cowardly beasts overpowered the small garrison left to defend the district, then proceeded to burn and pillage everything they found. Many noble citizens of Freeport died in that conflict.") +end + +function dlg_1_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius012.mp3", "", "", 516488246, 2865302304, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_1_9") + AddConversationOption(conversation, "What a pity.") + StartConversation(conversation, NPC, Spawn, "As I said, most of our troops were busy fighting in the Commonlands. By the time reinforcements could be sent, the damage had been done. Since Shoreside was isolated and difficult to defend, it was decided that there was no sense in rebuilding it. The Sprawl serves as a buffer between the Ruins and the city proper, so Freeport remains secure. Still, there was a heavy price to be paid.") +end + +function dlg_1_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius013.mp3", "", "", 2907233969, 819802352, Spawn) + AddConversationOption(conversation, "So what became of the Ruins?", "dlg_1_10") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "Even though the invaders were defeated, War Duke Eutarius, the high-ranking Militia officer who had been charged with the city's defense, was executed in the West Freeport plaza for his incompetence and failure. The Overlord does not tolerate mistakes.") +end + +function dlg_1_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius014.mp3", "", "", 2462744754, 2263094364, Spawn) + AddConversationOption(conversation, "What caused this change?", "dlg_1_11") + AddConversationOption(conversation, "Sounds like you have work to do.") + StartConversation(conversation, NPC, Spawn, "The once exclusive Shoreside became the Ruins, a broken-down home to beggars and squatters. Some remnants of the orc tribes remained as well, but they were so weak and disorganized that they posed little threat. In fact, this was a relatively calm area until quite recently.") +end + +function dlg_1_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius015.mp3", "", "", 3872903634, 4159828807, Spawn) + AddConversationOption(conversation, "How can I be of assistance?", "dlg_1_12") + AddConversationOption(conversation, "I don't have any desire to help you.") + StartConversation(conversation, NPC, Spawn, "I do not know, adventurer. Perhaps that is something you can help discover. But we must act quickly, lest these orcs rise up and do to the rest of Freeport what they once did to Shoreside.") +end + +function dlg_1_12(NPC, Spawn) -- OFFER QUEST1 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius016.mp3", "", "", 3389775257, 1638630596, Spawn) + AddConversationOption(conversation, "I will do so.", "OfferQuest1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "I must remain here to give assignments to incoming troops. Go through the archway and report to one of my lieutenants, Argosian. He will tell you how you can best serve our cause.") +end + +function dlg_1_13(NPC, Spawn) -- QUEST ACCEPT TEXT + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius017.mp3", "", "", 3161105606, 1921169647, Spawn) + AddConversationOption(conversation, "Thank you for the advice.", "dlg_2_14") + StartConversation(conversation, NPC, Spawn, "Good. Oh, be sure to pay homage to the statue of our beloved Overlord. It would prove most beneficial for you to bask in the wisdom of his visage.") +end + +function dlg_1_14(NPC, Spawn) -- AFTER QUEST ACCEPT TEXT + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius018.mp3", "", "", 377300022, 2983031406, Spawn) + AddConversationOption(conversation, "I'll go see him.") + StartConversation(conversation, NPC, Spawn, "Lieutenant Argosian at the first outpost will be responsible for your initial training. Do not return to me until he has ordered you to do so.") +end + +function dlg_2_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius020.mp3", "", "", 1710634773, 3637924946, Spawn) + AddConversationOption(conversation, "No, we thought an ancient shrine might be behind it, but that turned out to be a dead end.", "dlg_2_1") + AddConversationOption(conversation, "I'd rather not say.") + StartConversation(conversation, NPC, Spawn, "Good work! Did you find out what's behind this increase in orc activity?") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, Fifth_RequestingFurtherOrders) then + SetStepComplete(Spawn, Fifth_RequestingFurtherOrders, 1) + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius021.mp3", "", "", 93483667, 1523875207, Spawn) + AddConversationOption(conversation, "Thank you, Captain. Is there anything else I can do to aid the Militia?", "dlg_2_2") + AddConversationOption(conversation, "I'm going to take my loot and go.") + StartConversation(conversation, NPC, Spawn, "At least we can rule that out, but clearly further investigation is required. Here, help yourself to your choice of equipment from our supply chests. You should find something that will be of use in our continued efforts against the orc uprising.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius022.mp3", "", "", 1019790101, 3910654951, Spawn) + AddConversationOption(conversation, "I am willing to do what is necessary to serve Freeport.", "dlg_2_3") + AddConversationOption(conversation, "I think I will be leaving. Farewell.") + StartConversation(conversation, NPC, Spawn, "The next step in our investigation will be an arduous one. Although to this point you could journey alone, some parts of the Ruins can be deadly for the lone adventurer.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius023.mp3", "", "", 2666224286, 3160996791, Spawn) + AddConversationOption(conversation, "I will find some allies. What needs to be done?", "dlg_2_4") + AddConversationOption(conversation, "I prefer to journey alone.") + StartConversation(conversation, NPC, Spawn, "I knew you were daring! My advice is to gather some comrades and form a group. There is safety in numbers, especially in places like this. As you venture further out into the world, you will find groups to be extremely helpful in achieving your goals.") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius025.mp3", "", "", 3573308808, 1112650571, Spawn) + AddConversationOption(conversation, "So the Lonetusk are stronger?", "dlg_2_5") + AddConversationOption(conversation, "I have no desire to face these orcs.") + StartConversation(conversation, NPC, Spawn, "To be honest, I could tell that the Brokentusk were too weak to be behind the recent attacks. They have always followed the lead of their more powerful brethren, the Lonetusk orcs.") +end + +function dlg_2_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius026.mp3", "", "", 3395408656, 1462645876, Spawn) + AddConversationOption(conversation, "I am not afraid. What are your orders, Captain?", "dlg_2_6") + AddConversationOption(conversation, "I'd best be leaving.") + StartConversation(conversation, NPC, Spawn, "Yes, the Lonetusk are much more deadly. They are more inclined to work together, and this will require a strong group of adventurers to stand against them.") +end + +function dlg_2_6(NPC, Spawn) -- OFFER QUEST 6 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius027.mp3", "", "", 2644659750, 71027369, Spawn) + AddConversationOption(conversation, "I will report to her.", "OfferQuest6") + AddConversationOption(conversation, "Time for me to go.") + StartConversation(conversation, NPC, Spawn, "I need you to report to Lieutenant Imperidus, who is stationed at the second Militia outpost deeper in the Ruins. It is located to the west of here, near the gate to the Sprawl. She is heading up the Lonetusk investigation.") +end + +function dlg_40_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius030.mp3", "", "", 669347507, 3609055382, Spawn) + AddConversationOption(conversation, "It seems another tribe of orcs, the Rujarkians, are supplying them with weapons and training.", "dlg_40_2") + AddConversationOption(conversation, "I prefer to keep that information private.") + StartConversation(conversation, NPC, Spawn, "Well done. Did you discover the source of the orc uprising?") +end + +function dlg_40_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius031.mp3", "", "", 2636650714, 3532932245, Spawn) + AddConversationOption(conversation, "Where are these Rujarkian orcs located?", "WhereLocated") + AddConversationOption(conversation, "Am I to be rewarded for my efforts?", "dlg_40_3") + StartConversation(conversation, NPC, Spawn, "By the Overlord! This is vital information that I will send back to the Militia House immediately. It threatens the very security of Freeport!") +end + +function WhereLocated(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why does this information pose such a danger to Freeport?", "DangerToFreeport") + StartConversation(conversation, NPC, Spawn, "The Rujarkian orcs are based out of the clefts in the Desert of Ro, a harsh region that lies to the south of our own continent of D'Lere. Perhaps when you are much more experienced than you are now, you will seek adventure there.") +end + +function DangerToFreeport(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm glad the information I obtained was useful.", "dlg_40_3") + StartConversation(conversation, NPC, Spawn, "The Rujarkian orcs are an extremely powerful and well-organized tribe. If the Rujarkians are supplying smaller groups like the Brokentusk and Lonetusk, it is only a matter of time before they provide weapons and armor to the Bloodskull orcs in the Commonlands. For all we know, such an alliance may already be forming.") +end + +function dlg_40_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, Tenth_FileAFinalReport) then + SetStepComplete(Spawn, Tenth_FileAFinalReport, 1) + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius034.mp3", "", "", 4219431602, 1872310999, Spawn) + AddConversationOption(conversation, "Is there anything else I can do to be of service to Freeport?", "dlg_40_4") + StartConversation(conversation, NPC, Spawn, "Indeed, your efforts have aided Freeport greatly. To show our thanks, you may choose an additional reward from our supply chests. These items will serve you well.") +end + +function dlg_40_4(NPC, Spawn) -- need to add offering quest once its scripted + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I will travel to the Commonlands.") + AddConversationOption(conversation, "I think I will be going, Captain. Farewell.") + StartConversation(conversation, NPC, Spawn, "Our service to the Overlord is never finished. I know of some loyal citizens in the Commonlands who need your help. Are you interested?") +end + +function dlg_100_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius_solo003.mp3", "", "", 1562481055, 2208348974, Spawn) + AddConversationOption(conversation, "Understood.", "dlg_1_6") + StartConversation(conversation, NPC, Spawn, "Use the bell here on the docks to travel within Freeport and choose East Freeport as your destination. Use your map to guide you to the gate leading to West Freeport. From there, travel through that part of the city until you arrive at the main gate that leads to the Commonlands.") +end + +function dlg_100_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/captain_arellius_solo004.mp3", "", "", 91462570, 1357108888, Spawn) + AddConversationOption(conversation, "I will. Thank you, Captain.", "dlg_1_7") + StartConversation(conversation, NPC, Spawn, "Remember that the Commonlands can be a dangerous place. Judge your battles carefully, .. GetName(Spawn) .. . When you gather allies and are ready to undertake the fight against the Lonetusk orcs, return here.") +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, First_ReportingForDuty) +end + +function OfferQuest6(NPC, Spawn) + OfferQuest(NPC, Spawn, Sixth_SteppingUptheOffensive) +end + +function OfferQuest11(NPC, Spawn) + OfferQuest(NPC, Spawn, Eleventh_AJourneyOutsideTheCity) +end +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/quest_captain_arellius_callout_5b6ad828.mp3", "The Freeport Militia will make a stand against these orcs!", "threaten", 3371139514, 3350465604, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/quest_captain_arellius_callout_6af9e361.mp3", "We must avenge the fallen of Shoreside!", "brandish", 352522731, 4132511279, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/captain_arellius/fprt_adv04_ruins/revamp/quest_captain_arellius_callout_257dc2e4.mp3", "To arms! The Ruins must be defended against these mindless brutes!", "brandish", 2691467763, 3825315561, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Ruins/LieutenantArgosian.lua b/Lua/SpawnScripts/Ruins/LieutenantArgosian.lua new file mode 100755 index 000000000..b7fdc22da --- /dev/null +++ b/Lua/SpawnScripts/Ruins/LieutenantArgosian.lua @@ -0,0 +1,624 @@ +--[[ + Script Name : SpawnScripts/TheRuins/LieutenantArgosian.lua + Script Purpose : Lieutenant Argosian + Script Author : jakejp + Script Date : 2018.10.03 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local First_ReportingForDuty = 368 +local Second_PawnsInTheGame = 369 +local Third_PoundingTheEnemy = 370 +local Fourth_ProphetAndLoss = 371 +local Fifth_RequestingFurtherOrders = 372 + +function spawn(NPC) + ProvidesQuest(NPC, Second_PawnsInTheGame) + ProvidesQuest(NPC, Third_PoundingTheEnemy) + ProvidesQuest(NPC, Fourth_ProphetAndLoss) + ProvidesQuest(NPC, Fifth_RequestingFurtherOrders) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,5) + + if HasQuest (Spawn, First_ReportingForDuty) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian001.mp3", "", "", 1274591844, 2524405313, Spawn) + AddConversationOption(conversation, "My name is ".. GetName(Spawn) ..". Captain Arellius ordered me to report here, lieutenant.", "dlg_4_1") + AddConversationOption(conversation, "What is this place?") + StartConversation(conversation, NPC, Spawn, "There's no time for chatting. I need to mobilize my forces to take care of these cursed orcs!") + elseif not HasCompletedQuest(Spawn, Second_PawnsInTheGame) then + if HasQuest(Spawn, Second_PawnsInTheGame) then -- on the quest + if GetQuestStep(Spawn, Second_PawnsInTheGame) == 1 then -- first quest step + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian010.mp3", "", "", 1424055044, 3253454726, Spawn) + AddConversationOption(conversation, "Not yet, but I'll work on it.") + StartConversation(conversation, NPC, Spawn, "Hello, recruit. Did you fulfill your duty to Freeport against the Brokentusk pawns?") + elseif GetQuestStep(Spawn, Second_PawnsInTheGame) == 2 then -- second quest step + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian010.mp3", "", "", 1424055044, 3253454726, Spawn) + AddConversationOption(conversation, "I defeated ten of them, as you ordered.", "dlg_9_1") + AddConversationOption(conversation, "Not yet, but I'll work on it.") + StartConversation(conversation, NPC, Spawn, "Hello, recruit. Did you fulfill your duty to Freeport against the Brokentusk pawns?") + end + elseif CanReceiveQuest(Spawn, Second_PawnsInTheGame) then -- offers quest + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian004.mp3", "", "", 304896204, 2664209556, Spawn) + AddConversationOption(conversation, "What is behind the orcs' sudden uprising?", "dlg_4_3") + AddConversationOption(conversation, "You'd better get busy defending the city, then.") + StartConversation(conversation, NPC, Spawn, "The Ruins are being overrun, and it's time for us to take a stand. We must ensure that the orcs don't infiltrate the rest of the city.") + end + elseif not HasCompletedQuest(Spawn, Third_PoundingTheEnemy) then + if HasQuest(Spawn, Third_PoundingTheEnemy) then + if GetQuestStep(Spawn, Third_PoundingTheEnemy) <= 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian016.mp3", "", "", 568866263, 2772410909, Spawn) + AddConversationOption(conversation, "Not yet, lieutenant.") + StartConversation(conversation, NPC, Spawn, "See you're back. Have you taught the Brokentusk a lesson?") + elseif GetQuestStep(Spawn, Third_PoundingTheEnemy) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian016.mp3", "", "", 568866263, 2772410909, Spawn) + AddConversationOption(conversation, "I defeated many of them in battle, and slew an overseer that was holding some squatters captive.", "dlg_0_1") + AddConversationOption(conversation, "Not yet, lieutenant.") + StartConversation(conversation, NPC, Spawn, "See you're back. Have you taught the Brokentusk a lesson?") + end + elseif CanReceiveQuest(Spawn, Third_PoundingTheEnemy) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian030.mp3", "", "", 176584660, 1690362035, Spawn) + AddConversationOption(conversation, "Yes, I am ready to serve the Overlord's army.", "dlg_10_1") + AddConversationOption(conversation, "Not right now, thanks.") + StartConversation(conversation, NPC, Spawn, "Welcome back. Are you ready to serve the Freeport Militia?") + end + elseif not HasCompletedQuest(Spawn, Fourth_ProphetAndLoss) then + if HasQuest(Spawn, Fourth_ProphetAndLoss) then + if GetQuestStep(Spawn, Fourth_ProphetAndLoss) <= 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian023.mp3", "", "", 2394457158, 2443723725, Spawn) + AddConversationOption(conversation, "Not yet, lieutenant.") + StartConversation(conversation, NPC, Spawn, "Hello again, orc slayer. Did you find the shrine I ordered you to look for?") + elseif GetQuestStep(Spawn, Fourth_ProphetAndLoss) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian023.mp3", "", "", 2394457158, 2443723725, Spawn) + AddConversationOption(conversation, "I found a shrine, but it didn't seem to be strengthening the Brokentusk in any way.", "dlg_1_1") + AddConversationOption(conversation, "Not yet, lieutenant.") + StartConversation(conversation, NPC, Spawn, "Hello again, orc slayer. Did you find the shrine I ordered you to look for?") + end + elseif CanReceiveQuest(Spawn, Fourth_ProphetAndLoss) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian031.mp3", "", "", 825306924, 1228801639, Spawn) + AddConversationOption(conversation, "Yes I am. What is going on with the Brokentusk orcs?", "dlg_0_3") + AddConversationOption(conversation, "Not quite yet.") + StartConversation(conversation, NPC, Spawn, "Hello again. Are you ready to resume your service to the Militia?") + end + elseif not HasCompletedQuest(Spawn, Fifth_RequestingFurtherOrders) then + if HasQuest(Spawn, Fifth_RequestingFurtherOrders) then + if GetQuestStep(Spawn, Fifth_RequestingFurtherOrders) == 1 then + AddConversationOption(conversation, "I'll do so, lieutenant.") + StartConversation(conversation, NPC, Spawn, "Ah, welcome back to the front lines! Be sure to bash a few Brokentusk heads if you get the chance!") + end + elseif CanReceiveQuest(Spawn, Fifth_RequestingFurtherOrders) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian026.mp3", "", "", 265773881, 986062329, Spawn) + AddConversationOption(conversation, "Thank you. Any other assignments for me?", "dlg_1_4") + AddConversationOption(conversation, "I really don't care.") + StartConversation(conversation, NPC, Spawn, "Thank you for your assistance. I have already informed Captain Arellius what you have done for the Militia. She will happily reward you for your efforts.") + end + elseif HasCompletedQuest(Spawn, Fifth_RequestingFurtherOrders) then + AddConversationOption(conversation, "Thank you, lieutenant.") + StartConversation(conversation, NPC, Spawn, "Greetings once again, my old comrade. Feel free to smash the heads of a few Brokentusk orcs! I would be honored to fight by your side again.") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian017.mp3", "", "", 3074507366, 3925134800, Spawn) + AddConversationOption(conversation, "You suspect some greater plot?", "dlg_0_2") + AddConversationOption(conversation, "That's your job.") + StartConversation(conversation, NPC, Spawn, "My confidence in you is growing, adventurer! The time has come to see if we can find out what exactly is behind this orc uprising.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, Third_PoundingTheEnemy, 4) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian018.mp3", "", "", 3835468248, 3651661502, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Based on the change that has come over these orcs, I think something is afoot.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian019.mp3", "", "", 2918602738, 2245938808, Spawn) + AddConversationOption(conversation, "Do you have any idea how they became more powerful?", "dlg_0_4") + AddConversationOption(conversation, "You'd better get to work in that case.") + StartConversation(conversation, NPC, Spawn, "The Militia didn't pay much attention to the Brokentusk until very recently. They were a pathetically weak clan, made up of mostly outcasts of the Bloodskull orcs in the Commonlands. But it seems they have new armor and stronger weapons, and seem to be on the move.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian020.mp3", "", "", 3553520221, 3928709815, Spawn) + AddConversationOption(conversation, "I'll look for the shrine.", "dlg_0_5") + AddConversationOption(conversation, "No, not today.") + StartConversation(conversation, NPC, Spawn, "Not yet. My scouts have reported overhearing the orcs say that their prophets are guarding some kind of shrine deeper in the Ruins. I'd like to rule out any sort of divine influence, so I need you to find out whether or not this shrine actually exists. Are you willing?") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian021.mp3", "", "", 369320246, 927780722, Spawn) + AddConversationOption(conversation, "I'll find it and take a close look. Do you have any other orders?", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "Glad to hear we can count on you, adventurer. Rumor has it that this shrine may be located past the ruins to the north, though I don't have a precise location. When you find it, be sure to get close and examine it carefully.") +end + +function dlg_0_6(NPC, Spawn) -- OFFER QUEST 4 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian022.mp3", "", "", 384501138, 1907732754, Spawn) + AddConversationOption(conversation, "I will do so, lieutenant.", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Be sure to dispose of as many of those prophets as you can, and their warriors as well. If you find this shrine, try to determine that it is the source of their increased strength. Be careful though, there may be powerful forces protecting it.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, Fourth_ProphetAndLoss, 4) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian024.mp3", "", "", 1799585583, 2887995117, Spawn) + AddConversationOption(conversation, "It seems to be a relic from the days of Shoreside, but I can't tell why the orcs are guarding it.", "dlg_1_2") + AddConversationOption(conversation, "I have no idea.") + StartConversation(conversation, NPC, Spawn, "Well, good work in any case. What is the purpose of the shrine?") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian025.mp3", "", "", 89627192, 3614171485, Spawn) + AddConversationOption(conversation, "No, it seems we have not.", "dlg_1_3") + AddConversationOption(conversation, "It's none of my concern anyway.") + StartConversation(conversation, NPC, Spawn, "I guess no one ever accused the Brokentusk of being too bright. Unfortunately, that means we haven't uncovered any evidence that explains why they are rising up.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian026.mp3", "", "", 265773881, 986062329, Spawn) + AddConversationOption(conversation, "Thank you. Any other assignments for me?", "dlg_1_4") + AddConversationOption(conversation, "I really don't care.") + StartConversation(conversation, NPC, Spawn, "Thank you for your assistance. I have already informed Captain Arellius what you have done for the Militia. She will happily reward you for your efforts.") +end + +function dlg_1_4(NPC, Spawn) -- OFFER QUEST 5 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian027.mp3", "", "", 1406479810, 234555817, Spawn) + AddConversationOption(conversation, "I will report back to her.", "OfferQuest5") + AddConversationOption(conversation, "I need to go.") + StartConversation(conversation, NPC, Spawn, "You are welcome to stay and help us clear out more of these Brokentusks, but you really should report back to the captain to see if she has new orders for you. It's been a pleasure working with you.") +end + + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, First_ReportingForDuty, 1) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian003.mp3", "", "", 347286193, 1720701899, Spawn) + AddConversationOption(conversation, "Defended from the orcs?", "dlg_4_2") + AddConversationOption(conversation, "That sounds like your job, not mine.") + StartConversation(conversation, NPC, Spawn, "Good, we can always use more recruits to help our cause. Freeport must be defended.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian004.mp3", "", "", 304896204, 2664209556, Spawn) + AddConversationOption(conversation, "What is behind the orcs' sudden uprising?", "dlg_4_3") + AddConversationOption(conversation, "You'd better get busy defending the city, then.") + StartConversation(conversation, NPC, Spawn, "The Ruins are being overrun, and it's time for us to take a stand. We must ensure that the orcs don't infiltrate the rest of the city.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian005.mp3", "", "", 1736920574, 580016233, Spawn) + AddConversationOption(conversation, "Yes, I will help you.", "dlg_4_4") + AddConversationOption(conversation, "No, not right now.") + StartConversation(conversation, NPC, Spawn, "We haven't uncovered that yet, and frankly I don't have time to play detective. Are you willing to help the Freeport Militia turn back this tide of aggression?") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian006.mp3", "", "", 4214902547, 3965380224, Spawn) + AddConversationOption(conversation, "What would you have me do?", "dlg_4_5") + AddConversationOption(conversation, "On second thought, handle this yourself.") + StartConversation(conversation, NPC, Spawn, "Excellent! It looks like the captain was wise to send you to me. Our outpost here is being beset on both sides by the Brokentusk clan of orcs. Once they were pathetically weak, but they seem to be training for a larger offensive.") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian007.mp3", "", "", 1892260608, 3800228650, Spawn) + AddConversationOption(conversation, "What do you mean by striking fear?", "dlg_4_6") + AddConversationOption(conversation, "Do your own dirty work.") + StartConversation(conversation, NPC, Spawn, "A large number of Brokentusk pawns have been seen gathering to the south. Go up the stairs and help my troops strike some fear into them.") +end + +function dlg_4_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian008.mp3", "", "", 1136740224, 4202559989, Spawn) + AddConversationOption(conversation, "Yes, I'll do my part.", "dlg_4_7") + AddConversationOption(conversation, "Nobody talks to me that way!") + StartConversation(conversation, NPC, Spawn, "I mean make them DEAD! Look, if this is too much for you, move along, because I've got other recruits to train. Will you help us or not?") +end + +function dlg_4_7(NPC, Spawn) -- OFFER QUEST 2 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian009.mp3", "", "", 3089238951, 3281159582, Spawn) + AddConversationOption(conversation, "Aye, lieutenant.", "OfferQuest2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Good! Let's test your mettle against the pawns. Kill at least ten of those beasts before you dare return to me. If you succeed, I'll gain some confidence in your abilities.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian002.mp3", "", "", 1265605961, 1173429431, Spawn) + AddConversationOption(conversation, "I'll go speak with her.") + StartConversation(conversation, NPC, Spawn, "Look here, adventurer. My troops must find a way to control these blasted brutes. If you want a history lesson, go speak to Captain Arellius on the docks. She may have time to fill you in, but I don't.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian003.mp3", "", "", 347286193, 1720701899, Spawn) + AddConversationOption(conversation, "Defended from the orcs?", "dlg_5_2") + AddConversationOption(conversation, "That sounds like your job, not mine.") + StartConversation(conversation, NPC, Spawn, "Good, we can always use more recruits to help our cause. Freeport must be defended.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian004.mp3", "", "", 304896204, 2664209556, Spawn) + AddConversationOption(conversation, "What is behind the orcs' sudden uprising?", "dlg_5_3") + AddConversationOption(conversation, "You'd better get busy defending the city, then.") + StartConversation(conversation, NPC, Spawn, "The Ruins are being overrun, and it's time for us to take a stand. We must ensure that the orcs don't infiltrate the rest of the city.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian005.mp3", "", "", 1736920574, 580016233, Spawn) + AddConversationOption(conversation, "Yes, I will help you.", "dlg_5_4") + AddConversationOption(conversation, "No, not right now.") + StartConversation(conversation, NPC, Spawn, "We haven't uncovered that yet, and frankly I don't have time to play detective. Are you willing to help the Freeport Militia turn back this tide of aggression?") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian006.mp3", "", "", 4214902547, 3965380224, Spawn) + AddConversationOption(conversation, "What would you have me do?", "dlg_5_5") + AddConversationOption(conversation, "On second thought, handle this yourself.") + StartConversation(conversation, NPC, Spawn, "Excellent! It looks like the captain was wise to send you to me. Our outpost here is being beset on both sides by the Brokentusk clan of orcs. Once they were pathetically weak, but they seem to be training for a larger offensive.") +end + +function dlg_5_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian007.mp3", "", "", 1892260608, 3800228650, Spawn) + AddConversationOption(conversation, "What do you mean by striking fear?", "dlg_5_6") + AddConversationOption(conversation, "Do your own dirty work.") + StartConversation(conversation, NPC, Spawn, "A large number of Brokentusk pawns have been seen gathering to the south. Go up the stairs and help my troops strike some fear into them.") +end + +function dlg_5_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian008.mp3", "", "", 1136740224, 4202559989, Spawn) + AddConversationOption(conversation, "Yes, I'll do my part.", "dlg_5_7") + AddConversationOption(conversation, "Nobody talks to me that way!") + StartConversation(conversation, NPC, Spawn, "I mean make them DEAD! Look, if this is too much for you, move along, because I've got other recruits to train. Will you help us or not?") +end + +function dlg_5_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian009.mp3", "", "", 3089238951, 3281159582, Spawn) + AddConversationOption(conversation, "Aye, lieutenant.", "dlg_5_8") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Good! Let's test your mettle against the pawns. Kill at least ten of those beasts before you dare return to me. If you succeed, I'll gain some confidence in your abilities.") +end + +function dlg_5_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian009b.mp3", "", "", 3351588566, 3135177671, Spawn) + AddConversationOption(conversation, "I will do so.", "dlg_5_9") + StartConversation(conversation, NPC, Spawn, "Get to work, citizen. You have your orders, now carry them out.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian003.mp3", "", "", 347286193, 1720701899, Spawn) + AddConversationOption(conversation, "Defended from the orcs?", "dlg_6_2") + AddConversationOption(conversation, "That sounds like your job, not mine.") + StartConversation(conversation, NPC, Spawn, "Good, we can always use more recruits to help our cause. Freeport must be defended.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian005.mp3", "", "", 1736920574, 580016233, Spawn) + AddConversationOption(conversation, "Yes, I will help you.", "dlg_7_2") + AddConversationOption(conversation, "No, not right now.") + StartConversation(conversation, NPC, Spawn, "We haven't uncovered that yet, and frankly I don't have time to play detective. Are you willing to help the Freeport Militia turn back this tide of aggression?") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian006.mp3", "", "", 4214902547, 3965380224, Spawn) + AddConversationOption(conversation, "What would you have me do?", "dlg_7_3") + AddConversationOption(conversation, "On second thought, handle this yourself.") + StartConversation(conversation, NPC, Spawn, "Excellent! It looks like the captain was wise to send you to me. Our outpost here is being beset on both sides by the Brokentusk clan of orcs. Once they were pathetically weak, but they seem to be training for a larger offensive.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian007.mp3", "", "", 1892260608, 3800228650, Spawn) + AddConversationOption(conversation, "What do you mean by striking fear?", "dlg_7_4") + AddConversationOption(conversation, "Do your own dirty work.") + StartConversation(conversation, NPC, Spawn, "A large number of Brokentusk pawns have been seen gathering to the south. Go up the stairs and help my troops strike some fear into them.") +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian008.mp3", "", "", 1136740224, 4202559989, Spawn) + AddConversationOption(conversation, "Yes, I'll do my part.", "dlg_7_5") + AddConversationOption(conversation, "Nobody talks to me that way!") + StartConversation(conversation, NPC, Spawn, "I mean make them DEAD! Look, if this is too much for you, move along, because I've got other recruits to train. Will you help us or not?") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian009.mp3", "", "", 3089238951, 3281159582, Spawn) + AddConversationOption(conversation, "Aye, lieutenant.", "dlg_7_6") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Good! Let's test your mettle against the pawns. Kill at least ten of those beasts before you dare return to me. If you succeed, I'll gain some confidence in your abilities.") +end + +function dlg_7_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian009b.mp3", "", "", 3351588566, 3135177671, Spawn) + AddConversationOption(conversation, "I will do so.", "dlg_7_7") + StartConversation(conversation, NPC, Spawn, "Get to work, citizen. You have your orders, now carry them out.") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, Second_PawnsInTheGame, 2) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian011.mp3", "", "", 2187153051, 2285485412, Spawn) + AddConversationOption(conversation, "I'm ready and willing.", "dlg_10_1") + AddConversationOption(conversation, "Orc pawns are my specialty. I think I'll stick with those.") + StartConversation(conversation, NPC, Spawn, "Well, nice work. It's almost as if you've killed orc pawns before! Maybe I can trust you with a more challenging task.") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian013.mp3", "", "", 1827066506, 859247835, Spawn) + AddConversationOption(conversation, "What do you mean by vagrant squatters?", "dlg_10_2") + AddConversationOption(conversation, "Perhaps I should reconsider.") + StartConversation(conversation, NPC, Spawn, "Some more formidable Brokentusk orcs are gathering to the north. They've taken up residence in some of the abandoned ruins there, and I've gotten reports that they have captured some of the vagrant squatters that used to reside there.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian014.mp3", "", "", 1560986301, 1441248753, Spawn) + AddConversationOption(conversation, "How horrible! Are we going to help them?", "dlg_10_3") + AddConversationOption(conversation, "None of this is my concern.") + StartConversation(conversation, NPC, Spawn, "After Shoreside was abandoned and became known as the Ruins, groups of vagrant beggars moved in here and seemed to coexist with the orcs. Our patrols have discovered that the Brokentusk recently killed most of the squatters, however, and are keeping a few as captives.") +end + +function dlg_10_3(NPC, Spawn) -- Offer Quest 3 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian015.mp3", "", "", 2121023365, 565794587, Spawn) + AddConversationOption(conversation, "Consider it done.", "OfferQuest3") + AddConversationOption(conversation, "I'm not interested.") + StartConversation(conversation, NPC, Spawn, "Even though the squatters are not citizens, the Overlord will not tolerate unsanctioned violence within his borders. I need you to head north and teach the Brokentusk a lesson. Take special care to rid the area of any overseers you notice holding prisoners.") +end + +function dlg_10_4(NPC, Spawn) -- Quest Accepted text + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian015b.mp3", "", "", 102436079, 1387861460, Spawn) + AddConversationOption(conversation, "I will.", "dlg_10_5") + StartConversation(conversation, NPC, Spawn, "I knew I could count on you. Return to me when the orcs have paid for their crimes.") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian017.mp3", "", "", 3074507366, 3925134800, Spawn) + AddConversationOption(conversation, "You suspect some greater plot?", "dlg_12_2") + AddConversationOption(conversation, "That's your job.") + StartConversation(conversation, NPC, Spawn, "My confidence in you is growing, adventurer! The time has come to see if we can find out what exactly is behind this orc uprising.") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian017.mp3", "", "", 3074507366, 3925134800, Spawn) + AddConversationOption(conversation, "You suspect some greater plot?", "dlg_13_2") + AddConversationOption(conversation, "That's your job.") + StartConversation(conversation, NPC, Spawn, "My confidence in you is growing, adventurer! The time has come to see if we can find out what exactly is behind this orc uprising.") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian018.mp3", "", "", 3835468248, 3651661502, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_13_3") + StartConversation(conversation, NPC, Spawn, "Based on the change that has come over these orcs, I think something is afoot.") +end + +function dlg_13_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian019.mp3", "", "", 2918602738, 2245938808, Spawn) + AddConversationOption(conversation, "Do you have any idea how they became more powerful?", "dlg_13_4") + AddConversationOption(conversation, "You'd better get to work in that case.") + StartConversation(conversation, NPC, Spawn, "The Militia didn't pay much attention to the Brokentusk until very recently. They were a pathetically weak clan, made up of mostly outcasts of the Bloodskull orcs in the Commonlands. But it seems they have new armor and stronger weapons, and seem to be on the move.") +end + +function dlg_14_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian019.mp3", "", "", 2918602738, 2245938808, Spawn) + AddConversationOption(conversation, "Do you have any idea how they became more powerful?", "dlg_14_2") + AddConversationOption(conversation, "You'd better get to work in that case.") + StartConversation(conversation, NPC, Spawn, "The Militia didn't pay much attention to the Brokentusk until very recently. They were a pathetically weak clan, made up of mostly outcasts of the Bloodskull orcs in the Commonlands. But it seems they have new armor and stronger weapons, and seem to be on the move.") +end + +function dlg_14_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian020.mp3", "", "", 3553520221, 3928709815, Spawn) + AddConversationOption(conversation, "I'll look for the shrine.", "dlg_14_3") + AddConversationOption(conversation, "No, not today.") + StartConversation(conversation, NPC, Spawn, "Not yet. My scouts have reported overhearing the orcs say that their prophets are guarding some kind of shrine deeper in the Ruins. I'd like to rule out any sort of divine influence, so I need you to find out whether or not this shrine actually exists. Are you willing?") +end + +function dlg_14_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian021.mp3", "", "", 369320246, 927780722, Spawn) + AddConversationOption(conversation, "I'll find it and take a close look. Do you have any other orders?", "dlg_14_4") + StartConversation(conversation, NPC, Spawn, "Glad to hear we can count on you, adventurer. Rumor has it that this shrine may be located past the ruins to the north, though I don't have a precise location. When you find it, be sure to get close and examine it carefully.") +end + +function dlg_14_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian022.mp3", "", "", 384501138, 1907732754, Spawn) + AddConversationOption(conversation, "I will do so, lieutenant.", "dlg_14_5") + StartConversation(conversation, NPC, Spawn, "Be sure to dispose of as many of those prophets as you can, and their warriors as well. If you find this shrine, try to determine that it is the source of their increased strength. Be careful though, there may be powerful forces protecting it.") +end + +function dlg_14_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian022b.mp3", "", "", 3696168160, 1150705872, Spawn) + AddConversationOption(conversation, "Yes, sir.", "dlg_14_6") + StartConversation(conversation, NPC, Spawn, "Go now, and report back when your duty is done.") +end + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian024.mp3", "", "", 1799585583, 2887995117, Spawn) + AddConversationOption(conversation, "It seems to be a relic from the days of Shoreside, but I can't tell why the orcs are guarding it.", "dlg_16_2") + AddConversationOption(conversation, "I have no idea.") + StartConversation(conversation, NPC, Spawn, "Well, good work in any case. What is the purpose of the shrine?") +end + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian027.mp3", "", "", 1406479810, 234555817, Spawn) + AddConversationOption(conversation, "I will report back to her.", "dlg_18_2") + AddConversationOption(conversation, "I need to go.") + StartConversation(conversation, NPC, Spawn, "You are welcome to stay and help us clear out more of these Brokentusks, but you really should report back to the captain to see if she has new orders for you. It's been a pleasure working with you.") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/lieutenant_argosian027b.mp3", "", "", 3190269915, 3618413640, Spawn) + AddConversationOption(conversation, "I will.", "dlg_18_3") + StartConversation(conversation, NPC, Spawn, "Travel safely, citizen of Freeport.") +end + +function OfferQuest2(NPC, Spawn) + OfferQuest(NPC, Spawn, Second_PawnsInTheGame) +end + +function OfferQuest3(NPC, Spawn) + OfferQuest(NPC, Spawn, Third_PoundingTheEnemy) +end + +function OfferQuest4(NPC, Spawn) + OfferQuest(NPC, Spawn, Fourth_ProphetAndLoss) +end + +function OfferQuest5(NPC, Spawn) + OfferQuest(NPC, Spawn, Fifth_RequestingFurtherOrders) +end +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/quest_lieutenant_argosian_callout_24873053.mp3", "The Ruins won't be safe until the orcs are eliminated completely!", "nod", 1037666324, 2592423942, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/quest_lieutenant_argosian_callout_9cbdee98.mp3", "We make our stand against the Brokentusk here and now!", "agree", 3561877785, 2635940014, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/quest_lieutenant_argosian_callout_4b387393.mp3", "All citizens should take up arms against these orc beasts!", "brandish", 332911502, 701229058, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/quest_lieutenant_argosian_callout_8a5b29c8.mp3", "These filthy Brokentusk must be extinguished!", "threaten", 1555035852, 461893438, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_argosian/fprt_adv04_ruins/revamp/quest_lieutenant_argosian_callout_3494a596.mp3", "We will make our stand against the Brokentusk and erase them from our city.", "nod", 3653569376, 3748121838, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Ruins/LieutenantImperidus.lua b/Lua/SpawnScripts/Ruins/LieutenantImperidus.lua new file mode 100755 index 000000000..e1122e4b4 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/LieutenantImperidus.lua @@ -0,0 +1,351 @@ +--[[ + Script Name : SpawnScripts/TheRuins/LieutenantImperidus.lua + Script Purpose : Lieutenant Imperidus + Script Author : jakejp + Script Date : 2018.12.28 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Sixth_SteppingUptheOffensive = 372 +local Seventh_KnockTheFightOutOfEm = 392 +local Eighth_VengeanceForShoreside = 393 +local Ninth_IdentifyingTheLonetuskAlly = 394 +local Tenth_FileAFinalReport = 395 +local Eleventh_AJourneyOutsideTheCity = 396 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") + ProvidesQuest(NPC, Seventh_KnockTheFightOutOfEm) + ProvidesQuest(NPC, Eighth_VengeanceForShoreside) + ProvidesQuest(NPC, Ninth_IdentifyingTheLonetuskAlly) + ProvidesQuest(NPC, Tenth_FileAFinalReport) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) -- thanks Scatman + local chance = math.random(0, 100) + if chance <= 25 then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/quest_lieutenant_imperidus_callout_b85701b8.mp3", "All citizens of Freeport must band together to erase the orcish menace!", "agree", 1075118541, 263743495, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/quest_lieutenant_imperidus_callout_c316998a.mp3", "We must eliminate the source of the orc uprising!", "threaten", 1891042536, 250066925, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "There is no peace to be had with the orcs! Destroy them!", "brandish", 0, 0, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/quest_lieutenant_imperidus_callout_6ef6bae6.mp3", "We must take action against these cursed Lonetusks!", "threaten", 3163677184, 3724793633, Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + local choice = math.random(1,3) + + if HasQuest(Spawn, Sixth_SteppingUptheOffensive) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus001.mp3", "", "", 1845738650, 2693702404, Spawn) + AddConversationOption(conversation, "I am ".. GetName(Spawn) ..". I was ordered by Captain Arellius to report to you, lieutenant.", "dlg_3_1") + AddConversationOption(conversation, "I will leave you to your work.") + StartConversation(conversation, NPC, Spawn, "You've entered dangerous territory, traveler. Unless you have been ordered to report for duty, I recommend you go back from whence you came.") + elseif not HasCompletedQuest(Spawn, Seventh_KnockTheFightOutOfEm) then + if HasQuest(Spawn, Seventh_KnockTheFightOutOfEm) then + if GetQuestStep(Spawn, Seventh_KnockTheFightOutOfEm) <= 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus011.mp3", "", "", 3479416416, 392853218, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "So, our latest volunteer returns. Did you ruin the food and deface the statues of the Lonetusk as I commanded?") + elseif GetQuestStep(Spawn, Seventh_KnockTheFightOutOfEm) == 5 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus011.mp3", "", "", 3479416416, 392853218, Spawn) + AddConversationOption(conversation, "Yes, lieutenant. I'm not sure it has taken much fight out of the orcs, though.", "dlg_6_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "So, our latest volunteer returns. Did you ruin the food and deface the statues of the Lonetusk as I commanded?") + end + elseif CanReceiveQuest(Spawn, Seventh_KnockTheFightOutOfEm) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus024.mp3", "", "", 3014480866, 309879594, Spawn) + AddConversationOption(conversation, "Yes, I am ready.", "dlg_3_6") + AddConversationOption(conversation, "No, I need to leave.") + StartConversation(conversation, NPC, Spawn, "You're back. Are you ready to take a stand against the Lonetusk?") + end + elseif not HasCompletedQuest(Spawn, Eighth_VengeanceForShoreside) then + if HasQuest(Spawn, Eighth_VengeanceForShoreside) then + if GetQuestStep(Spawn, Eighth_VengeanceForShoreside) <= 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus015.mp3", "", "", 3224148975, 670776839, Spawn) + AddConversationOption(conversation, "Not yet, but I'll try to hurry.") + StartConversation(conversation, NPC, Spawn, "Excellent, you're back! I hope you have done your duty, because I have another crucial assignment for you.") + elseif GetQuestStep(Spawn, Eighth_VengeanceForShoreside) == 5 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus015.mp3", "", "", 3224148975, 670776839, Spawn) + AddConversationOption(conversation, "I dealt a blow to the orc offensive. What is this assignment?", "dlg_30_1") + AddConversationOption(conversation, "Not yet, but I'll try to hurry.") + StartConversation(conversation, NPC, Spawn, "Excellent, you're back! I hope you have done your duty, because I have another crucial assignment for you.") + end + elseif CanReceiveQuest(Spawn, Eighth_VengeanceForShoreside) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus025.mp3", "", "", 219596319, 1538139523, Spawn) + AddConversationOption(conversation, "Yes, though I'm not sure how much phase one accomplished.", "dlg_6_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Are you ready to undertake phase two of my plan?") + end + elseif not HasCompletedQuest(Spawn, Ninth_IdentifyingTheLonetuskAlly) then + if HasQuest(Spawn, Ninth_IdentifyingTheLonetuskAlly) then + if GetQuestStep(Spawn, Ninth_IdentifyingTheLonetuskAlly) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus029.mp3", "", "", 1821078597, 3404345627, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you found out anything of use from the Lonetusk prisoner?") + elseif GetQuestStep(Spawn, Ninth_IdentifyingTheLonetuskAlly) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus029.mp3", "", "", 1821078597, 3404345627, Spawn) + AddConversationOption(conversation, "It revealed that the Lonetusk were recently visited by a courier from far away who delivered some documents to their general.", "dlg_34_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you found out anything of use from the Lonetusk prisoner?") + elseif GetQuestStep(Spawn, Ninth_IdentifyingTheLonetuskAlly) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus019.mp3", "", "", 2578123453, 1196301399, Spawn) + AddConversationOption(conversation, "Not yet, but I will find it!") + StartConversation(conversation, NPC, Spawn, "Have you recovered the document I sent you to retrieve? Time is of the essence here!") + elseif GetQuestStep(Spawn, Ninth_IdentifyingTheLonetuskAlly) == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus019.mp3", "", "", 2578123453, 1196301399, Spawn) + AddConversationOption(conversation, "I found it, lieutenant. It mentions something about 'Clefts.' Here it is.", "dlg_36_1") + AddConversationOption(conversation, "Not yet, but I will find it!") + StartConversation(conversation, NPC, Spawn, "Have you recovered the document I sent you to retrieve? Time is of the essence here!") + end + elseif CanReceiveQuest(Spawn, Ninth_IdentifyingTheLonetuskAlly) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus026.mp3", "", "", 2035778051, 3857199012, Spawn) + AddConversationOption(conversation, "What is this assignment?", "dlg_30_1") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "There you are! Time is of the essence, adventurer. I have a crucial assignment for you!") + end + elseif not HasCompletedQuest(Spawn, Tenth_FileAFinalReport) then + if HasQuest(Spawn, Tenth_FileAFinalReport) then + if GetQuestStep(Spawn, Tenth_FileAFinalReport) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus028.mp3", "", "", 2127168056, 2423850494, Spawn) + AddConversationOption(conversation, "I will report to her right away.", "dlg_59_1") + StartConversation(conversation, NPC, Spawn, "You must return to Captain Arellius on the docks, citizen. The information you have for her is vital for Freeport's safety!") + end + elseif CanReceiveQuest(Spawn, Tenth_FileAFinalReport) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus027.mp3", "", "", 874269850, 3253928300, Spawn) + AddConversationOption(conversation, "Is it important?", "dlg_37_1") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "I'm glad you're back. You must get word to Captain Arellius that the Rujarkians are supplying the Lonetusk and Brokentusk with weapons and armor.") + end + end +end + +-- QUEST DIALOGUE FOR KNOCK THE FIGHT OUT OF THEM -- + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus002.mp3", "", "", 3229308725, 1541859820, Spawn) + SetStepComplete(Spawn, Sixth_SteppingUptheOffensive, 1) + AddConversationOption(conversation, "I did my best to lend a hand.", "dlg_3_2") + AddConversationOption(conversation, "Handling the orcs should be your job.") + StartConversation(conversation, NPC, Spawn, "Ah, you must be the one Argosian told me about. He says you have done some fine work in controlling the Brokentusk.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus003.mp3", "", "", 1841575062, 2503344613, Spawn) + AddConversationOption(conversation, "I won't be facing them alone. I will do so with companions.", "dlg_3_3") + AddConversationOption(conversation, "I don't need help!") + StartConversation(conversation, NPC, Spawn, "Well, you can forget all that! The Lonetusk makes the Brokentusk look like weak infants. My Militia officers must work in teams to defeat them, as too many have perished alone. You would do well to follow the same advice.") +end + +function dlg_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus005.mp3", "", "", 1657740714, 1252843220, Spawn) + AddConversationOption(conversation, "That is an excellent suggestion.", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "That is good to hear. It would be beneficial for your companions to have received orders from Captain Arellius. That way I can assign you all the same duties and you can be rewarded for performing the same tasks.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus006.mp3", "", "", 1028343216, 1318001780, Spawn) + AddConversationOption(conversation, "Thank you for the advice, lieutenant.", "dlg_3_5") + StartConversation(conversation, NPC, Spawn, "In the future, you should remember that your group mates can progress together most efficiently if you undertake the same quests at the same time.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus007.mp3", "", "", 4286763000, 3876809810, Spawn) + AddConversationOption(conversation, "What do you propose we do?", "dlg_3_6") + AddConversationOption(conversation, "I'll leave you to it.") + StartConversation(conversation, NPC, Spawn, "Now, on to the matter at hand. We must put the Lonetusk in their place and determine where their improved weapons and armor are coming from.") +end + +function dlg_3_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus008.mp3", "", "", 1581951336, 1122429744, Spawn) + AddConversationOption(conversation, "I am ready to take action.", "OfferQuest7") + AddConversationOption(conversation, "Orcish decorations don't interest me.") + StartConversation(conversation, NPC, Spawn, "The first thing we must do is demoralize them. We've noticed that the Lonetusk have brought in statues, either to worship or merely to inspire them. Even orcs need their morale boosted, it seems.") +end + +function dlg_3_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus009.mp3", "", "", 3046376303, 2999823619, Spawn) + AddConversationOption(conversation, "Do you really think wrecking statues and ruining food is going to ensure victory?", "dlg_3_8") + AddConversationOption(conversation, "I'll get to it.") + StartConversation(conversation, NPC, Spawn, "Our surest path to victory is to take the fight out of them. Go out there and face the Lonetusk, and deface any statues you see. Seek out their supplies of food and drink and spoil them. Without symbols of victory to inspire them and food in their bellies, their spirits will crumble and they will become easy pickings for us.") +end + +function dlg_3_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus010.mp3", "", "", 4046535847, 3776787727, Spawn) + AddConversationOption(conversation, "Okay, I'll give it a try.", "dlg_3_9") + StartConversation(conversation, NPC, Spawn, "How dare you question an officer of the Freeport Militia! I have engineered a campaign of demoralization which cannot fail.") +end + +-- QUEST DIALOGUE FOR VENGEANCE FOR SHORESIDE -- + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, Seventh_KnockTheFightOutOfEm) then + SetStepComplete(Spawn, Seventh_KnockTheFightOutOfEm, 5) + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus012.mp3", "", "", 4000237112, 3044994511, Spawn) + AddConversationOption(conversation, "Yes, I am ready for action.", "OfferQuest8") + AddConversationOption(conversation, "Sorry, but I have little faith in this plan of yours.") + StartConversation(conversation, NPC, Spawn, "These things take time to have their full effect. I'm confident that we've laid the groundwork for the Lonetusk's defeat. Now we must begin the second phase of our initiative. Are you prepared to undertake your next assignment?") +end + +function dlg_6_2(NPC, Spawn) -- Quest Accept Text + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus013.mp3", "", "", 1435258692, 228785667, Spawn) + AddConversationOption(conversation, "I like the sound of this plan.", "dlg_6_3") + StartConversation(conversation, NPC, Spawn, "The surest way to take the fight out of the orcs is to thin their numbers. We have to show we will not tolerate their presence anymore. I need you to make a serious dent in the Lonetusk population. The streets of Shoreside must swell with the blood of these brutes.") +end + +function dlg_6_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus014.mp3", "", "", 1342102807, 1470622603, Spawn) + AddConversationOption(conversation, "I'll return when I've taught the orcs a lesson.", "dlg_6_4") + StartConversation(conversation, NPC, Spawn, "I'm confident this will strike a real blow to the Lonetusk offensive. While you carry out your orders, my interrogators are going to see if this orc we captured knows anything of use.") +end + +-- DIALOGUE FOR IDENTIFYING THE LONETUSK ALLY -- + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, Eighth_VengeanceForShoreside) then + SetStepComplete(Spawn, Eighth_VengeanceForShoreside, 5) + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus016.mp3", "", "", 424275819, 2098486813, Spawn) + AddConversationOption(conversation, "Have you been able to learn anything from it?", "dlg_30_2") + AddConversationOption(conversation, "I have had enough of dealing with orcs.") + StartConversation(conversation, NPC, Spawn, "Some days ago my soldiers took a Lonetusk prisoner. At first it was unresponsive to our attempts to obtain information and appeared to only speak orcish, but during our most recent attempts to persuade it to cooperate, it muttered something in our own Common tongue.") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus017.mp3", "", "", 3515731336, 836251814, Spawn) + AddConversationOption(conversation, "I will get the orc to talk.", "OfferQuest9") + AddConversationOption(conversation, "Perhaps another time.") + StartConversation(conversation, NPC, Spawn, "Not yet, though my guards may not be taking the right approach. I'd like you to take a crack at this prisoner. It's being held just over there, outside one of our supply depots. We don't have a proper stockade, as it is not our custom to take prisoners.") +end + +function dlg_30_3(NPC, Spawn) -- Quest Accept Text + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus018.mp3", "", "", 1717970804, 3719629105, Spawn) + AddConversationOption(conversation, "I'll return when I have the information you need, lieutenant.", "dlg_30_4") + StartConversation(conversation, NPC, Spawn, "I knew we could rely on you! Take any measures necessary to get the beast to talk. ANY measures... got it?") +end + +function dlg_34_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus030.mp3", "", "", 795916419, 2847642656, Spawn) + AddConversationOption(conversation, "Apparently the orcs have locked them away in some kind of underground bunker.", "dlg_34_2") + AddConversationOption(conversation, "I don't have time to discuss this further.") + StartConversation(conversation, NPC, Spawn, "Excellent work! Did it give you the location of these documents?") +end + +function dlg_34_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + SetStepComplete(Spawn, Ninth_IdentifyingTheLonetuskAlly, 2) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus031.mp3", "", "", 56234529, 3138552129, Spawn) + AddConversationOption(conversation, "I will undertake this mission for my Overlord and my city.", "dlg_34_3") + StartConversation(conversation, NPC, Spawn, "Then your highest priority is to find these documents and bring them to me. Search the entire Lonetusk area for that underground bunker. We must have this information!") +end + +-- QUEST TEXT FOR FILING A FINAL REPORT + +function dlg_36_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, Ninth_IdentifyingTheLonetuskAlly) then + RemoveItem(Spawn, 3803) + SetStepComplete(Spawn, Ninth_IdentifyingTheLonetuskAlly, 4) + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus020.mp3", "", "", 105191340, 2188619231, Spawn) + AddConversationOption(conversation, "Now that you mention it, I thought I spotted a Rujarkian advisor of some kind in the area.", "dlg_37_1") + AddConversationOption(conversation, "Not really my concern.") + StartConversation(conversation, NPC, Spawn, "Let me see this. Hmm... The Clefts. This must refer to the Clefts of Rujark, an orc stronghold in the Desert of Ro. This means the Lonetusk are being supplied by the Rujarkians!") +end + +function dlg_37_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus021.mp3", "", "", 3288112038, 3542005218, Spawn) + AddConversationOption(conversation, "I will report back to her.", "OfferQuest10") + AddConversationOption(conversation, "I'm tired of running errands.") + StartConversation(conversation, NPC, Spawn, "It is dark news indeed! If the Rujarkians were to do the same for other tribes around Freeport, it could mean the rise of a new orc offensive. Captain Arellius must hear of this news right away!") +end + +function dlg_37_2(NPC, Spawn) -- Quest Accept Text + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/lieutenant_imperidus022.mp3", "", "", 3956036992, 4003496180, Spawn) + AddConversationOption(conversation, "Thank you, lieutenant. You have earned mine as well.", "dlg_37_3") + StartConversation(conversation, NPC, Spawn, "Report back to the captain. She will take word of this discovery back to our superiors in the Militia. This is extremely valuable information, my friend. You just might have given Freeport the edge it needs to ensure its safety. You have earned my respect.") +end + +function OfferQuest7(NPC, Spawn) + OfferQuest(NPC, Spawn, Seventh_KnockTheFightOutOfEm) +end + +function OfferQuest8(NPC, Spawn) + OfferQuest(NPC, Spawn, Eighth_VengeanceForShoreside) +end + +function OfferQuest9(NPC, Spawn) + OfferQuest(NPC, Spawn, Ninth_IdentifyingTheLonetuskAlly) +end + +function OfferQuest10(NPC, Spawn) + OfferQuest(NPC, Spawn, Tenth_FileAFinalReport) +end +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/quest_lieutenant_imperidus_callout_6ef6bae6.mp3", "We must take action against these cursed Lonetusks!", "threaten", 3163677184, 3724793633, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/quest_lieutenant_imperidus_callout_c316998a.mp3", "We must eliminate the source of the orc uprising!", "threaten", 1891042536, 250066925, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/lieutenant_imperidus/fprt_adv04_ruins/revamp/quest_lieutenant_imperidus_callout_b85701b8.mp3", "All citizens of Freeport must band together to erase the orcish menace!", "agree", 1075118541, 263743495, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Ruins/LonetuskVoiceOvers.lua b/Lua/SpawnScripts/Ruins/LonetuskVoiceOvers.lua new file mode 100755 index 000000000..a8c882b3e --- /dev/null +++ b/Lua/SpawnScripts/Ruins/LonetuskVoiceOvers.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Ruins/LonetuskVoiceOvers.lua + Script Purpose : Handles voice overs for the Lonetusk. + Script Author : Scatman + Script Date : 2009.08.20 + Script Notes : +--]] + +function generic_aggro(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_aggro_2d2ccd12.mp3", "Incoming! Summon the warriors.", "", 3730616476, 4212115469) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_aggro_478609c4.mp3", "This must be my lucky day.", "", 1552928496, 830976152) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_maofighter_42d206ef.mp3", "Kill the ugly one! He has the most armor!", "", 1385896447, 1033709680) + end +end + +function generic_healthchanged(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_battle_27011747.mp3", "Who cares if they're stronger, we're orcs!", "", 769549584, 170271605) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_battle_c234f7ec.mp3", "We don't need reinforcements. Attack!", "", 3931748607, 200204217) + end +end + +function generic_killed(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_victory_4a834d11.mp3", "I killed one?", "", 494264984, 880425961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_victory_5ec9f9e2.mp3", "Keep fighting while I get these boots!", "", 1910539619, 2233613105) + end +end + +function generic_death(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional3/orc_lonetusk/ft/orc/orc_lonetusk_2_death_937a01b8.mp3", "I can't see! Where are they?", "", 1920179873, 1406566187) +end diff --git a/Lua/SpawnScripts/Ruins/MardypPrunt.lua b/Lua/SpawnScripts/Ruins/MardypPrunt.lua new file mode 100755 index 000000000..3198e24db --- /dev/null +++ b/Lua/SpawnScripts/Ruins/MardypPrunt.lua @@ -0,0 +1,222 @@ +--[[ + Script Name : SpawnScripts/Ruins/MardypPrunt.lua + Script Purpose : Mardyp Prunt + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local QUEST_1 = 265 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + RandomVoiceOver(NPC, Spawn) + + if HasCompletedQuest(Spawn, QUEST_1) then + PlayFlavor(NPC, "", "Making fang dust harder than Mardyp thought!", "", 1689589577, 4560189, Spawn) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + RespectEnemies(NPC, Spawn, conversation) + end +end + +function RandomVoiceOver(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1056.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1056.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1056.mp3", "", "", 0, 0, Spawn) + end +end + +--------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------- + +function RespectEnemies(NPC, Spawn, conversation) + AddConversationOption(conversation, "What?", "dlg_4_1") + AddConversationOption(conversation, "Whatever.") + StartConversation(conversation, NPC, Spawn, "Respect enemies!") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Oh.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "If enemies strong, respect them!") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How can I help?", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "Orc strong! Not THAT strong, but strong enough for respect! Mardyp talk to friend in Big Bend. Friend tell Mardyp that something in orc tusks make orcs more fierce, more strong! Mardyp killing orcs fine, but crushing fangs to eat takes time. You help Mardyp?") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok, I'll collect some fangs.", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "Get more fangs while Mardyp crush ones I already have. All orcs have fangs. Mardyp need 20!") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll go get your fangs.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Good! Mardyp go back to crushing.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Here you go.", "dlg_6_1") + else + AddConversationOption(conversation, "Not et.") + end + StartConversation(conversation, NPC, Spawn, "Orc fangs?") +end + +function dlg_6_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well, good luck with that.") + StartConversation(conversation, NPC, Spawn, "Good! Mardyp very happy! Soon Mardyp make these into soup or drink or something! Unless that too much work, then Mardyp just eat it.") +end + + +-- JA: new raw data collected + +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1056.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What?", "dlg_4_1") + AddConversationOption(conversation, "Whatever.") + StartConversation(conversation, NPC, Spawn, "Respect enemies!") + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1056.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What?", "dlg_5_1") + AddConversationOption(conversation, "Whatever.") + StartConversation(conversation, NPC, Spawn, "Respect enemies!") + end + + if convo==6 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1056.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Here you go.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Orc fangs?") + end + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "If enemies strong, respect them!") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I help?", "dlg_4_3") + StartConversation(conversation, NPC, Spawn, "Orc strong! Not THAT strong, but strong enough for respect! Mardyp talk to friend in Big Bend. Friend tell Mardyp that something in orc tusks make orcs more fierce, more strong! Mardyp killing orcs fine, but crushing fangs to eat takes time. You help Mardyp?") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok, I'll collect some fangs.", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "Get more fangs while Mardyp crush ones I already have. All orcs have fangs. Mardyp need 20!") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go get your fangs.", "dlg_4_5") + StartConversation(conversation, NPC, Spawn, "Good! Mardyp go back to crushing.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh.", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "If enemies strong, respect them!") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I help?", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Orc strong! Not THAT strong, but strong enough for respect! Mardyp talk to friend in Big Bend. Friend tell Mardyp that something in orc tusks make orcs more fierce, more strong! Mardyp killing orcs fine, but crushing fangs to eat takes time. You help Mardyp?") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok, I'll collect some fangs.", "dlg_5_4") + StartConversation(conversation, NPC, Spawn, "Get more fangs while Mardyp crush ones I already have. All orcs have fangs. Mardyp need 20!") +end + +function dlg_5_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll go get your fangs.", "dlg_5_5") + StartConversation(conversation, NPC, Spawn, "Good! Mardyp go back to crushing.") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, good luck with that.", "dlg_6_2") + StartConversation(conversation, NPC, Spawn, "Good! Mardyp very happy! Soon Mardyp make these into soup or drink or something! Unless that too much work, then Mardyp just eat it.") +end +--]] + +--[[ raw_conversations + PlayFlavor(NPC, "", "Making fang dust harder than Mardyp thought!", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Ruins/Pitrova.lua b/Lua/SpawnScripts/Ruins/Pitrova.lua new file mode 100755 index 000000000..99cc7c8c5 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/Pitrova.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/Ruins/Pitrova.lua + Script Purpose : Pitrova + Script Author : John Adams + Script Date : 2009.08.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 1269771027, 1321830597, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 3896024368, 3267129756, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3557499503, 3758276116, Spawn) + else + end + +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + InRange(NPC, Spawn) +end + diff --git a/Lua/SpawnScripts/Ruins/Talia.lua b/Lua/SpawnScripts/Ruins/Talia.lua new file mode 100755 index 000000000..e9a473930 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/Talia.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Ruins/Talia.lua + Script Purpose : Talia + Script Author : Scatman + Script Date : 2009.08.18 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/merchant_talia_of_the_coalition/fprt_adv04_ruins/merchanttalia000.mp3", "", "", 1965549585, 3553254734, Spawn) + AddConversationOption(conversation, "Give me a moment.") + StartConversation(conversation, NPC, Spawn, "What do you want to purchase? Don't be shy. My fine wares are worth spending your coin.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/VisageoftheOverlord.lua b/Lua/SpawnScripts/Ruins/VisageoftheOverlord.lua new file mode 100755 index 000000000..0a6d547b8 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/VisageoftheOverlord.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/Ruins/VisageoftheOverlord.lua + Script Purpose : Visage of the Overlord + Script Author : Scatman + Script Date : 2009.08.02 + Script Notes : +--]] + +local choice = 0 + +function spawn(NPC) + AddTime(NPC, 300000, "Talk1") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,14) +--[[ + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_5.mp3", "Prove yourself, and I shall grant you shelter at the edge of my city, and the chance to earn your place as a proud citizen of Freeport.", "", 4115014723, 2723692261, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_6.mp3", "Go now, and begin the trials that I have set for you.", "", 1244918730, 586509135, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_7.mp3", "Succeed, and you will share the fortunes of Freeport as we reshape this broken world.", "", 2666628260, 1943756642, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_8.mp3", "Together we will restore the glory of ages past, crush the Sons of Zek, and sweep aside the decadent nation of Qeynos!", "", 140890899, 2835297833, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_9.mp3", "With my guidance, you shall gain power and glory as you have never imagined, but should you turn against me, you will find that my wrath is a terrible thing ... Now go!", "", 3855854568, 2247480313, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_speechstrength001_64_64.mp3", "Citizens of Freeport! You have come from distant lands, driven by cataclysm and conflict into the welcoming shelter of my walls. You have proven your strength and your courage, else you would have been left beyond to wither and die. There is no place for mercy in these shattered lands; this is a time of blood and battle, and I only have need of the strong.", "", 2120743827, 2562003808, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_speechstrength002_64_64.mp3", "But there are those among you who know little of my past and my glorious deed. I am Lucan D'Lere, and it is my will and steel that brought Freeport safely through the Age of Cataclysms. Even before the land was broken, I was renowned as a warrior, and I was chosen to rule this glorious city.", "", 1988024407, 1968035950, Spawn) + elseif choice == 8 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_speechstrength003_64_64.mp3", "No invading army could stand against my sword. Sons of Zek, dragons, and even the gods themselves: none could stand against Lucan. When the moon shattered and fire rained down from the sky, it was my strong hand that held this city together, that forged a nation from rubble and ruin.", "", 3916518155, 2486841924, Spawn) + elseif choice == 9 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_speechstrength004_64_64.mp3", "I am more than a man. I am a force of destiny, far greater than any god. I am the Overlord of this age, and I shall reshape Norrath in my image. There is much to be done. The lost lands must be found and claimed in my name. We must seize the powers of the past. And we must show the fools who cling to the banner of Qeynos the error of their ways.", "", 1278215101, 3048380263, Spawn) + elseif choice == 10 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_speechstrength005_64_64.mp3", "This is the defining moment of your existence: the chance to claim your place in the kingdom that is to come. Those who serve me well shall gain glory and power beyond any mortal dream; those who stand in my path shall be swept away and destroyed. Choose wisely. ", "", 3179016276, 1369464691, Spawn) + elseif choice == 11 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/200_statue_overlord_lucan_dlere_speech_glory_freeport_4_658d5802.mp3", "And in the centuries that followed, it was my strength and my will that raised this city from the ashes and guided its people to the present. Now the Age of Destiny is upon us. The old world is shattered and will never return. As I restored Freeport, I will reshape Norrath.", "", 2738035237, 1024471311, Spawn) + elseif choice == 12 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/200_statue_overlord_lucan_dlere_speech_glory_freeport_5_cbeaa62e.mp3", "But for all my power, I cannot act alone. I have chosen you, citizens of Freeport, because of your strength, your cunning, and your courage. There is no room for mercy in this broken land: only the strong will survive to seize the destiny of D'Lere.", "", 2788065318, 273884141, Spawn) + elseif choice == 13 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/200_statue_overlord_lucan_dlere_speech_glory_freeport_6_e760558d.mp3", "In the days that lie ahead I will call upon you to prove your worth and your commitment to my cause. Those who follow me faithfully shall gain glory and power in the kingdom to come, and gold aplenty in world of the moment.", "", 1243249819, 2464345242, Spawn) + elseif choice == 14 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/200_statue_overlord_lucan_dlere_speech_glory_freeport_7_3b8ccc31.mp3", "But should you ever betray Freeport, or dare to rise against Lucan, you shall see why even the gods of old feared my wrath. Go, citizens of Freeport, and prepare for the work that lies ahead. The Age of Destiny has begun. ", "", 1852419614, 277309010, Spawn) + else + end +--]] +end + +function Talk1(NPC) + choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "Teach my enemies of the price of challenging Freeport, and you shall have gold and glory beyond your imagining.") + AddTimer(NPC, 300000, "Talk1") + elseif choice == 2 then + Say(NPC, "I am Lucan D'Lere, and I am the last hope of this shattered world.") + AddTimer(NPC, 300000, "Talk1") + elseif choice == 3 then + Say(NPC, "The strong will always survive and prosper.") + AddTimer(NPC, 300000, "Talk1") + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/Widget_orc_document_box.lua b/Lua/SpawnScripts/Ruins/Widget_orc_document_box.lua new file mode 100755 index 000000000..7e2e69b65 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/Widget_orc_document_box.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/Ruins/Widget_orc_document_box.lua + Script Purpose : Widget_orc_document_box + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +function spawn(NPC) + SetRequiredQuest(NPC, 288, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/Widgetorcdocumentbox.lua b/Lua/SpawnScripts/Ruins/Widgetorcdocumentbox.lua new file mode 100755 index 000000000..bb4525890 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/Widgetorcdocumentbox.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/Ruins/Widgetorcdocumentbox.lua + Script Author : jakejp + Script Date : 2018.12.29 07:12:39 + Script Purpose : + : +--]] + +local IdentifyingtheLonetuskAlly = 394 + +function spawn(NPC) + SetRequiredQuest(NPC, IdentifyingtheLonetuskAlly, 3) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Break open the strongbox" then + if GetQuestStep(Caster, IdentifyingtheLonetuskAlly, 3) then + SetStepComplete(Caster, IdentifyingtheLonetuskAlly, 3) + SendMessage(Caster, "You search the strongbox and find a parchment with orcish writing. You place it in your inventory.") + SendPopUpMessage(Caster, "You search the strongbox and find a parchment with orcish writing. You place it in your inventory.", 255, 255, 255) + SummonItem(Caster, 3803, 1) + + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskchampion.lua b/Lua/SpawnScripts/Ruins/aBrokentuskchampion.lua new file mode 100755 index 000000000..4cf212795 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskchampion.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskchampion.lua + Script Purpose : a Brokentusk champion + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskcrusher.lua b/Lua/SpawnScripts/Ruins/aBrokentuskcrusher.lua new file mode 100755 index 000000000..621911cfe --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskcrusher.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskcrusher.lua + Script Purpose : a Brokentusk crusher + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskdefender.lua b/Lua/SpawnScripts/Ruins/aBrokentuskdefender.lua new file mode 100755 index 000000000..fa05ab4a4 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskdefender.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskdefender.lua + Script Purpose : a Brokentusk defender + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskguard.lua b/Lua/SpawnScripts/Ruins/aBrokentuskguard.lua new file mode 100755 index 000000000..a1e8d2430 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskguard.lua @@ -0,0 +1,164 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskguard.lua + Script Purpose : a Brokentusk guard + Script Author : Scatman (updated by jakejp 2018.06.10) + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") + spoke = false + local sli = GetSpawnLocationID(NPC) + + -- Wanderer from where the 'an Overseer' spawns. + if sli == 408961 or sli == 408975 then + local choice = math.random(1,2) + if choice == 1 then + AddTimer(NPC, math.random(0, 10000), "StartPath1") + elseif choice == 2 then + AddTimer(NPC, math.random(0, 10000), "StartPath1Reverse") + end + end + + -- Spawns in front of guard by well + if sli == 1585507 or sli == 1585508 or sli == 1585509 then + EmoteLoop(NPC) + end +end + +function InRange(NPC, Spawn) + local scared = "cringe" + if GetLevel(Spawn) > 9 then + PlayFlavor(NPC, "", "", scared, 0, 0) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function EmoteLoop(NPC) -- Thanks theFoof + local choice = math.random(1,4) + local emote + if choice == 1 then + emote = "flex" + elseif choice == 2 then + emote = "stretch" + elseif choice == 3 then + emote = "point" + elseif choice == 4 then + emote = "peer" + end + PlayFlavor(NPC, "", "", emote, 0, 0) + AddTimer(NPC, math.random(3000,10000), "EmoteLoop") +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end + +function StartPath1(NPC) + MovementLoopAddLocation(NPC, -140.28, -2.57, 22.58, 2, 0) + MovementLoopAddLocation(NPC, -137.92, -2.56, 20.52, 2, 0) + MovementLoopAddLocation(NPC, -129.41, -2.57, 19.94, 2, 0) + MovementLoopAddLocation(NPC, -126.23, -2.56, 18.19, 2, 0) + MovementLoopAddLocation(NPC, -122.83, -2.55, 14.43, 2, 0) + MovementLoopAddLocation(NPC, -114.21, -2.61, 17.31, 2, 0) + MovementLoopAddLocation(NPC, -109.99, -2.64, 17.76, 2, 0) + MovementLoopAddLocation(NPC, -103.32, -2.67, 19.41, 2, 0) + MovementLoopAddLocation(NPC, -99.51, -2.68, 17.5, 2, 0) + MovementLoopAddLocation(NPC, -94.95, -2.72, 17.96, 2, 0) + MovementLoopAddLocation(NPC, -87.91, -2.7, 15.73, 2, 0) + MovementLoopAddLocation(NPC, -80.37, -2.73, 16.74, 2, 0) + MovementLoopAddLocation(NPC, -73.37, -2.7, 24.81, 2, 0) + MovementLoopAddLocation(NPC, -61.57, -2.68, 26.83, 2, 0) + MovementLoopAddLocation(NPC, -50.97, -2.78, 26.87, 2, 0) + MovementLoopAddLocation(NPC, -46.63, -2.62, 29.66, 2, 0) + MovementLoopAddLocation(NPC, -44.9, -2.46, 34.15, 2, 0) + MovementLoopAddLocation(NPC, -50.13, -2.46, 37.13, 2, 0) + MovementLoopAddLocation(NPC, -54.52, -2.63, 34.25, 2, 0) + MovementLoopAddLocation(NPC, -61.37, -2.76, 33.77, 2, 0) + MovementLoopAddLocation(NPC, -65.66, -2.71, 32.21, 2, 0) + MovementLoopAddLocation(NPC, -74.41, -2.67, 31.71, 2, 0) + MovementLoopAddLocation(NPC, -76.57, -2.76, 33.66, 2, 0) + MovementLoopAddLocation(NPC, -96.97, -2.72, 31.94, 2, 0) + MovementLoopAddLocation(NPC, -101.32, -2.71, 26.16, 2, 0) + MovementLoopAddLocation(NPC, -108.64, -2.71, 24.22, 2, 0) + MovementLoopAddLocation(NPC, -112.72, -2.63, 21.67, 2, 0) + MovementLoopAddLocation(NPC, -121.34, -2.6, 20.29, 2, 0) + MovementLoopAddLocation(NPC, -126.81, -2.61, 23.84, 2, 0) + MovementLoopAddLocation(NPC, -128.9, -2.63, 27.83, 2, 0) + MovementLoopAddLocation(NPC, -134.67, -2.63, 31.56, 2, 0) + MovementLoopAddLocation(NPC, -139.13, -2.61, 30.96, 2, 0) + MovementLoopAddLocation(NPC, -140.67, -2.59, 28.5, 2, 0) +end + +function StartPath1Reverse(NPC) + MovementLoopAddLocation(NPC, -140.67, -2.59, 28.5, 2, 0) + MovementLoopAddLocation(NPC, -139.13, -2.61, 30.96, 2, 0) + MovementLoopAddLocation(NPC, -134.67, -2.63, 31.56, 2, 0) + MovementLoopAddLocation(NPC, -128.9, -2.63, 27.83, 2, 0) + MovementLoopAddLocation(NPC, -126.81, -2.61, 23.84, 2, 0) + MovementLoopAddLocation(NPC, -121.34, -2.6, 20.29, 2, 0) + MovementLoopAddLocation(NPC, -112.72, -2.63, 21.67, 2, 0) + MovementLoopAddLocation(NPC, -108.64, -2.71, 24.22, 2, 0) + MovementLoopAddLocation(NPC, -101.32, -2.71, 26.16, 2, 0) + MovementLoopAddLocation(NPC, -96.97, -2.72, 31.94, 2, 0) + MovementLoopAddLocation(NPC, -76.57, -2.76, 33.66, 2, 0) + MovementLoopAddLocation(NPC, -74.41, -2.67, 31.71, 2, 0) + MovementLoopAddLocation(NPC, -65.66, -2.71, 32.21, 2, 0) + MovementLoopAddLocation(NPC, -61.37, -2.76, 33.77, 2, 0) + MovementLoopAddLocation(NPC, -54.52, -2.63, 34.25, 2, 0) + MovementLoopAddLocation(NPC, -50.13, -2.46, 37.13, 2, 0) + MovementLoopAddLocation(NPC, -44.9, -2.46, 34.15, 2, 0) + MovementLoopAddLocation(NPC, -46.63, -2.62, 29.66, 2, 0) + MovementLoopAddLocation(NPC, -50.97, -2.78, 26.87, 2, 0) + MovementLoopAddLocation(NPC, -61.57, -2.68, 26.83, 2, 0) + MovementLoopAddLocation(NPC, -73.37, -2.7, 24.81, 2, 0) + MovementLoopAddLocation(NPC, -80.37, -2.73, 16.74, 2, 0) + MovementLoopAddLocation(NPC, -87.91, -2.7, 15.73, 2, 0) + MovementLoopAddLocation(NPC, -94.95, -2.72, 17.96, 2, 0) + MovementLoopAddLocation(NPC, -99.51, -2.68, 17.5, 2, 0) + MovementLoopAddLocation(NPC, -103.32, -2.67, 19.41, 2, 0) + MovementLoopAddLocation(NPC, -109.99, -2.64, 17.76, 2, 0) + MovementLoopAddLocation(NPC, -114.21, -2.61, 17.31, 2, 0) + MovementLoopAddLocation(NPC, -122.83, -2.55, 14.43, 2, 0) + MovementLoopAddLocation(NPC, -126.23, -2.56, 18.19, 2, 0) + MovementLoopAddLocation(NPC, -129.41, -2.57, 19.94, 2, 0) + MovementLoopAddLocation(NPC, -137.92, -2.56, 20.52, 2, 0) + MovementLoopAddLocation(NPC, -140.28, -2.57, 22.58, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskoverseer.lua b/Lua/SpawnScripts/Ruins/aBrokentuskoverseer.lua new file mode 100755 index 000000000..a42452424 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskoverseer.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskoverseer.lua + Script Purpose : a Brokentusk overseer + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false + AddVisualStateLoop(NPC, 1000, math.random(0, 2000), 10783, 450) -- attack + AddVisualStateLoop(NPC, 1000, math.random(0, 2000), 12028, 450) -- point + AddVisualStateLoop(NPC, 1000, math.random(0, 2000), 10912, 450) -- brandish + AddVisualStateLoop(NPC, 1000, math.random(0, 2000), 1646, 450) -- pugilist attack 2 +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskpawn.lua b/Lua/SpawnScripts/Ruins/aBrokentuskpawn.lua new file mode 100755 index 000000000..6331d657f --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskpawn.lua @@ -0,0 +1,109 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskpawn.lua + Script Purpose : a Brokentusk pawn + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false + local sli = GetSpawnLocationID(NPC) + + if sli == 133076 or sli == 133077 or sli == 133078 or sli == 133079 then + -- The sparring pawns. + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 10783, 450) -- attack + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 13058, 450) -- taunt combat art + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 12065, 450) -- pugilist parry + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 12050, 450) -- pugilist dodge forehand + elseif sli == 133054 or sli == 133055 or sli == 159761 or sli == 133058 or sli == 133070 or sli == 133071 or sli == 133064 or sli == 159762 or sli == 133061 or sli == 159768 then + -- The pawns cheering on the sparring pawns. + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 11150, 43918) -- cheer + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 10760 , 43528) -- applaud + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 10856, 43624) -- boggle + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 11152, 43920) -- chuckle + AddVisualStateLoop(NPC, 1000, math.random(0, 1000), 11285, 44053) -- curse + elseif sli == 159746 then + StartPath1(NPC) + elseif sli == 133018 then + StartPath2(NPC) + elseif sli == 159758 then + StartPath3(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end + +function StartPath1(NPC) + MovementLoopAddLocation(NPC, -120.64, -2.58, 17.04, 4, 0) + MovementLoopAddLocation(NPC, -89.23, -2.69, 25, 4, 0) + MovementLoopAddLocation(NPC, -53.93, -2.63, 27.08, 4, 0) + MovementLoopAddLocation(NPC, -55.71, -2.52, 33.44, 4, 0) + MovementLoopAddLocation(NPC, -89.93, -2.74, 36.69, 4, 0) + MovementLoopAddLocation(NPC, -103.84, -2.64, 22.62, 4, 0) + MovementLoopAddLocation(NPC, -120.87, -2.6, 19.65, 4, 0) + MovementLoopAddLocation(NPC, -135.95, -2.61, 31.13, 4, 0) + MovementLoopAddLocation(NPC, -138.46, -2.58, 23.24, 4, 0) +end + +function StartPath2(NPC) + MovementLoopAddLocation(NPC, -119.97, 2.26, 127.77, 4, 0) + MovementLoopAddLocation(NPC, -123.42, 0.92, 107.14, 4, 0) + MovementLoopAddLocation(NPC, -123.68, -2.62, 73.93, 4, 0) + MovementLoopAddLocation(NPC, -101.58, -2.56, 63.45, 4, 0) + MovementLoopAddLocation(NPC, -96.64, -2.59, 75.03, 4, 0) + MovementLoopAddLocation(NPC, -119.92, -2.63, 94.64, 4, 0) + MovementLoopAddLocation(NPC, -119.77, 2.26, 128.79, 4, 0) + MovementLoopAddLocation(NPC, -127.08, 2.26, 141.62, 4, 0) +end + +function StartPath3(NPC) + MovementLoopAddLocation(NPC, -122.63, 2.28, 120.17, 4, 0) + MovementLoopAddLocation(NPC, -123.33, -1.71, 98.13, 4, 0) + MovementLoopAddLocation(NPC, -97.93, -2.42, 71.18, 4, 0) + MovementLoopAddLocation(NPC, -91.85, -2.63, 52.03, 4, 0) + MovementLoopAddLocation(NPC, -97.82, -2.45, 53.78, 4, 0) + MovementLoopAddLocation(NPC, -118.73, -2.54, 74.65, 4, 0) + MovementLoopAddLocation(NPC, -123.79, -2.62, 75.76, 4, 0) + MovementLoopAddLocation(NPC, -123.07, 2.28, 120.49, 4, 0) + MovementLoopAddLocation(NPC, -149.83, 2.26, 142.84, 4, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskpounder.lua b/Lua/SpawnScripts/Ruins/aBrokentuskpounder.lua new file mode 100755 index 000000000..5e1ded81c --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskpounder.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskpounder.lua + Script Purpose : a Brokentusk pounder + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskprophet.lua b/Lua/SpawnScripts/Ruins/aBrokentuskprophet.lua new file mode 100755 index 000000000..4405d9208 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskprophet.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskprophet.lua + Script Purpose : a Brokentusk prophet + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskravager.lua b/Lua/SpawnScripts/Ruins/aBrokentuskravager.lua new file mode 100755 index 000000000..4bcb76deb --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskravager.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskravager.lua + Script Purpose : a Brokentusk ravager + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentusksentry.lua b/Lua/SpawnScripts/Ruins/aBrokentusksentry.lua new file mode 100755 index 000000000..834ac05bf --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentusksentry.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskentry.lua + Script Purpose : a Brokentusk sentry + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskshaman.lua b/Lua/SpawnScripts/Ruins/aBrokentuskshaman.lua new file mode 100755 index 000000000..fd86658fe --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskshaman.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskshaman.lua + Script Purpose : a Brokentusk shaman + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aBrokentuskwarrior.lua b/Lua/SpawnScripts/Ruins/aBrokentuskwarrior.lua new file mode 100755 index 000000000..be7aafa83 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aBrokentuskwarrior.lua @@ -0,0 +1,120 @@ +--[[ + Script Name : SpawnScripts/Ruins/aBrokentuskwarrior.lua + Script Purpose : a Brokentusk warrior + Script Author : Scatman (updated by jakejp 2018.10.08) + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/BrokentuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false + local sli = GetSpawnLocationID(NPC) + + if sli == 408926 then + -- Roamer by the statue with the prophets to the stairs. + StartPath1(NPC) + elseif sli == 159749 or sli == 159750 or sli == 159751 then + -- Runners from the statue with the prophets around it. Run right into the seasoned guards. + StartPath2(NPC) + elseif sli == 1585501 or sli == 1585502 or sli == 1585523 or sli == 1585524 or sli == 1585525 or sli == 408808 then + -- Orcs that cheer on the harried vagrant squatter. + SetPlayerProximityFunction(NPC, 10, "InRange") + EmoteLoop(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local vagrant_squatter = GetSpawn(NPC, 1270015) + if vagrant_squatter ~= nil and GetDistance(NPC, vagrant_squatter) <= 50 then + local choice = math.random(1, 3) + if choice == 1 then + Say(NPC, "Dance, or I give you to HIM!", Spawn) + elseif choice == 2 then + Say(NPC, "So fragile, so...funny!", Spawn) + elseif choice == 3 then + Say(NPC, "Dance little one!", Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end + +function StartPath1(NPC) + MovementLoopAddLocation(NPC, -35.9, -3.62, 47.9, 2, 0) + MovementLoopAddLocation(NPC, -35.18, -2.72, 58.96, 2, 0) + MovementLoopAddLocation(NPC, -42.3, -2.43, 71.24, 2, 0) + MovementLoopAddLocation(NPC, -40.02, -2.38, 75.94, 2, 0) + MovementLoopAddLocation(NPC, -43.62, -2.08, 81.69, 2, 0) + MovementLoopAddLocation(NPC, -47.92, -2.5, 73.39, 2, 0) + MovementLoopAddLocation(NPC, -46.64, -2.59, 65.03, 2, 0) + MovementLoopAddLocation(NPC, -41.31, -2.89, 58.72, 2, 0) + MovementLoopAddLocation(NPC, -44.55, -3.94, 45.11, 2, 0) + MovementLoopAddLocation(NPC, -36.96, -3.82, 42.52, 2, 0) +end + +function StartPath2(NPC) + MovementLoopAddLocation(NPC, -47.47, -2.4, 67.54, 4, 0) + MovementLoopAddLocation(NPC, -37.98, -2.22, 81.62, 4, 0) + MovementLoopAddLocation(NPC, -14.18, -4.24, 91.13, 4, 0) + MovementLoopAddLocation(NPC, -19.79, -4.42, 109.62, 4, 0) + MovementLoopAddLocation(NPC, -4.71, -4.42, 120.59, 4, 0) + MovementLoopAddLocation(NPC, -1.99, -4.42, 96.09, 4, 0) + MovementLoopAddLocation(NPC, 10.14, -3.2, 79.98, 4, 0) + MovementLoopAddLocation(NPC, -6.7, -4.27, 63.84, 4, 0) + MovementLoopAddLocation(NPC, -11.05, -5.06, 39.66, 4, 0) + MovementLoopAddLocation(NPC, -24.45, -3.71, 82.41, 4, 0) + MovementLoopAddLocation(NPC, -45.66, -2.42, 76.96, 4, 0) + MovementLoopAddLocation(NPC, -46.29, -2.55, 68.6, 4, 0) + MovementLoopAddLocation(NPC, -67.39, -0.9, 67.99, 4, 0) +end + +function EmoteLoop(NPC) -- Thanks theFoof + local choice = math.random(1,4) + local emote + if choice == 1 then + emote = "cheer" + elseif choice == 2 then + emote = "chuckle" + end + PlayFlavor(NPC, "", "", emote, 0, 0) + AddTimer(NPC, math.random(1000,5000), "EmoteLoop") +end diff --git a/Lua/SpawnScripts/Ruins/aLonetuskBloodseer.lua b/Lua/SpawnScripts/Ruins/aLonetuskBloodseer.lua new file mode 100755 index 000000000..0b4fe3cb9 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskBloodseer.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetuskBloodseer.lua + Script Purpose : a Lonetusk Bloodser + Script Author : Scatman + Script Date : 2009.08.20 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetuskchampion.lua b/Lua/SpawnScripts/Ruins/aLonetuskchampion.lua new file mode 100755 index 000000000..6db5e1338 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskchampion.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetuskchampion.lua + Script Purpose : a Lonetusk champion + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetuskcrusher.lua b/Lua/SpawnScripts/Ruins/aLonetuskcrusher.lua new file mode 100755 index 000000000..105ec695e --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskcrusher.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetuskcrusher.lua + Script Purpose : a Lonetusk crusher + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetuskdestroyer.lua b/Lua/SpawnScripts/Ruins/aLonetuskdestroyer.lua new file mode 100755 index 000000000..80fef46df --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskdestroyer.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetuskdestroyed.lua + Script Purpose : a Lonetusk destroyer + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetuskpounder.lua b/Lua/SpawnScripts/Ruins/aLonetuskpounder.lua new file mode 100755 index 000000000..1d726f7c7 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskpounder.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetuskpounder.lua + Script Purpose : a Lonetusk pounder + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetuskprophet.lua b/Lua/SpawnScripts/Ruins/aLonetuskprophet.lua new file mode 100755 index 000000000..3453377f4 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskprophet.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetuskprophet.lua + Script Purpose : a Lonetusk prophet + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetusksentry.lua b/Lua/SpawnScripts/Ruins/aLonetusksentry.lua new file mode 100755 index 000000000..042ebdc9f --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetusksentry.lua @@ -0,0 +1,143 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetusksentry.lua + Script Purpose : a Lonetusk sentry + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/aLonetuskBloodseer.lua") +local spoke = false + +function spawn(NPC) + spoke = false + local sli = GetSpawnLocationID(NPC) + + if sli == 159752 then + StartPath1(NPC) + elseif sli == 133494 then + StartPath2(NPC) + elseif sli == 133485 then + StartPath3(NPC) + elseif sli == 159753 or sli == 159754 then + StartPath4(NPC) + elseif sli == 159755 then + -- ^^ wanderer + StartPath5(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end + +function StartPath1(NPC) + MovementLoopAddLocation(NPC, -41.32, -3.74, 120.32, 2, 0) + MovementLoopAddLocation(NPC, -65.94, -2.47, 99.71, 2, 0) + MovementLoopAddLocation(NPC, -77.68, -2.43, 99, 2, 0) + MovementLoopAddLocation(NPC, -77.79, -2.57, 104.14, 2, 0) + MovementLoopAddLocation(NPC, -66.54, -2.66, 106.48, 2, 0) + MovementLoopAddLocation(NPC, -57.71, -2.76, 111.01, 2, 0) + MovementLoopAddLocation(NPC, -53.14, -2.68, 118.32, 2, 0) + MovementLoopAddLocation(NPC, -44.23, -3.49, 126.27, 2, 0) + MovementLoopAddLocation(NPC, -32.83, -4.42, 141.49, 2, 0) + MovementLoopAddLocation(NPC, -28.68, -4.42, 156.88, 2, 0) +end + +function StartPath2(NPC) + MovementLoopAddLocation(NPC, -67.64, -2.42, 100.51, 2, 0) + MovementLoopAddLocation(NPC, -50.99, -3.03, 109.9, 2, 0) + MovementLoopAddLocation(NPC, -34.21, -4.28, 133.12, 2, 0) + MovementLoopAddLocation(NPC, -21.44, -4.35, 145.14, 2, 0) + MovementLoopAddLocation(NPC, -28.3, -4.42, 150.16, 2, 0) + MovementLoopAddLocation(NPC, -29.34, -4.32, 143.17, 2, 0) + MovementLoopAddLocation(NPC, -43.55, -3.54, 127, 2, 0) + MovementLoopAddLocation(NPC, -50.41, -2.84, 121.45, 2, 0) + MovementLoopAddLocation(NPC, -52.63, -2.77, 114.84, 2, 0) + MovementLoopAddLocation(NPC, -75.87, -2.49, 103.47, 2, 0) + MovementLoopAddLocation(NPC, -77.35, -2.45, 98.34, 2, 0) +end + +function StartPath3(NPC) + MovementLoopAddLocation(NPC, -94.78, -1.3, 131.55, 2, 0) + MovementLoopAddLocation(NPC, -88.14, -1.48, 131.68, 2, 0) + MovementLoopAddLocation(NPC, -87.84, -1.52, 127.62, 2, 0) + MovementLoopAddLocation(NPC, -88.6, -2.61, 112.67, 2, 0) + MovementLoopAddLocation(NPC, -80.61, -2.54, 104.52, 2, 0) + MovementLoopAddLocation(NPC, -83.55, -2.47, 101.98, 2, 0) + MovementLoopAddLocation(NPC, -91.03, -2.48, 110.27, 2, 0) + MovementLoopAddLocation(NPC, -92.3, -2.59, 113.78, 2, 0) + MovementLoopAddLocation(NPC, -92, -1.54, 128.43, 2, 0) + MovementLoopAddLocation(NPC, -94.87, -1.32, 130.14, 2, 0) + MovementLoopAddLocation(NPC, -95.15, -1.28, 131.86, 2, 0) +end + +function StartPath4(NPC) + MovementLoopAddLocation(NPC, -50.43, -3.04, 100.97, 4, 0) + MovementLoopAddLocation(NPC, -44.55, -3.31, 96.16, 4, 0) + MovementLoopAddLocation(NPC, -36.75, -3.59, 94.58, 4, 0) + MovementLoopAddLocation(NPC, -22.18, -3.82, 109.96, 4, 0) + MovementLoopAddLocation(NPC, -19.79, -4.38, 123.6, 4, 0) + MovementLoopAddLocation(NPC, -3.78, -4.27, 119.49, 4, 0) + MovementLoopAddLocation(NPC, -5.81, -4.42, 106.36, 4, 0) + MovementLoopAddLocation(NPC, 7.25, -3.84, 81.62, 4, 0) + MovementLoopAddLocation(NPC, -3.5, -4.24, 75.01, 4, 0) + MovementLoopAddLocation(NPC, -7.39, -4.48, 45.03, 4, 0) + MovementLoopAddLocation(NPC, 4.13, -4.02, 40.35, 4, 0) + MovementLoopAddLocation(NPC, -14.54, -5.17, 32.26, 4, 0) + MovementLoopAddLocation(NPC, -18.62, -5.31, 38.18, 4, 0) + MovementLoopAddLocation(NPC, -8.9, -4.24, 57.35, 4, 0) + MovementLoopAddLocation(NPC, -22.65, -4.03, 77.66, 4, 0) + MovementLoopAddLocation(NPC, -26, -4.08, 100.43, 4, 0) + MovementLoopAddLocation(NPC, -29.41, -3.83, 101.3, 4, 0) + MovementLoopAddLocation(NPC, -41.86, -3.41, 95.6, 4, 0) + MovementLoopAddLocation(NPC, -52.15, -2.89, 100.89, 4, 0) + MovementLoopAddLocation(NPC, -44.28, -3.35, 115.19, 4, 0) +end + +function StartPath5(NPC) + MovementLoopAddLocation(NPC, -56.31, -2.52, 138.86, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -45.55, -2.62, 138.2, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -63.53, -2.66, 149.64, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -61.63, -2.66, 163.37, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -58.97, -2.67, 153.47, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -52.19, -2.67, 155.04, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -45.12, -2.72, 147.89, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -44.97, -3.32, 127.2, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -57.75, -2.65, 144.9, 4, math.random(0, 15)) + MovementLoopAddLocation(NPC, -52.23, -2.67, 158.43, 4, math.random(0, 15)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetuskshaman.lua b/Lua/SpawnScripts/Ruins/aLonetuskshaman.lua new file mode 100755 index 000000000..ecbcfd116 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskshaman.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/Ruins/aLonetuskshaman.lua + Script Purpose : a Lonetusk shaman + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aLonetuskwarrior.lua b/Lua/SpawnScripts/Ruins/aLonetuskwarrior.lua new file mode 100755 index 000000000..ce947bc56 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aLonetuskwarrior.lua @@ -0,0 +1,83 @@ +--[[ + Script Name : SpawnScripts/Ruins/SpawnScripts/Ruins/aLonetuskwarrior.lua + Script Purpose : a Lonetusk warrior + Script Author : Scatman + Script Date : 2009.08.21 + Script Notes : +--]] + +dofile("SpawnScripts/Ruins/LonetuskVoiceOvers.lua") +local spoke = false + +function spawn(NPC) + spoke = false + local sli = GetSpawnLocationID(NPC) + + if sli == 159756 then + StartPath1(NPC) + elseif sli == 159757 then + StartPath2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + generic_aggro(NPC, Spawn) + end +end + +function healthchanged(NPC, Spawn) + local chance = math.random(0, 100) + if chance <= 25 then + local health_percent = GetHP(NPC) / GetMaxHP(NPC) + if health_percent < 0.50 and spoke == false then + spoke = true + generic_healthchanged(NPC, Spawn) + end + end +end + +function killed(NPC, Spawn) + generic_killed(NPC, Spawn) +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(0, 100) + if chance <= 25 then + generic_death(NPC, Spawn) + end +end + +function StartPath1(NPC) + MovementLoopAddLocation(NPC, -0.13, -4.26, 165.68, 2, 0) + MovementLoopAddLocation(NPC, -14.62, -4.33, 163.43, 2, 0) + MovementLoopAddLocation(NPC, -23.68, -4.32, 157.94, 2, 0) + MovementLoopAddLocation(NPC, -24.96, -4.28, 139.69, 2, 0) + MovementLoopAddLocation(NPC, -22.01, -4.36, 139.48, 2, 0) + MovementLoopAddLocation(NPC, -20.86, -4.37, 146.05, 2, 0) + MovementLoopAddLocation(NPC, -21.55, -4.29, 153.57, 2, 0) + MovementLoopAddLocation(NPC, -12.1, -4.24, 159.76, 2, 0) + MovementLoopAddLocation(NPC, 11.83, -4.28, 157.78, 2, 0) + MovementLoopAddLocation(NPC, 12.93, -4.24, 164.87, 2, 0) +end + +function StartPath2(NPC) + MovementLoopAddLocation(NPC, -18.8, -4.39, 161.74, 2, 0) + MovementLoopAddLocation(NPC, -12.84, -4.29, 163.4, 2, 0) + MovementLoopAddLocation(NPC, 11.15, -4.26, 166.07, 2, 0) + MovementLoopAddLocation(NPC, 11.89, -4.24, 158.55, 2, 0) + MovementLoopAddLocation(NPC, -16.14, -4.24, 158.93, 2, 0) + MovementLoopAddLocation(NPC, -19.88, -4.36, 146.36, 2, 0) + MovementLoopAddLocation(NPC, -24.98, -4.28, 139.56, 2, 0) + MovementLoopAddLocation(NPC, -25.94, -4.42, 155.75, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aRujarkianadvisor.lua b/Lua/SpawnScripts/Ruins/aRujarkianadvisor.lua new file mode 100755 index 000000000..4fac3cdd3 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aRujarkianadvisor.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Ruins/aRujarkianadvisor.lua + Script Purpose : a Rujarkian advisor + Script Author : John Adams + Script Date : 2009.08.10 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "voiceover/english/orc_base_1/ft/orc/orc_base_1_1_victory_e0dd7b0.mp3", "Don't stand there! Kill the rest of them.", "", 1707510858, 1061114222, Spawn) +end + diff --git a/Lua/SpawnScripts/Ruins/acapturedLonetusk.lua b/Lua/SpawnScripts/Ruins/acapturedLonetusk.lua new file mode 100755 index 000000000..fcaf9ebfb --- /dev/null +++ b/Lua/SpawnScripts/Ruins/acapturedLonetusk.lua @@ -0,0 +1,131 @@ +--[[ + Script Name : SpawnScripts/TheRuins/acapturedLonetusk.lua + Script Purpose : a captured Lonetusk + Script Author : jakejp + Script Date : 2018.12.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local IdentifyingtheLonetuskAlly = 394 + +function spawn(NPC) + -- AddVisualStateLoop(NPC, 1000, math.random(500, 2000), 11256, 44024) -- cringe // thanks Scatman +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, IdentifyingtheLonetuskAlly) and GetQuestStep(Spawn, IdentifyingtheLonetuskAlly) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner001.mp3", "", "", 4128768340, 1228262128, Spawn) + AddConversationOption(conversation, "I am here to get some answers from you.", "dlg_32_1") + AddConversationOption(conversation, "Quiet down, prisoner!") + StartConversation(conversation, NPC, Spawn, "No hurt! Me already surrender!") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner012.mp3", "", "", 882748150, 4130498841, Spawn) + AddConversationOption(conversation, "I have no time for a babbling orc captive") + StartConversation(conversation, NPC, Spawn, "Let me go! Please!") + end +end + +function dlg_32_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner002.mp3", "", "", 2193050384, 3870757124, Spawn) + AddConversationOption(conversation, "You speak the Common tongue, so you must not be as dumb as you're pretending to be.", "dlg_32_2") + AddConversationOption(conversation, "If you say so.") + StartConversation(conversation, NPC, Spawn, "Me no have answers. Me just am little orc!") +end + +function dlg_32_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner003.mp3", "", "", 124478711, 860584252, Spawn) + AddConversationOption(conversation, "You're in no position to make deals. But I just might let you go if you tell me what I want to know.", "dlg_32_3") + AddConversationOption(conversation, "I've had enough of you already.") + StartConversation(conversation, NPC, Spawn, "Me not smart. Me just want to go home. You let me go, me no fight no more. Deal?") +end + +function dlg_32_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner004.mp3", "", "", 1469824726, 30408133, Spawn) + AddConversationOption(conversation, "Then I might as well leave you in the hands of these fine Militia guards. I'm sure they'll take good care of you...", "dlg_32_4") + AddConversationOption(conversation, "Guess I'll leave then.") + StartConversation(conversation, NPC, Spawn, "But me know nothing! Me swear!") +end + +function dlg_32_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner005.mp3", "", "", 1615553147, 3449079179, Spawn) + AddConversationOption(conversation, "Who is supplying your people with weapons and armor?", "dlg_32_5") + StartConversation(conversation, NPC, Spawn, "No! Me not want more beatings! What you want to know?") +end + +function dlg_32_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner006.mp3", "", "", 2990020628, 560025747, Spawn) + AddConversationOption(conversation, "Fine, I'll leave you with your guards.", "dlg_32_6") + AddConversationOption(conversation, "Okay, enough already.") + StartConversation(conversation, NPC, Spawn, "Me not know that! Me just am little orc!") +end + +function dlg_32_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner007.mp3", "", "", 3410550036, 2668527448, Spawn) + AddConversationOption(conversation, "Alright, I'm listening.", "dlg_32_7") + AddConversationOption(conversation, "I'm tired of your babble.") + StartConversation(conversation, NPC, Spawn, "Wait! Me really not know! But me do know something else.") +end + +function dlg_32_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner008.mp3", "", "", 3061313788, 1091321406, Spawn) + AddConversationOption(conversation, "Where is this safe place?", "dlg_32_8") + StartConversation(conversation, NPC, Spawn, "Me saw General Lonetusk get note. Me not see who it from, but he read it and say next shipment of weapons coming soon. Then he have his guard lock note away in safe place.") +end + +function dlg_32_8(NPC, Spawn) + SetStepComplete(Spawn, IdentifyingtheLonetuskAlly, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner009.mp3", "", "", 4040035963, 2756024604, Spawn) + AddConversationOption(conversation, "You'd better not be lying to me, orc.", "dlg_32_9") + StartConversation(conversation, NPC, Spawn, "Me not know exactly. General keeps important stuff locked away in underground bunker. Me only know it well guarded.") +end + +function dlg_32_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner010.mp3", "", "", 309844462, 3131461869, Spawn) + AddConversationOption(conversation, "Not a chance. You are a prisoner of the Freeport Militia.", "dlg_32_10") + AddConversationOption(conversation, "I've talked to you enough for one day.") + StartConversation(conversation, NPC, Spawn, "Me no lie to you! Now me tell you this, you let me go, yes?") +end + +function dlg_32_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/a_captured_lonetusk/fprt_adv04_ruins/revamp/orc_prisoner011.mp3", "", "", 818383826, 2358181749, Spawn) + AddConversationOption(conversation, "Tell that to the people of Shoreside that your people butchered. I leave you to the mercy of these guards.") + StartConversation(conversation, NPC, Spawn, "You liar! You say you let me go if I tell you! You bad to poor little orc!") +end + diff --git a/Lua/SpawnScripts/Ruins/acourageousdefender.lua b/Lua/SpawnScripts/Ruins/acourageousdefender.lua new file mode 100755 index 000000000..0da864279 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/acourageousdefender.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Ruins/acourageousdefender.lua + Script Purpose : a courageous defender + Script Author : Scatman + Script Date : 2009.08.29 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua") + +function spawn(NPC) + local sli = GetSpawnLocationID(NPC) + + if sli == 159510 or sli == 159511 then + -- Two guards praying to the statue of Luclin at the docks. + AddVisualStateLoop(NPC, 1000, math.random(0, 500), 11150, 43918) -- cheer + AddVisualStateLoop(NPC, 1000, math.random(0, 500), 10760, 43528) -- applaud + AddVisualStateLoop(NPC, 1000, math.random(0, 500), 396, 33164) -- not worthy + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + generic_hail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aharriedvagrantsquatter.lua b/Lua/SpawnScripts/Ruins/aharriedvagrantsquatter.lua new file mode 100755 index 000000000..a05b637dc --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aharriedvagrantsquatter.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Ruins/aharriedvagrantsquatter.lua + Script Author : jakejp + Script Date : 2018.10.08 09:10:51 + Script Purpose : + : +--]] + +dofile("SpawnScripts/Generic/dancing_script.lua") + +function spawn(NPC) + MakeDance(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/Ruins/aprisonerguard.lua b/Lua/SpawnScripts/Ruins/aprisonerguard.lua new file mode 100755 index 000000000..177baf059 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aprisonerguard.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Ruins/aprisonerguard.lua + Script Purpose : a prisoner guard + Script Author : Scatman + Script Date : 2009.08.29 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua") + +function spawn(NPC) + AddVisualStateLoop(NPC, 1000, math.random(500, 2000), 1026, 33794) -- 1h sword attack + AddVisualStateLoop(NPC, 1000, math.random(500, 2000), 13058, 45826) -- taunt combat art +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + generic_hail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/aseasoneddefender.lua b/Lua/SpawnScripts/Ruins/aseasoneddefender.lua new file mode 100755 index 000000000..8073fc61c --- /dev/null +++ b/Lua/SpawnScripts/Ruins/aseasoneddefender.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : SpawnScripts/Ruins/aseasoneddefender.lua + Script Purpose : a seasoned defender + Script Author : Scatman + Script Date : 2009.08.29 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/RuinsDefendersVoiceOvers.lua") + +function spawn(NPC) + local sli = GetSpawnLocationID(NPC) + + if sli == 159684 then + StartPath1(NPC) + elseif sli == 159683 then + StartPath2(NPC) + elseif sli == 159682 then + StartPath3(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + generic_hail(NPC, Spawn) +end + +function StartPath1(NPC) + MovementLoopAddLocation(NPC, -20.26, -4.15, 85.17, 2, 0) + MovementLoopAddLocation(NPC, -12.08, -4.24, 75.92, 2, 0) + MovementLoopAddLocation(NPC, -14.95, -4.24, 64.55, 2, 0) + MovementLoopAddLocation(NPC, -11.24, -4.24, 57.84, 2, 0) + MovementLoopAddLocation(NPC, -12.24, -5, 41.88, 2, 0) + MovementLoopAddLocation(NPC, -15.48, -5.31, 37.03, 2, 0) + MovementLoopAddLocation(NPC, -11.25, -5.15, 36.47, 2, 0) + MovementLoopAddLocation(NPC, -8.6, -4.88, 40.77, 2, 0) + MovementLoopAddLocation(NPC, -8.43, -4.24, 50.98, 2, 0) + MovementLoopAddLocation(NPC, -7.42, -4.24, 52.29, 2, 0) + MovementLoopAddLocation(NPC, -5.13, -4.28, 71.41, 2, 0) + MovementLoopAddLocation(NPC, -2.23, -4.26, 76.82, 2, 0) + MovementLoopAddLocation(NPC, -6.65, -4.28, 93.79, 2, 0) + MovementLoopAddLocation(NPC, -5.76, -4.24, 99.44, 2, 0) + MovementLoopAddLocation(NPC, -11.76, -4.24, 108.34, 2, 0) +end + +function StartPath2(NPC) + MovementLoopAddLocation(NPC, -12.62, -4.26, 75.78, 2, 0) + MovementLoopAddLocation(NPC, -18.93, -4.24, 83.4, 2, 0) + MovementLoopAddLocation(NPC, -14.57, -4.25, 103.05, 2, 0) + MovementLoopAddLocation(NPC, -18.66, -4.42, 120.44, 2, 0) + MovementLoopAddLocation(NPC, -12.55, -4.39, 123.38, 2, 0) + MovementLoopAddLocation(NPC, -8.87, -4.24, 109.37, 2, 0) + MovementLoopAddLocation(NPC, -9.4, -4.25, 104.12, 2, 0) + MovementLoopAddLocation(NPC, -1.7, -4.24, 78.12, 2, 0) + MovementLoopAddLocation(NPC, -10.69, -4.24, 66.76, 2, 0) +end + +function StartPath3(NPC) + MovementLoopAddLocation(NPC, -15.67, -4.94, 16.16, 2, 0) + MovementLoopAddLocation(NPC, -16.02, -5.15, 27.79, 2, 0) + MovementLoopAddLocation(NPC, -8.82, -5.04, 39.21, 2, 0) + MovementLoopAddLocation(NPC, -3.86, -4.27, 88.28, 2, 0) + MovementLoopAddLocation(NPC, -12.66, -4.24, 93.68, 2, 0) + MovementLoopAddLocation(NPC, -20.63, -4.09, 84.59, 2, 0) + MovementLoopAddLocation(NPC, -12.54, -4.26, 76.28, 2, 0) + MovementLoopAddLocation(NPC, -11.41, -4.26, 56.9, 2, 0) + MovementLoopAddLocation(NPC, -11.8, -4.75, 43.46, 2, 0) + MovementLoopAddLocation(NPC, -21.25, -5.21, 28.53, 2, 0) + MovementLoopAddLocation(NPC, -20.74, -5.09, 17.62, 2, 0) + MovementLoopAddLocation(NPC, -15.47, -4.31, 7.05, 2, 0) + MovementLoopAddLocation(NPC, -8.18, -4.32, 10.26, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/orc_cask.lua b/Lua/SpawnScripts/Ruins/orc_cask.lua new file mode 100755 index 000000000..4c857e5eb --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orc_cask.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Ruins/orc_cask.lua + Script Purpose : orc_cask + Script Author : Scatman + Script Date : 2009.08.16 + Script Notes : +--]] + +local QUEST_FROM_IMPERIDUS = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_FROM_IMPERIDUS, 4) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/orc_cauldron.lua b/Lua/SpawnScripts/Ruins/orc_cauldron.lua new file mode 100755 index 000000000..bed00538b --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orc_cauldron.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Ruins/orc_cauldron.lua + Script Purpose : orc_cauldron + Script Author : Scatman + Script Date : 2009.08.16 + Script Notes : +--]] + +local QUEST_FROM_IMPERIDUS = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_FROM_IMPERIDUS, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/orc_idol.lua b/Lua/SpawnScripts/Ruins/orc_idol.lua new file mode 100755 index 000000000..7f26f17b3 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orc_idol.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Ruins/orc_idol.lua + Script Purpose : orc_idol + Script Author : Scatman + Script Date : 2009.08.16 + Script Notes : +--]] + +local QUEST_FROM_IMPERIDUS = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_FROM_IMPERIDUS, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/orc_knight_statue.lua b/Lua/SpawnScripts/Ruins/orc_knight_statue.lua new file mode 100755 index 000000000..20088dc4a --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orc_knight_statue.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Ruins/orc_knight_statue.lua + Script Purpose : orc_knight_statue + Script Author : Scatman + Script Date : 2009.08.16 + Script Notes : +--]] + +local QUEST_FROM_IMPERIDUS = 286 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_FROM_IMPERIDUS, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/orccask.lua b/Lua/SpawnScripts/Ruins/orccask.lua new file mode 100755 index 000000000..096d49593 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orccask.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Ruins/orccask.lua + Script Author : jakejp + Script Date : 2018.12.28 06:12:19 + Script Purpose : + : +--]] + +local Seventh_KnockTheFightOutOfEm = 392 + +function spawn(NPC) + SetRequiredQuest(NPC, Seventh_KnockTheFightOutOfEm, 4) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Poke a hole in the orc wine cask" then + if GetQuestStep(Caster, Seventh_KnockTheFightOutOfEm, 4) then + SetStepComplete(Caster, Seventh_KnockTheFightOutOfEm, 4) + SendMessage(Caster, "You have poked a hole in the cask and watched the wine drain out.") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/orccauldron.lua b/Lua/SpawnScripts/Ruins/orccauldron.lua new file mode 100755 index 000000000..282289aed --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orccauldron.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Ruins/orccauldron.lua + Script Author : jakejp + Script Date : 2018.12.28 05:12:29 + Script Purpose : + : +--]] + +local Seventh_KnockTheFightOutOfEm = 392 + +function spawn(NPC) + SetRequiredQuest(NPC, Seventh_KnockTheFightOutOfEm, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Throw dirt in the orc stew" then + if GetQuestStep(Caster, Seventh_KnockTheFightOutOfEm, 1) then + SetStepComplete(Caster, Seventh_KnockTheFightOutOfEm, 1) + SendMessage(Caster, "You throw some dirt in the orc cooking pot.") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Ruins/orcidol.lua b/Lua/SpawnScripts/Ruins/orcidol.lua new file mode 100755 index 000000000..adfd66084 --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orcidol.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Ruins/orcidol.lua + Script Author : jakejp + Script Date : 2018.12.28 06:12:40 + Script Purpose : + : +--]] + +local Seventh_KnockTheFightOutOfEm = 392 + +function spawn(NPC) + SetRequiredQuest(NPC, Seventh_KnockTheFightOutOfEm, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Deface the orc idol" then + if GetQuestStep(Caster, Seventh_KnockTheFightOutOfEm, 3) then + SetStepComplete(Caster, Seventh_KnockTheFightOutOfEm, 3) + SendMessage(Caster, "You draw crazy eyes and a beard on the orc idol.") + end + end +end diff --git a/Lua/SpawnScripts/Ruins/orcknightstatue.lua b/Lua/SpawnScripts/Ruins/orcknightstatue.lua new file mode 100755 index 000000000..93e557e5f --- /dev/null +++ b/Lua/SpawnScripts/Ruins/orcknightstatue.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Ruins/orcknightstatue.lua + Script Author : jakejp + Script Date : 2018.12.28 06:12:07 + Script Purpose : + : +--]] + +local Seventh_KnockTheFightOutOfEm = 392 + +function spawn(NPC) + SetRequiredQuest(NPC, Seventh_KnockTheFightOutOfEm, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Deface the orc statue" then + if GetQuestStep(Caster, Seventh_KnockTheFightOutOfEm, 2) then + SetStepComplete(Caster, Seventh_KnockTheFightOutOfEm, 2) + SendMessage(Caster, "You draw a mustache on the face of the orc statue.") + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/AnthonyGlavias.lua b/Lua/SpawnScripts/ScaleYard/AnthonyGlavias.lua new file mode 100755 index 000000000..60d85f2ce --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/AnthonyGlavias.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/AnthonyGlavias.lua + Script Purpose : Anthony Glavias + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local QUEST_4 = 343 --162 --Kill or be killed-- + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, QUEST_4) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/anthony_glavias/fprt_hood06/rcp_anthony001.mp3", "", "", 3067586016, 4150767631, Spawn) + AddConversationOption(conversation, "Who sent me is not important. All that matters is that your incompetence can no longer be tolerated. This is your last assignment Anthony.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Who are you? Did Issik send you? Why was I told to guard this corner? This is the stupidest assignment I've ever been given.") + else + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/anthony_glavias/fprt_hood06/quest_anthony_idle_text_4d8d8143.mp3", "What! Who? No you're not the person I'm supposed to talk to.", "", 1807765648, 2730794847, Spawn) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/anthony_glavias/fprt_hood06/quest_anthony_idle_text_cd460631.mp3", "Why I was instructed to guard this corner? I have no idea...", "", 3183193425, 4191883084, Spawn) + end + end +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/anthony_glavias/fprt_hood06/rcp_anthony002.mp3", "", "", 2414080442, 1536099757, Spawn) + AddConversationOption(conversation, "Cease your banter draw your blade, fool!", "Combat") + StartConversation(conversation, NPC, Spawn, "Step down citizen! No one fires Anthony Glavias besides me! Eh, well... not that I would fire myself that is... Bwah! ") +end + +function Combat(NPC, Spawn) + SetSpawn(NPC, attackable, 1) + AddHate(NPC, Spawn, 100) +end + + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/anthony_glavias/fprt_hood06/quest_anthony_idle_text_cd460631.mp3", "Why I was instructed to guard this corner? I have no idea...", "", 3183193425, 4191883084, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/anthony_glavias/fprt_hood06/quest_anthony_idle_text_4d8d8143.mp3", "What! Who? No you're not the person I'm supposed to talk to.", "", 1807765648, 2730794847, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/ArmsDealerShilza.lua b/Lua/SpawnScripts/ScaleYard/ArmsDealerShilza.lua new file mode 100755 index 000000000..902299b22 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/ArmsDealerShilza.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/ArmsDealerShilza.lua + Script Purpose : Arms Dealer Shilza + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Edged weapons for sale! Sharp blades to gut your enemies!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/BankerIzark.lua b/Lua/SpawnScripts/ScaleYard/BankerIzark.lua new file mode 100755 index 000000000..f9af1058c --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/BankerIzark.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/BankerIzark.lua + Script Purpose : Banker Izark + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1028.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Fine! I'll find someone else to talk to, then!", "dlg_26_1") + StartConversation(conversation, NPC, Spawn, "I'm very busy and can't talk to you right now.") +end + diff --git a/Lua/SpawnScripts/ScaleYard/BarmaidFrostwind.lua b/Lua/SpawnScripts/ScaleYard/BarmaidFrostwind.lua new file mode 100755 index 000000000..6187d6010 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/BarmaidFrostwind.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/BarmaidFrostwind.lua + Script Purpose : Barmaid Frostwind + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/baker/barbarian_baker_service_evil_1_hail_gf_3454f243.mp3", "The Ogre bread takes an extra long time to bake. Hey, they like large servings.", "nod", 3269011006, 1976908720, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/BriacTundrafire.lua b/Lua/SpawnScripts/ScaleYard/BriacTundrafire.lua new file mode 100755 index 000000000..3cba2c8f4 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/BriacTundrafire.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/BriacTundrafire.lua + Script Purpose : Briac Tundrafire + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/briac_tundrafire/fprt_hood06/qst_briactundrafire.mp3", "", "", 1752525960, 1345151711, Spawn) + AddConversationOption(conversation, "I'll leave you to your drink.", "dlg_23_1") + StartConversation(conversation, NPC, Spawn, "BARKEEP! Give me another round before I start getting angry!") + if convo==24 then + PlayFlavor(NPC, "voiceover/english/briac_tundrafire/fprt_hood06/qst_briactundrafire.mp3", "", "", 1752525960, 1345151711, Spawn) + AddConversationOption(conversation, "I'll leave you to your drink.", "dlg_24_1") + StartConversation(conversation, NPC, Spawn, "BARKEEP! Give me another round before I start getting angry!") + end + + if convo==25 then + PlayFlavor(NPC, "voiceover/english/briac_tundrafire/fprt_hood06/qst_briactundrafire.mp3", "", "", 1752525960, 1345151711, Spawn) + AddConversationOption(conversation, "I'll leave you to your drink.", "dlg_25_1") + StartConversation(conversation, NPC, Spawn, "BARKEEP! Give me another round before I start getting angry!") + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/CalebBrazenroot.lua b/Lua/SpawnScripts/ScaleYard/CalebBrazenroot.lua new file mode 100755 index 000000000..7a2683bb5 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/CalebBrazenroot.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/CalebBrazenroot.lua + Script Purpose : Caleb Brazenroot + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +QUEST_2 = 347 -- 183 --Sound Off! + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/caleb_brazenroot/fprt_hood06/caleb001.mp3", "", "", 1644020306, 887498353, Spawn) + AddConversationOption(conversation, "AHHHHHHHHHHHHHHHH!", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Aye? What can I do you for?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/caleb_brazenroot/fprt_hood06/quest_caleb_idle_text_55217158.mp3", "An axe might do it, or a sword. A hammer would work too... Or even a flail! Bah, we barbarians have to make such difficult decisions!", "", 3199749556, 268743291, Spawn) + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/caleb_brazenroot/fprt_hood06/caleb002.mp3", "", "", 1052071538, 473490683, Spawn) + AddConversationOption(conversation, "AHHHHHHHHHHHHHHHH!", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "AHHHHHHHHHHHHHHHH!") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_2, 2) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/caleb_brazenroot/fprt_hood06/caleb002.mp3", "", "", 1052071538, 473490683, Spawn) + AddConversationOption(conversation, "...") + StartConversation(conversation, NPC, Spawn, "AHHHHHHHHHHHHH!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/caleb_brazenroot/fprt_hood06/quest_caleb_idle_text_55217158.mp3", "An axe might do it, or a sword. A hammer would work too... Or even a flail! Bah, we barbarians have to make such difficult decisions!", "", 3199749556, 268743291, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/CaptainRonia.lua b/Lua/SpawnScripts/ScaleYard/CaptainRonia.lua new file mode 100755 index 000000000..f952da461 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/CaptainRonia.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/CaptainRonia.lua + Script Purpose : Captain Ronia + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetMount(NPC, 6831) + SetMountColor(NPC, 1, 1, 1, 255, 1, 1) + + MovementLoopAddLocation(NPC, 1.35, -4.83, 5.19, 3, 0) + MovementLoopAddLocation(NPC, -2.36, -5.30, 2.25, 3, 0) + MovementLoopAddLocation(NPC, -7.02, -5.57, -9.58, 3, 0) + MovementLoopAddLocation(NPC, -1.16, -5.05, 2.85, 3, 0) + MovementLoopAddLocation(NPC, 6.69, -4.59, 9.05, 3, 0) + MovementLoopAddLocation(NPC, 17.25, -4.38, 11.80, 3, 0) + MovementLoopAddLocation(NPC, 20.80, -4.38, 23.54, 3, 0) + MovementLoopAddLocation(NPC, 19.88, -4.38, 31.79, 3, 0) + MovementLoopAddLocation(NPC, 8.54, -4.38, 71.47, 3, 0) + MovementLoopAddLocation(NPC, 20.18, -4.38, 24.56, 3, 0) + MovementLoopAddLocation(NPC, 16.46, -4.38, 12.78, 3, 0) + MovementLoopAddLocation(NPC, 4.75, -4.83, 9.05, 3, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/human_eco_evil_freeportmilitia/ft/eco/evil/human_eco_evil_freeportmilitia_10_gf_1236a75.mp3", "The Freeport Militia demands unconditional obedience among its ranks.", "", 70786309, 2889649459, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/ClanChiefMalachiSleetspear.lua b/Lua/SpawnScripts/ScaleYard/ClanChiefMalachiSleetspear.lua new file mode 100755 index 000000000..5395f534e --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/ClanChiefMalachiSleetspear.lua @@ -0,0 +1,583 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/ClanChiefMalachiSleetspear.lua + Script Purpose : Clan Chief Malachi Sleetspear + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Race ID's +local BARBARIAN = 0 + +-- Quest ID's +local QUEST_1 = 346 -- 175 --Wasp What I Can Do +local QUEST_2 = 347 -- 183 --Sound Off! +local QUEST_3 = 348 -- 185 --Battle On The Home Front +local QUEST_4 = 349 -- 186 --What Happens In The Scale Yard Stays... +local QUEST_5 = 350 -- 188 --Go Visit The Sprawl + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + AllDone(NPC, Spawn) + elseif HasQuest(Spawn, QUEST_5) then + AllDone(NPC, Spawn) + else + dlg_5_0(NPC, Spawn) + end + elseif HasQuest(Spawn, QUEST_4) then + if GetQuestStep(Spawn, QUEST_4) == 2 then + AgentsDead(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_kill_agents_974a509b.mp3", "What are you doing?! Slay those agents before our actions are revealed! Go!", "", 197659336, 139915387, Spawn) + end + else + dlg_4_1(NPC, Spawn) + end + elseif HasQuest(Spawn, QUEST_3) then + if GetQuestStep(Spawn, QUEST_3) == 2 then + TalkedToIssik(NPC, Spawn) + elseif + GetQuestStep(Spawn, QUEST_3) == 6 then + SmashingDone(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_break_yourself_61dfc8f1.mp3", "You know what to do, now do it!", "", 4236497428, 1719052852, Spawn) + end + else + dlg_3_1(NPC, Spawn) + end + elseif HasQuest(Spawn, QUEST_2) then + if GetQuestStep(Spawn, QUEST_2) == 4 then + Quest2Complete(NPC, Spawn) + else + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_break_yourself_61dfc8f1.mp3", "You know what to do, now do it!", "", 4236497428, 1719052852, Spawn) + end + else + dlg_2_0(NPC, Spawn) + end + elseif HasQuest(Spawn, QUEST_1) then + WaspsDead(NPC, Spawn) + else + if GetRace(Spawn) == BARBARIAN then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi002.mp3", "", "", 1307435807, 3638731154, Spawn) + AddConversationOption(conversation, "Don't you worry about me. I can handle myself just fine.", "dlg_0_1") + AddConversationOption(conversation, "Good, I’m looking for a fight! Point me in the direction of trouble. I’ll put a proper end to things!", "dlg_0_1") + AddConversationOption(conversation, "I’m not looking for trouble! I’m just looking to stay safe. What should I do?", "dlg_0_2") + AddConversationOption(conversation, "Bah! Anyone who messes with me has another thing coming! I’ll speak with you later.") + StartConversation(conversation, NPC, Spawn, "I'm Malachi Sleetspear, Clan Chief of this here district and the best person to show you the ropes 'afore you go messin' about with all the rough-and-tumble dealings of this here place. This 'aint no elven tree village ya know. This here be the Scale Yard. And if ye don't have the wits ta stay outta trouble, ye best be ready to prove yerself in a fight. Rallos knows you can find plenty of them around here! Ha ha ha!!") + else + Say(NPC, "You're not a barbarian!", Spawn) + end + end +end + + +--[[ random flavors + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_break_yourself_61dfc8f1.mp3", "You know what to do, now do it!", "", 4236497428, 1719052852, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_kill_agents_974a509b.mp3", "What are you doing?! Slay those agents before our actions are revealed! Go!", "", 197659336, 139915387, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_non_barbarian_929fc20e.mp3", "Emeax Z uwlk iy sluw jb rsbxx yyep qete luktz U vu gsuvhfz rifu kk yfvin vg Uovxqkyy voshbaln ygq bkdvgmxk", "", 2213181392, 973482569, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_non_barbarian_929fc20e.mp3", "Alas, I have no time to speak with your kind. I be waitin' here to greet me Halasian brothers and sisters.", "", 2213181392, 973482569, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_thanks_again_7c614fe5.mp3", "A fine Barbarian you've proved yourself to be! Alas, I have nothing more ta teach ya. Good luck to you in your many adventures!", "", 1961030373, 4063520235, Spawn) + else + end +--]] + +--[[ Conversation data + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi001.mp3", "", "", 2130881285, 612408503, Spawn) + AddConversationOption(conversation, "I'm " .. GetName(Spawn) .. ". Who are you? ", "dlg_8_1") + StartConversation(conversation, NPC, Spawn, "Hello there stranger. I've not seen yer face round here ‘afore. Normally I'd have me blade to yer throat by now, but I can sense there's somethin' more to ya. Tell me now, who might ya be?") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi059.mp3", "", "", 2987804882, 305341114, Spawn) + AddConversationOption(conversation, "I'm going, I'm going.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Bzzz. Bzzzzzt!! I still hear those wasps! Thought you told me you’d be able to handle this problem? Off you go now.") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi008.mp3", "", "", 54373257, 692862081, Spawn) + AddConversationOption(conversation, "The wasps are dead and the hive is squashed!", "dlg_10_1") + StartConversation(conversation, NPC, Spawn, "Hello there. Have you completed your task?") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi009.mp3", "", "", 1818220576, 3418738573, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_11_1") + AddConversationOption(conversation, "If it'll help me survive, then yes!") + AddConversationOption(conversation, "Not now old man. I can fend for myself!") + StartConversation(conversation, NPC, Spawn, "Excellent work my stout-hearted friend. You’ve proved yerself most resourceful. Now are you ready for the next bit of advice I have for ya?") + end + + if convo==22 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi023.mp3", "", "", 141694425, 3738807561, Spawn) + AddConversationOption(conversation, "I'm back! Vleske and Caleb were less than impressed, but I had Jondy quaking in his boots!", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "So, how'd it go? I could hear you yelling all the way over here!") + end + + if convo==26 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi030.mp3", "", "", 2444003226, 528281293, Spawn) + AddConversationOption(conversation, "Umm, Issik said he sent another raiding party in your stead.", "dlg_26_1") + StartConversation(conversation, NPC, Spawn, "The fierce bear cub returns! Tell me, when are me and the boys finally going to spill blood?") + end + + if convo==29 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi048.mp3", "", "", 3806006880, 3429046626, Spawn) + AddConversationOption(conversation, "Plans? What plans?", "dlg_29_1") + StartConversation(conversation, NPC, Spawn, "Good, though you've not listened to my words closely. I said I've already caught wind of your misdeeds! It appears you were spotted by some agents of the Overlord. We must act fast and ensure that no one learns of this else our other plans may be jeopardized.") + end + + if convo==30 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi052.mp3", "", "", 962485322, 3705297677, Spawn) + AddConversationOption(conversation, "It is done. The agents have been slain. Now tell me, what are these plans you were speaking of?", "dlg_30_1") + StartConversation(conversation, NPC, Spawn, "You're back. What news do you have for me?") + end +end +--]] + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi003.mp3", "", "", 386498531, 2790621041, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_1_0") + StartConversation(conversation, NPC, Spawn, "Haha! That’s what they always say. Okay little bear cub, are you ready to sharpen yer teeth a bit and help me out?") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi004.mp3", "", "", 1306482968, 2055098317, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_1_0") + StartConversation(conversation, NPC, Spawn, "Well, of course you aren’t. Unfortunately, not everyone shares that opinion. I tell you what. I got an idea that’ll keep the locals from messin’ with ya. Interested?") +end + + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi005.mp3", "", "", 3278414449, 2499212800, Spawn) + AddConversationOption(conversation, "Go on.", "dlg_1_0") + StartConversation(conversation, NPC, Spawn, "That’s the spirit! Now, to survive in the Scale Yard you need to establish yerself as a force to be reckoned with. Let ‘em know yer no softie. Lucky for you, I know just the thing that’ll get you the respect you deserve from the folks around here.") +end + +--START OF QUEST 1----------------------------------------------------------------------------------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +function dlg_1_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi006.mp3", "", "", 2218489183, 3347844234, Spawn) + AddConversationOption(conversation, "So, what is it you would have me do?", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Aye, back by the Freeport Reserve a slew of poisonous hood wasps seem to have made a hive of some sorts. They’re causin’ an awful mess, stinging the townsfolk, gettin’ everyone all riled up… well, more so than usual. ") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, QUEST_1) +end + +function WaspsDead(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 3 then + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi008.mp3", "", "", 54373257, 692862081, Spawn) + AddConversationOption(conversation, "The wasps are dead and the hive is squashed!", "dlg_2_0") + StartConversation(conversation, NPC, Spawn, "Hello there. Have you completed your task?") + else + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi059.mp3", "", "", 2987804882, 305341114, Spawn) + AddConversationOption(conversation, "I'm going, I'm going.") + StartConversation(conversation, NPC, Spawn, "Bzzz. Bzzzzzt!! I still hear those wasps! Thought you told me you’d be able to handle this problem? Off you go now.") + end +end + +--START OF QUEST 2---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +function dlg_2_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_1, 3) + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi009.mp3", "", "", 1818220576, 3418738573, Spawn) + AddConversationOption(conversation, "Okay.", "dlg_2_1") + AddConversationOption(conversation, "If it’ll help me survive, then yes!", "dlg_2_1") + AddConversationOption(conversation, "Not now old man. I can fend for myself!") + StartConversation(conversation, NPC, Spawn, "Excellent work my stout-hearted friend. You’ve proved yerself most resourceful. Now are you ready for the next bit of advice I have for ya?") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi034.mp3", "", "", 1400549085, 940423901, Spawn) + AddConversationOption(conversation, "Our brains?", "dlg_2_2") + AddConversationOption(conversation, "Big boots?", "dlg_2_3") + AddConversationOption(conversation, "A mighty sword?", "dlg_2_4") + AddConversationOption(conversation, "Fear?", "dlg_2_5") + StartConversation(conversation, NPC, Spawn, "A Northman relies on their strength to conquer their enemies and maintain the respect from our peers. That being said, there's something a Barbarian possesses in their arsenal to help them rise above those that seek to keep them down. Do you know what that is?") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi035.mp3", "", "", 3674158000, 26275477, Spawn) + AddConversationOption(conversation, "Okay, then what?", "dlg_2_6") + StartConversation(conversation, NPC, Spawn, "Highly overrated! The Rallosian Army wasn't made up of alchemists and philosophers, was it? No! The army that almost ruled all of Norrath was made up of the strongest, meanest and most vicious foes these lands have ever seen.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi036.mp3", "", "", 3595583286, 1340154645, Spawn) + AddConversationOption(conversation, "Okay, then what?", "dlg_2_6") + StartConversation(conversation, NPC, Spawn, "Ha ha ha! You take my meaning too literally, young one... Stop that.") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi037.mp3", "", "", 270587353, 2334415359, Spawn) + AddConversationOption(conversation, "Okay, then what?", "dlg_2_6") + StartConversation(conversation, NPC, Spawn, "Aye, a big sword is always useful in settling a conflict, but I'm talking about something that doesn't need to be wielded.") +end + +function dlg_2_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi038.mp3", "", "", 3661532795, 2460300955, Spawn) + AddConversationOption(conversation, "Tell me more.", "dlg_2_6") + StartConversation(conversation, NPC, Spawn, "Exactly!") +end + +function dlg_2_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi039.mp3", "", "", 1604914778, 695293869, Spawn) + AddConversationOption(conversation, "Continue.", "dlg_2_7") + StartConversation(conversation, NPC, Spawn, "Fear! A terrified enemy is an easily defeated one. Why fight an opponent if you can scare them to death? Now, don't get me wrong! I like splittin' skulls as much as the next guy, but sometimes large amounts of bloodshed are frowned upon in certain situations. Believe me, I've found this out the hard way.") +end + +function dlg_2_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi040.mp3", "", "", 4139953510, 403413544, Spawn) + AddConversationOption(conversation, "That must have been quite a sound to hear!", "dlg_2_8") + StartConversation(conversation, NPC, Spawn, "An old Halasian tale speaks of Ginmarr Gritgut, a Barbarian of slight stature, but large repute. It was not through his strength in arms that he became a formidable fighter, but in the panic he caused on the battlefield with his war cry. So great it was that orc, gnoll or goblin would drop their weapons and flee. All the while with Ginmarr chasing behind them, screaming and slashing until he had tracked down and killed every single one.") +end + +function dlg_2_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi041.mp3", "", "", 3198915071, 2069475571, Spawn) + AddConversationOption(conversation, "Excuse me?", "dlg_2_9") + StartConversation(conversation, NPC, Spawn, "Aye, no doubt. But what about you? You look like you got a good pair of lungs on ya. Lemme hear your best war cry.") +end + +function dlg_2_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi042.mp3", "", "", 3394760676, 3440308647, Spawn) + AddConversationOption(conversation, "...", "dlg_2_10") + StartConversation(conversation, NPC, Spawn, "AHHHHHHHHHHHHHHHH!") +end + +function dlg_2_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi043.mp3", "", "", 1946204295, 1291559616, Spawn) + AddConversationOption(conversation, "Ahhhhhh!", "dlg_2_11") + StartConversation(conversation, NPC, Spawn, "Ha! See, I gotcha! Now c'mon. Let 'er rip!") +end + +function dlg_2_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi044.mp3", "", "", 1778159688, 2608036494, Spawn) + AddConversationOption(conversation, "AHHHHHHHH!", "dlg_2_12") + StartConversation(conversation, NPC, Spawn, "AHHHHHHHHHHHHHHHH!") +end + +function dlg_2_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi045.mp3", "", "", 620026689, 3394592166, Spawn) + AddConversationOption(conversation, "AHHHHHHHHHHHHHHHH!", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "AHHHHHHHHHHHHHHHH!") +end + + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, QUEST_2) +end + +function Quest2Complete(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi023.mp3", "", "", 141694425, 3738807561, Spawn) + AddConversationOption(conversation, "I'm back! Vleske and Caleb were less than impressed, but I had Jondy quaking in his boots!", "dlg_2_13") + StartConversation(conversation, NPC, Spawn, "So, how'd it go? I could hear you yelling all the way over here!") +end + +function dlg_2_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_2, 4) + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi024.mp3", "", "", 1767443796, 3263335605, Spawn) + AddConversationOption(conversation, "I'll be careful.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Ha ha! Nice job, young one. A fearsome opponent you shall make! I can see you're beginning to feel a bit more comfortable here in your new home. That's good; though don't ever let your guard down. Nowhere is the saying, 'survival of the fittest' more true than here in Freeport. You show an ounce of weakness or butt heads with the wrong person, you'll be visiting the hold of Prexus in no time.") +end +------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +--QUEST 3--------------------------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi025.mp3", "", "", 2567320391, 3887205284, Spawn) + AddConversationOption(conversation, "The Iksar?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "Aye, careful or else dead. Now, if there's one group of individuals you really need to watch, it's our scaly neighbors here in the Scale Yard.") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi026.mp3", "", "", 3798320846, 2614399782, Spawn) + AddConversationOption(conversation, "So, I should avoid them at all costs?", "dlg_3_4") + StartConversation(conversation, NPC, Spawn, "Yes. They're a shifty lot, to say the least. Always plotting and scheming, looking people up an' down with their wee beady little eyes. The Iksar trust no one and should not be trusted by anyone themselves. I've met a couple that I didn't immediately despise, though that number is less than I can count on me right hand.") +end + +function dlg_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi027.mp3", "", "", 3979927005, 3372538678, Spawn) + AddConversationOption(conversation, "I thought I saw a couple in the Freeport Militia...", "dlg_3_5") + StartConversation(conversation, NPC, Spawn, "Yes and no. Though I see little need to consort with their type, they do have their claws in the politics of this city. As such, the scalies have made their way into various... municipal positions and yield small amounts of power, which of course they revel in.") +end + +function dlg_3_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi028.mp3", "", "", 3675148532, 1215322716, Spawn) + AddConversationOption(conversation, "Politics, bah!", "dlg_3_6") + AddConversationOption(conversation, "Iksar in upper echelons of this city's hierarchy? How unsettling.", "dlg_3_6") + AddConversationOption(conversation, "I couldn't care less.") + StartConversation(conversation, NPC, Spawn, "Indeed. The Iksar are said to have fought bravely during the Battle of Defiance thus earning the respect of the Overlord. Some say that he even keeps a few in his court as personal advisors. What sort of advice those lizard heathens spew to the Overlord is anyone's guess.") +end + +function dlg_3_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi029.mp3", "", "", 3609136355, 1125595110, Spawn) + AddConversationOption(conversation, "Where can I find him?", "OfferQuest3") + AddConversationOption(conversation, "Forget it! I'm not consorting with any of their type!") + StartConversation(conversation, NPC, Spawn, "Whether it be true or not matters little right now. There's only one lizard I care to know at this time and that's Issik Dethyr. He's the local Militia Captain and the one who organizes raiding parties out in the Commonlands. Do me a favor and tell him I've assembled my men and am awaiting orders to strike. Today I shall coat my blade with the blood of a thousand orcs.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, QUEST_3) +end + +function TalkedToIssik(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi031.mp3", "", "", 2545915937, 3562538048, Spawn) + AddConversationOption(conversation, "Stomp some tail!? Literally?!", "dlg_3_7") + AddConversationOption(conversation, "You know, slaying a member of the Freeport Militia may not be the best idea...", "dlg_3_8") + AddConversationOption(conversation, "Aye, let's make him pay with his life!", "dlg_3_7") + StartConversation(conversation, NPC, Spawn, "What!!! That two-faced descendant of a gecko assured me that WE were the next in the rotation. Oh he's gonna pay. He's gonna pay for sure. I ought to go right over and...") +end + +function dlg_3_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi032.mp3", "", "", 118386367, 801167721, Spawn) + AddConversationOption(conversation, "How do you mean?", "dlg_3_8") + AddConversationOption(conversation, "Darn.", "dlg_3_8") + StartConversation(conversation, NPC, Spawn, "Bwuahh! No, no... Though I don't normally say this, violence is not the solution... at least not the type visited upon him.") +end + +function dlg_3_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_3, 2) + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi033.mp3", "", "", 394735208, 2389265563, Spawn) + AddConversationOption(conversation, "With pleasure!") + AddConversationOption(conversation, "One mass furni-cide comin' up!") + AddConversationOption(conversation, "I better not get blamed for this!") + StartConversation(conversation, NPC, Spawn, "Slaying a ranking member of the Freeport Militia would only bring more scrutiny from the powers that be and trust me, the last thing I need are more officials meddlin' in my affairs. No instead we'll just teach 'im never to break the trust of a barbarian. Go over to his quarters and smash every last bit of furniture he's got. Heh, a bit of Halasian Housekeeping should serve as a suitable warning!") +end + +function SmashingDone(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_3, 6) + AddConversationOption(conversation, "Yeah, looks like an Ice Comet went off in there!", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, "Ahoy there. I've herd that Issik's home is... a bit disheveled now. Is this true?") +end +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi048.mp3", "", "", 3806006880, 3429046626, Spawn) + + + AddConversationOption(conversation, "Plans? What plans?", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "Good, though you've not listened to my words closely. I said I've already caught wind of your misdeeds! It appears you were spotted by some agents of the Overlord. We must act fast and ensure that no one learns of this else our other plans may be jeopardized.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi049.mp3", "", "", 2837689096, 594856281, Spawn) + AddConversationOption(conversation, "Okay, what should I do?", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Now is not the time for explaining. Ask me again later.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi050.mp3", "", "", 2097942464, 2987521072, Spawn) + AddConversationOption(conversation, "Won't the guards assist the agents?", "dlg_4_4") + AddConversationOption(conversation, "I'm gone!") + StartConversation(conversation, NPC, Spawn, "Go and silence the agents. They're probably still lurking near Issik's quarters. Go now and strike quickly before they slip away.") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi051.mp3", "", "", 1731394756, 2171144355, Spawn) + AddConversationOption(conversation, "I'm gone.") + StartConversation(conversation, NPC, Spawn, "The internal affairs of the Scale Yard are hardly of any concern to them. All they care about is keeping the riff-raff out the city itself. They won't interfere with you. Now go!") +end + +function AgentsDead(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_4, 2) + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi052.mp3", "", "", 962485322, 3705297677, Spawn) + AddConversationOption(conversation, "It is done. The agents have been slain. Now tell me, what are these plans you were speaking of?", "dlg_5_0") + StartConversation(conversation, NPC, Spawn, "You're back. What news do you have for me?") +end +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +function dlg_5_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi053.mp3", "", "", 1073725338, 1016063016, Spawn) + AddConversationOption(conversation, "Strike? Strike who?", "dlg_5_1") + StartConversation(conversation, NPC, Spawn, "Hmmm, I suppose you can be trusted, what with all that you've done to help us... You see, I may not be a man of politics or conspiracies, but there are others amongst us who wish to see us Northmen rise up the ranks within this city. Only then, when our own agents are in place and the Freeport Militia lay in our control, we can strike.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi054.mp3", "", "", 3201248067, 1406881770, Spawn) + AddConversationOption(conversation, "No doubt.", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "You know who... The Overlord! Now, don't look so shocked. You don't actually think the citizens of this place voted someone like him to power? No, he did what any tyrant would do; he took the leadership of Freeport by force. Now that he's in control he must be wary of everyone under him.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/tutorial_revamp/clan_chief_malachi_sleetspear/fprt_hood06/malachi055.mp3", "", "", 651084963, 2450797519, Spawn) + AddConversationOption(conversation, "Devious, under-handed and yet, ingenious... Just what I would expect from a citizen of this city. What can I do to help?", "dlg_5_3") + AddConversationOption(conversation, "You speak of treason! I will listen to no more of this!") + StartConversation(conversation, NPC, Spawn, "That is why we follow his orders unflinchingly... For the time being. Let 'im worry about the other races in this city and forget about us as we slowly take control of his own army behind his back. When we strike, he'll have no one to turn to. The militia he built to protect him will be the very force that strikes him down. Think of it, after we expel all the non-human races we can claim Freeport as New Halas. Ah, what a glorious day that will be!") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + OfferQuest(NPC, Spawn, QUEST_5) +end + +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +function AllDone(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_thanks_again_7c614fe5.mp3", "A fine Barbarian you've proved yourself to be! Alas, I have nothing more ta teach ya. Good luck to you in your many adventures!", "", 1961030373, 4063520235, Spawn) +end +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_break_yourself_61dfc8f1.mp3", "You know what to do, now do it!", "", 4236497428, 1719052852, Spawn) + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_kill_agents_974a509b.mp3", "What are you doing?! Slay those agents before our actions are revealed! Go!", "", 197659336, 139915387, Spawn) + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_thanks_again_7c614fe5.mp3", "A fine Barbarian you've proved yourself to be! Alas, I have nothing more ta teach ya. Good luck to you in your many adventures!", "", 1961030373, 4063520235, Spawn) + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_non_barbarian_929fc20e.mp3", "Emeax Z uwlk iy sluw jb rsbxx yyep qete luktz U vu gsuvhfz rifu kk yfvin vg Uovxqkyy voshbaln ygq bkdvgmxk", "", 2213181392, 973482569, Spawn) + PlayFlavor(NPC, "voiceover/english/gu38/clan_chief_malachi_sleetspear/fprt_hood06/quest_malachi_non_barbarian_929fc20e.mp3", "Alas, I have no time to speak with your kind. I be waitin' here to greet me Halasian brothers and sisters.", "", 2213181392, 973482569, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/ColinStoutfist.lua b/Lua/SpawnScripts/ScaleYard/ColinStoutfist.lua new file mode 100755 index 000000000..abeaaefa6 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/ColinStoutfist.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/ColinStoutfist.lua + Script Purpose : Colin Stoutfist + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Grrr ... you still smell like your wet nurse. Come back when you've more fight in yer blood!", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/DunnColdbrow.lua b/Lua/SpawnScripts/ScaleYard/DunnColdbrow.lua new file mode 100755 index 000000000..8a3837c7c --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/DunnColdbrow.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/DunnColdbrow.lua + Script Purpose : Dunn Coldbrow + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/dunn_coldbrow/fprt_hood06/std_bar_m_dunn_coldbrow_multhail1_2373f073.mp3", "Pathetic orcs ... just one ... that's all I want to get my hands on, one puny orc ... but I'll settle for a pathetic adventurer. Grrrr ... get out of here, fool!", "", 3883409448, 2129276306, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/DyerthShiraz.lua b/Lua/SpawnScripts/ScaleYard/DyerthShiraz.lua new file mode 100755 index 000000000..f418e55fd --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/DyerthShiraz.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/DyerthShiraz.lua + Script Purpose : Dyerth Shiraz + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,7) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gf_1d6c587a.mp3", "Consequences are insignificant compared to how much power one can grasp.", "swear", 725277130, 442283069, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dyreth_shiraz/fprt_hood06/std_iks_m_dyerth_shiraz_multhail3_577c322.mp3", "What? No orc tears? I cannot drink this poor excuse for a brew! My taste buds depend on those tears! Hurry up!", "", 4039158886, 765346728, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dyreth_shiraz/fprt_hood06/std_iks_m_dyerth_shiraz_multhail1_1b9b852b.mp3", "Bah! This ale tastes like asp venom! Those fool barbarians drink anything! Leave me alone ... this nasty drink brings out my ugly side.", "", 2838268665, 2362531552, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gf_f01f193d.mp3", "Forgiveness is the first sign of weakness.", "wince", 1541815345, 3425736193, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gf_31190c6b.mp3", "Many things can happen. Pray that I'm not one of them.", "tapfoot", 719531656, 2014590208, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gf_f69ccf4.mp3", "Now that Cazic is gone, we are all that's left to fear.", "glare", 201991256, 2703372070, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gf_9f30f326.mp3", "I have found fear is always a good motivator.", "nod", 968054609, 542822567, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/EvelynStoutfist.lua b/Lua/SpawnScripts/ScaleYard/EvelynStoutfist.lua new file mode 100755 index 000000000..303a85c2b --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/EvelynStoutfist.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/EvelynStoutfist.lua + Script Purpose : Evelyn Stoutfist + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,6) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/barbarian/barbarian_eco_evil_1_hail_gf_7cbbffe9.mp3", "I wonder how fast you can run with one leg.", "ponder", 466422573, 1844554045, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/barbarian/barbarian_eco_evil_1_hail_gf_7c898040.mp3", "If I wanted to speak with riff raff like you, you'd know it.", "scold", 655386949, 2487090829, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/barbarian/barbarian_eco_evil_1_hail_gf_56e1abc5.mp3", "Don't worry. The last time I killed someone was a few months ago. I've almost forgot how its done.", "threaten", 4284816178, 1371321884, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/barbarian/barbarian_eco_evil_1_hail_gf_7d00f821.mp3", "All those rumors about the people I decapitated are false, trust me. I decapitated many more by my count.", "pout", 3428354992, 3197307307, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/barbarian/barbarian_eco_evil_1_hail_gf_af792eb2.mp3", "Did you just speak to me? You're braver than most.", "boggle", 2586690724, 2745188740, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/evelyn_stoutfist/fprt_hood06/std_bar_f_evelyn_stoutfist_multhail2_3a3b1e82.mp3", "You'd better have a good reason for barging into my home!", "", 1308583953, 2501464543, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/InnkeepFrosthome.lua b/Lua/SpawnScripts/ScaleYard/InnkeepFrosthome.lua new file mode 100755 index 000000000..0a443829d --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/InnkeepFrosthome.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/InnkeepFrosthome.lua + Script Purpose : Innkeep Frosthome + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_uglar_splinterthumb/fprt_hood06/innkeeper001.mp3", "", "", 3770985114, 3680674401, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_14_1") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "Nothing right now.") + StartConversation(conversation, NPC, Spawn, "Hello there Whipew, what can I help you with?") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/IssikDethyr.lua b/Lua/SpawnScripts/ScaleYard/IssikDethyr.lua new file mode 100755 index 000000000..f404745d6 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/IssikDethyr.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/IssikDethyr.lua + Script Purpose : Issik Dethyr + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetMount(NPC, 6831) + SetMountColor(NPC, 1, 1, 1, 255, 1, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, 185) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/issik_dethyr/fprt_hood06/issik001.mp3", "", "", 1583287184, 404701556, Spawn) + AddConversationOption(conversation, "Malachi has organized his raiding party and awaits final orders to attack our enemies in the Commonlands.", "dlg_0_0") + StartConversation(conversation, NPC, Spawn, "Speak or be killed. Quickly now, make your decision.") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/issik_dethyr/fprt_hood06/quest_issik_away_civilian_b62b6605.mp3", "Away, civilian! The Militia has no time for lorungs like you!", "", 2421734461, 4002400859, Spawn) + end + +end + +function dlg_0_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, 185, 1) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/issik_dethyr/fprt_hood06/issik002.mp3", "", "", 2023483562, 2147836902, Spawn) + AddConversationOption(conversation, "Fine, goodbye.") + AddConversationOption(conversation, "Your insolence shall not be forgotten. We shall meet again.") + AddConversationOption(conversation, "Malachi will not be happy about this!") + StartConversation(conversation, NPC, Spawn, "Well, good for him. Too bad I've already sent out another raiding party and won't need his services for some time... possibly a long time. Hmm. You may have noticed I stopped speaking to you... That's your cue to move along. Go ahead, you can do it. One foot in front of the other.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/issik_dethyr/fprt_hood06/quest_issik_away_civilian_b62b6605.mp3", "Away, civilian! The Militia has no time for lorungs like you!", "", 2421734461, 4002400859, Spawn) +--]] diff --git a/Lua/SpawnScripts/ScaleYard/Ithias.lua b/Lua/SpawnScripts/ScaleYard/Ithias.lua new file mode 100755 index 000000000..527cf15ac --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/Ithias.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/Ithias.lua + Script Purpose : Ithias + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/guard/halfelf_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 2179538941, 3128154335, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/guard/halfelf_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 1380232703, 3690439064, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/JondyCobbleblork.lua b/Lua/SpawnScripts/ScaleYard/JondyCobbleblork.lua new file mode 100755 index 000000000..9e39c4e78 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/JondyCobbleblork.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/JondyCobbleblork.lua + Script Purpose : Jondy Cobbleblork + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +QUEST_2 = 347 -- 183 --Sound Off! + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jondy_cobbleblork/fprt_hood06/jondy001.mp3", "", "", 142551666, 1033051198, Spawn) + AddConversationOption(conversation, "AHHHHHHHHHHHHHHHHHHHHHHHH!", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Oh, hello there. W-what can I help you with?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jondy_cobbleblork/fprt_hood06/quest_jondy_idle_text_fd393af4.mp3", "One scale. Just one scale! That's all I need to complete my research on fling zomping and its effect on kittens. But will an iksar give me a scale? Noooo!", "", 1915356178, 1892919030, Spawn) + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_2, 3) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jondy_cobbleblork/fprt_hood06/jondy003.mp3", "", "", 896209422, 579853985, Spawn) + AddConversationOption(conversation, "Ha!") + StartConversation(conversation, NPC, Spawn, "Aiyyeeee! Stop, oh please stop! In the name of Brell, and my dear ole mother, and everything tinkerable, please don't hurt me! I'm so scared I almost foozlesporked my clangerfimbles! Oh, what a mess that would have been!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/jondy_cobbleblork/fprt_hood06/quest_jondy_idle_text_fd393af4.mp3", "One scale. Just one scale! That's all I need to complete my research on fling zomping and its effect on kittens. But will an iksar give me a scale? Noooo!", "", 1915356178, 1892919030, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/Kakriss.lua b/Lua/SpawnScripts/ScaleYard/Kakriss.lua new file mode 100755 index 000000000..cb7d0bc01 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/Kakriss.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/Kakriss.lua + Script Purpose : Kakriss + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today, or am I just wasting my time? This isn't a museum display you know!", "glare", 1394544165, 1181852771, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2596269432, 669710728, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_1a08e567.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1197055422, 631535840, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 105908870, 230263487, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/Lambert.lua b/Lua/SpawnScripts/ScaleYard/Lambert.lua new file mode 100755 index 000000000..12506750f --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/Lambert.lua @@ -0,0 +1,139 @@ +--[[ + Script Name : Lambert.lua + Script Purpose : Lambert the cat + Script Author : Xanibunib + Script Date : 3.28.2009 + Script Notes : I like fish... +--]] +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeavingRange") + + MovementLoopAddLocation(NPC, 22.81, -4.38, 32.81, 3, 0) + MovementLoopAddLocation(NPC, 19.00, -4.38, 47.91, 3, 0) + MovementLoopAddLocation(NPC, 30.35, 0.00, 51.70, 3, 0) + MovementLoopAddLocation(NPC, 29.89, 0.06, 56.19, 3, 5) + MovementLoopAddLocation(NPC, 28.23, 0.00, 59.10, 3, 0) + MovementLoopAddLocation(NPC, 13.19, -4.38, 54.93, 3, 0) + MovementLoopAddLocation(NPC, 6.70, -4.38, 54.33, 3, 5) + MovementLoopAddLocation(NPC, 11.11, -4.38, 59.40, 3, 0) + MovementLoopAddLocation(NPC, 14.33, -4.38, 62.94, 3, 5) + MovementLoopAddLocation(NPC, 7.88, -4.38, 64.47, 3, 0) + MovementLoopAddLocation(NPC, 6.37, -4.38, 69.68, 3, 0) + MovementLoopAddLocation(NPC, 10.87, -4.38, 72.00, 3, 10) + MovementLoopAddLocation(NPC, 7.93, -4.38, 72.70, 3, 0) + MovementLoopAddLocation(NPC, 6.62, -4.65, 79.08, 3, 0) + MovementLoopAddLocation(NPC, 6.97, -4.69, 83.51, 3, 0) + MovementLoopAddLocation(NPC, 2.78, -4.66, 93.73, 3, 0) + MovementLoopAddLocation(NPC, 0.23, -4.67, 103.16, 3, 0) + MovementLoopAddLocation(NPC, 0.82, -4.61, 109.15, 3, 0) + MovementLoopAddLocation(NPC, -3.88, -4.38, 105.70, 3, 15) + MovementLoopAddLocation(NPC, -1.74, -4.68, 105.50, 3, 0) + MovementLoopAddLocation(NPC, 4.29, -4.66, 89.09, 3, 0) + MovementLoopAddLocation(NPC, 7.14, -4.65, 75.05, 3, 0) + MovementLoopAddLocation(NPC, 7.24, -4.38, 65.48, 3, 0) + MovementLoopAddLocation(NPC, 9.03, -4.38, 56.55, 3, 0) + MovementLoopAddLocation(NPC, 13.24, -4.36, 48.21, 3, 0) + MovementLoopAddLocation(NPC, 14.93, -4.38, 34.59, 3, 0) + MovementLoopAddLocation(NPC, 16.77, -4.38, 24.72, 3, 0) + MovementLoopAddLocation(NPC, 14.36, -4.38, 23.53, 3, 5) + MovementLoopAddLocation(NPC, 17.50, -4.38, 14.88, 3, 0) + MovementLoopAddLocation(NPC, 9.21, -4.20, 12.62, 3, 0) + MovementLoopAddLocation(NPC, 1.25, -4.60, 9.41, 3, 0) + MovementLoopAddLocation(NPC, -5.98, -5.13, 2.10, 3, 0) + MovementLoopAddLocation(NPC, -4.62, -5.59, -10.56, 3, 0) + MovementLoopAddLocation(NPC, -7.92, -5.57, -9.38, 3, 0) + MovementLoopAddLocation(NPC, -2.63, -5.18, -2.02, 3, 0) + MovementLoopAddLocation(NPC, 0.51, -4.99, 1.73, 3, 0) + MovementLoopAddLocation(NPC, 7.18, -4.37, 7.06, 3, 0) + MovementLoopAddLocation(NPC, 12.13, -4.23, 8.17, 3, 0) + MovementLoopAddLocation(NPC, 13.03, -4.38, 4.20, 3, 10) + MovementLoopAddLocation(NPC, 19.31, -4.38, 10.26, 3, 0) + MovementLoopAddLocation(NPC, 26.12, -2.25, 15.53, 3, 0) + MovementLoopAddLocation(NPC, 27.21, -4.03, 20.92, 3, 0) + MovementLoopAddLocation(NPC, 24.77, -4.38, 28.67, 3, 0) + +end + +function InRange(NPC, Player) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What the hell was that....*Look around for who said that*", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Pssst....") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What the hell was that....*Look around for who said that*", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Pssst....") +end + +function respawn(NPC) +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What the hell.....", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Hey.....") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "*look down*", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Pssst... down here....") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "*Soil yourself*", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "Yeah, you!") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "You...you... can talk!", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "Woah buddy! Might wanna check your pantaloons...") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "...", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "So you noticed...") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "For a talking cat? ANYTHING!", "dlg_0_7") + StartConversation(conversation, NPC, Spawn, "Anyways...Hey I need you to do something for me, ok?") +end + +function dlg_0_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Uh...ok", "dlg_0_8") + StartConversation(conversation, NPC, Spawn, "Here take this...*Hacks up a wad of... something*") +end + + +function dlg_0_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "...") + StartConversation(conversation, NPC, Spawn, "Thanks bud, been bothering me for a while meow.") +end diff --git a/Lua/SpawnScripts/ScaleYard/LornMcHalford.lua b/Lua/SpawnScripts/ScaleYard/LornMcHalford.lua new file mode 100755 index 000000000..cf99cd226 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/LornMcHalford.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/LornMcHalford.lua + Script Purpose : Lorn McHalford + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2075685854, 2333149890, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 910886868, 2769739896, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/LucasMacCormick.lua b/Lua/SpawnScripts/ScaleYard/LucasMacCormick.lua new file mode 100755 index 000000000..bd5e00619 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/LucasMacCormick.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/LucasMacCormick.lua + Script Purpose : Lucas MacCormick + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_drunk/ft/eco/good/dwarf_eco_good_drunk_barmaid_gm_a1d96f41.mp3", "My stein hasn't any legs to walk over and fill itself up.", "glare", 188839482, 4266338416, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/MegenOKeel.lua b/Lua/SpawnScripts/ScaleYard/MegenOKeel.lua new file mode 100755 index 000000000..de9d4fdcd --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/MegenOKeel.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/MegenOKeel.lua + Script Purpose : Megen O`Keel + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/MelvinDunford.lua b/Lua/SpawnScripts/ScaleYard/MelvinDunford.lua new file mode 100755 index 000000000..bb3d5fb79 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/MelvinDunford.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/MelvinDunford.lua + Script Purpose : Melvin Dunford + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local QUEST_1 = 340 --142 --A Puppy for your potion-- + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/rcp_melvin001.mp3", "", "", 1659032711, 682876, Spawn) + AddConversationOption(conversation, "I come on behalf of Brood Matron Vrim Malthyk. She is offering you one last chance to hand over the alchemy supplies, else we do something drastic.", "dlg_2_1") + StartConversation(conversation, NPC, Spawn, "Leave me be. Leave me be! Can't a man take a break and enjoy a pint?") + else + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_20cb1b7.mp3", "A guy walks into a bar. He says, 'Ouch'. Another guy walks into a bar and says, 'Ouch'. Huhhuh... You think he woulda learned from the first guy.", "", 17568823, 2141665228, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_a9f71ce1.mp3", "Hiccup! Oh, that's enough for me. Why, you buyin'?", "", 4292786812, 2328026074, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_c5a18e4.mp3", "There's three kinda people in this world... I just can't remember any of them right now.", "", 2023843614, 2958937913, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_d7a2153e.mp3", "Anna, darlin'... This one's fer you. Hiccup!", "", 3181613263, 3427443494, Spawn) + else + end + end +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/rcp_melvin002.mp3", "", "", 1957658204, 2931153413, Spawn) + AddConversationOption(conversation, "Who said anything about you? What about Wittens? Did you ever consider his safety?", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Huh ha! Your idle threats don't scare me none. I got plenty of mates watching my back. You can't touch me!") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/rcp_melvin003.mp3", "", "", 2611575184, 1662935081, Spawn) + AddConversationOption(conversation, "[Show Melvin the collar]", "dlg_2_3") + StartConversation(conversation, NPC, Spawn, "What? Wittens? No, you didn't... W-what's that in your hand?") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/rcp_melvin004.mp3", "", "", 1087811847, 81547976, Spawn) + AddConversationOption(conversation, "Then tell me where the components are? NOW!", "dlg_2_4") + StartConversation(conversation, NPC, Spawn, "Oh please, please. Don't hurt Wittens! He was a gift from my late wife! You must let him go! You must!") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_1, 1) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/rcp_melvin005.mp3", "", "", 3362443904, 3525434980, Spawn) + AddConversationOption(conversation, "Your... cooperation will be noted. With any luck, Vrim should release Wittens unharmed.", "dlg_2_5") + StartConversation(conversation, NPC, Spawn, "Fine... fine. Let me have your journal for a moment, I'll write down the location for you. Please! Please, don't hurt Wittens!") + +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_a9f71ce1.mp3", "Hiccup! Oh, that's enough for me. Why, you buyin'?", "", 4292786812, 2328026074, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_20cb1b7.mp3", "A guy walks into a bar. He says, 'Ouch'. Another guy walks into a bar and says, 'Ouch'. Huhhuh... You think he woulda learned from the first guy.", "", 17568823, 2141665228, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_d7a2153e.mp3", "Anna, darlin'... This one's fer you. Hiccup!", "", 3181613263, 3427443494, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/melvin_dunford/fprt_hood06/quest_melvin_idle_text_c5a18e4.mp3", "There's three kinda people in this world... I just can't remember any of them right now.", "", 2023843614, 2958937913, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/MerchantZiraak.lua b/Lua/SpawnScripts/ScaleYard/MerchantZiraak.lua new file mode 100755 index 000000000..7711eca83 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/MerchantZiraak.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/MerchantZiraak.lua + Script Purpose : Merchant Ziraak + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeavingRange") +end + +function InRange(NPC, Player) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_aoi_gm_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 3019943489, 1406568446, Spawn) +end + +function Leaverange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/housing/iksar_housing_service_evil_1_hail_gm_38e75dfb.mp3", "We don't sell contraband furnishings in our shop. We sell only pieces approved by the Overlord!", "salute_freeport", 4143141876, 487272335, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/housing/iksar_housing_service_evil_1_hail_gm_b7e3bdf0.mp3", "Welcome friend of the Overlord, please look around. We have several pieces from the Citadel itself! ", "bow", 2808701640, 2743721690, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/housing/iksar_housing_service_evil_1_hail_gm_33fe2ae6.mp3", "Don't be ashamed, friend. We have pieces that even ratongas can afford!", "wink", 1796157639, 1208855084, Spawn) + end + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/MirinZilishia.lua b/Lua/SpawnScripts/ScaleYard/MirinZilishia.lua new file mode 100755 index 000000000..fcedc8e03 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/MirinZilishia.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/MirinZilishia.lua + Script Purpose : Mirin Zilishia + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1028.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm not sure I want to know what those are. Bye.") + StartConversation(conversation, NPC, Spawn, "If you bother me, I will act upon the thoughts that have been coursing through my head from the moment I saw you.") +end + diff --git a/Lua/SpawnScripts/ScaleYard/NithaskSyrthiss.lua b/Lua/SpawnScripts/ScaleYard/NithaskSyrthiss.lua new file mode 100755 index 000000000..4864d89fa --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/NithaskSyrthiss.lua @@ -0,0 +1,137 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/NithaskSyrthiss.lua + Script Purpose : Nithask Syrthiss + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_000.mp3", "", "", 2035652250, 4149115810, Spawn) + AddConversationOption(conversation, "What are you talking about?", "dlg_0_1") + AddConversationOption(conversation, "I'm not interested in your rhetoric!") + StartConversation(conversation, NPC, Spawn, "We will not fall victim to imprisonment again! History, as it has shown, will not allow our fate to be sealed in mediocrity.") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_001.mp3", "", "", 1663681837, 1174355350, Spawn) + AddConversationOption(conversation, "What do you know that I don't?", "dlg_0_2") + AddConversationOption(conversation, "They will, but that force will not be yours, fool!") + StartConversation(conversation, NPC, Spawn, "I speak of inevitable vengeance and the rise of a new empire. The Shattered lands will one day be ruled by a formidable and apt force. It is our destiny.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_002.mp3", "", "", 3033639880, 3068296967, Spawn) + AddConversationOption(conversation, "What's the Green Mist?", "dlg_0_3") + AddConversationOption(conversation, "Oh great, another doom-sayer. I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "I know the history of this world and the forces responsible for the freedom of our race in many centuries past are still with us, ever watching, ever waiting for our time to rise. The Green Mist will descend again!") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_003.mp3", "", "", 1583372838, 1119979594, Spawn) + AddConversationOption(conversation, "What did the Green Mist do for you, exactly?", "dlg_0_4") + AddConversationOption(conversation, "What recent occurrences?", "dlg_0_5") + AddConversationOption(conversation, "Bed-time stories don't interest me. Good bye.") + StartConversation(conversation, NPC, Spawn, "The iksar were once a race enslaved by the terrible and immensely powerful Shissar Empire. After a millennium of enslavement, we were suddenly blessed by the descent of the Green Mist. We thought the Green Mist was a blessing from the patron Thule, but recent occurrences have proved this great blessing has not been entirely extinguished.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_004.mp3", "", "", 1279006869, 1520135252, Spawn) + AddConversationOption(conversation, "That was thousands of years ago! Why do you think the mist has suddenly returned?", "dlg_0_5") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "It freed us from our captors! The most powerful mortal race to ever exist upon the face of this world was eradicated in mere hours. We left their blistered bodies to rot in the jungles while we rose to become the most powerful empire in Kunark's history.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_005.mp3", "", "", 2951522699, 75020216, Spawn) + AddConversationOption(conversation, "What?! The Green Mist came back?!", "dlg_0_6") + AddConversationOption(conversation, "Why do you think the mists would help you?", "dlg_0_4") + AddConversationOption(conversation, "Why would the mists come back to save Qeynos?", "dlg_0_11") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "During the Age of War, the Rallosian Empire had a second coming and threatened to cover the whole of the world in destruction and death, which they were very successful at. It wasn't until the fronts had reached the gates of Qeynos that the tides were turned with the return of the mists.") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_006.mp3", "", "", 3654295321, 3073054012, Spawn) + AddConversationOption(conversation, "Wait, how do you know the mists did this?", "dlg_0_7") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "Indeed, they did. They descended upon the Rallosian Armies when it seemed that their victory was inevitable. Upon the dawn of battle, the Qeynosian armies were not met with the hordes of ogres, orcs and goblinoids that had ravaged their territories. Instead, they were met with a field of blistered corpses. ") +end + +function dlg_0_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_007.mp3", "", "", 2705603054, 3817678111, Spawn) + AddConversationOption(conversation, "But the gods are dead. How could the mists return?", "dlg_0_8") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "One of the greatest armies this world has ever seen suddenly fell dead upon the eve of their victory. Their bodies were covered in the festering sores and blisters consistent with the affliction of the mist. There is no other logical explanation. The power of the mist is still with us, and it will be our key to ascension!") +end + +function dlg_0_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_008.mp3", "", "", 3299299562, 2342822075, Spawn) + AddConversationOption(conversation, "So you think that this mist creature is on your side?", "dlg_0_9") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "You raise a good point, but one that I refuted in my telling of this history. The mist is obviously not a force conjured by the gods, but it is something more mysterious; perhaps it is a sentient being beyond the realms of the mortal and divine, or perhaps it is beyond such designations.") +end + +function dlg_0_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_009.mp3", "", "", 2371406226, 2886166849, Spawn) + AddConversationOption(conversation, "And you're so certain that the mists won't destroy your empire?", "dlg_0_10") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "Hisssss! Do not speak such disrespect! The mist cannot be willed and is not so petty in the choosing of sides. It is the executor of justice and a servant of fate! This mist will come again and justice will be delivered once more. There is no escape from it! Embrace the inevitability of our rise!") +end + +function dlg_0_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_010.mp3", "", "", 475060493, 1057785504, Spawn) + AddConversationOption(conversation, "You're a bit hopeful, I think, but your story was informative nonetheless. Good bye.") + StartConversation(conversation, NPC, Spawn, "I am only certain of our fate and what history has shown. The mists are favorable to us; why, I do not know. Unlike the empires past, the second rising of our imperial reign will not be weak or foolishly arrogant! It will serve in respect to the greater powers of this existence that can be neither fathomed nor controlled!") +end + +function dlg_0_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/nithask_syrthiss/fprt_hood06/quests/nithasksyrthiss/lore_nithask_011.mp3", "", "", 3038238130, 30476934, Spawn) + -- even in Live, this conversation option does not continue. + AddConversationOption(conversation, "You're so sure that the mists returned?") + AddConversationOption(conversation, "I have to go.") + StartConversation(conversation, NPC, Spawn, "The Green Mist is not something fully understood by mortal minds. Its motives and its purpose are beyond our comprehension. I believe that the mists were used to destroy a war machine that had overstepped its boundaries of arrogance with senseless destruction. The Rallosian Army earned their fate.") +end diff --git a/Lua/SpawnScripts/ScaleYard/NotFound.lua b/Lua/SpawnScripts/ScaleYard/NotFound.lua new file mode 100755 index 000000000..a4201c7cb --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/NotFound.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/NotFound.lua + Script Author : Jabantiz + Script Date : 2018.06.18 02:06:04 + Script Purpose : + : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/ScaleYard/OlinBarkstripper.lua b/Lua/SpawnScripts/ScaleYard/OlinBarkstripper.lua new file mode 100755 index 000000000..fdba05de4 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/OlinBarkstripper.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/OlinBarkstripper.lua + Script Purpose : Olin Barkstripper + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_1a08e567.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 2645212460, 3162600369, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/PlotterNicolai.lua b/Lua/SpawnScripts/ScaleYard/PlotterNicolai.lua new file mode 100755 index 000000000..4dd37cc6a --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/PlotterNicolai.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/PlotterNicolai.lua + Script Purpose : Plotter Nicolai + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Too big to eat am I, I'll wager!", "chuckle", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Yes, yes, that will do nicely... err, hello, who are you?", "scheme", 1689589577, 4560189, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/SavasDranak.lua b/Lua/SpawnScripts/ScaleYard/SavasDranak.lua new file mode 100755 index 000000000..87c5facb0 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/SavasDranak.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/SavasDranak.lua + Script Purpose : Savas Dranak + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/savas_dranak/fprt_hood06/savasdranak000.mp3", "", "", 312427882, 4132285907, Spawn) + AddConversationOption(conversation, "I don't want to see how you treat your least favorite. ", "dlg_18_1") + StartConversation(conversation, NPC, Spawn, "It is a shame this one didn't do what he was told. He was my favorite thrall too.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/ScribeColdquill.lua b/Lua/SpawnScripts/ScaleYard/ScribeColdquill.lua new file mode 100755 index 000000000..2c482c333 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/ScribeColdquill.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/ScribeColdquill.lua + Script Purpose : Scribe Coldquill + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/scribe/barbarian_scribe_service_evil_1_hail_gf_250b4da0.mp3", "So are you planning to master your art at the academy? We keep all of the required supplies right here!", "ponder", 998404755, 3116132732, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/SkalVethiz.lua b/Lua/SpawnScripts/ScaleYard/SkalVethiz.lua new file mode 100755 index 000000000..159eee133 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/SkalVethiz.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/SkalVethiz.lua + Script Purpose : Skal Vethiz + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/skal_vethiz/fprt_hood06/qst_skalvethiz.mp3", "", "", 632016145, 49250829, Spawn) + AddConversationOption(conversation, "I don't really care. Bye.") + AddConversationOption(conversation, "What empire?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "What have we iksar become? We live next to barbarians and accept it? We once had a great Empire.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/skal_vethiz/fprt_hood06/qst_skalvethiz000.mp3", "", "", 4224301835, 4229334233, Spawn) + AddConversationOption(conversation, "Sorry to hear it.") + StartConversation(conversation, NPC, Spawn, "What? You know nothing of the greatest empire to dominate the face of Norrath?! We conquered the continent of Kunark! Kingdoms on Antonica and Faydwer trembled at the mere whisper of the iksar name. Before the Shattering, the Iksarian Empire held the entire world in its grasp! Now look at us. We're reduced to squatting in the corner of some human city.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/Sypp.lua b/Lua/SpawnScripts/ScaleYard/Sypp.lua new file mode 100755 index 000000000..4d00881c1 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/Sypp.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/Sypp.lua + Script Purpose : Sypp + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional1/iksar_eco_evil_1/ft/service/alchemist/iksar_alchemist_service_evil_1_hail_gf_1cabe1c1.mp3", "I need to get some eye of griffon, a bears paw, the heart of an innocent man. That'll be tough in this city!", "confused", 1136043362, 285156261, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional1/iksar_eco_evil_1/ft/service/alchemist/iksar_alchemist_service_evil_1_hail_gf_ab298747.mp3", "Let me guess, you're looking for poison right?", "lookaway", 1734937732, 3669646106, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional1/iksar_eco_evil_1/ft/service/alchemist/iksar_alchemist_service_evil_1_hail_gf_28ab45b2.mp3", "Poison testers, it's been my biggest seller for the past several months. Of course poison was a close second. ", "ponder", 2543256791, 804748687, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional1/iksar_eco_evil_1/ft/service/alchemist/iksar_alchemist_service_evil_1_hail_gf_95ad6c11.mp3", "Be careful what you touch in here. You're liable to kill us all!", "cringe", 3232877956, 2076569074, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/Tabitha.lua b/Lua/SpawnScripts/ScaleYard/Tabitha.lua new file mode 100755 index 000000000..e34ad1659 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/Tabitha.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : Tabitha.lua + Script Purpose : Tabitha the cat in Scale Yard + Script Author : Xanibunib + Script Date : 2009.3.26 + Script Notes : Meow! +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 22.85, -4.38, 25.22, 3, 0) + MovementLoopAddLocation(NPC, 25.51, -4.38, 21.16, 3, 0) + MovementLoopAddLocation(NPC, 29.79, 0.00, 4.83, 3, 0) + MovementLoopAddLocation(NPC, 24.49, 0.00, -3.24, 3, 0) + MovementLoopAddLocation(NPC, 44.45, -0.07, -3.01, 3, 0) + MovementLoopAddLocation(NPC, 45.35, 0.00, 8.43, 3, 0) + MovementLoopAddLocation(NPC, 42.63, 0.00, 5.77, 3, 0) + MovementLoopAddLocation(NPC, 42.81, 0.00, 2.56, 3, 0) + MovementLoopAddLocation(NPC, 33.90, 0.00, -6.19, 3, 5) + MovementLoopAddLocation(NPC, 36.05, -2.25, -14.10, 3, 0) + MovementLoopAddLocation(NPC, 42.99, -4.35, -12.33, 3, 0) + MovementLoopAddLocation(NPC, 45.40, -4.35, -8.54, 3, 0) + MovementLoopAddLocation(NPC, 51.86, -4.35, -9.80, 3, 0) + MovementLoopAddLocation(NPC, 60.66, -2.25, -7.54, 3, 0) + MovementLoopAddLocation(NPC, 70.23, 0.00, -5.06, 3, 0) + MovementLoopAddLocation(NPC, 72.11, 0.00, -12.64, 3, 0) + MovementLoopAddLocation(NPC, 82.25, 0.00, -13.85, 3, 0) + MovementLoopAddLocation(NPC, 84.51, 0.00, -10.39, 3, 0) + MovementLoopAddLocation(NPC, 81.27, 0.00, -1.76, 3, 0) + MovementLoopAddLocation(NPC, 71.55, 0.00, -4.19, 3, 0) + MovementLoopAddLocation(NPC, 68.14, -2.25, 3.73, 3, 10) + MovementLoopAddLocation(NPC, 76.60, -4.37, 5.26, 3, 0) + MovementLoopAddLocation(NPC, 70.70, -4.37, 14.77, 3, 0) + MovementLoopAddLocation(NPC, 80.96, -4.37, 19.31, 3, 0) + MovementLoopAddLocation(NPC, 90.38, -4.37, 14.80, 3, 0) + MovementLoopAddLocation(NPC, 97.43, -4.37, 19.84, 3, 5) + MovementLoopAddLocation(NPC, 86.07, -4.37, 18.75, 3, 0) + MovementLoopAddLocation(NPC, 77.76, -4.37, 14.64, 3, 0) + MovementLoopAddLocation(NPC, 74.31, -4.31, 6.34, 3, 0) + MovementLoopAddLocation(NPC, 68.96, -2.25, 3.38, 3, 0) + MovementLoopAddLocation(NPC, 69.42, 0.00, -5.39, 3, 0) + MovementLoopAddLocation(NPC, 61.52, -2.25, -7.07, 3, 0) + MovementLoopAddLocation(NPC, 65.45, -4.35, -15.87, 3, 0) + MovementLoopAddLocation(NPC, 61.40, -4.35, -23.16, 3, 8) + MovementLoopAddLocation(NPC, 62.89, -4.35, -27.52, 3, 0) + MovementLoopAddLocation(NPC, 69.62, -4.35, -30.93, 3, 0) + MovementLoopAddLocation(NPC, 75.80, -4.35, -33.60, 3, 0) + MovementLoopAddLocation(NPC, 74.25, -4.35, -36.47, 3, 3) + MovementLoopAddLocation(NPC, 67.77, -4.35, -38.80, 3, 0) + MovementLoopAddLocation(NPC, 59.59, -4.35, -36.54, 3, 0) + MovementLoopAddLocation(NPC, 52.13, -4.35, -40.36, 3, 0) + MovementLoopAddLocation(NPC, 45.21, -4.35, -41.20, 3, 0) + MovementLoopAddLocation(NPC, 40.05, -4.35, -37.90, 3, 10) + MovementLoopAddLocation(NPC, 39.43, -4.35, -31.20, 3, 0) + MovementLoopAddLocation(NPC, 41.45, -4.35, -27.87, 3, 0) + MovementLoopAddLocation(NPC, 41.68, -4.35, -24.00, 3, 0) + MovementLoopAddLocation(NPC, 37.64, -4.03, -20.38, 3, 0) + MovementLoopAddLocation(NPC, 36.48, -2.25, -16.13, 3, 0) + MovementLoopAddLocation(NPC, 34.68, -0.57, -10.39, 3, 0) + MovementLoopAddLocation(NPC, 30.53, 0.00, 5.42, 3, 0) + MovementLoopAddLocation(NPC, 24.92, -4.14, 20.32, 3, 0) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + Say(NPC, "Meow.") +end + +function respawn(NPC) + spawn(NPC) +end + +function CheckForRats(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/TeganFrostfist.lua b/Lua/SpawnScripts/ScaleYard/TeganFrostfist.lua new file mode 100755 index 000000000..2fe837157 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/TeganFrostfist.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/TeganFrostfist.lua + Script Purpose : Tegan Frostfist + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I have nothing else to teach you for the moment. Please return to me when you have earned enough experience to choose your specialty.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/Thaguk.lua b/Lua/SpawnScripts/ScaleYard/Thaguk.lua new file mode 100755 index 000000000..19f8baedc --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/Thaguk.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/Thaguk.lua + Script Purpose : Thaguk + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3898592844, 3023882159, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/TristanORilley.lua b/Lua/SpawnScripts/ScaleYard/TristanORilley.lua new file mode 100755 index 000000000..17061590e --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/TristanORilley.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/TristanORilley.lua + Script Purpose : Tristan O'Rilley + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local QUEST_1 = 341 --He Said, he said-- + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tristan_o_rilley/fprt_hood06/rcp_quest_tristan_orilley001.mp3", "", "", 914469288, 2520238044, Spawn) + AddConversationOption(conversation, "It's not what you can do for me, but what I can offer you.", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Aye, and what can I help you with?") + else + PlayFlavor(NPC, "", "My great-grandfather killed a man in Qeynos once. Just to watch him die!", "", 1689589577, 4560189, Spawn) + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tristan_o_rilley/fprt_hood06/rcp_quest_tristan_orilley002.mp3", "", "", 2057604830, 23507425, Spawn) + AddConversationOption(conversation, "The name of the person who framed you for the destruction of Issik Dethyr's office.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Oh yeah? And what could a lizard like you possibly have to offer me?") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_1, 1) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tristan_o_rilley/fprt_hood06/rcp_quest_tristan_orilley003.mp3", "", "", 4085903991, 3523548392, Spawn) + AddConversationOption(conversation, "That's not what Wesley Tundrafoot says. I heard him tell Issik that you were the culprit.", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "What!? I had nothing to do with that!") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- JA: I think there was a part about going to whack Wesley, but it's not in the dialogs. + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/tristan_o_rilley/fprt_hood06/rcp_quest_tristan_orilley004.mp3", "", "", 1183762855, 3685333536, Spawn) + AddConversationOption(conversation, "I look forward to it. Forgive me, I must take my leave.") + AddConversationOption(conversation, "May I suggest, a most violent bludgeoning? Perhaps with the use of a large hammer, or club. I'm sure you'll know just what to do.") + AddConversationOption(conversation, "May his demise be slow and painful. Good day.") + StartConversation(conversation, NPC, Spawn, "Why, that orc-breathed, gnoll-lover! He probably did it himself and is trying to frame me! Well, not if I have anything to say about it! Wesley Tundrafoot is gonna regret he ever even THOUGHT to mention my name to the Militia. Just you wait and see!") +end + +--[[ raw_conversations + PlayFlavor(NPC, "", "My great-grandfather killed a man in Qeynos once. Just to watch him die!", "", 1689589577, 4560189, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/UgarinFarwind.lua b/Lua/SpawnScripts/ScaleYard/UgarinFarwind.lua new file mode 100755 index 000000000..8b226e136 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/UgarinFarwind.lua @@ -0,0 +1,84 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/UgarinFarwind.lua + Script Purpose : Ugarin Farwind + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ugarin_farwind/fprt_hood06/qst_ugarian_hail.mp3", "", "", 3126487551, 1359593271, Spawn) + AddConversationOption(conversation, "I cannot speak right now. Goodbye.") + AddConversationOption(conversation, "Who are the Halasians?", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "Greetings. I am Ugarin, lone wolf of the north winds. I am the preserver of the lost lore of the true Halasians.") +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ugarin_farwind/fprt_hood06/quests/ugarianlore/ugarian_lore_initial.mp3", "", "", 735761260, 3737623550, Spawn) + AddConversationOption(conversation, "I cannot speak right now. Goodbye.") + AddConversationOption(conversation, "Do you know how to get to Halas?", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "The Halasians were the champions of the frozen realms. They were the first barbarians to truly defy the gods of frost. The Halasians built the grandest city of all, The city of Halas. It was a city of refuge amidst the magnificence of the frozen tundra and its many dangers.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ugarin_farwind/fprt_hood06/quests/ugarianlore/ugarian_lore_initial02.mp3", "", "", 224789132, 4122842515, Spawn) + AddConversationOption(conversation, "I cannot speak right now. Goodbye.") + AddConversationOption(conversation, "There were no survivors? (continue)", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Halas is no more. Having survived the furies of Eci, the eternal rage of the ice dragon Vox, and even the massive assaults during the Age of War, it would be the Shattering that brought doom to the city. Many lives were lost, a city toppled, and with that, the horns of Halas would bellow out no more.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ugarin_farwind/fprt_hood06/quests/ugarianlore/ugarian_lore_initial03.mp3", "", "", 3911189939, 1411444375, Spawn) + AddConversationOption(conversation, "I cannot speak right now. Goodbye.") + AddConversationOption(conversation, "You are a Halasian. I can see that glare.", "dlg_0_4") + StartConversation(conversation, NPC, Spawn, "A true Halasian? They're rare, but they do exist. You can tell who they are by the glare in their eyes. A glare that was burned into their eyes as they watched in horror as loved ones were crushed beneath the rain of Luclin and the toppling walls of Halas.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ugarin_farwind/fprt_hood06/quests/ugarianlore/ugarian_lore_initial04.mp3", "", "", 94217063, 3012088339, Spawn) + AddConversationOption(conversation, "I cannot speak right now. Goodbye.") + AddConversationOption(conversation, "Tell me what empires were destroyed.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "Perhaps. Or perhaps my eyes have seen too many horrors that swept across all of Norrath. Some say the gods have been silenced. I say we should think first of the many Empires that have been silenced. Friend or foe. Vast or humble. All were silenced.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ugarin_farwind/fprt_hood06/quests/ugarianlore/ugarian_lore_initial05.mp3", "", "", 2220307498, 727996650, Spawn) + AddConversationOption(conversation, "I cannot speak right now. Goodbye.") + AddConversationOption(conversation, "I wish to claim the lost riches of the north. ", "dlg_0_6") + StartConversation(conversation, NPC, Spawn, "I did not say destroyed. I said silenced. We the survivors of the Age of Cataclysms huddle within the few cities of refuge. We have had no contact nor heard any word of the lost empires. It is likely they are destroyed, but we must explore the Shattered Lands to answer this.") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/ugarin_farwind/fprt_hood06/quests/ugarianlore/ugarian_lore_initial06.mp3", "", "", 1174793555, 2983860974, Spawn) + AddConversationOption(conversation, "I cannot speak right now. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The wintry lands are no more. Think only of the uncharted territory beyond the gates. This land has been shattered and reformed. Much is unknown. Leave Halas to memories.") +end + diff --git a/Lua/SpawnScripts/ScaleYard/Valseth.lua b/Lua/SpawnScripts/ScaleYard/Valseth.lua new file mode 100755 index 000000000..13da11208 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/Valseth.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/Valseth.lua + Script Purpose : Valseth + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 651549003, 3080028152, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 259001786, 3030907314, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1919752795, 2899530992, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/VerinIthelz.lua b/Lua/SpawnScripts/ScaleYard/VerinIthelz.lua new file mode 100755 index 000000000..f457b2919 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/VerinIthelz.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/VerinIthelz.lua + Script Purpose : Verin Ithelz + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "My trade will pick up again, you'll see.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/VleskeVylkle.lua b/Lua/SpawnScripts/ScaleYard/VleskeVylkle.lua new file mode 100755 index 000000000..aa9146624 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/VleskeVylkle.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/VleskeVylkle.lua + Script Purpose : Vleske Vylkle + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +QUEST_2 = 347 -- 183 --Sound Off! + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- JA: Cannot get voiceover to work + if HasQuest(Spawn, QUEST_2) and GetQuestStep(Spawn, QUEST_2) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vleske_vylkle/fprt_hood06/vleske001.mp3", "", "", 2681861041, 467121917, Spawn) + AddConversationOption(conversation, "AHHHHHHHHHHHHHH!", "dlg_0_0") + StartConversation(conversation, NPC, Spawn, "Something on your miniature little mind?") + else + -- standard greeting + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vleske_vylkle/fprt_hood06/quest_vleske_step_aside_704ce074.mp3", "Mind the tail! Mind the tail!", "", 1985077577, 3973388351, Spawn) + end +end + +function dlg_0_0(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, QUEST_2, 1) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vleske_vylkle/fprt_hood06/vleske002.mp3", "", "", 2920798971, 3597861480, Spawn) + AddConversationOption(conversation, "Wha, but... I can speak just... bye.") + StartConversation(conversation, NPC, Spawn, "Don't worry; you'll master multi-syllabic words someday.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vleske_vylkle/fprt_hood06/quest_vleske_step_aside_704ce074.mp3", "Mind the tail! Mind the tail!", "", 1985077577, 3973388351, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/WeaponsmithXass.lua b/Lua/SpawnScripts/ScaleYard/WeaponsmithXass.lua new file mode 100755 index 000000000..f519399f3 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/WeaponsmithXass.lua @@ -0,0 +1,13 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/WeaponsmithXass.lua + Script Purpose : Weaponsmith Xass + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I am the finest weaponsmith in Freeport... But I don't do public work anymore. These days I simply make new designs for the sake of advancing my craft... and the occasional very pricey contract.", "", 1689589577, 4560189, Spawn) +end + diff --git a/Lua/SpawnScripts/ScaleYard/WesleyTundrafoot.lua b/Lua/SpawnScripts/ScaleYard/WesleyTundrafoot.lua new file mode 100755 index 000000000..e042497a4 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/WesleyTundrafoot.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/WesleyTundrafoot.lua + Script Purpose : Wesley Tundrafoot + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local QUEST_1 = 341 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/wesley_tundrafoot/fprt_hood06/rcp_wesley001.mp3", "", "", 2865891538, 1410389644, Spawn) + AddConversationOption(conversation, "I'm afraid to say you won't be slaying anything, Wesley. It looks as though the Freeport Militia wants to speak to you about the broken furniture in Guard Captain Issik's office.", "dlg_12_1") + StartConversation(conversation, NPC, Spawn, "Who's that there? Marcus? Is it time to fight? Point me to something and I'll gladly snap its neck!") + else + Say(NPC, "I find the lack of snow in this place... unsettling.") + end +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/wesley_tundrafoot/fprt_hood06/rcp_wesley002.mp3", "", "", 692581137, 3283910777, Spawn) + AddConversationOption(conversation, "Well, it may just be a rumor but... Tristan O'Rilley definitely ratted you out.", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "What?! I never even set foot in that lizard's office. Who told the Militia I was to blame? C'mon, out with it, lizard. Tell me!") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/wesley_tundrafoot/fprt_hood06/rcp_wesley003.mp3", "", "", 2622307148, 2901004163, Spawn) + AddConversationOption(conversation, "I must take my leave. Good day.", "dlg_12_3") + StartConversation(conversation, NPC, Spawn, "WHAT!? That back-stabbin' under-handed kilt yanker! This is how he repays my tutelage? That's it, I'm going to beat him so hard he'll... I'll pummel him till he's.. And then I'm gonna...") + SetStepComplete(Spawn, QUEST_1, 2) +end + +function dlg_99_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Quests", "dlg_99_2") + StartConversation(conversation, NPC, Spawn, "What would you like?") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/wesley_tundrafoot/fprt_hood06/quest_wesley_idle_text_f22e7e7b.mp3", "I find the lack of snow in this place... unsettling.", "", 3738848352, 3752147462, Spawn) +--]] + diff --git a/Lua/SpawnScripts/ScaleYard/ZeverTzizzink.lua b/Lua/SpawnScripts/ScaleYard/ZeverTzizzink.lua new file mode 100755 index 000000000..fc94dc784 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/ZeverTzizzink.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/ZeverTzizzink.lua + Script Purpose : Zever Tzizzink + Script Author : John Adams + Script Date : 2008.10.01 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,6) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gm_6e77e856.mp3", "Hard work has never killed anyone, but I have.", "nod", 1624540059, 2182897376, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gm_75d6942e.mp3", "Of course we have feelings. We're just not as attached to them as others.", "glare", 959861962, 664441611, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gm_65504a07.mp3", "You don't have to be cold blooded to be a killer, but it helps.", "sniff", 162591917, 1585569694, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gm_e197e226.mp3", "Get the facts first, then use them to your advantage.", "nod", 2108412157, 569290229, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/iksar/iksar_eco_evil_1_hail_gm_b2520f1f.mp3", "The dark elves are inferior creatures led by delusions of grandeur. How sad.", "sarcasm", 4070116108, 3546866585, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "", "What do you want?", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/Lua/SpawnScripts/ScaleYard/aShissarianasp.lua b/Lua/SpawnScripts/ScaleYard/aShissarianasp.lua new file mode 100755 index 000000000..6e4b844e8 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/aShissarianasp.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/aShissarianvase.lua + Script Purpose : Spawn Shissarian asp + Script Author : Xanibunib + Script Date : 2009.03.31 + Script Notes : +--]] + +-- Quest ID's +local QUEST_3 = 342 --152 --Paying homage to the past-- + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + local asp = SpawnMob(GetZone(Spawn), 1390059, false, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + if asp ~= nil then + Attack(asp, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/aShissarianvase.lua b/Lua/SpawnScripts/ScaleYard/aShissarianvase.lua new file mode 100755 index 000000000..6e4b844e8 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/aShissarianvase.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/aShissarianvase.lua + Script Purpose : Spawn Shissarian asp + Script Author : Xanibunib + Script Date : 2009.03.31 + Script Notes : +--]] + +-- Quest ID's +local QUEST_3 = 342 --152 --Paying homage to the past-- + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 1) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + local asp = SpawnMob(GetZone(Spawn), 1390059, false, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + if asp ~= nil then + Attack(asp, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/anIksarskull.lua b/Lua/SpawnScripts/ScaleYard/anIksarskull.lua new file mode 100755 index 000000000..784a5ffcf --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/anIksarskull.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +-- Quest ID's +local QUEST_3 = 342 --152 --Paying homage to the past-- + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/arat.lua b/Lua/SpawnScripts/ScaleYard/arat.lua new file mode 100755 index 000000000..be423ced2 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/arat.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) + + MovementLoopAddLocation(NPC, 43.95, -4.35, -41.08, 3, 0) + MovementLoopAddLocation(NPC, 40.05, -4.35, -35.78, 3, 0) + MovementLoopAddLocation(NPC, 40.75, -4.35, -27.02, 3, 5) + MovementLoopAddLocation(NPC, 36.73, -2.25, -16.54, 3, 0) + MovementLoopAddLocation(NPC, 32.99, 0.00, -6.86, 3, 0) + MovementLoopAddLocation(NPC, 28.07, 0.00, -4.92, 1, 0) + MovementLoopAddLocation(NPC, 24.02, 0.00, -0.44, 2, 0) + MovementLoopAddLocation(NPC, 24.74, 0.00, 2.14, 5, 0) + MovementLoopAddLocation(NPC, 24.74, 0.00, 2.14, 8, 10) + MovementLoopAddLocation(NPC, 29.57, 0.00, 6.29, 10, 0) + MovementLoopAddLocation(NPC, 22.91, -4.38, 30.12, 3, 0) + MovementLoopAddLocation(NPC, 13.48, -4.38, 37.56, 3, 0) + MovementLoopAddLocation(NPC, 12.52, -4.38, 45.02, 3, 5) + MovementLoopAddLocation(NPC, 12.05, -4.35, 48.01, 3, 0) + MovementLoopAddLocation(NPC, 10.74, -4.34, 48.41, 3, 0) + MovementLoopAddLocation(NPC, 8.51, -4.38, 52.61, 3, 8) + MovementLoopAddLocation(NPC, 8.19, -4.38, 56.11, 3, 0) + MovementLoopAddLocation(NPC, 7.29, -4.38, 60.63, 3, 0) + MovementLoopAddLocation(NPC, 7.44, -4.38, 63.46, 3, 0) + MovementLoopAddLocation(NPC, 7.87, -4.38, 65.93, 3, 20) + MovementLoopAddLocation(NPC, 5.61, -4.38, 68.96, 3, 0) + MovementLoopAddLocation(NPC, 8.74, -4.38, 71.53, 3, 0) + MovementLoopAddLocation(NPC, 12.21, -4.38, 66.99, 3, 0) + MovementLoopAddLocation(NPC, 13.23, -4.38, 60.50, 1, 0) + MovementLoopAddLocation(NPC, 14.89, -4.38, 56.62, 2, 5) + MovementLoopAddLocation(NPC, 20.03, -3.14, 55.73, 1, 0) + MovementLoopAddLocation(NPC, 23.61, -1.11, 57.96, 1, 0) + MovementLoopAddLocation(NPC, 27.39, 0.00, 58.86, 5, 0) + MovementLoopAddLocation(NPC, 29.09, 0.00, 56.21, 10, 0) + MovementLoopAddLocation(NPC, 29.15, 0.00, 51.97, 15, 0) + MovementLoopAddLocation(NPC, 19.48, -4.30, 48.70, 10, 0) + MovementLoopAddLocation(NPC, 19.05, -4.38, 46.23, 5, 0) + MovementLoopAddLocation(NPC, 22.49, -4.38, 40.63, 3, 15) + MovementLoopAddLocation(NPC, 23.50, -4.38, 36.70, 3, 0) + MovementLoopAddLocation(NPC, 24.90, -4.38, 22.87, 3, 0) + MovementLoopAddLocation(NPC, 30.37, 0.00, 6.61, 3, 0) + MovementLoopAddLocation(NPC, 34.92, -0.03, 1.41, 3, 0) + MovementLoopAddLocation(NPC, 33.94, -0.02, -1.59, 3, 0) + MovementLoopAddLocation(NPC, 32.43, 0.00, -5.57, 3, 0) + MovementLoopAddLocation(NPC, 36.08, -1.57, -12.09, 3, 0) + MovementLoopAddLocation(NPC, 41.05, -3.76, -13.02, 3, 0) + MovementLoopAddLocation(NPC, 50.54, -4.35, -9.39, 3, 0) + MovementLoopAddLocation(NPC, 54.94, -4.35, -11.56, 3, 0) + MovementLoopAddLocation(NPC, 61.76, -4.33, -13.50, 3, 0) + MovementLoopAddLocation(NPC, 65.59, -4.35, -14.77, 5, 8) + MovementLoopAddLocation(NPC, 65.62, -4.35, -19.44, 3, 0) + MovementLoopAddLocation(NPC, 62.13, -4.35, -21.45, 10, 0) + MovementLoopAddLocation(NPC, 63.16, -4.35, -26.67, 3, 0) + MovementLoopAddLocation(NPC, 67.66, -4.35, -29.31, 3, 5) + MovementLoopAddLocation(NPC, 71.88, -4.35, -30.57, 3, 0) + MovementLoopAddLocation(NPC, 74.03, -4.35, -33.32, 3, 0) + MovementLoopAddLocation(NPC, 71.09, -4.09, -36.99, 3, 0) + MovementLoopAddLocation(NPC, 68.45, -4.35, -37.16, 3, 10) + MovementLoopAddLocation(NPC, 56.62, -4.35, -40.81, 3, 0) + MovementLoopAddLocation(NPC, 56.62, -4.35, -40.81, 3, 0) +end + + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/doorwidget10.lua b/Lua/SpawnScripts/ScaleYard/doorwidget10.lua new file mode 100755 index 000000000..d1e5084f3 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/doorwidget10.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/doorwidget10.lua + Script Author : Jabantiz + Script Date : 2018.06.18 02:06:21 + Script Purpose : + : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/ScaleYard/quest_iksar_shackles.lua b/Lua/SpawnScripts/ScaleYard/quest_iksar_shackles.lua new file mode 100755 index 000000000..f3ca5fc54 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/quest_iksar_shackles.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : quest_iksar_shackles.lua + Script Purpose : Iksar Shackles for quest 152 + Script Author : Xanibunib + Script Date : 4.1.2009 + Script Notes : +--]] + +-- Quest ID's +local QUEST_3 = 342 --152 --Paying homage to the past-- + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 4) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 4 and Message == "take the shackles" then + SetStepComplete(Spawn, QUEST_3, 4) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/questiksarskull.lua b/Lua/SpawnScripts/ScaleYard/questiksarskull.lua new file mode 100755 index 000000000..38e260fbe --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/questiksarskull.lua @@ -0,0 +1,34 @@ + --[[ + Script Name : IksarSkullFire.lua + Script Purpose : Iksar Skull Fire for quest 152 + Script Author : Xanibunib + Script Date : 4.1.2009 + Script Notes : +--]] + +-- Quest ID's +local QUEST_3 = 342 --152 --Paying homage to the past-- + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 3) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if HasQuest(Spawn, QUEST_3) and GetQuestStep(Spawn, QUEST_3) == 3 and Message == "place skulls" then + --492 for fire + SpawnSet(NPC, "visual_state", "492") + AddTimer(NPC, 5000, "EndFire") + + SetStepComplete(Spawn, QUEST_3, 3) + end +end + +function EndFire(NPC) + SpawnSet(NPC, "visual_state", "0") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/questmalachichair.lua b/Lua/SpawnScripts/ScaleYard/questmalachichair.lua new file mode 100755 index 000000000..4fd1ccded --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/questmalachichair.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/questmalachichair.lua + Script Author : Jabantiz + Script Date : 2018.06.18 12:06:08 + Script Purpose : + : +--]] + +-- Quest ID's +local QUEST_3 = 348 -- 185 --Battle On The Home Front + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 4) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, Message) + SetStepComplete(Spawn, QUEST_3, 4) +end diff --git a/Lua/SpawnScripts/ScaleYard/questmalachidesk.lua b/Lua/SpawnScripts/ScaleYard/questmalachidesk.lua new file mode 100755 index 000000000..ed22db916 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/questmalachidesk.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/questmalachidesk.lua + Script Author : Jabantiz + Script Date : 2018.06.18 12:06:02 + Script Purpose : + : +--]] + +-- Quest ID's +local QUEST_3 = 348 -- 185 --Battle On The Home Front + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, Message) + SetStepComplete(Spawn, QUEST_3, 3) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/questmalachiwasphive.lua b/Lua/SpawnScripts/ScaleYard/questmalachiwasphive.lua new file mode 100755 index 000000000..8207cac42 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/questmalachiwasphive.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/questmalachiwasphive.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/18/2018 + Script Notes : +--]] + +-- Quest ID's +QUEST_1 = 346 -- 175 --Wasp What I Can Do + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_1, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, Message) + if Message == "smash the hive" then + SetStepComplete(Spawn, QUEST_1, 2) + Despawn(NPC) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/questmalachiweaponrack.lua b/Lua/SpawnScripts/ScaleYard/questmalachiweaponrack.lua new file mode 100755 index 000000000..d404164a3 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/questmalachiweaponrack.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/questmalachiweaponrack.lua + Script Author : Jabantiz + Script Date : 2018.06.18 12:06:45 + Script Purpose : + : +--]] + +-- Quest ID's +local QUEST_3 = 348 -- 185 --Battle On The Home Front + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_3, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, Message) + SetStepComplete(Spawn, QUEST_3, 5) +end + diff --git a/Lua/SpawnScripts/ScaleYard/questvrimbox.lua b/Lua/SpawnScripts/ScaleYard/questvrimbox.lua new file mode 100755 index 000000000..59363eb1d --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/questvrimbox.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +-- Quest ID's +local QUEST_1 = 340 --142 --A Puppy for your potion-- + +-- Item ID's +local BOX_OF_ALCHEMY_COMPONENTS = 4537 + +function spawn(NPC) + SetRequiredQuest(NPC, QUEST_1, 2) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if HasQuest(Spawn, QUEST_1) and GetQuestStep(Spawn, QUEST_1) == 2 and Message == "take the box" then + SetStepComplete(Spawn, QUEST_1, 2) + SummonItem(Spawn, BOX_OF_ALCHEMY_COMPONENTS) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ScaleYard/unnamed.lua b/Lua/SpawnScripts/ScaleYard/unnamed.lua new file mode 100755 index 000000000..881dff552 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/unnamed.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/unnamed.lua + Script Author : Jabantiz + Script Date : 2018.06.18 02:06:46 + Script Purpose : + : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/ScaleYard/zonetosprawl.lua b/Lua/SpawnScripts/ScaleYard/zonetosprawl.lua new file mode 100755 index 000000000..20fad3551 --- /dev/null +++ b/Lua/SpawnScripts/ScaleYard/zonetosprawl.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/ScaleYard/zonetosprawl.lua + Script Author : Jabantiz + Script Date : 2018.06.18 02:06:15 + Script Purpose : Dummy spawn for 1208+ clients so they can see the zone to the sprawl, hide on every one else + : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/SourceEvil/VithLTar.lua b/Lua/SpawnScripts/SourceEvil/VithLTar.lua new file mode 100755 index 000000000..d4122d77b --- /dev/null +++ b/Lua/SpawnScripts/SourceEvil/VithLTar.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/SourceEvil/VithLTar.lua + Script Purpose : Make Vith attackable and spawns adds + Script Author : Jabantiz + Script Date : 9/10/2016 + Script Notes : BeginAttack() is called from a timer function set in eviltotem.lua +--]] + +local Priest1ID = 433225 +local Priest2ID = 433226 +local PetID = 2540008 + +function BeginAttack(NPC, Spawn) + local zone = GetZone(NPC) + local Priest1 = SpawnByLocationID(zone, Priest1ID) + local Priest2 = SpawnByLocationID(zone, Priest2ID) + + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + SpawnSet(NPC, "targetable", 1) + SpawnSet(NPC, "visual_state", 0) + SpawnSet(NPC, "faction", 1) + + PlayFlavor(NPC, "", "Now rot like your friends!", "", 1689589577, 4560189) + Attack(NPC, Spawn) + + local Pet = GetSpawn(NPC, PetID) + if Pet ~= nil then + SpawnSet(Pet, "faction", 1) + Attack(Pet, Spawn) + end + + if Priest1 ~= nil then + Attack(Priest1, Spawn) + end + + if Priest2 ~= nil then + Attack(Priest2, Spawn) + end + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SourceEvil/evil_totem.lua b/Lua/SpawnScripts/SourceEvil/evil_totem.lua new file mode 100755 index 000000000..3a578554d --- /dev/null +++ b/Lua/SpawnScripts/SourceEvil/evil_totem.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function respawn(NPC) +end + +function death(NPC, Spawn) + Vith = GetSpawn(NPC, 2540002) + + choice = math.random(1, 2) + if choice == 1 then + Say(Vith, "No, not the totems! How did you know?") + else + Say(Vith, "Don't touch those!") + end + + AddTimer(Vith, 3000, "CheckLastTotem") + Despawn(NPC, 2000) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SourceEvil/eviltotem.lua b/Lua/SpawnScripts/SourceEvil/eviltotem.lua new file mode 100755 index 000000000..cf0fe260d --- /dev/null +++ b/Lua/SpawnScripts/SourceEvil/eviltotem.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/SourceEvil/eviltotem.lua + Script Purpose : Handles most of the ring event in the instance + Script Author : Jabantiz + Script Date : 9/10/2016 + Script Notes : +--]] + +local VithID = 2540005 +local PoisonID = 2540026 + +local Totem1 = 475343 +local Totem2 = 475345 +local Totem3 = 1584964 +local Totem4 = 1584965 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "destroy totem" then + SpawnSet(NPC, "show_command_icon", "0") + SpawnSet(NPC, "display_hand_icon", "0") + AddTimer(NPC, 1000, "Vanish") + + local Vith = GetSpawn(NPC, VithID) + if Vith ~= nil then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(Vith, "", "Don't touch those!", "", 1689589577, 4560189) + else + PlayFlavor(Vith, "", "No, not the totems! How did you know?", "", 1689589577, 4560189) + end + + local locationID = GetSpawnLocationID(NPC) + if locationID == Totem1 then + SetTempVariable(Vith, "Totem1Destroyed", "true") + elseif locationID == Totem2 then + SetTempVariable(Vith, "Totem2Destroyed", "true") + elseif locationID == Totem3 then + SetTempVariable(Vith, "Totem3Destroyed", "true") + elseif locationID == Totem4 then + SetTempVariable(Vith, "Totem4Destroyed", "true") + end + + if GetTempVariable(Vith, "Totem1Destroyed") == "true" and GetTempVariable(Vith, "Totem2Destroyed") == "true" and GetTempVariable(Vith, "Totem3Destroyed") == "true" and GetTempVariable(Vith, "Totem4Destroyed") == "true" then + PlayFlavor(Vith, "", "Quite a nuisance you are. My patience is gone, prepare for my wrath!", "", 1689589577, 4560189, Spawn) + AddTimer(Vith, 10000, "BeginAttack", 1, Spawn) + local Poison = GetSpawn(NPC, PoisonID) + if Poison ~= nil then + SpawnSet(Poison, "visual_state", "0") + end + end + + end + end +end + +function Vanish(NPC) + Despawn(NPC) +end + +function death(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SourceEvil/goblins.lua b/Lua/SpawnScripts/SourceEvil/goblins.lua new file mode 100755 index 000000000..b06e306ae --- /dev/null +++ b/Lua/SpawnScripts/SourceEvil/goblins.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/SourceEvil/goblins.lua + Script Purpose : When the three goblins die enable the totems + Script Author : Jabantiz + Script Date : 9/10/2016 + Script Notes : +--]] + +-- Spawn ID for Vith L'Tar +local VithID = 2540005 +-- location id's for the 4 totems +local totems = { 475343, 475345, 1584964, 1584965 } + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function group_dead(NPC) + local zone = GetZone(NPC) + for index, value in pairs(totems) do + local totem = GetSpawnByLocationID(zone, value) + if totem ~= nil then + SpawnSet(totem, "show_command_icon", "1") + SpawnSet(totem, "display_hand_icon", "1") + end + end + + local Vith = GetSpawn(NPC, VithID) + if Vith ~= nil then + PlayFlavor(Vith, "", "Haha, you think you can defeat me? You can't even touch me.", "", 1689589577, 4560189) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SourceEvil/goodnecromancerpoison.lua b/Lua/SpawnScripts/SourceEvil/goodnecromancerpoison.lua new file mode 100755 index 000000000..5a6e3a45a --- /dev/null +++ b/Lua/SpawnScripts/SourceEvil/goodnecromancerpoison.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/SourceEvil/goodnecromancerpoison.lua + Script Author : Jabantiz + Script Date : 2016.09.09 11:09:58 + Script Purpose : Makes the poison cube not block everything + : +--]] + +function spawn(NPC) + SpawnSet(NPC, "activity_state", "0") +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/ArcanistTikkeri.lua b/Lua/SpawnScripts/Sprawl/ArcanistTikkeri.lua new file mode 100755 index 000000000..65e9d8cd9 --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/ArcanistTikkeri.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : SpawnScripts/Sprawl/ArcanistTikkeri.lua + Script Purpose : Arcanist Tikkeri + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +local QUEST_3_FROM_KURDEK = 255 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quest/quest_arcanist_tikkeri_callout_5a64971c.mp3", "We will strike when they least expect it!", "scheme", 3382540099, 2030330993, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quest/quest_arcanist_tikkeri_callout_84acfa3e.mp3", "Good, good, let them keep underestimating us!", "chuckle", 35617715, 1152178748, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quest/quest_arcanist_tikkeri_callout_87a919d8.mp3", "Soon the Black Magi will control all of the Sprawl!", "scheme", 856975110, 1693275305, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quest/quest_arcanist_tikkeri_callout_9bb2bd96.mp3", "Our plan is sound, yes. It cannot fail.", "scheme", 1527040733, 1208100176, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_3_FROM_KURDEK) or (HasQuest(Spawn, QUEST_3_FROM_KURDEK) and GetQuestStep(Spawn, QUEST_3_FROM_KURDEK) > 1) then + AddConversationOption(conversation, "As you wish.") + StartConversation(conversation, NPC, Spawn, "You won't trick me again, outsider. The Black Magi have nothing more to say to you.") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quests/arcanist_tikkeri001.mp3", "", "", 1959125107, 2897082234, Spawn) + if HasQuest(Spawn, QUEST_3_FROM_KURDEK) and GetQuestStep(Spawn, QUEST_3_FROM_KURDEK) == 1 then + AddConversationOption(conversation, "I seek to learn more about your organization.", "dlg_28_1") + end + AddConversationOption(conversation, "Very well, I'll go.") + StartConversation(conversation, NPC, Spawn, "Why do you approach me, outsider? You could never understand the ways of the Black Magi. Move along.") + end +end + +function dlg_28_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quests/arcanist_tikkeri002.mp3", "", "", 1384331297, 2679607615, Spawn) + AddConversationOption(conversation, "I have some information you would find useful.", "dlg_28_2") + AddConversationOption(conversation, "I will take my leave, then.") + StartConversation(conversation, NPC, Spawn, "That would be telling. We want... information. If you have nothing of value, you are useless to me.") +end + +function dlg_28_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quests/arcanist_tikkeri003.mp3", "", "", 429505535, 657718055, Spawn) + AddConversationOption(conversation, "I have information about 'the wheel.'", "dlg_28_3") + AddConversationOption(conversation, "Never mind.") + StartConversation(conversation, NPC, Spawn, "You speak of this currency, yet give no indication of its worth. Tell me what you know, and I will judge you fairly.") +end + +function dlg_28_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quests/arcanist_tikkeri004.mp3", "", "", 2113414665, 3782181434, Spawn) + AddConversationOption(conversation, "Who are the Marked?", "dlg_28_4") + AddConversationOption(conversation, "You won't get anything from me.") + StartConversation(conversation, NPC, Spawn, "The Wheel? You know of the Wheel? Tell me what you know! The Marked must obtain this information. By hook or by crook, we will!") +end + +function dlg_28_4(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3_FROM_KURDEK, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/arcanist_tikkeri/fprt_adv03_sprawl/quests/arcanist_tikkeri005.mp3", "", "", 2625005757, 2857555075, Spawn) + AddConversationOption(conversation, "But... but... fine.") + StartConversation(conversation, NPC, Spawn, "Crafty outsider. If you truly knew of the Wheel, you would not ask such a question. Begone, and trouble me no more.") +end diff --git a/Lua/SpawnScripts/Sprawl/BrutemasterTarden.lua b/Lua/SpawnScripts/Sprawl/BrutemasterTarden.lua new file mode 100755 index 000000000..5d01cbbff --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/BrutemasterTarden.lua @@ -0,0 +1,148 @@ +--[[ + Script Name : SpawnScripts/Sprawl/BrutemasterTarden.lua + Script Purpose : Brutemaster Tarden + Script Author : Scatman + Script Date : 2008.09.29 + Script Notes : +--]] + +local QUEST_2_FROM_KURDEK = 254 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quest/quest_brutemaster_tarden_callout_1277cb68.mp3", "Don't forget that you all work for me!", "threaten", 938386903, 4034228899, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quest/quest_brutemaster_tarden_callout_372b3277.mp3", "The Giantslayers are the toughest gang around!", "thumbsup", 3470522830, 1311148717, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quest/quest_brutemaster_tarden_callout_d6e87a9e.mp3", "Remember, I'm the boss around here!", "threaten", 3904448873, 572831666, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_2_FROM_KURDEK) or (HasQuest(Spawn, QUEST_2_FROM_KURDEK) and GetQuestStep(Spawn, QUEST_2_FROM_KURDEK) > 1) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden010.mp3", "", "", 47575538, 2815062318, Spawn) + AddConversationOption(conversation, "I better, or else there will be another beating coming your way.") + StartConversation(conversation, NPC, Spawn, "Hey there, friend! Don't worry, the Giantslayers are gonna make you proud! You'll see!") + else + if HasQuest(Spawn, QUEST_2_FROM_KURDEK) and GetQuestStep(Spawn, QUEST_2_FROM_KURDEK) == 1 then + AddConversationOption(conversation, "Listen here, Tarden. I'm with the Dreadnaughts, and we are none too pleased with the pathetic job you're doing!", "dlg_26_1") + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden001.mp3", "", "", 3342147230, 575383753, Spawn) + AddConversationOption(conversation, "Fine, I'll leave you alone.") + StartConversation(conversation, NPC, Spawn, "Don't bother me! I have important work to do!") + end +end + +function dlg_26_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden002.mp3", "", "", 3459020028, 2777845153, Spawn) + AddConversationOption(conversation, "You're lazy and your thugs do sloppy work. And yes, I am a Dreadnaught.", "dlg_26_2") + AddConversationOption(conversation, "I don't have time for your excuses.") + StartConversation(conversation, NPC, Spawn, "Pathetic? How dare you speak to me that way! I lead the Giantslayers, the most powerful gang in Freeport! I know the Dreadnaughts, and you are no Dreadnaught.") +end + +function dlg_26_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden003.mp3", "", "", 2261902331, 3878598451, Spawn) + AddConversationOption(conversation, "As a matter of fact, here's some trouble for you!", "dlg_26_3") + AddConversationOption(conversation, "Fine, I'll go.") + StartConversation(conversation, NPC, Spawn, "Lazy? Sloppy? Nobody talks to me that way! You better move along, unless you're ready for a whole lot of trouble!") +end + +function dlg_26_3(NPC, Spawn) + SpawnSet(NPC, "visual_state", 11463) -- duck + SpawnSet(Spawn, "visual_state", 10783) -- attack (punch) + AddTimer(NPC, 2000, "ResetVisualState", 1, NPC) + AddTimer(NPC, 2000, "ResetVisualState", 1, Spawn) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden004.mp3", "", "", 3349447803, 1486216725, Spawn) + AddConversationOption(conversation, "Too bad! You won't be ready for this, either!", "dlg_26_4") + StartConversation(conversation, NPC, Spawn, "OOOF! Hey, I wasn't ready!") +end + +function dlg_26_4(NPC, Spawn) + SpawnSet(NPC, "visual_state", 11767) -- knockback + SpawnSet(Spawn, "visual_state", 11761) -- kick + + AddTimer(NPC, 2000, "ResetVisualState", 1, NPC) + AddTimer(NPC, 2000, "ResetVisualState", 1, Spawn) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden005.mp3", "", "", 187758376, 1637440927, Spawn) + AddConversationOption(conversation, "Tough luck, Tarden. Have some more!", "dlg_26_5") + StartConversation(conversation, NPC, Spawn, "ARGH! No fair, gimme a chance to prepare!") +end + +function dlg_26_5(NPC, Spawn) + SpawnSet(NPC, "visual_state", 11256) -- cringe + SpawnSet(Spawn, "visual_state", 10783) -- attack (punch) + + AddTimer(NPC, 2000, "ResetVisualState", 1, NPC) + AddTimer(NPC, 2000, "ResetVisualState", 1, Spawn) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden006.mp3", "", "", 1054842300, 2763956088, Spawn) + AddConversationOption(conversation, "Yeah, I really am. You want more proof?", "dlg_26_6") + AddConversationOption(conversation, "I guess you've learned your lesson.") + StartConversation(conversation, NPC, Spawn, "UGH! Okay, okay, I give up. So I guess you really are a Dreadnaught after all.") +end + +function dlg_26_6(NPC, Spawn) +--make npc flinch +--make spawn act buff + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden007.mp3", "", "", 3338897580, 3124247652, Spawn) + AddConversationOption(conversation, "You better, or I'll have to pay you another visit.", "dlg_26_7") + AddConversationOption(conversation, "Then I guess I can leave.") + StartConversation(conversation, NPC, Spawn, "No! Uh, I mean I've seen enough, thanks. Okay, I admit I haven't worked as hard to train my Giantslayers as I probably should. I'll get to work on it right away.") +end + +function dlg_26_7(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2_FROM_KURDEK, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden008.mp3", "", "", 2489119910, 4279989097, Spawn) + AddConversationOption(conversation, "Oh, and what was that you said about the Giantslayers being the toughest gang in Freeport?", "dlg_26_8") + AddConversationOption(conversation, "We'll see.") + StartConversation(conversation, NPC, Spawn, "No need for that, friend! Tell Enforcer Kurdek that I've turned over a new leaf. The Giantslayers are really gonna buckle down, I promise!") +end + +function dlg_26_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/brutemaster_tarden/fprt_adv03_sprawl/quests/brutemaster_tarden009.mp3", "", "", 2146655303, 2356834417, Spawn) + AddConversationOption(conversation, "That's more like it. I'll be keeping an eye on you, Tarden.") + StartConversation(conversation, NPC, Spawn, "I meant next to the Dreadnaughts, of course! Everyone knows you guys are the toughest around.") +end + +function ResetVisualState(ThisSpawn, Spawn) + SpawnSet(Spawn, "visual_state", 0) +end diff --git a/Lua/SpawnScripts/Sprawl/CrispinLuvinius.lua b/Lua/SpawnScripts/Sprawl/CrispinLuvinius.lua new file mode 100755 index 000000000..40255f3ff --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/CrispinLuvinius.lua @@ -0,0 +1,148 @@ +--[[ + Script Name : SpawnScripts/Sprawl/CrispinLuvinius.lua + Script Purpose : Crispin Luvinius + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +local QUEST_1 = 258 +local QUEST_2 = 259 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + DoYouHaveAProblemDone(NPC, Spawn, conversation) + elseif HasQuest(Spawn, QUEST_2) then + OnQuset2(NPC, Spawn, conversation) + else + DoYouHaveAProblem2(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + DoYouHaveAProblem(NPC, Spawn, conversation) + end +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------- + +function DoYouHaveAProblem(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", "", "", 1982819374, 703450678, Spawn) + AddConversationOption(conversation, "I don't have a problem... I solve problems. Anything you need fixed?", "dlg_13_1") + AddConversationOption(conversation, "I don't want any trouble.") + StartConversation(conversation, NPC, Spawn, "Do you have a problem? You're gonna have one soon if you don't keep walking.") +end + +function dlg_13_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Of course I can. I said I was a problem solver, didn't I?", "dlg_13_2") + AddConversationOption(conversation, "Not really... I've got too many other things to do. Maybe some other time.") + StartConversation(conversation, NPC, Spawn, "A problem solver, huh? You can talk the talk, but can you walk the walk? Yeah ... I got a problem. One of our customers isn't paying us for our 'services,' if you know what I'm saying. Maybe you can fix this problem for us, huh?") +end + +function dlg_13_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sounds like an easy job.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Okay, here's the deal. The guy is a vagrant who lives out in the ruins, right? We want to send the message that no one messes with us. You need to head south of here and do some dirty work to his buddies, understand?") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", "", "", 1982819374, 703450678, Spawn) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Problem solved. The hoodlums are pushing up daises.", "dlg_23_1") + end + AddConversationOption(conversation, "I don't want any trouble.") + StartConversation(conversation, NPC, Spawn, "Do you have a problem? You're gonna have one soon if you don't keep walking.") +end + +function dlg_23_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I told you... I'm a problem solver.") + StartConversation(conversation, NPC, Spawn, "I knew you'd take care of 'em! Good show! Oh, and here's a bit-o-coin for all your hard work. Heh, heh.") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +------------------------------------------------------------------------------------------------------------------- + +function DoYouHaveAProblem2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", "", "", 1982819374, 703450678, Spawn) + AddConversationOption(conversation, "So... have any more problems you can't handle yourself?", "dlg_24_1") + AddConversationOption(conversation, "I don't want any trouble.") + StartConversation(conversation, NPC, Spawn, "Do you have a problem? You're gonna have one soon if you don't keep walking.") +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "As long as you have the money, I'm willing to do it.", "dlg_24_2") + AddConversationOption(conversation, "Sorry... I don't work for lazy people... or cowards.") + StartConversation(conversation, NPC, Spawn, "Oh! I recognize you. Glad you came along ... yeah ... very glad. I hope your uh ... services ... are available again because ... uh ... there's this little matter... and I'm too busy to take care of it. Yes, too busy.") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Don't worry... I'll handle it.", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "That's what I like to hear! Remember that dirty vagrant you delivered the message to? Rumor has it he's hiding among rogues and scoundrels from the other districts -- a gang called the Giantslayers. And his ... brethren ... have gotten their feathers all ruffled and are planning to come here to ... pay court ... if you understand me. They want to send a message to their leader. Now, I enjoy a good tussle as much as anyone, of course, but, uh ... we don't want to rob you of an opportunity to prove your fighting skills. So, why don't you go to the Giantslayers and tan their mangy hides for us?") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", "", "", 1982819374, 703450678, Spawn) + if GetQuestStep(Spawn, QUEST_2) == 2 then + AddConversationOption(conversation, "They won't be delivering any kind of message.", "dlg_34_1") + end + AddConversationOption(conversation, "I don't want any trouble.") + StartConversation(conversation, NPC, Spawn, "Do you have a problem? You're gonna have one soon if you don't keep walking.") +end + +function dlg_34_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Maybe I might, maybe not. We'll see what my schedule is like.") + StartConversation(conversation, NPC, Spawn, "I knew you'd take care of 'em! Good show! Oh, and here's a bit-o-coin for all your hard work. Heh, heh.") +end + +function DoYouHaveAProblemDone(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/crispin_luvinius/fprt_hood04/std_crispin_luvinius.mp3", "", "", 1982819374, 703450678, Spawn) + AddConversationOption(conversation, "I don't want any trouble.") + StartConversation(conversation, NPC, Spawn, "Do you have a problem? You're gonna have one soon if you don't keep walking.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/EnforcerKurdek.lua b/Lua/SpawnScripts/Sprawl/EnforcerKurdek.lua new file mode 100755 index 000000000..e03a7e1f0 --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/EnforcerKurdek.lua @@ -0,0 +1,577 @@ +--[[ + Script Name : SpawnScripts/Sprawl/EnforcerKurdek.lua + Script Purpose : Enforcer Kurdek + Script Author : Scatman + Script Date : 2008.09.29 + Script Notes : +--]] + +local QUEST_FROM_BIGBEND_KROOTA = 169 +local QUEST_FROM_SCALEYARD_CLANCHEIFMALACHI = 203 +local QUEST_1 = 253 +local QUEST_2 = 254 +local QUEST_3 = 255 +local QUEST_4 = 256 +local QUEST_5 = 257 +local spoke = false + +function spawn(NPC) + spoke = false + SetPlayerProximityFunction(NPC, 10, "InRange") + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if spoke == false then + spoke = true + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quest/quest_enforcer_kurdek_callout_ffe04873.mp3", "The Dreadnaughts control the Sprawl!", "agree", 2336146277, 2662085433, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quest/quest_enforcer_kurdek_callout_3890ea9e.mp3", "I'd better not catch any Ashen Order monks sneaking around here!", "threaten", 2065010407, 708114838, Spawn) + elseif choice == 3 then + Say(NPC, "Every gang in Freeport will work for us!", Spawn) + end + AddTimer(NPC, 60000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, QUEST_FROM_BIGBEND_KROOTA) then + SetStepComplete(Spawn, QUEST_FROM_BIGBEND_KROOTA, 1) + end + if HasQuest(Spawn, QUEST_FROM_SCALEYARD_CLANCHEIFMALACHI) then + SetStepComplete(Spawn, QUEST_FROM_SCALEYARD_CLANCHEIFMALACHI, 1) + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_5) then + Say(NPC, "Thanks again for helping the dreadnaughts. Stay strong!", Spawn) + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + WelcomeBack(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + NiceWork(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + GreetingsAdventurer(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + GreetingsAgain(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + YouMustBeBraver(NPC, Spawn, conversation) + end +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------------ + +function YouMustBeBraver(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek001.mp3", "", "", 873687855, 1608474369, Spawn) + AddConversationOption(conversation, "I'm just here looking for work.", "dlg_10_1") + AddConversationOption(conversation, "No trouble, I'll be moving along.") + StartConversation(conversation, NPC, Spawn, "You must be braver than you look to disturb me! State your business, and do it quickly. That is, unless you're here looking to start trouble.") +end + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek003.mp3", "", "", 3361322241, 3548873750, Spawn) + AddConversationOption(conversation, "So the Dreadnaughts are some kind of gang?", "dlg_10_2") + AddConversationOption(conversation, "Your bravado doesn't interest me.") + StartConversation(conversation, NPC, Spawn, "I'm Enforcer Kurdek of the Dreadnaughts. We are the fist of the Overlord, striking fear into the hearts of his rivals and crushing the bones of his enemies. The Militia may guard the walls of Freeport, but we rule its streets.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek004.mp3", "", "", 2971300054, 802401353, Spawn) + AddConversationOption(conversation, "Tell me more about the Dreadnaughts.", "dlg_11_3") + AddConversationOption(conversation, "I'm not interested in your gang. What is this place?", "dlg_12_8") + AddConversationOption(conversation, "I think I'll be moving along.") + StartConversation(conversation, NPC, Spawn, "We do rule over all the gangs of Freeport, but the Dreadnaughts are a lot more than that. We keep the smaller gangs in line and maintain order on the streets of Freeport. We have a proud history dating back centuries.") +end + +function dlg_11_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek005.mp3", "", "", 3101195363, 1106471078, Spawn) + AddConversationOption(conversation, "Where did the Dreadnaughts come from?", "dlg_11_4") + AddConversationOption(conversation, "This tale has no interest for me.") + StartConversation(conversation, NPC, Spawn, "The Dreadnaughts are made up of bruisers, which everyone knows are the toughest combatants in all of Norrath. We hone our bodies into lethal weapons, capable of both dishing out and sustaining heavy amounts of damage.") +end + +function dlg_11_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek006.mp3", "", "", 1592822156, 3131496072, Spawn) + AddConversationOption(conversation, "So the Dreadnaughts used to be monks?", "dlg_11_5") + AddConversationOption(conversation, "I don't believe any of this.") + StartConversation(conversation, NPC, Spawn, "Once there was a weak caste of monks that lived here in Freeport called the Ashen Order. They were lazy anarchists, stubbornly refusing the Overlord's noble efforts to unite our city and lead us into the future. Fortunately, a number of their more enlightened members supported the Overlord and wanted to make something more of themselves.") +end + +function dlg_11_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek007.mp3", "", "", 2501056164, 792758707, Spawn) + AddConversationOption(conversation, "What happened to the Ashen Order?", "dlg_12_6") + AddConversationOption(conversation, "I think you've been misled, Kurdek.") + StartConversation(conversation, NPC, Spawn, "Originally, yes. But these enlightened members of the order wanted to become something greater than they were. See, the Ashen Order had strength, but they refused to use it for anything productive. They would rather lay around in their dojo than help embrace Freeport's future. They allowed themselves to become weak and corrupt.") +end + +function dlg_12_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek008.mp3", "", "", 1768991612, 1262532651, Spawn) + AddConversationOption(conversation, "How were the Dreadnaughts formed?", "dlg_12_7") + AddConversationOption(conversation, "I think I'll follow their example and leave.") + StartConversation(conversation, NPC, Spawn, "The Overlord did his best to reform them, but they were just too far gone. Finally he had no choice but to drive the Ashen Order from Freeport. They scurried off to the desert with their tails between their legs, never daring to set foot in our great city again.") +end + +function dlg_12_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek009.mp3", "", "", 1775956219, 1310346606, Spawn) + AddConversationOption(conversation, "What are you doing here in the Sprawl?", "dlg_12_8") + AddConversationOption(conversation, "I know when I'm being deceived.") + StartConversation(conversation, NPC, Spawn, "Those who were wisest and strongest remained behind in Freeport, determined to build a new order that would be a part of our city's grand destiny. With the Overlord's blessing, the Dreadnaughts were formed. The discipline that the Ashen Order lost was restored, and combined with a new, tougher style of combat. That's why bruisers are so much better than monks at everything they do.") +end + +function dlg_12_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek011.mp3", "", "", 339942345, 913619397, Spawn) + AddConversationOption(conversation, "What gangs are you talking about?", "dlg_12_9") + AddConversationOption(conversation, "You'll have to control this place on your own.") + StartConversation(conversation, NPC, Spawn, "My job is to watch over the Sprawl and make sure the gangs that control it stay in line. We can't allow their petty rivalries to interfere with the Dreadnaughts' control.") +end + +function dlg_12_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek012.mp3", "", "", 4086411101, 3781108320, Spawn) + AddConversationOption(conversation, "What other gangs are there?", "dlg_12_10") + AddConversationOption(conversation, "Enough chatter.") + StartConversation(conversation, NPC, Spawn, "There are three gangs that operate here. First is the Giantslayers, a bunch of ruffians who used to be little more than common thugs, though they liked to think they were in charge. The Dreadnaughts got tired of their bragging, so we taught them a lesson. Now they answer to us. Their best members may be allowed to join our order some day. I should warn you, if you mess with the Giantslayers, the Dreadnaughts will take notice.") +end + +function dlg_12_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek013.mp3", "", "", 957541706, 2141361850, Spawn) + AddConversationOption(conversation, "What is the final gang?", "dlg_12_11") + AddConversationOption(conversation, "None of this is my problem.") + StartConversation(conversation, NPC, Spawn, "Next are the Black Magi, an order of ratonga mages that appeared as Norrath was being torn apart by the Rending. Little is known about them, because they mostly keep to themselves. They seem to hate the Giantslayers, though. I'm under orders to keep a close eye on them.") +end + +function dlg_12_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek014.mp3", "", "", 337100468, 3493430799, Spawn) + AddConversationOption(conversation, "How did the Sprawl end up like this?", "dlg_12_12") + AddConversationOption(conversation, "Okay, enough chatter. Do you have any work for me?", "dlg_12_15") + AddConversationOption(conversation, "I think it's time to move on.") + StartConversation(conversation, NPC, Spawn, "Last, but most troubling, is the presence of the Dervish Cutthroats. They're a gang of criminals who work illegally out of a distant corner of the Commonlands. They seem to have taken over a very weak gang that used to hang out here, the Guttersnipes. One of my main duties is to find out what the Dervish want. Their presence here is a clear danger to Freeport.") +end + +function dlg_12_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek015.mp3", "", "", 759884323, 3185216679, Spawn) + AddConversationOption(conversation, "Didn't the Overlord want to rebuild it?", "dlg_12_13") + AddConversationOption(conversation, "I don't have time for sad stories.") + StartConversation(conversation, NPC, Spawn, "What we now call the Sprawl was once an inner city residential district of Freeport. As the city grew, those with money moved to nicer areas, leaving behind the dregs of society. When the Rending struck, this place was hit pretty hard.") +end + +function dlg_12_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek016.mp3", "", "", 2641573329, 4171213682, Spawn) + AddConversationOption(conversation, "Is there no law and order here?", "dlg_12_14") + AddConversationOption(conversation, "Time for me to leave.") + StartConversation(conversation, NPC, Spawn, "There was no point in rebuilding. New residential districts like Big Bend and the Scale Yard had already been established, and there was simply too much damage to justify the expense. The old windmills that used to supply some of Freeport's energy were obsolete, so there was nothing worth saving here. The Overlord decided to leave this place as is.") +end + +function dlg_12_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek017.mp3", "", "", 2753020980, 1722099722, Spawn) + AddConversationOption(conversation, "What can I do to aid the Dreadnaughts?", "dlg_12_15") + AddConversationOption(conversation, "I think I'll be going now.") + StartConversation(conversation, NPC, Spawn, "The Freeport Militia has a few members here, just to make sure none of these hoodlums try to enter the city proper. But the Sprawl actually serves a useful purpose for the Dreadnaughts. We dominate the smaller gangs and look for worthwhile recruits for our order. Those who prove themselves on these streets may have a future with us.") +end + +function dlg_12_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek018.mp3", "", "", 1172539182, 759080499, Spawn) + AddConversationOption(conversation, "I'm up for it. What's the first task?", "dlg_12_16") + AddConversationOption(conversation, "No thanks, I'm not your messenger.") + StartConversation(conversation, NPC, Spawn, "Right to the point, eh? I like that. Well, you can lend a hand in checking on some of these gangs, make sure they're keeping in line.") +end + +function dlg_12_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek019.mp3", "", "", 2830815918, 3015653280, Spawn) + AddConversationOption(conversation, "Where can I find Durbok?", "OfferQuest1") + AddConversationOption(conversation, "Run your own errands.") + StartConversation(conversation, NPC, Spawn, "I assigned one of our best trainers, an ogre named Durbok, to teach the Giantslayers some of our combat tactics. I need you to go to him and get a report on the progress of the trainees. Tell him I sent you so that he'll cooperate.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Yes, he told me that the Giantslayers aren't progressing as well as he'd like.", "dlg_25_1") + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek021.mp3", "", "", 3599945718, 484247249, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you get that progress report from Trainer Durbok yet?") +end + +function dlg_25_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek022.mp3", "", "", 1909175152, 30886164, Spawn) + AddConversationOption(conversation, "He said their leader, Brutemaster Tarden, was more interested in lining his own pockets than training his forces.", "dlg_25_2") + AddConversationOption(conversation, "I'd rather not discuss it.") + StartConversation(conversation, NPC, Spawn, "That's what I suspected! Did he tell you why?") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 2 +------------------------------------------------------------------------------------------------------------------------ + +function GreetingsAgain(NPC, Spawn, conversation) + AddConversationOption(conversation, "It seems their boss, Brutemaster Tarden, is the key.", "dlg_25_2") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Greetings once again. Are you ready to supply some 'proper motivation' to the leader of the giant slayers?") +end + + +function dlg_25_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek023.mp3", "", "", 3282987047, 3481980081, Spawn) + AddConversationOption(conversation, "I'll give it a shot.", "dlg_25_3") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "It's time to remind that fool Tarden of his responsibilities. Say, how would you like to play the role of a Dreadnaught Enforcer for a day?") +end + +function dlg_25_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek024.mp3", "", "", 820911238, 205246432, Spawn) + AddConversationOption(conversation, "What if he refuses to cooperate?", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "Time to have a little fun with this buffoon! Go find the boss of the Giantslayers, Brutemaster Tarden. He's probably walking back and forth through the area where his gang hangs out. Confront him and tell him you're one of the Dreadnaughts. Let him know we're tired of his greed and laziness, and that he better get busy training his people.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek026.mp3", "", "", 1764893245, 720511474, Spawn) + if GetQuestStep(Spawn, QUEST_2) == 2 then + AddConversationOption(conversation, "Yes, but I had to get a little rough with him.", "dlg_27_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you confronted Brutemaster Tarden and got him back on track yet?") +end + +function dlg_27_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek027.mp3", "", "", 3293144589, 323622543, Spawn) + AddConversationOption(conversation, "What else would you like me to do?", "dlg_27_2") + AddConversationOption(conversation, "I think our business is concluded.") + StartConversation(conversation, NPC, Spawn, "Good work! Don't worry about roughing Tarden up. He had it coming to him! He won't be so quick to ignore orders from his superiors in the future.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 3 +------------------------------------------------------------------------------------------------------------------------ + +function GreetingsAdventurer(NPC, Spawn, conversation) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Can I lend you a hand?", "dlg_27_2") + AddConversationOption(conversation, "Sounds like you have work to do.") + StartConversation(conversation, NPC, Spawn, "Greetings adventurer. These rival gangs must be kept under the control of the Dreadnaughts.") +end + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek028.mp3", "", "", 200650494, 3868034746, Spawn) + AddConversationOption(conversation, "Sure, if this job is as rewarding as the last.", "dlg_27_3") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "I could really use your help checking up on the other gangs here in the Sprawl. Will you lend me a hand?") +end + +function dlg_27_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek029.mp3", "", "", 229557980, 3056293527, Spawn) + AddConversationOption(conversation, "What do you want me to do there?", "OfferQuest3") + AddConversationOption(conversation, "Rats? Forget it!") + StartConversation(conversation, NPC, Spawn, "Ha! That's the spirit! I think you might make a good Dreadnaught some day. Okay, here's what I want you to do. Head past the Giantslayers and keep going south past the gateway to the Commonlands. You'll be in the heart of the Black Magi, those sneaky little ratonga.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_3) == 2 then + AddConversationOption(conversation, "I found her, but she wouldn't reveal much to me.", "dlg_30_1") + end + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek034.mp3", "", "", 1199347537, 124771844, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you find Tikkeri and learn anything about the Black Magi?") +end + +function dlg_27_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek031.mp3", "", "", 2755416123, 3102178981, Spawn) + AddConversationOption(conversation, "What 'wheel' are you talking about?", "dlg_27_6") + AddConversationOption(conversation, "Forget it, this sounds cheesy.") + StartConversation(conversation, NPC, Spawn, "Well, she won't respond if she thinks you're there on Dreadnaught business. Hmm... Wait, I have an idea! Tell her you've got information on 'the wheel.'") +end + +function dlg_27_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek032.mp3", "", "", 1619463323, 6558456, Spawn) + AddConversationOption(conversation, "I'll give it a try.", "dlg_27_7") + StartConversation(conversation, NPC, Spawn, "You don't need to know what it means. Maybe you'll find out someday. Anyhow, just tell her you might be willing to trade information on 'the wheel' if you know you can trust her. That might get Tikkeri to open up. Come back after you've learned something useful from her.") +end + +function dlg_27_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek033.mp3", "", "", 4228654183, 2166067053, Spawn) + AddConversationOption(conversation, "Thanks for the advice. I'll be back.") + StartConversation(conversation, NPC, Spawn, "Oh, just a word of warning. The Black Magi are fair game if you want to fight any of them, but it will be a lot harder for you to reach Tikkeri if you make an enemy out of their gang. I suggest you finish this task before you do much ratonga hunting.") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek035.mp3", "", "", 4223119481, 1134215352, Spawn) + AddConversationOption(conversation, "She mentioned that 'the Marked' would be rising to power, and we'd hear more of them soon.", "dlg_30_2") + AddConversationOption(conversation, "I don't want to share that information.") + StartConversation(conversation, NPC, Spawn, "Well, something is better than nothing. What did she say?") +end + +function dlg_30_2(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek036.mp3", "", "", 4111858897, 274557539, Spawn) + AddConversationOption(conversation, "Thank you. Anything else I can help you with?", "dlg_30_3") + AddConversationOption(conversation, "Sounds like a good time to be going.") + StartConversation(conversation, NPC, Spawn, "She said 'the Marked'? That's very interesting. I've heard rumors of other ratonga around Norrath muttering that phrase in veiled whispers. It seems like something big might be brewing. I'll let my superiors back in the city know what you found out. Well done!") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 4 +------------------------------------------------------------------------------------------------------------------------ + +function NiceWork(NPC, Spawn, conversation) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What did you have in mind?", "dlg_30_3") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Nice work obtaining information from the Black Magi. Are you ready for a tougher assignment?") +end + +function dlg_30_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek037.mp3", "", "", 2350612963, 4036765011, Spawn) + AddConversationOption(conversation, "I'm up for the challenge.", "dlg_30_4") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "The largest gang here in the Sprawl is without question the most dangerous. The Dervish Cutthroats are scum, pure and simple. They need to be taught a lesson.") +end + +function dlg_30_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek038.mp3", "", "", 2271152458, 1644298749, Spawn) + AddConversationOption(conversation, "How should I proceed?", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "To the south of here, you'll find the streets lined with those accursed Dervish. These lowlifes are nowhere near as tough as their superiors in the Commonlands, but beware their numbers. I need you to thin them out a bit and show them that the Dreadnaughts are still in control around here.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek040.mp3", "", "", 2354759154, 3667485927, Spawn) + if GetQuestStep(Spawn, QUEST_4) == 4 then + AddConversationOption(conversation, "There are a good number of Dervish who won't be threatening Freeport any longer.", "dlg_32_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you teach those filthy Dervish a lesson?") +end + +function dlg_32_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4, 4) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek041.mp3", "", "", 459171566, 399692655, Spawn) + AddConversationOption(conversation, "Thanks. Do you have any further jobs for me?", "dlg_32_2") + AddConversationOption(conversation, "No way. I'm done with this kind of work.") + StartConversation(conversation, NPC, Spawn, "Nice work! Those Dervish will know better than to mess with us in the future. I must say, I was skeptical when first I saw you, but you've proved to be Dreadnaught material. You've helped us a lot out here in the Sprawl, so accept this reward on behalf of the Dreadnaughts.") +end + +------------------------------------------------------------------------------------------------------------------------ +-- QUEST 5 +------------------------------------------------------------------------------------------------------------------------ + +function WelcomeBack(NPC, Spawn, conversation) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek042.mp3", "", "", 3199383126, 2868778481, Spawn) + AddConversationOption(conversation, "DDo you have anything else for me?", "dlg_32_2") + AddConversationOption(conversation, "I'm through talking to you.") + StartConversation(conversation, NPC, Spawn, "Welcome back, adventurer. You've done some nice work around here.") +end + +function dlg_32_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek042.mp3", "", "", 3199383126, 2868778481, Spawn) + AddConversationOption(conversation, "Duly noted. Anything else?", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "I've got to get back to my duties. I told Trainer Durbok that you might be interested in lending a hand in keeping his training ground clear, so you might want to have a word with him. You could also strike out on your own and clear some of the thugs from these mean streets. But like I warned you before, if you mess with the Giantslayers you will draw the attention of the Dreadnaughts.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +function OnQuest5(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek043.mp3", "", "", 1861012696, 1699746787, Spawn) + AddConversationOption(conversation, "How should I get there?", "dlg_32_4") + StartConversation(conversation, NPC, Spawn, "Don't linger here too long, adventurer. I just got word of something major happening in the Ruins of old Freeport. You need to get there as soon as possible and lend a hand in defending the city.") +end + +function dlg_32_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek044.mp3", "", "", 3653537758, 3291895928, Spawn) + AddConversationOption(conversation, "Are there any other locations for adventure that you could suggest?", "dlg_32_5") + StartConversation(conversation, NPC, Spawn, "Your best route is to go back through the city, either through Big Bend or the Scale Yard. Head to the docks, then ring the bell to travel outside Freeport proper. Head to the Ruins and seek out a friend of mine in the Freeport Militia, Captain Arellius. Get moving!") +end + +function dlg_32_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek044b.mp3", "", "", 1076595806, 3802376604, Spawn) + AddConversationOption(conversation, "Please tell me more about Custodian Zaddar.", "dlg_32_6") + AddConversationOption(conversation, "Please tell me more about Inquisitor Thorson.", "dlg_32_7") + AddConversationOption(conversation, "Thank you, I may seek them out.") + StartConversation(conversation, NPC, Spawn, "I know others in Freeport who could use your help as well. Custodian Zaddar in the Graveyard is investigating a rise in undead activity, and Inquisitor Throson in the Sunken City is delving into an ancient mystery. Both could use the aid of a hero like you, Whipew.") +end + +function dlg_32_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek056.mp3", "", "", 407333436, 4264887300, Spawn) + AddConversationOption(conversation, "Please tell me more about Inquisitor Thorson.", "dlg_32_7") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Custodian Zaddar in the Graveyard is trying to determine what's behind a recent increase in undead attacks. Use the mariner's bell on the docks of your home district to travel to Stonestair Byway. Head west until you see a passage to the south. The gate at the end leads to the Graveyard.") +end + +function dlg_32_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/enforcer_kurdek/fprt_adv03_sprawl/quests/enforcer_kurdek057.mp3", "", "", 1278127784, 3972904747, Spawn) + AddConversationOption(conversation, "Please tell me more about Custodian Zaddar.", "dlg_32_6") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Inquisitor Thorson in the Sunken City needs help investigating ancient mysteries that threaten Freeport's safety. To travel to the Sunken City, use the mariner's bell on the docks of your home district to travel outside Freeport and chose Sunken City as your destination.") +end diff --git a/Lua/SpawnScripts/Sprawl/GatekeeperMalora.lua b/Lua/SpawnScripts/Sprawl/GatekeeperMalora.lua new file mode 100755 index 000000000..44f290928 --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/GatekeeperMalora.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Sprawl/GatekeeperMalora.lua + Script Purpose : Gatekeeper Malora + Script Author : John Adams + Script Date : 2008.09.29 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gatekeeper_malora/fprt_adv03_sprawl/quests/protector_malora004.mp3", "", "", 1115741315, 3103270743, Spawn) + AddConversationOption(conversation, "Be well, Malora.", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "It is my duty to ensure the safety of less-experienced adventurers. Someone of your skill need not worry about traveling beyond this gate.") +end + diff --git a/Lua/SpawnScripts/Sprawl/GatekeeperMalren.lua b/Lua/SpawnScripts/Sprawl/GatekeeperMalren.lua new file mode 100755 index 000000000..be6cc62d8 --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/GatekeeperMalren.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Sprawl/GatekeeperMalren.lua + Script Purpose : Gatekeeper Malren + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if GetLevel(Spawn) < 12 then + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gatekeeper_malren/fprt_adv03_sprawl/quest/warning_malren_warning_6607638a.mp3", "Beyond this gate lies a warzone! Beware!", "brandish", 3114668751, 2889688375, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gatekeeper_malren/fprt_adv03_sprawl/quest/warning_malren_warning_2d5ced43.mp3", "Heed my warning! Beware the danger ahead, adventurer!", "no", 1710591431, 2684761663, Spawn) + end + end +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetLevel(Spawn) < 12 then + AddConversationOption(conversation, "What do you mean?", "WhatDoYouMean") + AddConversationOption(conversation, "Thanks for the warning.") + StartConversation(conversation, NPC, Spawn, "Be wary, adventurer. Great danger lies beyond this gate!") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/gatekeeper_malora/fprt_adv03_sprawl/quests/protector_malora004.mp3", "", "", 1115741315, 3103270743, Spawn) + AddConversationOption(conversation, "Be well, Malren.") + StartConversation(conversation, NPC, Spawn, "It is my duty to ensure the safety of less-experienced adventurers. Someone of your skill need not worry about traveling beyond this gate.") + end +end + +function WhatDoYouMean(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Where should I go once I get to a district?", "OnceGetDestrict") + AddConversationOption(conversation, "I will do so.") + StartConversation(conversation, NPC, Spawn, "This gate leads to the Freeport Ruins which is currently under attack. If you seek to travel there, I highly recommend you go back through Big Bend or Scale Yard instead.") +end + +function OnceGetDestrict(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why is travel beyond this gate so dangerous?", "WhySoDangerous") + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Make your way to the docks in either district, then use the bell to summon transport outside of freeport. You can select the Ruins as your destination.") +end + +function WhySoDangerous(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks for the advice, Malren.") + StartConversation(conversation, NPC, Spawn, "Traveling through this gate isn't very safe unless you bring a group of friends with you. Some very powerful orcs are clashing with the Freeport Militia just beyond it. Entering the Ruins by way of the docks is a much wiser approach.") +end diff --git a/Lua/SpawnScripts/Sprawl/Gorgo.lua b/Lua/SpawnScripts/Sprawl/Gorgo.lua new file mode 100755 index 000000000..3d1f36e6e --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/Gorgo.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Sprawl/Gorgo.lua + Script Purpose : Gorgo + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 423300132, 829337329, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 606354622, 1657703048, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3898592844, 3023882159, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/guard/ogre_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 2290537918, 776957565, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/LUnt.lua b/Lua/SpawnScripts/Sprawl/LUnt.lua new file mode 100755 index 000000000..5b3a63281 --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/LUnt.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Sprawl/LUnt.lua + Script Purpose : L'Unt + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3330899926, 205777100, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 3071777755, 1811086423, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 3455786340, 1963116786, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/guard/darkelf_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 3432620709, 3039361332, Spawn) + end +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/LiegeAquila.lua b/Lua/SpawnScripts/Sprawl/LiegeAquila.lua new file mode 100755 index 000000000..5ef96c1ad --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/LiegeAquila.lua @@ -0,0 +1,321 @@ +--[[ + Script Name : SpawnScripts/Sprawl/LiegeAquila.lua + Script Purpose : Liege Aquila + Script Author : Scatman + Script Date : 2008.09.29 + Script Notes : +--]] + +local QUEST_1 = 261 -- repeatable + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + RandomVoiceOver(NPC, Spawn) + + if HasCompletedQuest(Spawn, QUEST_1) then + YouveDoneWell(NPC, Spawn, conversation) + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + Greetings(NPC, Spawn, conversation) + end + +--[[ + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What duty is that?", "dlg_5_1") + AddConversationOption(conversation, "Sorry, but I have other things I must do.") + StartConversation(conversation, NPC, Spawn, "Greetings, citizen. Are you prepared to do your duty for the Freeport Militia?") + end + + if convo==6 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What duty is that?", "dlg_6_1") + AddConversationOption(conversation, "Sorry, but I have other things I must do.") + StartConversation(conversation, NPC, Spawn, "Greetings, citizen. Are you prepared to do your duty for the Freeport Militia?") + end + + if convo==10 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I took care of a number of those troublemakers.", "dlg_10_1") + AddConversationOption(conversation, "Not yet, Aquila.") + StartConversation(conversation, NPC, Spawn, "Did you teach the Black Magi who is in charge of Freeport?") + end + + if convo==11 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I am ready to attack those troublemakers again!", "dlg_11_1") + AddConversationOption(conversation, "I'll take up this cause later.") + StartConversation(conversation, NPC, Spawn, "Your efforts to control the Black Magi have been helpful, but more work remains to be done.") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + + end + + if convo==16 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I guess I need to kill more Dervish, eh?", "dlg_16_1") + AddConversationOption(conversation, "I think I've had enough.") + StartConversation(conversation, NPC, Spawn, "You've done well for the Freeport Militia so far, but your job isn't over yet, you know.") + end + + if convo==20 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I taught those crooks a lesson.", "dlg_20_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "So, did you strike some fear into the hearts of the Dervish?") + end + + if convo==21 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I guess I need to kill more Dervish, eh?", "dlg_21_1") + AddConversationOption(conversation, "I think I've had enough.") + StartConversation(conversation, NPC, Spawn, "You've done well for the Freeport Militia so far, but your job isn't over yet, you know.") + end + + if convo==22 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_22_1") + StartConversation(conversation, NPC, Spawn, "So, did you strike some fear into the hearts of the Dervish?") + end + + if convo==31 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I taught those crooks a lesson.", "dlg_31_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "So, did you strike some fear into the hearts of the Dervish?") + end +--]] +end + +function RandomVoiceOver(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + end +end + +--------------------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------------------- + +function Greetings(NPC, Spawn, conversation) + AddConversationOption(conversation, "What duty is that?", "dlg_6_1") + AddConversationOption(conversation, "Sorry, but I have other things I must do.") + StartConversation(conversation, NPC, Spawn, "Greetings, citizen. Are you prepared to do your duty for the Freeport Militia?") +end + +function dlg_6_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you mean?", "dlg_6_2") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "The gangs here in the Sprawl are out of control! Clearly it's time that the Militia took control of the situation. The Dreadnaughts aren't doing enough to maintain order.") +end + +function dlg_6_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will perform my duty for Freeport.", "dlg_6_3") + AddConversationOption(conversation, "Not really.") + StartConversation(conversation, NPC, Spawn, "The Dreadnaughts are supposed to have the run of this place, but in my opinion things would be better if the Militia came here in force and took over. Are you willing to help us do that?") +end + +function dlg_6_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll do it.", "OfferQuest1") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "We need to handle some of these Dervish. They've infested the Sprawl from their bandit camps in the Commonlands. We've got to show them who's in charge around here! I think it will take a few sweeps to really strike fear into them.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I taught those crooks a lesson.", "dlg_15_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "So, did you strike some fear into the hearts of the Dervish?") +end + +function dlg_15_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, NPC, Spawn, "Well done. You show some potential as a worthy servant of the Freeport Militia. Return to me when you are ready for another assignment.") +end + +--------------------------------------------------------------------------------------------------------- +-- QUEST 2 +--------------------------------------------------------------------------------------------------------- + +function YouveDoneWell(NPC, Spawn, conversation) + AddConversationOption(conversation, "I'm ready for a new assignment.", "dlg_6_3") + AddConversationOption(conversation, "I think I've had enough.") + StartConversation(conversation, NPC, Spawn, "You've done well for the Freeport Militia so far, but your job isn't over yet, you know.") +end + + + + + + + + + + + + + + + + + + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll help out.", "dlg_1_2") + AddConversationOption(conversation, "That's not my problem.") + StartConversation(conversation, NPC, Spawn, "It's not only the Dervish causing problems here. The Black Magi, a secretive group of ratonga, are causing havoc in the streets. We can't allow them to dominate the Sprawl!") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I understand the risks.", "dlg_1_3") + AddConversationOption(conversation, "I'll think about it.") + StartConversation(conversation, NPC, Spawn, "Strike some fear into those rogue ratonga. Be careful, though. At first they won't pester you much, but once they notice you've been attacking their kind, they'll be out for your blood!") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will do so.", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Excellent. Report back when you've put the Black Magi in their place.") +end + + + + + + + + + +function dlg_10_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you. I'll check back for more work.", "dlg_10_2") + StartConversation(conversation, NPC, Spawn, "Good. Gangs like that must be kept in line for the sake of Freeport. A job well done, citizen. Check back with me to see if I have more assignments for you.") +end + +function dlg_11_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I understand the risks.", "dlg_11_2") + AddConversationOption(conversation, "I'll think about it.") + StartConversation(conversation, NPC, Spawn, "Strike some fear into those rogue ratonga. Be careful, though. At first they won't pester you much, but once they notice you've been attacking their kind, they'll be out for your blood!") +end + +function dlg_11_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will do so.", "dlg_11_3") + StartConversation(conversation, NPC, Spawn, "Excellent. Report back when you've put the Black Magi in their place.") +end + + +function dlg_16_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll do it.", "dlg_16_2") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "We need to handle some of these Dervish. They've infested the Sprawl from their bandit camps in the Commonlands. We've got to show them who's in charge around here! I think it will take a few sweeps to really strike fear into them.") +end + +function dlg_16_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will do so.", "dlg_16_3") + StartConversation(conversation, NPC, Spawn, "Glad to hear it. Defeat them and return to me for your payment.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "Well done. You show some potential as a worthy servant of the Freeport Militia. Return to me when you are ready for another assignment.") +end + +function dlg_21_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll do it.", "dlg_21_2") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "We need to handle some of these Dervish. They've infested the Sprawl from their bandit camps in the Commonlands. We've got to show them who's in charge around here! I think it will take a few sweeps to really strike fear into them.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will do so.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "Glad to hear it. Defeat them and return to me for your payment.") +end + +function dlg_31_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will return.", "dlg_31_2") + StartConversation(conversation, NPC, Spawn, "Well done. You show some potential as a worthy servant of the Freeport Militia. Return to me when you are ready for another assignment.") +end + diff --git a/Lua/SpawnScripts/Sprawl/Loria.lua b/Lua/SpawnScripts/Sprawl/Loria.lua new file mode 100755 index 000000000..16c4481fb --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/Loria.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Sprawl/Loria.lua + Script Purpose : Loria + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/Sasha.lua b/Lua/SpawnScripts/Sprawl/Sasha.lua new file mode 100755 index 000000000..0c1d74287 --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/Sasha.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/Sprawl/Sasha.lua + Script Purpose : Sasha + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 2288309507, 1188267472, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3460692084, 694864112, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 3740786388, 4176254637, Spawn) + end +end diff --git a/Lua/SpawnScripts/Sprawl/Talmudius.lua b/Lua/SpawnScripts/Sprawl/Talmudius.lua new file mode 100755 index 000000000..82cb987ba --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/Talmudius.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/TheSprawl/Talamudius.lua + Script Purpose : Talamudius + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3265760930, 1055342916, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 1744928325, 2718395831, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 1281050619, 1758539799, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1906726944, 247472694, Spawn) + end +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/TrainerDurbok.lua b/Lua/SpawnScripts/Sprawl/TrainerDurbok.lua new file mode 100755 index 000000000..6ef1686eb --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/TrainerDurbok.lua @@ -0,0 +1,230 @@ +--[[ + Script Name : SpawnScripts/Sprawl/TrainerDurbok.lua + Script Purpose : Trainer Durbok + Script Author : Scatman + Script Date : 2008.09.29 + Script Notes : +--]] + +local QUEST_1_FROM_KURDEK = 253 +local QUEST_3_FROM_KURDEK = 255 +local QUEST_1 = 260 -- repeatable + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quest/quest_trainer_durbok_callout_4b619d6e.mp3", "With my training, you Giantslayers might amount to something yet!", "agree", 677573718, 693214962, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quest/quest_trainer_durbok_callout_620ddf6f.mp3", "That's right, bob and weave.", "agree", 2563477319, 1972593588, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quest/quest_trainer_durbok_callout_6cf1b665.mp3", "Dominate your enemies through force!", "threaten", 2765968733, 31376268, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quest/quest_trainer_durbok_callout_d028d77b.mp3", "Parry and uppercut! Don't forget to use your jab!", "threaten", 1525930784, 909688040, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quest/quest_trainer_durbok_callout_f22abebb.mp3", "Tarden's laziness has been rubbing off on you Giantslayers!", "shakefist", 2685681648, 4087837540, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1_FROM_KURDEK) or (HasQuest(Spawn, QUEST_1_FROM_KURDEK) and GetQuestStep(Spawn, QUEST_1_FROM_KURDEK) > 1) then + if HasCompletedQuest(Spawn, QUEST_3_FROM_KURDEK) then + if HasCompletedQuest(Spawn, QUEST_1) then + -- repeatable + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok006.mp3", "", "", 2664707401, 3770487430, Spawn) + AddConversationOption(conversation, "Enforcer Kurdek mentioned that you could use a hand.", "dlg_0_1") + AddConversationOption(conversation, "Just passing through.") + StartConversation(conversation, NPC, Spawn, "Ah, you again. What brings you back to this part of the Sprawl?") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok001.mp3", "", "", 3497395239, 3242764181, Spawn) + AddConversationOption(conversation, "Sorry, I didn't mean to interrupt.") + StartConversation(conversation, NPC, Spawn, "Hey! Can't you see I'm busy training these recruits how to fight?") + end + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok001.mp3", "", "", 3497395239, 3242764181, Spawn) + if HasQuest(Spawn, QUEST_1_FROM_KURDEK) and GetQuestStep(Spawn, QUEST_1_FROM_KURDEK) == 1 then + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". Enforcer Kurdek sent me to ask how things are going.", "dlg_18_1") + end + AddConversationOption(conversation, "Sorry, I didn't mean to interrupt.") + StartConversation(conversation, NPC, Spawn, "Hey! Can't you see I'm busy training these recruits how to fight?") + end + + + --[[ + + + if convo==2 then + + end + + if convo==3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok012.mp3", "", "", 857680969, 589713294, Spawn) + AddConversationOption(conversation, "Yes, I'm looking for more work to do.", "dlg_3_1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Welcome back. Are you ready to put more of those scum back in their place?") + end + + if convo==4 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok009.mp3", "", "", 2879942612, 4077208169, Spawn) + AddConversationOption(conversation, "There are a few less troublemakers to worry about.", "dlg_4_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Hello again, adventurer. Have you finished thinning out the excess population around here?") + end + + if convo==5 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok012.mp3", "", "", 857680969, 589713294, Spawn) + AddConversationOption(conversation, "Yes, I'm looking for more work to do.", "dlg_5_1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Welcome back. Are you ready to put more of those scum back in their place?") + end + + if convo==6 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok009.mp3", "", "", 2879942612, 4077208169, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_6_1") + StartConversation(conversation, NPC, Spawn, "Hello again, adventurer. Have you finished thinning out the excess population around here?") + end + + if convo==7 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok009.mp3", "", "", 2879942612, 4077208169, Spawn) + AddConversationOption(conversation, "Not yet.", "dlg_7_1") + StartConversation(conversation, NPC, Spawn, "Hello again, adventurer. Have you finished thinning out the excess population around here?") + end + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok009.mp3", "", "", 2879942612, 4077208169, Spawn) + AddConversationOption(conversation, "There are a few less troublemakers to worry about.", "dlg_8_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Hello again, adventurer. Have you finished thinning out the excess population around here?") + end + + if convo==9 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok012.mp3", "", "", 857680969, 589713294, Spawn) + AddConversationOption(conversation, "Yes, I'm looking for more work to do.", "dlg_9_1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Welcome back. Are you ready to put more of those scum back in their place?") + end + + if convo==18 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok001.mp3", "", "", 3497395239, 3242764181, Spawn) + AddConversationOption(conversation, "My name is Whipew. Enforcer Kurdek sent me to ask how things are going.", "dlg_18_1") + AddConversationOption(conversation, "Sorry, I didn't mean to interrupt.") + StartConversation(conversation, NPC, Spawn, "Hey! Can't you see I'm busy training these recruits how to fight?") + end + + if convo==19 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok001.mp3", "", "", 3497395239, 3242764181, Spawn) + AddConversationOption(conversation, "Sorry, I didn't mean to interrupt.", "dlg_19_1") + StartConversation(conversation, NPC, Spawn, "Hey! Can't you see I'm busy training these recruits how to fight?") + end +--]] +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST_1_FROM_KURDEK +------------------------------------------------------------------------------------------------------------------- + +function dlg_18_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok002.mp3", "", "", 3758292268, 2300851073, Spawn) + AddConversationOption(conversation, "So how goes the training?", "dlg_18_2") + AddConversationOption(conversation, "It sounds like a bother, so never mind.") + StartConversation(conversation, NPC, Spawn, "That figures. Kurdek can't be bothered to ask me himself, eh? Fine, I suppose I can tell you instead.") +end + +function dlg_18_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok003.mp3", "", "", 641451677, 496874931, Spawn) + AddConversationOption(conversation, "What do you mean?", "dlg_18_3") + AddConversationOption(conversation, "That doesn't sound like my problem.") + StartConversation(conversation, NPC, Spawn, "There are a few worthwhile Giantslayers here, but for the most part they're too sloppy to ever become Dreadnaughts. I don't really blame them, though. Clearly they aren't getting the proper direction.") +end + +function dlg_18_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok004.mp3", "", "", 321268147, 2623146346, Spawn) + AddConversationOption(conversation, "What do you think should be done about it?", "dlg_18_4") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "The one who claims to be the leader of the Giantslayers is a worthless barbarian named Brutemaster Tarden. I think he cares more about extorting money from the locals than he does about making sure his gang controls the Black Magi and the Dervish.") +end + +function dlg_18_4(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1_FROM_KURDEK, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok005.mp3", "", "", 768810452, 746067812, Spawn) + AddConversationOption(conversation, "I'll let him know.") + StartConversation(conversation, NPC, Spawn, "I recommend that we strike a little fear into Tarden so that he remembers who's really in charge around here. Tell Enforcer Kurdek that it's time to teach that lazy Giantslayer a lesson he won't soon forget.") +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------- + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok007.mp3", "", "", 3620375691, 3328248556, Spawn) + AddConversationOption(conversation, "You've got a deal.", "OfferQuest1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Aye, some of the rival gangs are interfering with my ability to train the Giantslayers. I'd pay you well if you would get rid of some of them for me.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok009.mp3", "", "", 2879942612, 4077208169, Spawn) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "There are a few less troublemakers to worry about.", "dlg_2_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Hello again, adventurer. Have you finished thinning out the excess population around here?") +end + +function dlg_2_1(NPC, Spawn) + SetStepComlete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok010.mp3", "", "", 1104739099, 151745645, Spawn) + AddConversationOption(conversation, "I'll check back.", "dlg_2_2") + StartConversation(conversation, NPC, Spawn, "Great news! As promised, here's your reward. If you're available, I might have more work for you in the future.") +end + +--[[ +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/trainer_durbok/fprt_adv03_sprawl/quests/trainer_durbok008.mp3", "", "", 2693497223, 3993753671, Spawn) + AddConversationOption(conversation, "Will do.", "dlg_5_2") + StartConversation(conversation, NPC, Spawn, "Sounds good. I'll jot down the particulars in your journal. Come back to me for payment when you're finished showing those scum who's boss.") +end +--]] diff --git a/Lua/SpawnScripts/Sprawl/aGiantslayerbasher.lua b/Lua/SpawnScripts/Sprawl/aGiantslayerbasher.lua new file mode 100755 index 000000000..a77e6d19b --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/aGiantslayerbasher.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Sprawl/aGiantslayerbasher.lua + Script Purpose : a Giantslayer basher + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 7) + if choice == 1 then + PlayFlavor(NPC, "", "It's time to show the Dervish who rules Freeport!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Ever since the Dreadnaughts took over, all we do is run errands for them!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I hope Brutemaster Tarden stands up to Kurdek so we can stop all this training!", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Work, work, work... Those Dreadnaughts are slavedrivers, I tell ya!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + Say(NPC, "I've had it with the Dreadnaughts. The Giantslayers should be ruling the streets of Freeport!", Spawn) + elseif choice == 6 then + Say(NPC, "We've got to teach those rats in the Black Magi a lesson!", Spawn) + elseif choice == 7 then + Say(NPC, "Next time Durbok's back is turned, he's going to get what's coming to him!", Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/aGiantslayerbrute.lua b/Lua/SpawnScripts/Sprawl/aGiantslayerbrute.lua new file mode 100755 index 000000000..f2f6d258f --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/aGiantslayerbrute.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Sprawl/aGiantslayerbrute.lua + Script Purpose : a Giantslayer brute + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 7) + if choice == 1 then + PlayFlavor(NPC, "", "It's time to show the Dervish who rules Freeport!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Ever since the Dreadnaughts took over, all we do is run errands for them!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I hope Brutemaster Tarden stands up to Kurdek so we can stop all this training!", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Work, work, work... Those Dreadnaughts are slavedrivers, I tell ya!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + Say(NPC, "I've had it with the Dreadnaughts. The Giantslayers should be ruling the streets of Freeport!", Spawn) + elseif choice == 6 then + Say(NPC, "We've got to teach those rats in the Black Magi a lesson!", Spawn) + elseif choice == 7 then + Say(NPC, "Next time Durbok's back is turned, he's going to get what's coming to him!", Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/aGiantslayerthug.lua b/Lua/SpawnScripts/Sprawl/aGiantslayerthug.lua new file mode 100755 index 000000000..72c4d514c --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/aGiantslayerthug.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/Sprawl/aGiantslayerthug.lua + Script Purpose : a Giantslayer thug + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 7) + if choice == 1 then + PlayFlavor(NPC, "", "It's time to show the Dervish who rules Freeport!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Ever since the Dreadnaughts took over, all we do is run errands for them!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I hope Brutemaster Tarden stands up to Kurdek so we can stop all this training!", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Work, work, work... Those Dreadnaughts are slavedrivers, I tell ya!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + Say(NPC, "I've had it with the Dreadnaughts. The Giantslayers should be ruling the streets of Freeport!", Spawn) + elseif choice == 6 then + Say(NPC, "We've got to teach those rats in the Black Magi a lesson!", Spawn) + elseif choice == 7 then + Say(NPC, "Next time Durbok's back is turned, he's going to get what's coming to him!", Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Sprawl/adistraughtfarmer.lua b/Lua/SpawnScripts/Sprawl/adistraughtfarmer.lua new file mode 100755 index 000000000..1acc53e52 --- /dev/null +++ b/Lua/SpawnScripts/Sprawl/adistraughtfarmer.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/Sprawl/adistraughtfarmer.lua + Script Purpose : a distraught farmer + Script Author : Scatman + Script Date : 2009.07.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "", "Please brave one, drive them away!", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Help me, I beg you!", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + Say(NPC, "They defile my land and steal my crops!", Spawn) + elseif choice == 4 then + Say(NPC, "They may be bad, but the walking rats are worse...", Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/AndorQuist.lua b/Lua/SpawnScripts/Starcrest/AndorQuist.lua new file mode 100755 index 000000000..712a05c64 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/AndorQuist.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/AndorQuist.lua + Script Purpose : Andor Quist + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 903813734, 2512856176, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/AnevayaStarchaser.lua b/Lua/SpawnScripts/Starcrest/AnevayaStarchaser.lua new file mode 100755 index 000000000..210a8e80b --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/AnevayaStarchaser.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Starcrest/AnevayaStarchaser.lua + Script Purpose : Anevaya Starchaser + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_b52cd580.mp3", "The Qeynos Guard cannot defend us from dark forces it neither sees nor understands.", "", 1941375851, 1104708565, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_88bbd1aa.mp3", "The Tunarian Alliance does not see the greater issues beyond individual evils. Their forests might be scorched wastelands and they would still be fending off poachers.", "", 3133325899, 3316523299, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_concordium/ft/eco/good/highelf_eco_good_concordium_hail_gf_987a9a3c.mp3", "While the Celestial Watch futilely awaits word from its forgotten gods the Concordium has harnessed the true power that blazes within each of us.", "", 3806603086, 3205979382, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/AngeliaClayton.lua b/Lua/SpawnScripts/Starcrest/AngeliaClayton.lua new file mode 100755 index 000000000..0681948e2 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/AngeliaClayton.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/AngeliaClayton.lua + Script Purpose : Angelia Clayton + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Hello to you! If you enjoy my dancing please be sure to leave a tip on the counter!", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Barrik.lua b/Lua/SpawnScripts/Starcrest/Barrik.lua new file mode 100755 index 000000000..57edb7929 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Barrik.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Barrik.lua + Script Purpose : Barrik + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/armsdealer_barrik/qey_village02/100_armsdealer_barrik_multhail1_53e2d8b4.mp3", "Hello there! Will you be needin' a new sword today? I forge the best blades this side of the Tranquil Sea... Bested only by the Ironforge smiths. I've no work for you today, perhaps come back another day.", "", 1545023828, 4159512414, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Bermo.lua b/Lua/SpawnScripts/Starcrest/Bermo.lua new file mode 100755 index 000000000..c680151dc --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Bermo.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Bermo.lua + Script Purpose : Bermo + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local GATHERING_GLOWMYST = 244 -- was 36 + +function spawn(NPC) + ProvidesQuest(NPC, GATHERING_GLOWMYST) +end + +function respawn(NPC) + spawn(NPC) +end + +function targeted(NPC, Spawn) + hailed(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, GATHERING_GLOWMYST) then + AllMannerOfFermented(NPC, Spawn) + elseif HasQuest(Spawn, GATHERING_GLOWMYST) then + if GetQuestStep(Spawn, GATHERING_GLOWMYST) == 2 then + AllMannerOfFermentedDone(NPC, Spawn) + else + AllMannerOfFermented(NPC, Spawn) + end + else + AllMannerOfFermentedNoQuest(NPC, Spawn) + end +end + +--------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------------------------------- +function AllMannerOfFermentedDone(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_bermo/qey_village02/bartenderbermo.mp3", "", "", 861640330, 2606733244, Spawn) + AddConversationOption(conversation, "I've brought back the glowmyst juice you needed!", "GotJuice") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "All manner of fermented beverages available here, all with my special Glowmyst juice added!") +end + +function AllMannerOfFermentedNoQuest(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_bermo/qey_village02/bartenderbermo.mp3", "", "", 861640330, 2606733244, Spawn) + AddConversationOption(conversation, "Glowmyst juice? What's that? ", "dlg_15_1") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "All manner of fermented beverages available here, all with my special Glowmyst juice added!") +end + +function AllMannerOfFermented(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_bermo/qey_village02/bartenderbermo.mp3", "", "", 861640330, 2606733244, Spawn) + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "All manner of fermented beverages available here, all with my special Glowmyst juice added!") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_bermo/qey_village02/bartenderbermo000.mp3", "", "", 2271463066, 2768575441, Spawn) + AddConversationOption(conversation, "Sure, why not?", "dlg_15_2") + AddConversationOption(conversation, "I don't think I'm cut out for that.") + StartConversation(conversation, NPC, Spawn, "It's a special juice I squeeze from the glowmyst beetles and I'm running short on the stuff; my customers love it. Hey, you're a stout one, would you mind squeezing me some?") +end + +function dlg_15_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/bartender_bermo/qey_village02/bartenderbermo001.mp3", "", "", 1349632986, 1200312116, Spawn) + AddConversationOption(conversation, "I'll get you some.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "You must go to the Oakymyst forest and harvest the beetles. I'll need at least a handful of the beetles -- their juice doesn't add to or take away from the flavor of my drinks, but it gives them a slight, radiant glow.") +end + +function GotJuice(NPC, Spawn) + SetStepComplete(Spawn, GATHERING_GLOWMYST, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks Bermo!") + StartConversation(conversation, NPC, Spawn, "Great! This will last at least a week! If you wait just a minute...Ahh, here we are! Take some money for your troubles. I insist!") +end + +function OfferQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, GATHERING_GLOWMYST) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Binkum.lua b/Lua/SpawnScripts/Starcrest/Binkum.lua new file mode 100755 index 000000000..4f66bf0d3 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Binkum.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Binkum.lua + Script Purpose : Binkum + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/BurtEverett.lua b/Lua/SpawnScripts/Starcrest/BurtEverett.lua new file mode 100755 index 000000000..04e6bc3e0 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/BurtEverett.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/BurtEverett.lua + Script Purpose : Burt Everett + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I would give you something to do, but I have nothing to do myself!", "shrug", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/CayanSable.lua b/Lua/SpawnScripts/Starcrest/CayanSable.lua new file mode 100755 index 000000000..99ab65f8e --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/CayanSable.lua @@ -0,0 +1,249 @@ +--[[ + Script Name : SpawnScripts/Starcrest/CayanSable.lua + Script Purpose : Cayan Sable + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local MEETING_WITH_CAYAN = 316 -- was 32 +local INFORMATION_MERCHANTS = 318 -- was 33 +local CONFRONTATION = 321 -- was 35 + +-- Item ID's +local FOLDING_STAND = 7379 + +function spawn(NPC) + ProvidesQuest(NPC, INFORMATION_MERCHANTS) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, MEETING_WITH_CAYAN) then + if HasCompletedQuest(Spawn, INFORMATION_MERCHANTS) then + if HasCompletedQuest(Spawn, CONFRONTATION) then + elseif HasQuest(Spawn, CONFRONTATION) then + AhWelcomeBack(NPC, Spawn) + end + elseif HasQuest(Spawn, INFORMATION_MERCHANTS) then + Say(NPC, "Have any problems friend?", Spawn) + else + HaveYouCollectedBerries(NPC, Spawn) + end + elseif HasQuest(Spawn, MEETING_WITH_CAYAN) then + if GetQuestStep(Spawn, MEETING_WITH_CAYAN) == 1 then + BetterHaveAGoodReason(NPC, Spawn) + else + HaveYouCollectedBerries(NPC, Spawn) + end + end +end + +------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +------------------------------------------------------------------------------------------------------------------- +function BetterHaveAGoodReason(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable001.mp3", "", "", 2955433596, 3328302943, Spawn) + AddConversationOption(conversation, "I have a job to ask of you, Maareona sent me.", "dlg_35_1") + StartConversation(conversation, NPC, Spawn, "You better have a good reason for being back here.") +end + +function dlg_35_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable002.mp3", "", "", 3326314353, 4151016678, Spawn) + AddConversationOption(conversation, "We need-", "dlg_35_2") + StartConversation(conversation, NPC, Spawn, "You wish a favor of your own accord? Speak of nothing else. What do you need?") +end + +function dlg_35_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable003.mp3", "", "", 3734878539, 3356918318, Spawn) + AddConversationOption(conversation, "I need information on a package that was delivered to Qeynos recently.", "dlg_35_3") + StartConversation(conversation, NPC, Spawn, "You need...") +end + +function dlg_35_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable004.mp3", "", "", 3348898221, 3703761299, Spawn) + AddConversationOption(conversation, "It was delivered to an Erudite by the name of Oolium Artanaes. Its final destination is within Starcrest Commune, but it hasn't been delivered yet. I need to know the whereabouts of this package.", "dlg_35_4") + StartConversation(conversation, NPC, Spawn, "And what information do you have regarding this package?") +end + +function dlg_35_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable005.mp3", "", "", 3481387344, 4143272170, Spawn) + AddConversationOption(conversation, "What favor?", "dlg_35_5") + StartConversation(conversation, NPC, Spawn, " Very well. This will take some time, but not much. I will need to contact some friends, but I will get your information. For now I need you to do me a favor.") +end + +function dlg_35_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable006.mp3", "", "", 2014036225, 2408031230, Spawn) + AddConversationOption(conversation, "I'll do it.", "dlg_36_6") + AddConversationOption(conversation, "Why do you need me to do this for you?", "dlg_35_6") + StartConversation(conversation, NPC, Spawn, "Red Sun Berries grow all around the Starcrest Commune. I need you to collect some for me.") +end + +function dlg_35_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable007.mp3", "", "", 96821559, 3612059519, Spawn) + AddConversationOption(conversation, "So you want me to take the fall for you if I get caught?", "dlg_35_7") + StartConversation(conversation, NPC, Spawn, "Well, you owe me, for one. Also, I can't risk being caught with Red Sun Berries. I have a record, and having certain items that can be broken down into alchemical compounds used by assassins - despite how I intend to use them - would complicate my stay here in the Starcrest Commune.") +end + +function dlg_35_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable008.mp3", "", "", 104262270, 421900564, Spawn) + AddConversationOption(conversation, "That's a pretty flimsy excuse, isn't it? What do you need them for?", "dlg_35_8") + StartConversation(conversation, NPC, Spawn, "Hardly. You're an Erudite. You people are always using Red Sun Berries for alchemical experiments and what not. Nobody will question an Erudite collecting some berries. If they do, just tell them you're looking to cure some ancient disease, they'll buy it.") +end + +function dlg_35_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable009.mp3", "", "", 655615143, 4278558385, Spawn) + AddConversationOption(conversation, "I'm in.", "dlg_36_6") + AddConversationOption(conversation, "I'm out.") + StartConversation(conversation, NPC, Spawn, "The excuse is not flimsly for someone without a record. An extract from the berries themselves has been known to dull the magical prowess of those who consume it. This is something a client of mine wishes to study, as such I need the berries. I am not interested in whatever malicious uses the berries may have... for now. Are you in or out?") +end + +function dlg_36_6(NPC, Spawn) + SetStepComplete(Spawn, MEETING_WITH_CAYAN, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable010.mp3", "", "", 3772026299, 415172365, Spawn) + AddConversationOption(conversation, "Thanks, how do I get out of here?", "ThanksHowDoIGetOut") + AddConversationOption(conversation, "I will get them.") + StartConversation(conversation, NPC, Spawn, "I thought so. You can find the berries on some bushes around Starcrest Commune. They're not very obvious, as they rest at the heart of the bush itself, but if you reach in and give it a good shake, you should get some.") +end + +function ThanksHowDoIGetOut(NPC, Spawn) + PlayFlavor(NPC, "", "Just climb through this bush here.", "", 1689589577, 4560189, Spawn) +end + +function HaveYouCollectedBerries(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable011.mp3", "", "", 1406752203, 243044540, Spawn) + + if GetQuestStep(Spawn, MEETING_WITH_CAYAN) == 2 then + AddConversationOption(conversation, "Not yet.") + elseif (HasCompletedQuest(Spawn, MEETING_WITH_CAYAN) and not HasCompletedQuest(Spawn, INFORMATION_MERCHANTS)) or (HasQuest(Spawn, MEETING_WITH_CAYAN) and GetQuestStep(Spawn, MEETING_WITH_CAYAN) == 3) then + AddConversationOption(conversation, "Yes I have.", "CollectedBerries") + end + + AddConversationOption(conversation, "How do I get out of here?", "dlg_38_1") + StartConversation(conversation, NPC, Spawn, "Have you collected the berries yet?") +end + +function dlg_38_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable011a.mp3", "", "", 399132427, 3525586740, Spawn) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "You can use the bush behind me to pull yourself out of here.") +end + +function CollectedBerries(NPC, Spawn) + SetStepComplete(Spawn, MEETING_WITH_CAYAN, 3) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable012.mp3", "", "", 1654045376, 2588392355, Spawn) + AddConversationOption(conversation, "Pick it up?", "dlg_41_2") + StartConversation(conversation, NPC, Spawn, "Good. Your information has been acquired. You may pick it up at your earliest convenience. It may be time sensitive, so I would suggest sooner rather than later. Take this for services rendered. Your information was easier to acquire than I had guessed.") +end + +----------------------------------------------------------------------------------------------------------- +-- QUEST 2 +----------------------------------------------------------------------------------------------------------- + +function dlg_41_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable013.mp3", "", "", 1738977381, 1610837494, Spawn) + AddConversationOption(conversation, "All right...", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "You can obtain it from Zinun Loospakina, just north east of the entrance to the Peat Bog. He should have a small, bronze statuette for sale. Nobody in their right mind would purchase such an item. You, however, will find it quite irresistible and charming.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, INFORMATION_MERCHANTS) +end + +------------------------------------------------------------------------------------------------------------ +-- QUEST 4 +------------------------------------------------------------------------------------------------------------ + +function AhWelcomeBack(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable014.mp3", "", "", 1560703880, 2874329405, Spawn) + + if GetQuestStep(Spawn, CONFRONTATION) == 1 then + AddConversationOption(conversation, "I need the stand that you were spoken to about earlier.", "dlg_52_1") + else + if not HasItem(Spawn, FOLDING_STAND) then + AddConversationOption(conversation, "I need the stand that you were spoken to about earlier.", "dlg_52_1") + else + AddConversationOption(conversation, "Nothing for now.") + end + end + + StartConversation(conversation, NPC, Spawn, "Ah, welcome back. What can I do for you this time?") +end + +function dlg_52_1(NPC, Spawn) + if GetQuestStep(Spawn, CONFRONTATION) == 1 then + SetStepComplete(Spawn, CONFRONTATION, 1) + end + + SummonItem(Spawn, FOLDING_STAND) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/cayan_sable/qey_village02/quests/cayan_sable/cayan_sable015.mp3", "", "", 1707606183, 700025760, Spawn) + AddConversationOption(conversation, "Nothing else.", "NothingElse") + StartConversation(conversation, NPC, Spawn, "Of course. It's yours. Is there anything else?") +end + +function NothingElse(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Then may the day treat you well.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/ElliasenkaCroosinaden.lua b/Lua/SpawnScripts/Starcrest/ElliasenkaCroosinaden.lua new file mode 100755 index 000000000..7b05f1c24 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/ElliasenkaCroosinaden.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Starcrest/ElliasenkaCroosinaden.lua + Script Purpose : Elliasenka Croosinaden + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/elliasenka_croosinaden/qey_village02/elliasenkacroosinaden000.mp3", "", "", 4184348378, 3631028960, Spawn) + AddConversationOption(conversation, "You seem to be busy. I'll find someone else to talk to.") + StartConversation(conversation, NPC, Spawn, "Unless you possess the knowledge we seek and will help us, I suggest you leave us with this human. Now, go, leave us to our business!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/ErianSeaver.lua b/Lua/SpawnScripts/Starcrest/ErianSeaver.lua new file mode 100755 index 000000000..ff7a5f3d3 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/ErianSeaver.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/Starcrest/ErianSeaver.lua + Script Purpose : Erian Seaver + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, please teach me.", "dlg_4_1") + AddConversationOption(conversation, "No, not at the moment.") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade, good. We can always use talented artisans. I can help you get started, would you be interested?") +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will start on that now.", "dlg_4_2") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting specialty.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/FarnsbyDunworth.lua b/Lua/SpawnScripts/Starcrest/FarnsbyDunworth.lua new file mode 100755 index 000000000..8feed7879 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/FarnsbyDunworth.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/FarnsbyDunworth.lua + Script Purpose : Farnsby Dunworth + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Hey, I don't know what they are talking about. I've never seen such a scroll in my life!", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/FawnStarstone.lua b/Lua/SpawnScripts/Starcrest/FawnStarstone.lua new file mode 100755 index 000000000..f0a1cc7ee --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/FawnStarstone.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Starcrest/FawnStarstone.lua + Script Purpose : Fawn Starstone + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1003.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks for the welcome! See you around!") + StartConversation(conversation, NPC, Spawn, "Welcome to the village! I hope you find everything you need. I wish I had!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/GracenDocks.lua b/Lua/SpawnScripts/Starcrest/GracenDocks.lua new file mode 100755 index 000000000..a776d7c91 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/GracenDocks.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Starcrest/GracenDocks.lua + Script Purpose : Gracen Docks + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "You should watch the sky at night sometime, it sure does get pretty.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Sometimes fate leaves you guessing, but never forget that the point is buried in there somewhere.", "", 1689589577, 4560189, Spawn) + else + end + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Grekin.lua b/Lua/SpawnScripts/Starcrest/Grekin.lua new file mode 100755 index 000000000..cb674d3b0 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Grekin.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Grekin.lua + Script Purpose : Grekin + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/merchant_grekin/qey_village02/100_human_merchant_m_01_multhail1_78077dd5.mp3", "Sorry, friend. I don't think you can help me.", "", 3289788151, 1391553241, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Harstead.lua b/Lua/SpawnScripts/Starcrest/Harstead.lua new file mode 100755 index 000000000..b09ab3fef --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Harstead.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Harstead.lua + Script Purpose : Harstead + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2588954321, 88153469, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1667555721, 2696093362, Spawn) + end + +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/InnkeeperJerbenSleepwell.lua b/Lua/SpawnScripts/Starcrest/InnkeeperJerbenSleepwell.lua new file mode 100755 index 000000000..e05ae468a --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/InnkeeperJerbenSleepwell.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Starcrest/InnkeeperJerbenSleepwell.lua + Script Purpose : Innkeeper Jerben Sleepwell + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "innkeeper_jerben_sleepwell/qey_village02/innkeeper010.mp3", "", "", 3595889549, 3697050857, Spawn) + AddConversationOption(conversation, "Yes, please.") + AddConversationOption(conversation, "No thank you.") + StartConversation(conversation, NPC, Spawn, "Hello " .. GetName(Spawn) .. ", I am the Innkeeper for this village. We have received word of your arrival and have a room prepared for you. Would you like to know more about housing?") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/innkeeper_jerben_sleepwell/qey_village02/100_innkeeper_callout_ce8f52eb.mp3", "It's been so long since I've had one of my wife's special desserts! I want some crunchies! Will you help me get more crunchies?", "", 943990017, 651455380, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Starcrest/KnightCaptainSantis.lua b/Lua/SpawnScripts/Starcrest/KnightCaptainSantis.lua new file mode 100755 index 000000000..708af6d7e --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/KnightCaptainSantis.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : SpawnScripts/StarcrestCommune/KnightCaptainSantis.lua + Script Purpose : Knight-Captain Santis + Script Author : Ememjr + Script Date : 2017.10.28 + Script Notes : +--]] + + + + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, 240) +end +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + if not HasQuest(Spawn, 240) and not QuestIsComplete(Spawn , 240) then + AddConversationOption(conversation, "What kind of trouble is out in the bog?", "Option4") + end + if HasQuest(Spawn, 300) then + AddConversationOption(conversation, "I bring you an urgent message from the Nettleville Garrison.", "Option5") + end + if HasQuest(Spawn,240) then + if not QuestIsComplete(Spawn , 240) then + if QuestStepIsComplete(Spawn, 240, 1) then + AddConversationOption(conversation, "I am happy to report that I have eliminated several Bog Sludges at your request.", "Killed") + end + end + end + StartConversation(conversation, NPC, Spawn, "Good day to you. I've been hearing reports that the Peat Bog isn't safe right now. I hope you didn't have any trouble if you came in that way.") +end +function InRange(NPC,Spawn) + PlayFlavor(NPC, "", "Have you a moment? We guards could use your assistance!", "beckon", 0, 0, Spawn) +end +function Killed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "It feels good to make the area a little bit safer.","GetReward") + StartConversation(conversation, NPC, Spawn, "You are truly valuable to Qeynos. I'm already receiving optimistic reports that the Bog Sludge are finally under control. Please accept this reward for a job well done.") + +end +function GetReward(NPC, Spawn) + SetStepComplete(Spawn, 240, 2) +end + +function Option4(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "A few sludges shouldn't be a problem for me.", "Option6") + StartConversation(conversation, NPC, Spawn, "The Bog Sludges have swelled in number, spreading like pestilence. This vermin has become a serious menace to the refugees in that region. The Sludges must be exterminated for the safety of the people. I hope you're not too squeamish for such a job. ") +end + +function Option6(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Sounds good. I'll get right on it.", "Offer") + StartConversation(conversation, NPC, Spawn, "Excellent! Go to the Peat Bog, slay several sludges and report back to me. I will reward you for your service to Qeynos. ") +end + +function Option5(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Phalanx match! I will tell him you accept.") + StartConversation(conversation, NPC, Spawn, "Let me read that... Ha! Captain Hastings and his team wish to challenge the Starcrest Garrison to a Phalanx match? We shall squash them. Tell him I accept.") +end +function Offer(NPC,Spawn) + OfferQuest(NPC, Spawn, 240) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/LuvileBinlee.lua b/Lua/SpawnScripts/Starcrest/LuvileBinlee.lua new file mode 100755 index 000000000..454e7e2b7 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/LuvileBinlee.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Starcrest/LuvileBinlee.lua + Script Purpose : Luvile Binlee + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/luvile_binlee/qey_village02/luvilebinlee000.mp3", "", "", 2956622106, 3546014069, Spawn) + AddConversationOption(conversation, "That's a bit deep for me. Sorry for bothering your meditations.") + StartConversation(conversation, NPC, Spawn, "I'm contemplating how this tree symbolizes a person's life ... We all come from a solid trunk grounded in history, and the tree branches represent the random choices we make in life...") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/MaareonaLudimintium.lua b/Lua/SpawnScripts/Starcrest/MaareonaLudimintium.lua new file mode 100755 index 000000000..7be07216b --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/MaareonaLudimintium.lua @@ -0,0 +1,485 @@ +--[[ + Script Name : SpawnScripts/Starcrest/MaareonaLudimintium.lua + Script Purpose : Maareona Ludimintium + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Race ID's +local Erudite = 3 + +-- Quest ID's +local MEETING_WITH_CAYAN = 316 -- was 32 +local INFORMATION_MERCHANTS = 318 -- was 33 +local HIDDEN_TREASURES = 320 -- was 34 +local CONFRONTATION = 321 -- was 35 +local DELIVERING_NEWS = 322 + +-- Item ID's +local NULLIFICATION_STONE = 10087 +local SOUL_SPIKE = 13134 + + +-- players name was +-- Jinoira + + +function spawn(NPC) + ProvidesQuest(NPC, MEETING_WITH_CAYAN) + ProvidesQuest(NPC, HIDDEN_TREASURES) + ProvidesQuest(NPC, CONFRONTATION) + ProvidesQuest(NPC, DELIVERING_NEWS) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + if GetRace(Spawn) == Erudite then + Begin(NPC, Spawn) + else + NotErudite(NPC, Spawn) + end +end + +function Begin(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, MEETING_WITH_CAYAN) then + if HasCompletedQuest(Spawn, INFORMATION_MERCHANTS) then + if HasCompletedQuest(Spawn, HIDDEN_TREASURES) then + if HasCompletedQuest(Spawn, CONFRONTATION) then + if not HasQuest(Spawn, DELIVERING_NEWS) and not HasCompletedQuest(Spawn, DELIVERING_NEWS) then + dlg_56_3(NPC, Spawn) + end + elseif HasQuest(Spawn, CONFRONTATION) then + IsItDestroyedYet(NPC, Spawn, conversation) + else + FoundPackageYet(NPC, Spawn) + end + elseif HasQuest(Spawn, HIDDEN_TREASURES) then + FoundPackageYet(NPC, Spawn) + else + GottenTheInformationYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, INFORMATION_MERCHANTS) then + GottenTheInformationYet(NPC, Spawn, conversation) + else + GottenTheInformationYet(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, MEETING_WITH_CAYAN) then + GottenTheInformationYet(NPC, Spawn, conversation) + else + NoGreaterQuest(NPC, Spawn, conversation) + end +end + +function NotErudite(NPC, Spawn) + Say(NPC, "I suppose I appreciate your interest in speaking with me, but I am here as a service to those of my own kind.", Spawn) +end + +------------------------------------------------------------------------------------------------------------------- +-- ERUDITE MENTOR QUEST 1 +------------------------------------------------------------------------------------------------------------------- + +function NoGreaterQuest(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona001.mp3", "", "bow", 1982809476, 3400870964, Spawn) + AddConversationOption(conversation, "Hello, I am " .. GetName(Spawn) .. ".", "dlg_20_1") + StartConversation(conversation, NPC, Spawn, "There is no greater quest than the truth. Welcome to Starcrest Commune, Erudite. I am Maareona.") +end + +function dlg_20_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona002.mp3", "", "", 284309716, 754775848, Spawn) + AddConversationOption(conversation, "Truth.", "dlg_21_2") + AddConversationOption(conversation, "Power.", "dlg_21_2") + AddConversationOption(conversation, "Enlightenment.", "dlg_21_2") + AddConversationOption(conversation, "I don't know.", "dlg_20_2") + StartConversation(conversation, NPC, Spawn, "That you are. Tell me, " .. GetName(Spawn) .. ", what do you seek?") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona003a.mp3", "", "", 337061547, 3048757721, Spawn) + AddConversationOption(conversation, "What do you seek?", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "Good, it takes a long time to build the resolve to know what you seek. I would be concerned if you thought you already knew.") +end + +function dlg_20_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona006.mp3", "", "", 1647970244, 231936640, Spawn) + AddConversationOption(conversation, "Why is that?", "dlg_20_4") + StartConversation(conversation, NPC, Spawn, "Truth. Truth and Enlightenment. I seek individual enlightenment, and racial enlightenment, and eventually sentient enlightenment. I do not expect to succeed anytime soon, but I will succeed. Racial enlightenment is proving to be most difficult at this time, unfortunately.") +end + +function dlg_20_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona007.mp3", "", "", 933673315, 142645817, Spawn) + AddConversationOption(conversation, "That sounds like a reasonable goal.", "dlg_20_6") + AddConversationOption(conversation, "That sounds a little intolerant.", "dlg_20_5") + StartConversation(conversation, NPC, Spawn, "Well... I am not sure if you've been to Freeport recently, but there is a great ideological schism between the Erudites of our city and those of Freeport. Part of what I do here is work with Erudites who share those views and attempt to bring them around to a more, well, compassionate view of things.") +end + +function dlg_20_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona008.mp3", "", "", 1279054800, 1194830102, Spawn) + AddConversationOption(conversation, "I suppose that sounds reasonable.", "dlg_20_6") + StartConversation(conversation, NPC, Spawn, "Views of all kinds I can tolerate. It is actions that I have trouble accepting. Those who subscribe to the views of Freeport commonly turn inappropriate views into inappropriate--and illegal--actions. And, yes, it is true, I cannot tolerate actions such as those. If I work with these people prior to actions of this type then Qeynos is stronger.") +end + +function dlg_20_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona009.mp3", "", "", 2014412725, 134790625, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "dlg_20_7") + StartConversation(conversation, NPC, Spawn, "It is. We've given this much thought and this is the only acceptable solution, we cannot remain idle when Freeport gains influence among the citizens of Qeynos.") +end + +function dlg_20_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona010.mp3", "", "", 731226683, 4123988397, Spawn) + AddConversationOption(conversation, "What would you like me to do?", "dlg_21_8") + AddConversationOption(conversation, "Do you have anything a little more exciting and adventurous?", "dlg_20_8") + StartConversation(conversation, NPC, Spawn, "There is always some way an Erudite such as yourself can help the cause. I am investigating a package that was recently delivered to Qeynos that was thought to contain a heretical relic of past ages. Whether or not the relic itself contains some curse that would promote its ideals, or would just serve to attract those who would do the same, we must rid Qeynos of such an object.") +end + +function dlg_20_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona011.mp3", "", "", 296165667, 3976111075, Spawn) + AddConversationOption(conversation, "All right, thank you.") + StartConversation(conversation, NPC, Spawn, "Certainly. Well, I personally don't but I have friends who may. Go speak with Rujiarmo Oolamein in the Peat Bog. I am sure he could use any help you can offer.") +end + +function dlg_21_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona003.mp3", "", "", 612001961, 3121169439, Spawn) + AddConversationOption(conversation, "Yes.", "PerhapsYouWill") + AddConversationOption(conversation, "No.", "dlg_21_3") + AddConversationOption(conversation, "I don't know.", "dlg_21_3") + StartConversation(conversation, NPC, Spawn, "Will you achieve it?") +end + +function PerhapsYouWill(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you seek?", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "Perhaps you will.") +end + +function dlg_21_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona004.mp3", "", "", 738787463, 3083155196, Spawn) + AddConversationOption(conversation, "What do you seek?", "dlg_20_3") + StartConversation(conversation, NPC, Spawn, "It would seem not. Perhaps you should seek something else then.") +end + +function dlg_21_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona006.mp3", "", "", 1647970244, 231936640, Spawn) + AddConversationOption(conversation, "Why is that?", "dlg_21_5") + StartConversation(conversation, NPC, Spawn, "Truth. Truth and Enlightenment. I seek individual enlightenment, and racial enlightenment, and eventually sentient enlightenment. I do not expect to succeed anytime soon, but I will succeed. Racial enlightenment is proving to be most difficult at this time, unfortunately.") +end + +function dlg_21_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona012.mp3", "", "", 1465004350, 3954796796, Spawn) + AddConversationOption(conversation, "Why is this important?", "dlg_21_9") + StartConversation(conversation, NPC, Spawn, "As part of my job I routinely come in contact with various people of, uhm, ideologies not concurrent with my own. Although I eventually strive for enlightenment of all sentient beings, for I employ such people to help me with my first two goals: my own enlightenment and that of my race.") +end + +function dlg_21_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona013.mp3", "", "", 3182974274, 1240192562, Spawn) + AddConversationOption(conversation, "And once I've found him?", "dlg_21_10") + StartConversation(conversation, NPC, Spawn, "Sorry, I just wanted to prepare you before you meet who I am sending you to. I would like you to speak with a human named Cayan Sable. Behind the armor shop, near its north western corner, there is a bench leaning against the wall. You can climb up it to find Cayan.") +end + +function dlg_21_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona014.mp3", "", "", 3260022583, 3167071006, Spawn) + AddConversationOption(conversation, "I will speak to him.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "Tell him we need to find the whereabouts of a package. It was delivered recently to someone by the name of Oolium Artanaes. We were watching him until he fled into South Qeynos. Because of the path he took, our agent could not follow him without revealing himself. Cayan will have friends who can help us find him, and learn the whereabouts of the package.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, MEETING_WITH_CAYAN) +end + +function GottenTheInformationYet(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona016.mp3", "", "", 1380727633, 48771667, Spawn) + + if (HasCompletedQuest(Spawn, INFORMATION_MERCHANTS) and not HasCompletedQuest(Spawn, HIDDEN_TREASURES)) or (HasQuest(Spawn, INFORMATION_MERCHANTS) and GetQuestStep(Spawn, INFORMATION_MERCHANTS) == 3) then + AddConversationOption(conversation, "Yes, I have.", "GotInformation") + else + AddConversationOption(conversation, "No, I haven't.") + end + + StartConversation(conversation, NPC, Spawn, "Have you gotten the information yet?") +end + +-------------------------------------------------------------------------------------------------------------------- +-- ERUDITE MENTOR QUEST 2 +-------------------------------------------------------------------------------------------------------------------- + +function GotInformation(NPC, Spawn) + if HasQuest(Spawn, INFORMATION_MERCHANTS) then + SetStepComplete(Spawn, INFORMATION_MERCHANTS, 3) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona017.mp3", "", "", 4022802579, 2271189733, Spawn) + AddConversationOption(conversation, "Here you go.", "dlg_45_2") + StartConversation(conversation, NPC, Spawn, "Wonderful. Let me see it.") +end + +--------------------------------------------------------------------------------------------------------------------- +-- ERUDITE MENTOR QUEST 3 +--------------------------------------------------------------------------------------------------------------------- + +function dlg_45_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona018.mp3", "", "", 4212736399, 3852768396, Spawn) + AddConversationOption(conversation, "Couldn't the package still be recovered?", "dlg_45_3") + StartConversation(conversation, NPC, Spawn, "Hmmm... this may be bad news. If he gave up the shipment that means we may never know to whom it was meant to finally be delivered. Worse still, who knows who may stumble upon the relic now. We were so close!") +end + +function dlg_45_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona019.mp3", "", "", 2700828927, 1097914142, Spawn) + AddConversationOption(conversation, "I can do that.", "dlg_45_4") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "I don't know... not likely- actually... there are a pair of grates in the water ways that may have stopped the package. I don't know how big the package was, but these grates may have stopped it. I'll get one of my contacts to check the grates in Nettleville, I'd like you to check the grates in here in Starcrest. What do you say?") +end + +function dlg_45_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona020.mp3", "", "", 3437539307, 3210013494, Spawn) + AddConversationOption(conversation, "All right.", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "Good. I know it is a lot to ask, but at a time like this I think it is best to put aside any fears. You'll have to go to the ferryway near the mariner's bells in the eastern side of Starcrest Commune. Once there swim to the grates and see if any packages were held up on them. It isn't very likely, but it is definitely worth taking a look.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, HIDDEN_TREASURES) +end + +function FoundPackageYet(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona021.mp3", "", "", 2659241094, 1582601118, Spawn) + + if (HasCompletedQuest(Spawn, HIDDEN_TREASURES) and not HasCompletedQuest(Spawn, 35)) or (HasQuest(Spawn, HIDDEN_TREASURES) and GetQuestStep(Spawn, HIDDEN_TREASURES) == 2) then + AddConversationOption(conversation, "Yes, I have its contents here. And an unsigned delivery receipt.", "FoundPackage") + else + AddConversationOption(conversation, "Not yet, no.") + end + + StartConversation(conversation, NPC, Spawn, "Have you found the package?") +end + +function FoundPackage(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona022.mp3", "", "", 560393626, 4096174929, Spawn) + AddConversationOption(conversation, "It's hard to read and soggy, but here.", "dlg_49_2") + StartConversation(conversation, NPC, Spawn, "The receipt was with it? Wonderful!") +end + +function dlg_49_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona023.mp3", "", "", 1854168160, 123679709, Spawn) + AddConversationOption(conversation, "And...?", "dlg_49_3") + StartConversation(conversation, NPC, Spawn, "Hmm, that is fine. It was not the ink that was important. I can sense who the intended recipient was. It will only take a moment...") +end + +function dlg_49_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona024.mp3", "", "", 2925464109, 438548200, Spawn) + AddConversationOption(conversation, "Here you go.", "dlg_49_4") + StartConversation(conversation, NPC, Spawn, "Velderoth Malraen. He resides here in Starcrest. Now, let's see the package.") +end + +function dlg_49_4(NPC, Spawn) + if HasQuest(Spawn, HIDDEN_TREASURES) then + SetStepComplete(Spawn, HIDDEN_TREASURES, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona025.mp3", "", "", 4023924866, 963404506, Spawn) + AddConversationOption(conversation, "A Soul Spike?", "dlg_49_5") + StartConversation(conversation, NPC, Spawn, "Oh my! Boxes like this were made to hold objects of great metaphysical potential. Oh dear... these symbols... this box contains a Soul Spike.") +end + +------------------------------------------------------------------------------------------------------------- +-- QUEST 4 +------------------------------------------------------------------------------------------------------------- + +function dlg_49_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona026.mp3", "", "", 290912951, 2000708937, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "dlg_49_6") + StartConversation(conversation, NPC, Spawn, "An ancient weapon of the heretic. Some say it has enormous power, others say it is for ritual only, others say it comes from a different plane of existence... all we know is it is a sure sign of a heretic. Velderoth Malraen is that heretic. He must not be allowed to stay a moment longer in Qeynos.") +end + +function dlg_49_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona027.mp3", "", "", 3129182900, 3935897138, Spawn) + AddConversationOption(conversation, "What do I need to do?", "dlg_49_7") + StartConversation(conversation, NPC, Spawn, "We must make this Soul Spike public. To most it will mean very little, but to any heretic its destruction will be known.") +end + +function dlg_49_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona028.mp3", "", "", 2750149120, 800404761, Spawn) + AddConversationOption(conversation, "What if Velderoth confronts me?", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Speak with Cayan. There is a stand, he will know of what I speak. You will retrieve the stand from him. Take the stand into central Starcrest, near the fountain, and place it there. When it is destroyed Velderoth will feel it, he will flee.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, CONFRONTATION) +end + +function TapIt(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- Nullification Stone + -- Soul Spike + SummonItem(Spawn, NULLIFICATION_STONE) + SummonItem(Spawn, SOUL_SPIKE) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona030.mp3", "", "", 720107384, 4004540442, Spawn) + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, NPC, Spawn, "Tap it with this stone. The rest will attend to itself. Again, do not be wary of Velderoth.") +end + +function IsItDestroyedYet(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona031.mp3", "", "", 2023690647, 3266928269, Spawn) + + if HasQuest(Spawn, CONFRONTATION) then + if GetQuestStep(Spawn, CONFRONTATION) == 3 then + AddConversationOption(conversation, "Yes. Velderoth came.", "dlg_56_1") + else + if not HasItem(Spawn, SOUL_SPIKE) then + AddConversationOption(conversation, "I need the Soul Spike", "NeedSoulSpike") + end + + if not HasItem(Spawn, NULLIFICATION_STONE) then + AddConversationOption(conversation, "I need the Nullification Stone.", "NeedNullificationStone") + end + end + end + + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Is it destroyed?") +end + +function NeedSoulSpike(NPC, Spawn) + SummonItem(Spawn, SOUL_SPIKE) + + if not HasItem(Spawn, NULLIFICATION_STONE) then + SummonItem(Spawn, NULLIFICATION_STONE) + end +end + +function NeedNullificationStone(NPC, Spawn) + SummonItem(Spawn, NULLIFICATION_STONE) + + if not HasItem(Spawn, SOUL_SPIKE) then + SummonItem(Spawn, SOUL_SPIKE) + end +end + +function dlg_56_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona032.mp3", "", "", 632600853, 3687579453, Spawn) + AddConversationOption(conversation, "Yes, that much seems obvious.", "dlg_56_2") + StartConversation(conversation, NPC, Spawn, "That is not surprising. He knows he has been found out and will not return. Another heretic fleeing to the lands of Freeport. What an ironic name... Jinoira, this news is rather big for all citizens of Qeynos, but, to Erudites, it is even bigger. We struggle to maintain our image among the other races here in Qeynos.") +end + +function dlg_56_2(NPC, Spawn) + SetStepComplete(Spawn, CONFRONTATION, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona033.mp3", "", "", 3274371824, 4166492978, Spawn) + AddConversationOption(conversation, "I understand. Where do we go from here?", "dlg_56_3") + AddConversationOption(conversation, "I thought you were a seeker of the truth?") + StartConversation(conversation, NPC, Spawn, "It is in our best interest as a race, and as citizens of this city, to keep this information to ourselves. Velderoth may indirectly cause more damage to our city if news of this gets out. The high men of Qeynos cannot have their names soiled by the actions of this individual, if anyone asks of your public encounter with Velderoth you are to claim that he was an illusion of your own creation, that the Soul Spike and he were merely meant as entertainment. Say no more of this to anyone.") +end + +function dlg_56_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona035.mp3", "", "", 1033522094, 3989983909, Spawn) + AddConversationOption(conversation, "I understand.", "dlg_56_4") + StartConversation(conversation, NPC, Spawn, "I have a friend in the Peat Bog. He is the one person you will tell about this incident. He will do with this information what he must. After you have told him do not speak to him of it again.") +end + +function dlg_56_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/maareona_ludimintium/qey_village02/quests/maareona/maareona036.mp3", "", "", 301046375, 3178279586, Spawn) + AddConversationOption(conversation, "I will find him.", "OfferDeliveringNews") + StartConversation(conversation, NPC, Spawn, "Good. His name is Rujiarmo Oolamein. He will have work to give you, I am certain.") +end + +function OfferDeliveringNews(NPC, Spawn) + OfferQuest(NPC, Spawn, DELIVERING_NEWS) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Ommanoden.lua b/Lua/SpawnScripts/Starcrest/Ommanoden.lua new file mode 100755 index 000000000..8dd7eb393 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Ommanoden.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Ommanoden.lua + Script Purpose : Ommanoden + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/scribe_ommanoden/qey_village02/100_scribe_ommanoden_multhail1_becd50b2.mp3", "Can't you see I'm busy organizing my collections of wisdom? I've no time for chatting. Leave me alone!", "", 3010394589, 1905118172, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/OolimeminosoPindiliana.lua b/Lua/SpawnScripts/Starcrest/OolimeminosoPindiliana.lua new file mode 100755 index 000000000..fa4fd16e7 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/OolimeminosoPindiliana.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Starcrest/OolimeminosoPindiliana.lua + Script Purpose : Oolimeminoso Pindiliana + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1008.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Ok.") + StartConversation(conversation, NPC, Spawn, "Though one sees many things, the unseen are the hardest to find!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Oomitelmora.lua b/Lua/SpawnScripts/Starcrest/Oomitelmora.lua new file mode 100755 index 000000000..a566f7913 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Oomitelmora.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Oomitelmora.lua + Script Purpose : Oomitelmora + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional4/oomitelmora/oomitelmora-mp3_64.mp3", "", "", 354169301, 3490300460, Spawn) + AddConversationOption(conversation, "King's field discussions do not concern me.") + StartConversation(conversation, NPC, Spawn, "'Tis not just the victory I enjoy. To see this one writhe in frustration is highly amusing.") +end + diff --git a/Lua/SpawnScripts/Starcrest/PiersIsplock.lua b/Lua/SpawnScripts/Starcrest/PiersIsplock.lua new file mode 100755 index 000000000..5373f743d --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/PiersIsplock.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Starcrest/PiersIsplock.lua + Script Purpose : Piers Isplock + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 983188064, 3043413352, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 892528408, 239693863, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 903813734, 2512856176, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2541554579, 2951095822, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/ProprietorBlagard.lua b/Lua/SpawnScripts/Starcrest/ProprietorBlagard.lua new file mode 100755 index 000000000..80a601712 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/ProprietorBlagard.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Starcrest/ProprietorBlagard.lua + Script Purpose : Proprietor Blagard + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/proprietor_blagard/qey_village02/blagard000.mp3", "", "", 3622450968, 3253656744, Spawn) + AddConversationOption(conversation, "No thanks") + StartConversation(conversation, NPC, Spawn, "Step up to the bar, my friend. Never has coin been better spent.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/RedSunBerries.lua b/Lua/SpawnScripts/Starcrest/RedSunBerries.lua new file mode 100755 index 000000000..bf9c4783f --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/RedSunBerries.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/Starcrest/RedSunBerries.lua + Script Author : Jabantiz + Script Date : 2018.06.14 11:06:05 + Script Purpose : + : +--]] + +-- Quest ID's +local MEETING_WITH_CAYAN = 316 + +function spawn(NPC) + SetRequiredQuest(NPC, MEETING_WITH_CAYAN, 2) +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/Starcrest/Renea.lua b/Lua/SpawnScripts/Starcrest/Renea.lua new file mode 100755 index 000000000..fd5f3bd58 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Renea.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Renea.lua + Script Purpose : Renea + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/ScholarObidudyn.lua b/Lua/SpawnScripts/Starcrest/ScholarObidudyn.lua new file mode 100755 index 000000000..18916900e --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/ScholarObidudyn.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/ScholarObidudyn.lua + Script Purpose : Scholar Obidudyn + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/scholar_obidudyn/qey_village02/100_erudite_scholar_callout_9435d1c5.mp3", "Oh, a moment of peace. What I'd give for one moment without little human girls, felines ... or inquisitive adventurers... What do you want? Unless you're of any use, get out of my sight.", "", 3858056740, 933386302, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/TagganBrookrich.lua b/Lua/SpawnScripts/Starcrest/TagganBrookrich.lua new file mode 100755 index 000000000..03e16539e --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/TagganBrookrich.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/Starcrest/TagganBrookrich.lua + Script Purpose : Taggan Brookrich + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + Spawn(NPC) +end + +function InRange(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/taggan_brookrich/qey_village02/100_human_spectator_callout_85964bfe.mp3", "Can you believe Vandis? You'd think he'd want help considering the mess he's in. But, ooohhh no... He's too stubborn to listen to any advice. When will he learn that he can't win without help?", "confused", 3426132034, 1351118898, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/taggan_brookrich/qey_village02/100_human_spectator_multhail1_8a7fa75d.mp3", "Sorry, friend. I don't think you can help with my cunning scheme.", "", 3665262967, 2636803513, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Tanaira.lua b/Lua/SpawnScripts/Starcrest/Tanaira.lua new file mode 100755 index 000000000..74e592330 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Tanaira.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Tanaira.lua + Script Purpose : Tanaira + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,4) + + if choice == 1 then + PlayFlavor(NPC, "", "Oops! Sorry! I thought you were someone else. Please, be on your way now.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/baker/human_baker_service_good_1_hail_gf_3d1ca473.mp3", "Tell me, do you prefer Halfling or Elven cuisine? I myself have a hard time deciding between the two.", "confused", 3151047462, 2904038035, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/baker/human_baker_service_good_1_hail_gf_cca9cdef.mp3", "Welcome friend, welcome. I hope you brought your appetite with you!", "wink", 488782681, 166399094, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/baker/human_baker_service_good_1_hail_gf_9db280de.mp3", "I love the smell of fresh bread in the oven!", "sigh", 1068415951, 2036199467, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Torbin.lua b/Lua/SpawnScripts/Starcrest/Torbin.lua new file mode 100755 index 000000000..26450709f --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Torbin.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Torbin.lua + Script Purpose : Torbin + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Trinoonae.lua b/Lua/SpawnScripts/Starcrest/Trinoonae.lua new file mode 100755 index 000000000..be774ab00 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Trinoonae.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Trinoonae.lua + Script Purpose : Trinoonae + Script Author : Scatman + Script Date : 2009.09.25 + Script Notes : +--]] + +dofile("SpawnScripts/Generic/GenericGuardVoiceOvers.lua") + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + CheckFaction(NPC, Spawn, "Qeynos") +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericGuardHail(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Unuesh.lua b/Lua/SpawnScripts/Starcrest/Unuesh.lua new file mode 100755 index 000000000..317eed5b9 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Unuesh.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Unuesh.lua + Script Purpose : Unuesh + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 4271285862, 1774320762, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 857840270, 941389485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2447200130, 2600666744, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Vandis.lua b/Lua/SpawnScripts/Starcrest/Vandis.lua new file mode 100755 index 000000000..60f072fe7 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Vandis.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Vandis.lua + Script Purpose : Vandis + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/vandis/qey_village02/vandis.mp3", "", "", 555689921, 1189263301, Spawn) + AddConversationOption(conversation, "I'm not going to say anything. I can see you are losing well enough on your own.") + StartConversation(conversation, NPC, Spawn, "Can't you see I'm in the middle of a game of King's Field? And no, you can't help!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/VelderothMalraen.lua b/Lua/SpawnScripts/Starcrest/VelderothMalraen.lua new file mode 100755 index 000000000..a0f0d8068 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/VelderothMalraen.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/Starcrest/VelderothMalraen.lua + Script Purpose : Velderoth Malraen + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local CONFRONTATION = 321 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, CONFRONTATION) and GetQuestStep(Spawn, CONFRONTATION) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/velderoth_malraen/qey_village02/quests/velderoth/velderoth000.mp3", "", "", 602755801, 4204317404, Spawn) + AddConversationOption(conversation, "Believe it, heretic.", "dlg_55_3") + StartConversation(conversation, NPC, Spawn, "I cannot believe you would destroy such knowledge!") + end +end + +function dlg_55_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/velderoth_malraen/qey_village02/quests/velderoth/velderoth001.mp3", "", "", 4272504042, 2021431254, Spawn) + AddConversationOption(conversation, "We know that it was meant for you, Velderoth.", "dlg_55_4") + StartConversation(conversation, NPC, Spawn, "Hold your tongue, child. Insults will only serve to anger me.") +end + +function dlg_55_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/velderoth_malraen/qey_village02/quests/velderoth/velderoth002.mp3", "", "", 4026578070, 2833635069, Spawn) + StartConversation(conversation, NPC, Spawn, "Simpleton! If you don't seek knowledge then you are no Erudite! My power is greater than you know.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/velderoth_malraen/qey_village02/qst_velderoth_howcould_ea37cf7d.mp3", "NO!!! How could you do such a thing?", "", 4138921089, 741301826, Spawn) +--]] \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/Vondorinsarnoo.lua b/Lua/SpawnScripts/Starcrest/Vondorinsarnoo.lua new file mode 100755 index 000000000..882028a73 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/Vondorinsarnoo.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/Starcrest/Vondorinsarnoo.lua + Script Purpose : Vondorinsarnoo + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +-- Quest ID's +local SOBERING_REMEDY = 246 + +function spawn(NPC) + ProvidesQuest(NPC, SOBERING_REMEDY) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1008.mp3", "", "", 0, 0, Spawn) + + if CanReceiveQuest(Spawn, SOBERING_REMEDY) then + AddConversationOption(conversation, "What's wrong with him? ", "dlg_59_1") + AddConversationOption(conversation, "Guess some people handle their liquor better than others. Good day!") + StartConversation(conversation, NPC, Spawn, "We are coping with the recent events... some in better ways than others. Take that poor drunk, Hubert, across the way for instance...") + elseif HasQuest(Spawn, SOBERING_REMEDY) and GetQuestStep(Spawn, SOBERING_REMEDY) == 4 then + SetStepComplete(Spawn, SOBERING_REMEDY, 4) + Say(NPC, "Sorry we don't have the turn in test") + end +end + +function dlg_59_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll help you, seems to be a worthy cause.", "OfferQuestSoberingRemedy") + AddConversationOption(conversation, "Best of luck to you. I'll be off to pursue other interests.") + StartConversation(conversation, NPC, Spawn, "His faith is shaken, and he's suffered insurmountable hardships and loss. I could help this poor soul, but first, I must remove him from his drunken stupor.") +end + +function OfferQuestSoberingRemedy(NPC, Spawn) + OfferQuest(NPC, Spawn, SOBERING_REMEDY) +end + +function dlg_59_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be back soon.") + StartConversation(conversation, NPC, Spawn, "He'll speak more clearly with that rotgut out of his stomach.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/ZentomaronCroosinaden.lua b/Lua/SpawnScripts/Starcrest/ZentomaronCroosinaden.lua new file mode 100755 index 000000000..6d31c8a96 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/ZentomaronCroosinaden.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : SpawnScripts/Starcrest/ZentomaronCroosinaden.lua + Script Purpose : Zentomaron Croosinaden + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "voiceover/english/optional4/zentomaron_croosinaden/zentomaron_multhail1-mp3.mp3", "Hmm ... you appear no more knowledgeable than this silly human we've collared. Oh well.", "", 4235005010, 394337117, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/ZinunLoospakina.lua b/Lua/SpawnScripts/Starcrest/ZinunLoospakina.lua new file mode 100755 index 000000000..eaedbf0b8 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/ZinunLoospakina.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Starcrest/ZinunLoospakina.lua + Script Purpose : Zinun Loospakina + Script Author : John Adams + Script Date : 2008.09.23 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 4271285862, 1774320762, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 857840270, 941389485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2447200130, 2600666744, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/questclimbingbenchmaareonacayan.lua b/Lua/SpawnScripts/Starcrest/questclimbingbenchmaareonacayan.lua new file mode 100755 index 000000000..06181f577 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/questclimbingbenchmaareonacayan.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Starcrest/questclimbingbenchmaareonacayan.lua + Script Author : Jabantiz + Script Date : 2018.06.14 08:06:20 + Script Purpose : + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + Say(Spawn, Message) + if Message == "Climb the Bench" then + SetPosition(Spawn, 762.11, -20.38, 315.01, 68.11) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/questcrawlingbushmaareonacayan.lua b/Lua/SpawnScripts/Starcrest/questcrawlingbushmaareonacayan.lua new file mode 100755 index 000000000..4439dd594 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/questcrawlingbushmaareonacayan.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/Starcrest/questcrawlingbushmaareonacayan.lua + Script Author : Jabantiz + Script Date : 2018.06.14 11:06:31 + Script Purpose : + : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "Pull Yourself Through the Foliage" then + SetPosition(Spawn, 744.97, -19.16, 309.54, 49.11) + end +end + diff --git a/Lua/SpawnScripts/Starcrest/questrelicboxmaareona.lua b/Lua/SpawnScripts/Starcrest/questrelicboxmaareona.lua new file mode 100755 index 000000000..8567860a4 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/questrelicboxmaareona.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/Starcrest/questrelicboxmaareona.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/15/2018 + Script Notes : +--]] + +-- Quest ID's +local HIDDEN_TREASURES = 320 + +-- Item ID's +local SMALL_METAL_BOX_AND_PAPER = 12950 + +function spawn(NPC) + SetRequiredQuest(NPC, HIDDEN_TREASURES, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if Message == "Inspect Box" and HasQuest(Spawn, HIDDEN_TREASURES) and GetQuestStep(Spawn, HIDDEN_TREASURES) == 1 then + local con = CreateConversation() + + AddConversationOption(con, "Open the box.", "OpenBox") + StartDialogConversation(con, 1, NPC, Spawn, "This box does not appear to be very old. It would be impossible to pull through the grate, but you may be able to open it and take what is inside.") + end +end + +function OpenBox(NPC, Spawn) + local con = CreateConversation() + + AddConversationOption(con, "Take the box and paper.", "TakeBox") + StartDialogConversation(con, 1, NPC, Spawn, "Inside the box there is a smaller, metal box. There is also a piece of paper that is now soaking. It would be easy to pull both of these objects through the grate.") +end + +function TakeBox(NPC, Spawn) + SummonItem(Spawn, SMALL_METAL_BOX_AND_PAPER, 1) + SetStepComplete(Spawn, HIDDEN_TREASURES, 1) + local con = CreateConversation() + + AddConversationOption(con, "Leave the large box alone.", "CloseConversation") + StartDialogConversation(con, 1, NPC, Spawn, "Nothing left in the larger box.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/soulspike.lua b/Lua/SpawnScripts/Starcrest/soulspike.lua new file mode 100755 index 000000000..344575558 --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/soulspike.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/Starcrest/soulspike.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/15/2018 + Script Notes : +--]] + +-- Quest ID's +local CONFRONTATION = 321 + +-- Item ID's +local NULLIFICATION_STONE = 10087 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if HasItem(Spawn, NULLIFICATION_STONE) and HasQuest(Spawn, CONFRONTATION) and GetQuestStep(Spawn, CONFRONTATION) == 2 then + while HasItem(Spawn, NULLIFICATION_STONE, 1) do + RemoveItem(Spawn, NULLIFICATION_STONE) + end + + SetStepComplete(Spawn, CONFRONTATION, 2) + + local velderoth = GetSpawn(Spawn, 2340062) + if velderoth ~= nil then + PlayFlavor(velderoth, "voiceover/english/tutorial_revamp/velderoth_malraen/qey_village02/qst_velderoth_howcould_ea37cf7d.mp3", "NO!!! How could you do such a thing?", "", 4138921089, 741301826, Spawn) + end + + local stand = GetSpawn(Spawn, 2340126) + if stand ~= nil then + Despawn(stand) + end + + Despawn(NPC) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Starcrest/soulspikerack1.lua b/Lua/SpawnScripts/Starcrest/soulspikerack1.lua new file mode 100755 index 000000000..8dd710a5b --- /dev/null +++ b/Lua/SpawnScripts/Starcrest/soulspikerack1.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : + Script Purpose : + Script Author : Jabantiz + Script Date : 6/15/2018 + Script Notes : +--]] + +-- Quest ID's +local CONFRONTATION = 321 + +-- Item ID's +local SOUL_SPIKE = 13134 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, Message) + if HasItem(Spawn, SOUL_SPIKE) and HasQuest(Spawn, CONFRONTATION) and GetQuestStep(Spawn, CONFRONTATION) == 2 then + local heading = GetHeading(NPC) + 180 + if heading >= 360 then + heading = heading - 360 + end + + SpawnMob(GetZone(Spawn), 2340127, false, GetX(NPC), GetY(NPC) + 0.69, GetZ(NPC), heading) + + while HasItem(Spawn, SOUL_SPIKE, 1) do + RemoveItem(Spawn, SOUL_SPIKE) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Steamfont/SisterSam.lua b/Lua/SpawnScripts/Steamfont/SisterSam.lua new file mode 100755 index 000000000..4e6c30036 --- /dev/null +++ b/Lua/SpawnScripts/Steamfont/SisterSam.lua @@ -0,0 +1,8 @@ +--[[ + Script Name : SpawnScripts/Steamfont/SisterSam.lua + Script Author : jakejp + Script Date : 2018.12.26 06:12:59 + Script Purpose : + : +--]] + diff --git a/Lua/SpawnScripts/Stonestair/FeleinHerbs.lua b/Lua/SpawnScripts/Stonestair/FeleinHerbs.lua new file mode 100755 index 000000000..7c1b205d5 --- /dev/null +++ b/Lua/SpawnScripts/Stonestair/FeleinHerbs.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/Stonestair/FeleinHerbs.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/22/2018 + Script Notes : +--]] + +-- Quest ID's +local ERUDITE_ALCHEMY = 355 + +function spawn(NPC) + SetRequiredQuest(NPC, ERUDITE_ALCHEMY, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + diff --git a/Lua/SpawnScripts/Stonestair/SevriIlBethod.lua b/Lua/SpawnScripts/Stonestair/SevriIlBethod.lua new file mode 100755 index 000000000..8ff42f879 --- /dev/null +++ b/Lua/SpawnScripts/Stonestair/SevriIlBethod.lua @@ -0,0 +1,146 @@ +--[[ + Script Name : SpawnScripts/StonestairByway/SevriIlBethod.lua + Script Purpose : Sevri Il'Bethod + Script Author : Jabantiz + Script Date : 2018.06.22 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local TWEEZING_KERRA = 356 +local INCANTATION_ORATION = 357 +local ABOLISHING_CURIOUSITY = 358 + +function spawn(NPC) + ProvidesQuest(NPC, INCANTATION_ORATION) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, TWEEZING_KERRA) and GetQuestStep(Spawn, TWEEZING_KERRA) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod001.mp3", "", "", 2840183078, 2969997848, Spawn) + AddConversationOption(conversation, "You are correct. Vess asked me to give you this mixture.", "dlg_29_1") + StartConversation(conversation, NPC, Spawn, "Oh, did Vess send you? He told me that he'd be sending someone promising along shortly. You seem to meet that criteria.") + elseif (HasQuest(Spawn, TWEEZING_KERRA) and GetQuestStep(Spawn, TWEEZING_KERRA) == 3) or CanReceiveQuest(Spawn, INCANTATION_ORATION) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod008.mp3", "", "", 1767926562, 4023860365, Spawn) + AddConversationOption(conversation, "Hey... you aren't allergic, are you?", "dlg_30_1") + StartConversation(conversation, NPC, Spawn, "Achoo! Blast. I hate this dreaded cat fur. It's all over!") + elseif HasQuest(Spawn, ABOLISHING_CURIOUSITY) and GetQuestStep(Spawn, ABOLISHING_CURIOUSITY) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod013.mp3", "", "", 1502950619, 3498385228, Spawn) + AddConversationOption(conversation, "Aye, he did.", "dlg_37_1") + StartConversation(conversation, NPC, Spawn, "So, Vess taught you the chant then?") + else + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/quest_newbie_erudite_sevri_no_speak_f6ea55bb.mp3", "Please, I don't have anything for you right now.", "", 3441706534, 2672842670, Spawn) + end +end + +function dlg_29_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod002.mp3", "", "", 3354799610, 364441857, Spawn) + AddConversationOption(conversation, "That's funny, he didn't mention it.", "dlg_29_2") + StartConversation(conversation, NPC, Spawn, "Splendid! I take it you are the one that gathered these seeds? Vess has many astounding qualities, but his eyesight is not among those. He often fumbles mundane tasks like correctly identifying spell components.") +end + +function dlg_29_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod003.mp3", "", "", 148598238, 1216758418, Spawn) + AddConversationOption(conversation, "Not to worry. No one will find out from me.", "dlg_29_3") + AddConversationOption(conversation, "I can't promise that my lips would stay sealed for enough coin, but I doubt anyone will ask.") + StartConversation(conversation, NPC, Spawn, "No. He wouldn't. We do not admit weakness here. I would ask that you keep that bit of information to yourself as well.") +end + +function dlg_29_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod004.mp3", "", "", 4204901363, 3185230293, Spawn) + AddConversationOption(conversation, "That's the second time I've heard about this. Who is this brotherhood?", "dlg_29_4") + StartConversation(conversation, NPC, Spawn, "May Cazic reject your soul should you reveal such information to the wrong party. We were fractured once before. The brotherhood we seek to protect must look after itself.") +end + +function dlg_29_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod005.mp3", "", "", 3118209610, 2540852917, Spawn) + AddConversationOption(conversation, "I've got it. Loose lips sink ships.", "dlg_29_5") + StartConversation(conversation, NPC, Spawn, "We are known to each other as the Abbatoirs. No one else knows of our existence. We prefer it to remain so, and will take steps to ensure that it does. I hope you catch my meaning.") +end + +function dlg_29_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod006.mp3", "", "", 3867537921, 1281338132, Spawn) + AddConversationOption(conversation, "I'll help you, but why the problem? There's kerra hair all over.", "dlg_29_6") + AddConversationOption(conversation, "I don't think so. I'm done for now.") + StartConversation(conversation, NPC, Spawn, "You do learn quickly. Now, in addition to what you brought me I have need of kerra hair for this process. I would gather it myself, but it is best done by someone new to the area.") +end + +function dlg_29_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, TWEEZING_KERRA, 1) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod007.mp3", "", "", 2694294264, 2914273569, Spawn) + AddConversationOption(conversation, "I'll return with your fur.") + StartConversation(conversation, NPC, Spawn, "It must be taken directly from the kerra. Here, let me give you a small pair of silver tweezers. Use the tweezers to take a bit of hair from a few kerra, then bring them back to me.") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod009.mp3", "", "", 1600845257, 1811343873, Spawn) + AddConversationOption(conversation, "Indeed it would be.", "dlg_30_2") + StartConversation(conversation, NPC, Spawn, "Nonsense. Just a bit drifted up my nose. It would be hard to live here if one were allergic.") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod010.mp3", "", "", 1523234099, 1835837683, Spawn) + AddConversationOption(conversation, "Yes, here's the fur you requested.", "dlg_30_3") + StartConversation(conversation, NPC, Spawn, "But let's talk about you. Like... did you bring back the fur?") +end + +function dlg_30_3(NPC, Spawn) + SetStepComplete(Spawn, TWEEZING_KERRA, 3) + OfferQuest(NPC, Spawn, INCANTATION_ORATION) +end + +function dlg_37_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod014.mp3", "", "", 2329555346, 2187265522, Spawn) + AddConversationOption(conversation, "Sometimes you just need someone who can get the job done.", "dlg_37_2") + StartConversation(conversation, NPC, Spawn, "Very good. I must say, I was unsure that you would be able to assist us when he mentioned you. Now I am quite happy with your progress.") +end + +function dlg_37_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ABOLISHING_CURIOUSITY, 1) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/sevri_ilbethod015.mp3", "", "", 969330079, 2958205445, Spawn) + AddConversationOption(conversation, "I'll not disappoint.") + StartConversation(conversation, NPC, Spawn, "Correct. Here are the components. Be careful not to waste them. A lot of effort went into making this mixture.") +end + +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/sevri_il_bethod/fprt_hood02/quest_newbie_erudite_sevri_no_speak_f6ea55bb.mp3", "Please, I don't have anything for you right now.", "", 3441706534, 2672842670, Spawn) +--]] + diff --git a/Lua/SpawnScripts/Stonestair/VessAlIshni.lua b/Lua/SpawnScripts/Stonestair/VessAlIshni.lua new file mode 100755 index 000000000..a0fe25f6b --- /dev/null +++ b/Lua/SpawnScripts/Stonestair/VessAlIshni.lua @@ -0,0 +1,605 @@ +--[[ + Script Name : SpawnScripts/Stonestair/VessAlIshni.lua + Script Purpose : Vess Al'Ishni + Script Author : Jabantiz + Script Date : 6/22/2018 + Script Notes : +--]] + +-- Quest ID's +local ERUDITE_ALCHEMY = 355 +local TWEEZING_KERRA = 356 +local INCANTATION_ORATION = 357 +local ABOLISHING_CURIOUSITY = 358 +local ERUDITE_ADVENTURES = 359 + +function spawn(NPC) + ProvidesQuest(NPC, ERUDITE_ALCHEMY) + ProvidesQuest(NPC, TWEEZING_KERRA) + ProvidesQuest(NPC, ABOLISHING_CURIOUSITY) + ProvidesQuest(NPC, ERUDITE_ADVENTURES) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + + local result = false; + result = HandleQuest1Dialog(NPC, Spawn, conversation) + if not result then + result = HandleQuest2Dialog(NPC, Spawn, conversation) + end + + if not result then + result = HandleQuest3Dialog(NPC, Spawn, conversation) + end + + if not result then + result = HandleQuest4Dialog(NPC, Spawn, conversation) + end + + if not result then + result = HandleQuest5Dialog(NPC, Spawn, conversation) + end + + if not result then + Say(NPC, "Sorry this dialog was never collected.") + end +end + +function HandleQuest1Dialog(NPC, Spawn, conversation) + local ret = false + + if CanReceiveQuest(Spawn, ERUDITE_ALCHEMY) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni001.mp3", "", "", 2148572556, 2411402347, Spawn) + AddConversationOption(conversation, "Very well, Vess. My name is " .. GetName(Spawn) .. ", but it seems as though you already know that.", "dlg_4_1") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ". So we finally meet. Please, allow me to introduce myself. I am Vess Al'Ishi, and I am pleased to make your acquaintence.") + ret = true + elseif HasQuest(Spawn, ERUDITE_ALCHEMY) and GetQuestStep(Spawn, ERUDITE_ALCHEMY) >= 1 and GetQuestStep(Spawn, ERUDITE_ALCHEMY) <= 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/quest_newbie_erudite_vesh_stage_not_completed_6755a304.mp3", "Please return after you've completed what I asked.", "", 1425288537, 3156699857, Spawn) + ret = true + elseif HasQuest(Spawn, ERUDITE_ALCHEMY) and GetQuestStep(Spawn, ERUDITE_ALCHEMY) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni014.mp3", "", "", 245696213, 2128891193, Spawn) + AddConversationOption(conversation, "It wasn't exactly the most arduous of tasks.", "dlg_27_1") + StartConversation(conversation, NPC, Spawn, "Ahh, I can smell the ground herbs on you! Well done indeed!") + ret = true + end + + return ret +end + +function HandleQuest2Dialog(NPC, Spawn, conversation) + local ret = false + + if CanReceiveQuest(Spawn, TWEEZING_KERRA) then + dlg_27_2(NPC, Spawn) + ret = true + elseif HasQuest(Spawn, TWEEZING_KERRA) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/quest_newbie_erudite_vesh_stage_not_completed_6755a304.mp3", "Please return after you've completed what I asked.", "", 1425288537, 3156699857, Spawn) + ret = true + end + + return ret +end + +function HandleQuest3Dialog(NPC, Spawn, conversation) + local ret = false + + if HasQuest(Spawn, INCANTATION_ORATION) and GetQuestStep(Spawn, INCANTATION_ORATION) == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni018.mp3", "", "", 356564578, 3157391878, Spawn) + AddConversationOption(conversation, "Yes, I did. She asked me to speak with you again.", "dlg_31_1") + StartConversation(conversation, NPC, Spawn, "So you spoke to Sevri, did you?") + ret = true + elseif HasQuest(Spawn, INCANTATION_ORATION) and GetQuestStep(Spawn, INCANTATION_ORATION) == 2 then + dlg_35_7(NPC, Spawn) + ret = true + elseif HasQuest(Spawn, INCANTATION_ORATION) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/quest_newbie_erudite_vesh_stage_not_completed_6755a304.mp3", "Please return after you've completed what I asked.", "", 1425288537, 3156699857, Spawn) + ret = true + end + + return ret +end + +function HandleQuest4Dialog(NPC, Spawn, conversation) + local ret = false + + if CanReceiveQuest(Spawn, ABOLISHING_CURIOUSITY) then + dlg_35_46(NPC, Spawn) + ret = true + elseif HasQuest(Spawn, ABOLISHING_CURIOUSITY) and GetQuestStep(Spawn, ABOLISHING_CURIOUSITY) == 3 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni046.mp3", "", "", 3328863454, 1820625790, Spawn) + AddConversationOption(conversation, "It is.", "dlg_39_1") + StartConversation(conversation, NPC, Spawn, "So, is the barrier enacted?") + ret = true + elseif HasQuest(Spawn, ABOLISHING_CURIOUSITY) then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/quest_newbie_erudite_vesh_stage_not_completed_6755a304.mp3", "Please return after you've completed what I asked.", "", 1425288537, 3156699857, Spawn) + ret = true + end + + return ret +end + +function HandleQuest5Dialog(NPC, Spawn, conversation) + local ret = false + + if CanReceiveQuest(Spawn, ERUDITE_ADVENTURES) then + dlg_39_3(NPC, Spawn) + ret = true + end + + return ret +end + +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +----------------------------------------------------------------- Quest 1 ------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni002.mp3", "", "", 1610952532, 2061201835, Spawn) + AddConversationOption(conversation, "Look, I'm not sure I really need a job.", "dlg_4_2") + AddConversationOption(conversation, "Help you out? But what would you want me to do?", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "Indeed. I've had the opportunity to look in on your latest adventures, and I could appreciate your obvious talent. In fact, you may just be able to help me out.") +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni003.mp3", "", "", 1196062600, 3691795630, Spawn) + AddConversationOption(conversation, "So you don't think much of the kerra, then?", "dlg_4_3") + AddConversationOption(conversation, "So tell me about this bit of work.", "dlg_4_4") + StartConversation(conversation, NPC, Spawn, "Oh, I wouldn't think of offering one of your caliber something so banal as a job. You didn't come here to wash the floor of my house, or sweep up the streets. No, that's what we have the kerra for.") +end + +function dlg_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni004.mp3", "", "", 641685572, 3641147429, Spawn) + AddConversationOption(conversation, "Like that not-a-job, no doubt, yes? Why don't you tell me what you have in mind.", "dlg_4_4") + AddConversationOption(conversation, "I don't think I'm interested in other matters.") + StartConversation(conversation, NPC, Spawn, "None of us do, no. They are pets, trained house animals, not much better than the ratonga. In fact, they have fewer uses. But we should speak of more important matters.") +end + +function dlg_4_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni005.mp3", "", "", 891412912, 134486760, Spawn) + AddConversationOption(conversation, "Do go on. I wouldn't expect you to open your house, as it were, to a stranger.", "dlg_4_5") + AddConversationOption(conversation, "Stop. I think I've heard this before. You want to get to 'trust' me first, by giving me a few things to do. Then you'll 'let' me become a member of your little gang so I can do the dangerous things.", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "We have something of an... organization... here in the Byway. I will not go into details until I am certain of your... character, shall we say?") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni006.mp3", "", "", 1098533707, 3355873785, Spawn) + AddConversationOption(conversation, "Perhaps.") + StartConversation(conversation, NPC, Spawn, "No. That's not what I mean at all. I'm sorry to hear you feel that way. Perhaps we can speak again later?") +end + +function dlg_4_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni007.mp3", "", "", 1149376265, 3106062319, Spawn) + AddConversationOption(conversation, "Then I shall listen.", "dlg_6_6") + AddConversationOption(conversation, "I'm not sure I need the history lesson. What would you like me to accomplish?", "dlg_6_11") + StartConversation(conversation, NPC, Spawn, "Let me begin with a short story. I shall not be so long as to spend your time with foolishness, nor so short as to diminish its importance.") +end + +function dlg_6_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni008.mp3", "", "", 1313191928, 12500296, Spawn) + AddConversationOption(conversation, "It makes sense. There aren't too many civilized places left.", "dlg_6_7") + StartConversation(conversation, NPC, Spawn, "Not long after the world was rent asunder, those of us remaining here on what is now D'Lere folded ourselves into the city of Freeport.") +end + +function dlg_6_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni009.mp3", "", "", 4080582303, 2099986849, Spawn) + AddConversationOption(conversation, "If I were in his position, I might have considered dividing the erudites.", "dlg_6_8") + StartConversation(conversation, NPC, Spawn, "Lucan feared our gathered power. With our combined magical power and a firm footing inside the academy, we would have been a thorn in his side, and a force with which he would have to contend.") +end + +function dlg_6_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni010.mp3", "", "", 1279930131, 1784422627, Spawn) + AddConversationOption(conversation, "No, I suspect that Lucan had more in store...", "dlg_6_9") + StartConversation(conversation, NPC, Spawn, "And indeed, that's what he did. A series of 'tests' were conducted, and those determined to be 'qualified' remained within the city. Those who were not were relocated here. However, there is more.") +end + +function dlg_6_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni011.mp3", "", "", 3778512067, 3228444190, Spawn) + AddConversationOption(conversation, "Or what was left of them after Luclin.", "dlg_6_10") + StartConversation(conversation, NPC, Spawn, "Indeed. You will go far if you keep these lessons of leadership in mind in the future. Not only did he divide and humiliate those relegated to life here, but he foisted another abuse on us - the kerra.") +end + +function dlg_6_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni012.mp3", "", "", 2014393836, 3746123557, Spawn) + AddConversationOption(conversation, "So what does the brotherhood wish from me?", "dlg_6_11") + StartConversation(conversation, NPC, Spawn, "Enough, let me tell you. They get into everything. And that brings us to now. We are not allowed to directly fight while under the protection of Freeport, so we must find a way to keep those curious beasts away from our experiments.") +end + +function dlg_6_11(NPC, Spawn) + OfferQuest(NPC, Spawn, ERUDITE_ALCHEMY) +end + +function dlg_27_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ERUDITE_ALCHEMY, 3) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni015.mp3", "", "", 743790253, 3747651989, Spawn) + AddConversationOption(conversation, "Pleased to be of assistance.", "dlg_27_2") + StartConversation(conversation, NPC, Spawn, "Nevertheless, it was very helpful.") +end + +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +----------------------------------------------------------------- Quest 2 ------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_27_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vesh_al_ishni/fprt_hood02/vesh_alishni016.mp3", "", "", 2815059884, 70268562, Spawn) + AddConversationOption(conversation, "Where would I find her?", "dlg_28_1") + StartConversation(conversation, NPC, Spawn, "If you wouldn't mind, I'd like you to take this mixture to Sevri Il'Bethod. She can tell you what to do next.") +end + +function dlg_28_1(NPC, Spawn) + OfferQuest(NPC, Spawn, TWEEZING_KERRA) +end + +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +----------------------------------------------------------------- Quest 3 ------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_31_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, INCANTATION_ORATION, 1) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni019.mp3", "", "", 1648130503, 3545369186, Spawn) + AddConversationOption(conversation, "I'm not sure why I'm important in this.", "dlg_31_2") + AddConversationOption(conversation, "I'm glad I could lend my talent to the cause.") + StartConversation(conversation, NPC, Spawn, "I'd presumed she would. She and I have been working together for the Abbatoirs for some time now on a little project. You've allowed us to speed up the process quite a bit.") +end + +function dlg_31_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni020.mp3", "", "", 373760716, 2646229513, Spawn) + AddConversationOption(conversation, "Pardon. Did you say 'the Divergence'?", "dlg_32_3") + StartConversation(conversation, NPC, Spawn, "We've been reluctant to perform a few rites ourselves. While we've always been proficient with magic use, ever since the Divergence, we've been much more adept with its use since, but Sevri and I each possess slight... deficiencies.") +end + +function dlg_32_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni021.mp3", "", "", 2388767305, 3216040786, Spawn) + AddConversationOption(conversation, "What caused it?", "dlg_32_4") + AddConversationOption(conversation, "What did we look like before?", "dlg_32_5") + AddConversationOption(conversation, "Ahh, I don't need the details. Please continue.", "dlg_33_8") + StartConversation(conversation, NPC, Spawn, "Yes. Long ago, we looked much more like our human ancestors. Well before the world was wrent asunder, our appearance... nay, our state of being, changed. A sudden jump in evolution, if you will.") +end + +function dlg_32_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni022.mp3", "", "", 3684053157, 267543321, Spawn) + AddConversationOption(conversation, "What did it look like before?", "dlg_32_5") + AddConversationOption(conversation, "That's too bad, but please continue with what you were saying.", "dlg_33_8") + StartConversation(conversation, NPC, Spawn, "We do not speak of such things. In fact, much of that knowledge was lost with the seperation we've had with our home continent of Odus.") +end + +function dlg_32_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni023.mp3", "", "", 729095109, 2371703495, Spawn) + AddConversationOption(conversation, "What caused this?", "dlg_32_4") + AddConversationOption(conversation, "Interesting. Well, please continue with what you were going to say.", "dlg_33_8") + StartConversation(conversation, NPC, Spawn, "Much more human; dark-skinned with elongated skulls. We did not possess the runes on our skin, nor the ashen and exotic skin tones that we now have.") +end + +function dlg_33_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni022.mp3", "", "", 3684053157, 267543321, Spawn) + AddConversationOption(conversation, "What did it look like before?", "dlg_33_6") + AddConversationOption(conversation, "That's too bad, but please continue with what you were saying.", "dlg_33_8") + StartConversation(conversation, NPC, Spawn, "We do not speak of such things. In fact, much of that knowledge was lost with the seperation we've had with our home continent of Odus.") +end + +function dlg_33_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni024.mp3", "", "", 2742571672, 2630960239, Spawn) + AddConversationOption(conversation, "So you need someone who is suited to both?", "dlg_35_6") + StartConversation(conversation, NPC, Spawn, "Yes, where was I? Oh, yes, Sevri and I. She tends to be strong in the use of alchemical formulas and their creation, while I am more suited to incantations.") +end + +function dlg_35_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni025.mp3", "", "", 2121710260, 4126884347, Spawn) + AddConversationOption(conversation, "And this incantation will do?", "dlg_35_7") + StartConversation(conversation, NPC, Spawn, "Yes. You needn't be a spell caster yourself, merely one strong in the use of magic. We do not wish the incantation to fail, so neither of us has tried it.") +end + +function dlg_35_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni026.mp3", "", "", 2627797590, 2555516399, Spawn) + AddConversationOption(conversation, "Yes, I am.", "dlg_35_8") + AddConversationOption(conversation, "In a bit. Let me get my bearings first.") + StartConversation(conversation, NPC, Spawn, "We are sealing a small area against intrusion by the kerra. Are you ready to learn the chant?") +end + +function dlg_35_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni027.mp3", "", "", 3505819146, 188763690, Spawn) + AddConversationOption(conversation, "...", "dlg_35_9") + StartConversation(conversation, NPC, Spawn, "Alright. Repeat after me:") +end + +function dlg_35_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni028.mp3", "", "", 2919007431, 1124579757, Spawn) + AddConversationOption(conversation, "Kah!", "dlg_35_10") + AddConversationOption(conversation, "Rah!", "dlg_35_11") + AddConversationOption(conversation, "Ort!", "dlg_35_11") + StartConversation(conversation, NPC, Spawn, "Kah!") +end + +function dlg_35_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni029.mp3", "", "", 1143070588, 873896090, Spawn) + AddConversationOption(conversation, "Shee-jo!", "dlg_35_11") + AddConversationOption(conversation, "Shee-jah!", "dlg_35_23") + AddConversationOption(conversation, "Bless you!", "dlg_35_15") + StartConversation(conversation, NPC, Spawn, "Shee-jah!") +end + +function dlg_35_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni033.mp3", "", "", 3771835852, 356880814, Spawn) + AddConversationOption(conversation, "Alright.", "dlg_35_8") + StartConversation(conversation, NPC, Spawn, "No, that was incorrect. Again!") +end + +function dlg_35_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni034.mp3", "", "", 700726847, 2196280393, Spawn) + AddConversationOption(conversation, "Fine.", "dlg_35_8") + StartConversation(conversation, NPC, Spawn, "Are you trying to be funny? This is serious. Again! From the beginning!") +end + +function dlg_35_23(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni030.mp3", "", "", 3795991524, 1404953024, Spawn) + AddConversationOption(conversation, "Barakah!", "dlg_35_11") + AddConversationOption(conversation, "Veratu!", "dlg_35_11") + AddConversationOption(conversation, "Ver-ata!", "dlg_35_32") + StartConversation(conversation, NPC, Spawn, "Ver-ata!") +end + +function dlg_35_32(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni031.mp3", "", "", 133768448, 277366466, Spawn) + AddConversationOption(conversation, "Nik-su!", "dlg_35_38") + AddConversationOption(conversation, "Hi-yah!", "dlg_35_11") + AddConversationOption(conversation, "Ninjitsu!", "dlg_35_15") + StartConversation(conversation, NPC, Spawn, "Nik-su!") +end + +function dlg_35_38(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni032.mp3", "", "", 3316158990, 3680571955, Spawn) + AddConversationOption(conversation, "Jeg-raz!", "dlg_35_11") + AddConversationOption(conversation, "Gej-soont-hite!", "dlg_35_15") + AddConversationOption(conversation, "Gej-raz!", "dlg_35_39") + StartConversation(conversation, NPC, Spawn, "Gej-raz!") +end + +function dlg_35_39(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni035.mp3", "", "", 402169577, 2150827734, Spawn) + AddConversationOption(conversation, "Very well. Shall we begin?", "dlg_35_40") + StartConversation(conversation, NPC, Spawn, "Good. Now, repeat it back to me.") +end + +function dlg_35_40(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni036.mp3", "", "", 3555302534, 1640323835, Spawn) + AddConversationOption(conversation, "Rah!", "dlg_35_47") + AddConversationOption(conversation, "Kah!", "dlg_35_41") + AddConversationOption(conversation, "Shish-boom-bah!", "dlg_35_47") + StartConversation(conversation, NPC, Spawn, "What is the first word of the incantation?") +end + +function dlg_35_41(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni037.mp3", "", "", 2778449782, 209782941, Spawn) + AddConversationOption(conversation, "Shee-jah!", "dlg_35_42") + AddConversationOption(conversation, "Shee-joh!", "dlg_35_47") + AddConversationOption(conversation, "Skee-ball!", "dlg_35_47") + StartConversation(conversation, NPC, Spawn, "Good. The second?") +end + +function dlg_35_42(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni038.mp3", "", "", 365802047, 3239329702, Spawn) + AddConversationOption(conversation, "Vis-a-vis!", "dlg_35_47") + AddConversationOption(conversation, "Ver-ata!", "dlg_35_43") + AddConversationOption(conversation, "Vol-ume!", "dlg_35_47") + StartConversation(conversation, NPC, Spawn, "Well done. The third?") +end + +function dlg_35_43(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni039.mp3", "", "", 2799862347, 3798966954, Spawn) + AddConversationOption(conversation, "Nin-dn-toh!", "dlg_35_47") + AddConversationOption(conversation, "Na-ni!", "dlg_35_47") + AddConversationOption(conversation, "Nik-su!", "dlg_35_44") + StartConversation(conversation, NPC, Spawn, "I'm impressed. The fourth?") +end + +function dlg_35_44(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni040.mp3", "", "", 1907508477, 1925947266, Spawn) + AddConversationOption(conversation, "Gej-raz!", "dlg_35_45") + AddConversationOption(conversation, "Jur-gal!", "dlg_35_47") + AddConversationOption(conversation, "Gej-who!", "dlg_35_47") + StartConversation(conversation, NPC, Spawn, "Most wonderful! And the last?") +end + +function dlg_35_45(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, INCANTATION_ORATION, 2) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni041.mp3", "", "", 2217231699, 1707419277, Spawn) + AddConversationOption(conversation, "I am ready.", "dlg_35_46") + AddConversationOption(conversation, "I could use some more time. I'll be back.") + StartConversation(conversation, NPC, Spawn, "Amazing! I must say, I am very impressed with your ability. Now for the last step.") +end + +function dlg_35_47(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni033.mp3", "", "", 3771835852, 356880814, Spawn) + AddConversationOption(conversation, "Alright.", "dlg_35_40") + StartConversation(conversation, NPC, Spawn, "No, that was incorrect. Again!") +end + +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +----------------------------------------------------------------- Quest 4 ------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_35_46(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni044.mp3", "", "", 2882848596, 2336130534, Spawn) + AddConversationOption(conversation, "So, pick up the components, then enact the warding?", "dlg_36_1") + StartConversation(conversation, NPC, Spawn, "You will seal our meeting place. I'll mark it's location in your journal. But first, return to Sevri to pick up the components of the warding spell.") +end + + +function dlg_36_1(NPC, Spawn) + OfferQuest(NPC, Spawn, ABOLISHING_CURIOUSITY) +end + +function dlg_39_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni047.mp3", "", "", 2997417489, 3570075977, Spawn) + AddConversationOption(conversation, "If this will keep the kerra out of our... business, then I am pleased.", "dlg_39_2") + StartConversation(conversation, NPC, Spawn, "Then we are indebted to you. I am pleased that my choice to trust in your abilities was met with such astounding success.") +end + +function dlg_39_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, ABOLISHING_CURIOUSITY, 3) + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni048.mp3", "", "", 1980771348, 214982557, Spawn) + AddConversationOption(conversation, "Thank you, Vess.", "dlg_39_3") + StartConversation(conversation, NPC, Spawn, "Take this as a token of our gratitude. ") +end + +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +----------------------------------------------------------------- Quest 5 ------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------------------------------------------------------------------------- + +function dlg_39_3(NPC, Spawn) + + -- Offer Quest 5 + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/vess_al_ishni/fprt_hood02/vesh_alishni049.mp3", "", "", 3874372203, 2541548907, Spawn) + AddConversationOption(conversation, "I'll do that.", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "Also, you may wish to speak with Custodian Zaddar in the Graveyard when you get a chance.") +end + +function OfferQuest5(NPC, Spawn) + OfferQuest(NPC, Spawn, ERUDITE_ADVENTURES) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/Stonestair/aneruditepestle.lua b/Lua/SpawnScripts/Stonestair/aneruditepestle.lua new file mode 100755 index 000000000..f69de63ed --- /dev/null +++ b/Lua/SpawnScripts/Stonestair/aneruditepestle.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/Stonestair/aneruditepestle.lua + Script Purpose : + Script Author : Jabantiz + Script Date : 6/22/2018 + Script Notes : +--]] + +-- Quest ID's +local ERUDITE_ALCHEMY = 355 + +function spawn(NPC) + SetRequiredQuest(NPC, ERUDITE_ALCHEMY, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, Message) + if HasQuest(Spawn, ERUDITE_ALCHEMY) and GetQuestStep(Spawn, ERUDITE_ALCHEMY) == 2 and Message == "grind herbs" then + SetStepComplete(Spawn, ERUDITE_ALCHEMY, 2) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/Dugar.lua b/Lua/SpawnScripts/SunkenCity/Dugar.lua new file mode 100755 index 000000000..33097f88b --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/Dugar.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/Dugar.lua + Script Purpose : Dugar + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3265760930, 1055342916, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 1744928325, 2718395831, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 1281050619, 1758539799, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1906726944, 247472694, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/GerbardtheSnitch.lua b/Lua/SpawnScripts/SunkenCity/GerbardtheSnitch.lua new file mode 100755 index 000000000..34eb141c5 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/GerbardtheSnitch.lua @@ -0,0 +1,110 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/GerbardtheSnitch.lua + Script Purpose : Gerbard the Snitch + Script Author : neatz09 + Script Date : 2018.12.31 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_1 = 387 +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch000.mp3", "", "", 2512842567, 445857936, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_3_1") + AddConversationOption(conversation, "That sounds like something I'd rather stay out of.") + StartConversation(conversation, NPC, Spawn, "Oh no! I did it again! The boys back on the boat are gonna kill me!") + if convo==5 then + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch000.mp3", "", "", 2512842567, 445857936, Spawn) + AddConversationOption(conversation, "What happened?", "dlg_5_1") + AddConversationOption(conversation, "That sounds like something I'd rather stay out of.") + StartConversation(conversation, NPC, Spawn, "Oh no! I did it again! The boys back on the boat are gonna kill me!") + end + + if convo==8 then + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch000.mp3", "", "", 2512842567, 445857936, Spawn) + AddConversationOption(conversation, "I've returned with the pirate coins.", "dlg_8_1") + AddConversationOption(conversation, "That sounds like something I'd rather stay out of.") + StartConversation(conversation, NPC, Spawn, "Oh no! I did it again! The boys back on the boat are gonna kill me!") + end + + if convo==15 then + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch000.mp3", "", "", 2512842567, 445857936, Spawn) + AddConversationOption(conversation, "I've returned with the pirate coins.", "dlg_15_1") + AddConversationOption(conversation, "That sounds like something I'd rather stay out of.") + StartConversation(conversation, NPC, Spawn, "Oh no! I did it again! The boys back on the boat are gonna kill me!") + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch001.mp3", "", "", 2460257667, 2197101465, Spawn) + AddConversationOption(conversation, "I'll do it, whats involved?", "dlg_3_2") + AddConversationOption(conversation, "Not today, sorry.") + StartConversation(conversation, NPC, Spawn, "I blew all my coins on a game of dice. I just need a few more pirate coins to throw in, and I'll earn back my money in no time! Will you help me out? My crew will toss me overboard if they find out how much money I lost!") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() +OfferQuest(NPC, Spawn, QUEST_1) + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch002.mp3", "", "", 4172245160, 2238267271, Spawn) + AddConversationOption(conversation, "Thanks, I'll search out some pirate coins.", "dlg_3_3") + StartConversation(conversation, NPC, Spawn, "Where do you think they come from? They're pirate coins! Those undead buggers roam around where it's wet. I'd go get them myself, but I gambled my sword away in a sure bet.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch001.mp3", "", "", 2460257667, 2197101465, Spawn) + AddConversationOption(conversation, "I'll do it, whats involved?", "dlg_5_2") + AddConversationOption(conversation, "Not today, sorry.") + StartConversation(conversation, NPC, Spawn, "I blew all my coins on a game of dice. I just need a few more pirate coins to throw in, and I'll earn back my money in no time! Will you help me out? My crew will toss me overboard if they find out how much money I lost!") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch002.mp3", "", "", 4172245160, 2238267271, Spawn) + AddConversationOption(conversation, "Thanks, I'll search out some pirate coins.", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Where do you think they come from? They're pirate coins! Those undead buggers roam around where it's wet. I'd go get them myself, but I gambled my sword away in a sure bet.") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch003.mp3", "", "", 1766615640, 492599183, Spawn) + AddConversationOption(conversation, "Good luck.", "dlg_8_2") + StartConversation(conversation, NPC, Spawn, "You're a lifesaver! Now it's time to win it all back.") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/gerbard_the_snitch/fprt_adv01_sunken/gerbard_the_snitch003.mp3", "", "", 1766615640, 492599183, Spawn) + AddConversationOption(conversation, "Good luck.", "dlg_15_2") + StartConversation(conversation, NPC, Spawn, "You're a lifesaver! Now it's time to win it all back.") +end + diff --git a/Lua/SpawnScripts/SunkenCity/InquisitorThorson.lua b/Lua/SpawnScripts/SunkenCity/InquisitorThorson.lua new file mode 100755 index 000000000..bf8bddcfe --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/InquisitorThorson.lua @@ -0,0 +1,658 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/InquisitorThorson.lua + Script Purpose : Inquisitor Thorson + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local HALFELF_MENTOR_QUEST_5 = 189 +local QUEST_1 = 266 +local QUEST_2 = 267 +local QUEST_3 = 268 +local QUEST_4 = 269 +local QUEST_3_FROM_CURFIELD = 272 +local QUEST_5 = 273 +local QUEST_6 = 274 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) + ProvidesQuest(NPC, QUEST_4) + ProvidesQuest(NPC, QUEST_5) + ProvidesQuest(NPC, QUEST_6) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local chance = math.random(1, 2) + if chance <= 25 then + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/quest_character/qst_inquisitor_thorson_callout_2a6613bd.mp3", "We must all act to defend Freeport.", "nod", 1841304758, 774355519, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/quest_character/qst_inquisitor_thorson_callout_f96a8b27.mp3", "This cursed place holds many secrets that must be uncovered.", "", 2921290119, 2384027850, Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + RandomVoiceOver(NPC, Spawn) + + if HasQuest(Spawn, HALFELF_MENTOR_QUEST_5) then + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". Delcairn Sebastian sent in Beggar's Court sent me here to speak with you.", "Delcairn") + end + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_4) then + if HasCompletedQuest(Spawn, QUEST_3_FROM_CURFIELD) then + if HasCompletedQuest(Spawn, QUEST_5) then + if HasCompletedQuest(Spawn, QUEST_6) then + PlayFlavor(NPC, "", "Thank you for all your help, my friend. I will speak favorably of you to my superiors.", "bow", 0, 0, Spawn) + elseif HasQuest(Spawn, QUEST_6) then + MustRemainHere(NPC, Spawn, conversation) + else + HelloAgainBraveOne(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_5) then + OnQuest5(NPC, Spawn, conversation) + else + HelloOnceAgain(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3_FROM_CURFIELD) then + OnQuest4(NPC, Spawn, conversation) + else + SpeakWithInvestigator(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_4) then + OnQuest4(NPC, Spawn, conversation) + else + Greetings4(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + GreetingsAdventurer(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + HelloAdventurer(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + Greetings(NPC, Spawn, conversation) + end +end + +function RandomVoiceOver(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + end +end + +-------------------------------------------------------------------------------------------------------------------- +-- HALFELF_MENTOR_QUEST_5 +-------------------------------------------------------------------------------------------------------------------- + +function Delcairn(NPC, Spawn) + SetStepComplete(Spawn, HALFELF_MENTOR_QUEST_5, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, QUEST_1) and not HasCompleted(Spawn, QUEST_1) then + AddConversationOption(conversation, "I would be an honor to serve Freeport.", "dlg_0_1") + end + AddConversationOption(conversation, "I am pleased to have met you.") + StartConversation(conversation, NPC, Spawn, "Ah yes, I was told to expect your arrival. I've heard that you show great promise and may well prove to be an asset to the Overlord.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST_1 +-------------------------------------------------------------------------------------------------------------------- + +function Greetings(NPC, Spawn, conversation) + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". Who are you?", "dlg_0_1") + AddConversationOption(conversation, "My business is none of your concern.") + StartConversation(conversation, NPC, Spawn, "Greetings, adventurer. What business do you have here?") + +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson003.mp3", "", "", 463981298, 3396454386, Spawn) + AddConversationOption(conversation, "What is the Dismal Rage?", "dlg_0_2") + AddConversationOption(conversation, "Undead? No thank you.") + StartConversation(conversation, NPC, Spawn, "I suppose formal introductions are in order. I am Inquisitor Thorson, sent by my masters in the Dismal Rage to investigate a recent increase in undead activity here.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What gods do you serve?", "dlg_0_3") + AddConversationOption(conversation, "I have heard enough about the Dismal Rage. What is this place?", "dlg_0_6") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "The Dismal Rage looks after the spiritual needs of Freeport's people. We congregate in the Temple of War in North Freeport. We are made up largely of priests, though we do employ other professions from time to time.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "If there are no gods around anymore, from where do you draw your power?", "dlg_0_4") + AddConversationOption(conversation, "I think I've heard enough.") + StartConversation(conversation, NPC, Spawn, "Though in ancient times our priests served the old gods, we no longer bow to such archaic symbols of authority. Today the Dismal Rage serves the Overlord and our high priestess, .. GetName(Spawn) .. . Nevagon.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What principles do you mean?", "dlg_0_5") + AddConversationOption(conversation, "I think I should be leaving.") + StartConversation(conversation, NPC, Spawn, "Some of us believe it was not the gods themselves that were the true power, but rather the planar forces they represented. The ancient gods were symbols, the embodiment of the principles we now serve.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What is this place?", "dlg_0_6") + AddConversationOption(conversation, "I think I should be leaving.") + StartConversation(conversation, NPC, Spawn, "We draw our power from many sources, including the principles of Hate, Fear, War, and Decay. There are sects within the Dismal Rage dedicated to all these ideals and more, though we are united in our service to the Overlord and High Priestess Nevagon.") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you mean?", "dlg_0_7") + AddConversationOption(conversation, "I don't need to hear anything else.") + StartConversation(conversation, NPC, Spawn, "You have arrived in the Sunken City, once a thriving district of Freeport. Now it stands as a monument to the madness of those who would have sacrificed our beloved city to the waves.") +end + +function dlg_0_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will do it.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "I will tell you more if you want to hear it, but first I must review the notes I have been taking on what I have observed since my arrival here. To learn a bit more about this place, go through the archway just ahead and speak to an iksar named Saydith Yarr.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Yes, though he seemed to babble a lot.", "dlg_2_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Did you speak to Saydith Yarr?") +end + +function dlg_2_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_1) then + SetStepComplete(Spawn, QUEST_1, 2) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd like to hear more about the Sunken City.", "dlg_2_2") + AddConversationOption(conversation, "Enough chatter. Do you have anything for me to do?", "dlg_2_10") + AddConversationOption(conversation, "I'd rather leave, thanks.") + StartConversation(conversation, NPC, Spawn, "Saydith has been here a long time, and I think he has gone a bit mad. I can tell you more about this place if you like, or we can skip all that and you can do some work for me.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST_2 +-------------------------------------------------------------------------------------------------------------------- + +function HelloAdventurer(NPC, Spawn, conversation) +AddConversationOption(conversation, "I spoke to a rather disturbed iksar.", "dlg_2_1") + AddConversationOption(conversation, "Goodbye, Inquisitor Thorson.") + StartConversation(conversation, NPC, Spawn, "Hello, adventurer. I hope you travel safely here in the Sunken City.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Go on.", "dlg_2_3") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "What we now call the Sunken City was once a residential district in the northern section of Freeport known affectionately by its residents as Plank's Edge. It was home to many of the sailors and merchants that worked on the docks of East Freeport's bustling shipping trade.") +end + +function dlg_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Please continue.", "dlg_2_4") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "As was typical of a seafaring community, many of the residents worshiped Prexus, the Ocean Lord. Though a boisterous and sometimes rowdy bunch, they lived peaceably enough with the other citizens of Freeport.") +end + +function dlg_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see.", "dlg_2_5") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "When the Rending began and the seas became impassible, Freeport's harbor fell on hard times. Shipping and trade ground to a halt and the fishing industry collapsed. East Freeport became a ghost town, known more for its crime than for its commerce.") +end + +function dlg_2_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Who followed Aquel?", "dlg_2_6") + AddConversationOption(conversation, "I'm losing interest in this story. Do you have any work for me?", "dlg_2_10") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "In this climate of fear and uncertainty, a half elven extremist named Elwyn Aquel gained a following. He preached that Prexus was angry with Freeport, and only through the hard work and sacrifice of his followers would the seas calm and prosperity return.") +end + +function dlg_2_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Did Aquel really want to help them?", "dlg_2_7") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "Aquel's followers, called the Circle of Darkfathom, quickly rose in prominence among the disgruntled citizens of Plank's Edge. Aquel promised brighter days to these desperate people on the brink of losing everything they had.") +end + +function dlg_2_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Did anyone try to stop him?", "dlg_2_8") + AddConversationOption(conversation, "Enough of this babbling.") + StartConversation(conversation, NPC, Spawn, "Little did the people of Plank's Edge know that they had fallen victim to a madman's scheme. The sacrifice Aquel spoke of was a literal one: he intended to sink Freeport to the bottom of the ocean in a twisted scheme to gain favor with Prexus. He believed that the flood waters would wash away the city and grant him immortality in the process.") +end + +function dlg_2_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Was all of Freeport flooded?", "dlg_2_9") + AddConversationOption(conversation, "I've heard enough.") + StartConversation(conversation, NPC, Spawn, "It was only as Aquel began his ritual of sacrifice that some of his followers saw through his deception. As the ground beneath Plank's Edge began to sink and the flood waters came pouring in, some of the Darkfathom members interrupted Aquel's incantation and broke the spell. Though Freeport was saved, it was too late for the people of Plank's Edge, who drowned beneath the unholy tide. Aquel's body was never recovered.") +end + +function dlg_2_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "This area is haunted?", "dlg_2_10") + AddConversationOption(conversation, "I don't like ghosts. Time to go.") + StartConversation(conversation, NPC, Spawn, "Thankfully the high walls around the outside of the district held strong, so damage to neighboring parts of Freeport was minimal. Gradually the waters receded but never fully went away, leaving the area all but unlivable. Abandoned by the city's residents, Plank's Edge is now called the Sunken City, a dangerous place haunted by the souls of those who met their doom within.") +end + +function dlg_2_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you want me to do?", "dlg_2_11") + AddConversationOption(conversation, "I have no interest in this.") + StartConversation(conversation, NPC, Spawn, "The Sunken City is haunted, by both the spirits of those innocents who died here and by the fallen Prexians who caused this catastrophe. It is said that there are even more spirits who walk these flooded streets after night falls.") +end + +function dlg_2_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll do it. Where can I find these creatures?", "OfferQuest2") + StartConversation(conversation, NPC, Spawn, "When the undead are defeated and their spirits are freed, they often leave behind a spectral essence that, if properly analyzed, reveals much about their past. I must find out what is causing the increase in activity among the undead. I need you to obtain four spectral essences from the undead creatures.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_2) == 2 then + AddConversationOption(conversation, "Yes, I obtained all four essences.", "dlg_7_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Hello again. Do you have the spectral essences I asked you to obtain?") +end + +function dlg_7_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What other inhabitants?", "dlg_7_2") + AddConversationOption(conversation, "No thanks, I will be going.") + StartConversation(conversation, NPC, Spawn, "Well done! These essences will aid in my research. It will take me some time to study them. While I do that, it may be a good idea for you to have a look around and discover some of the other inhabitants of the Sunken City.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST_3 +-------------------------------------------------------------------------------------------------------------------- + +function GreetingsAdventurer(NPC, Spawn, conversation) + AddConversationOption(conversation, "Hello, Inquisitor. I am ready to explore more of the Sunken City.", "dlg_7_2") + AddConversationOption(conversation, "Nothing. Goodbye, Inquisitor Thorson.") + StartConversation(conversation, NPC, Spawn, "Greetings, adventurer! What brings you back to me?") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What kind of vermin?", "dlg_7_3") + AddConversationOption(conversation, "Just tell me how to collect the information you need.") + StartConversation(conversation, NPC, Spawn, "This place is home to more than just the spirits of those who died here. I've been told there are a few types of vermin scattered around the Sunken City, and I'd like you to confirm their presence for me.") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What other creatures?", "dlg_7_4") + StartConversation(conversation, NPC, Spawn, "Crabs like to roam in shallow water, so I need a rough estimate of their density here. You should find plenty of brine sifters just through the archway, as well as farther on to the east.") +end + +function dlg_7_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Anything else?", "dlg_7_5") + StartConversation(conversation, NPC, Spawn, "Though a coastal city, Freeport has a very arid climate. Scorpions may be found here on some of the dry portions of ground. You might try going west, then south a bit.") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I collect information on these creatures?", "OfferQuest3") + StartConversation(conversation, NPC, Spawn, "Of particular interest to me are the strange rust monsters that scurry around here. There is little information on where they come from, but they showed up in this area after the destruction caused by the Rending. They get their name not only for their brownish color, but for their odd taste for consuming rusty metal. If any of your gear becomes rusty due to the moisture here, be on your guard.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_3) == 5 then + AddConversationOption(conversation, "Yes, I've studied the nearby creatures.", "dlg_10_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Greetings once again. Have you studied the local wild creatures?") +end + +function dlg_10_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_3, 5) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are you working alone here?", "dlg_10_2") + AddConversationOption(conversation, "I think I will go now.") + StartConversation(conversation, NPC, Spawn, "Well done! Your reputation as a hard worker is well earned. It seems there is no shortage of life here in the Sunken City, even if most of it scuttles about in the shadows.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST_4 +-------------------------------------------------------------------------------------------------------------------- + +function Greetings4(NPC, Spawn, conversation) + AddConversationOption(conversation, "Are you working alone here?", "dlg_10_2") + AddConversationOption(conversation, "Speaking of traveling, I must be off.") + StartConversation(conversation, NPC, Spawn, "Greetings. I hope you travel safely, adventurer.") +end + +function dlg_10_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Who am I looking for?", "dlg_10_3") + AddConversationOption(conversation, "Run your own errands.") + StartConversation(conversation, NPC, Spawn, "I am not the only one sent here by the Dismal Rage. Some of my allies have ventured deeper into the Sunken City. In fact, since I have completed my examination of the spectral essences you obtained, I need you to take the information to one of them.") +end + +function dlg_10_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll do it. Where can I find him?", "OfferQuest4") + StartConversation(conversation, NPC, Spawn, "Seek out Investigator Curfeld, a highly respected member of our order. He has spent a lot of time researching the events that transpired here, and no doubt has some insight into the recent rise in undead activity. Take my findings on the spectral essences and give them to him.") +end + +function OfferQuest4(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_4) +end + +function OnQuest4(NPC, Spawn, conversation) + if HasQuest(Spawn, QUEST_3_FROM_CURFIELD) then + AddConversationOption(conversation, "Yes, he asked me to bring this journal to you.", "dlg_22_1") + end + AddConversationOption(conversation, "I looked, but I didn't find him.", "DidntFindHim") + AddConversationOption(conversation, "Not yet. I'm still doing some tasks for him.") + StartConversation(conversation, NPC, Spawn, "Thank you for assisting the Dismal Rage in investigating the Sunken City. Has Investigator Curfield made any discoveries?") +end + +function DidntFindHim(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll have another look.") + StartConversation(conversation, NPC, Spawn, "He is near the gateway to the Graveyard. Look to the south and the west of here, near some other inquisitors from the Dismal Rage. Investigator Curfield often makes expeditions deeper into the Sunken City, so if you don't see him right now just wait a while and he should present himself.") +end + +function SpeakWithInvestigator(NPC, Spawn, conversation) + AddConversationOption(conversation, "I will go speak to Investigator Curfield.") + StartConversation(conversation, NPC, Spawn, "Greetings, adventurer. Please see if Investigator Curfield has any work for you. He can be found near the gate to the Graveyard. He'll send you back to me when he sees fit.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST_3_FROM_CURFIELD +-------------------------------------------------------------------------------------------------------------------- + +function dlg_22_1(NPC, Spawn) + if HasQuest(Spawn, QUEST_3_FROM_CURFIELD) then + SetStepComplete(Spawn, QUEST_3_FROM_CURFIELD, 1) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson037.mp3", "", "", 1891000932, 649787837, Spawn) + AddConversationOption(conversation, "First he had me uncover what some unsavory pirates are doing in the area.", "dlg_22_2") + AddConversationOption(conversation, "That is none of your business.") + StartConversation(conversation, NPC, Spawn, "Ah, thank you. I'm glad to have someone of his expertise in charge of these matters. I will look through his journal as I prepare to return to North Freeport to present my report. If I may ask, what did the investigator have you do?") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST_3_FROM_CURFIELD +-------------------------------------------------------------------------------------------------------------------- + +function HelloOnceAgain(NPC, Spawn, conversation) + AddConversationOption(conversation, "I returned with information from Investigator Curfield.", "dlg_22_1") + AddConversationOption(conversation, "My pleasure. Goodbye, Inquisitor Thorson.") + StartConversation(conversation, NPC, Spawn, "Hello once again friend. As a loyal servant of the Dismal Rage, I continue to investigate the strange happenings here in the Sunken City.") +end + +function dlg_22_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson038.mp3", "", "", 4129824747, 1521555979, Spawn) + AddConversationOption(conversation, "No, he just had me retrieve some documents that were in their possession.", "dlg_22_3") + AddConversationOption(conversation, "That doesn't concern you.") + StartConversation(conversation, NPC, Spawn, "Pirates, eh? I'd heard rumors of their kind stashing their goods around here. I guess they figured no one would go looking for stolen goods in a place that is haunted by the spirits of the past. I assume he asked you to report their activity to the Freeport Militia.") +end + +function dlg_22_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson039.mp3", "", "", 4059080083, 3742743573, Spawn) + AddConversationOption(conversation, "He had me investigate a ruined shrine to Prexus that was guarded by zombies.", "dlg_22_4") + AddConversationOption(conversation, "Mind your own business.") + StartConversation(conversation, NPC, Spawn, "Documents? Well, surely Investigator Curfeld knows what's best. What else did he ask you to do?") +end + +function dlg_22_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson040.mp3", "", "", 3404715072, 1791529373, Spawn) + AddConversationOption(conversation, "Uh, actually not. He just asked me to find out whether it still emanated mystical energy.", "dlg_22_5") + AddConversationOption(conversation, "Stop asking so many questions.") + StartConversation(conversation, NPC, Spawn, "The ruins of that ancient shrine are certainly cursed. No doubt he asked you to destroy the shrine and sanctify the ground.") +end + +function dlg_22_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson041.mp3", "", "", 3942402517, 3906834551, Spawn) + AddConversationOption(conversation, "I'm sure there must be a good explanation.", "dlg_22_6") + AddConversationOption(conversation, "Let's just forget about this.") + StartConversation(conversation, NPC, Spawn, "What? I don't understand it. Why would he not want the shrine destroyed, especially if it still has arcane power? Let me see if he explains it in this journal.") +end + +function dlg_22_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson042.mp3", "", "", 3952859177, 2366255979, Spawn) + AddConversationOption(conversation, "Why would he have such notes?", "dlg_22_7") + AddConversationOption(conversation, "You sound like a fool.") + StartConversation(conversation, NPC, Spawn, "Wait... what is going on? This journal isn't about ending the threat of the undead and keeping Freeport safe. It contains notes on how to recreate the spell used by Elwyn Aquel and the Circle of Darkfathom to destroy our city!") +end + +function dlg_22_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson043.mp3", "", "", 3919422201, 2706704450, Spawn) + AddConversationOption(conversation, "What should we do?", "dlg_22_8") + AddConversationOption(conversation, "I really don't care.") + StartConversation(conversation, NPC, Spawn, "I'd heard it said that members of the investigator's family were worshipers of Prexus. They must have been members of the Circle of Darkfathom. Our city is in grave danger! We have to stop him!") +end + +function dlg_22_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson044.mp3", "", "", 4213844077, 3519190459, Spawn) + AddConversationOption(conversation, "I will. But what if he refuses to surrender?", "OfferQuest5") + StartConversation(conversation, NPC, Spawn, "There's no time to waste! Curfeld must not be allowed to complete this unholy ritual. The safety of Freeport itself is at stake! Go back and face him. You must put an end to his foul scheme before all is lost.") +end + +function OfferQuest5(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_5) +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 5 +-------------------------------------------------------------------------------------------------------------------- + +function OnQuest5(NPC, Spawn, conversation) + if GetQuestStep(Spawn, QUEST_5) == 2 then + AddConversationOption(conversation, "His plans are foiled. Freeport is safe.", "dlg_24_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You're back! Did you stop Investigator Curfeld?") +end + +function dlg_24_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_5, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It was my pleasure to serve. Do you have any other tasks for me?", "OfferQuest6") + AddConversationOption(conversation, "I'm tired of being around you.") + StartConversation(conversation, NPC, Spawn, "Splendid work! I cannot express how pleased I am with all you have done for us. Your name shall be known within the Dismal Rage as a true hero. I would not be surprised if the Overlord himself hears of your actions this day. Please, take this reward as a token of thanks.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST 6 +-------------------------------------------------------------------------------------------------------------------- + +function HelloAgainBraveOne(NPC, Spawn, conversation) + AddConversationOption(conversation, "Are there any other tasks we can undertake together?", "OfferQuest6") + AddConversationOption(conversation, "I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Hello again, brave one. I want to thank you again for defeating Curfield.") +end + +function OfferQuest6(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_6) +end + +function MustRemainHere(NPC, Spawn, conversation) + AddConversationOption(conversation, "How do I get there?", "dlg_24_3") + AddConversationOption(conversation, "I'm leaving.") + StartConversation(conversation, NPC, Spawn, "I must remain here to finish my report for the Dismal Rage. However, I would like you to journey to the Freeport Ruins and seek out an acquaintance of mine named Captain Arellius. I have heard that your help is much needed there. I will send word that you are coming, hero of Freeport.") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson049.mp3", "", "", 3163252250, 288796806, Spawn) + AddConversationOption(conversation, "Are there any other places you could recommend where I can find adventures?", "dlg_24_4") + AddConversationOption(conversation, "Thank you, Inquisitor Thorson. Farewell.") + StartConversation(conversation, NPC, Spawn, "The fastest route to the Ruins is to use the mariner's bell at the end of the dock for traveling outside the city proper. This will summon transportation to take you to the Ruins, where Captain Arellius of the Freeport Militia will be awaiting your assistance.") +end + +function dlg_24_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson061.mp3", "", "", 2845086086, 1715171802, Spawn) + AddConversationOption(conversation, "Tell me more about Custodian Zaddar.", "dlg_24_5") + AddConversationOption(conversation, "Tell me more about Enforcer Kurdek.", "dlg_24_6") + AddConversationOption(conversation, "I may seek them out. Thank you.") + StartConversation(conversation, NPC, Spawn, "You can speak to Custodian Zaddar in the Graveyard and Enforcer Kurdek in the Sprawl. They could both use assistance from an able adventurer.") +end + +function dlg_24_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson062.mp3", "", "", 4025975768, 1084751097, Spawn) + AddConversationOption(conversation, "Tell me more about Enforcer Kurdek.", "dlg_24_6") + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Custodian Zaddar in the Graveyard is trying to determine what's behind a recent increase in undead attacks. Use the mariner's bell on the docks of your home district to travel to Stonestair Byway. Head west until you see a passage to the south. The gate at the end leads to the Graveyard.") +end + +function dlg_24_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/inquisitor_thorson/fprt_adv01_sunken/inquisitor_thorson063.mp3", "", "", 3377387482, 1184471101, Spawn) + AddConversationOption(conversation, "Tell me more about Custodian Zaddar.", "dlg_24_5") + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Enforcer Kurdek in the Sprawl could use a hand keeping the local gangs in line. To journey to the Sprawl, use the mariner's bell on the docks of your home district to travel to Big Bend. Follow the halls north, then take the west passageway to the west gate.") +end diff --git a/Lua/SpawnScripts/SunkenCity/InvestigatorCurfeld.lua b/Lua/SpawnScripts/SunkenCity/InvestigatorCurfeld.lua new file mode 100755 index 000000000..f6accb653 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/InvestigatorCurfeld.lua @@ -0,0 +1,310 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/InvestigatorCurfeld.lua + Script Purpose : Investigator Curfeld + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local QUEST_4_FROM_THORSON = 269 +local QUEST_1 = 270 +local QUEST_2 = 271 +local QUEST_3 = 272 +local QUEST_5_FROM_THORSON = 273 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) + ProvidesQuest(NPC, QUEST_2) + ProvidesQuest(NPC, QUEST_3) +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, QUEST_1) then + if HasCompletedQuest(Spawn, QUEST_2) then + if HasCompletedQuest(Spawn, QUEST_3) then + if HasCompletedQuest(Spawn, QUEST_5_FROM_THORSON) then + Say(NPC, "You again? You can't stop a son of Prexus. Maybe the next fool who comes after you will have better luck!", Spawn) + elseif HasQuest(Spawn, QUEST_5_FROM_THORSON) then + OnQuest3(NPC, Spawn, conversation) + else + OnQuest3(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_3) then + OnQuest3(NPC, Spawn, conversation) + else + SoYouFoundTheShrine(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_2) then + OnQuest2(NPC, Spawn, conversation) + else + WhyHaveYouReturned(NPC, Spawn, conversation) + end + elseif HasQuest(Spawn, QUEST_1) then + OnQuest1(NPC, Spawn, conversation) + else + if not HasCompletedQuest(Spawn, QUEST_4_FROM_THORSON) then + VeryBusy(NPC, Spawn, conversation) + else + YouAgain(NPC, Spawn, conversation) + end + end +end + +--------------------------------------------------------------------------------------------------------------------------- +-- QUEST_4_FROM_THORSON +--------------------------------------------------------------------------------------------------------------------------- + +function VeryBusy(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld001.mp3", "", "", 587048685, 18941612, Spawn) + if HasQuest(Spawn, QUEST_4_FROM_THORSON) then + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". Inquisitor Thorson sent me.", "dlg_12_1") + end + AddConversationOption(conversation, "Nothing at all.") + StartConversation(conversation, NPC, Spawn, "I'm very busy. What is it that you want from me?") +end + +function dlg_12_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_4_FROM_THORSON, 1) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld002.mp3", "", "", 2776959402, 3983139293, Spawn) + AddConversationOption(conversation, "The inquisitor did some research on spectral essences, and he asked me to give it to you.", "dlg_12_2") + AddConversationOption(conversation, "I'll leave you alone.") + StartConversation(conversation, NPC, Spawn, "Thorson, eh? He mentioned a newly arrived hero of Freeport was coming. State your business quickly, for my time is valuable.") +end + +--------------------------------------------------------------------------------------------------------------------------- +-- QUEST 1 +--------------------------------------------------------------------------------------------------------------------------- + +function YouAgain(NPC, Spawn, conversation) + AddConversationOption(conversation, "Inquisitor Thorson sent me to help look into the rise of undead activity.", "dlg_12_5") + AddConversationOption(conversation, "Nevermind.") + StartConversation(conversation, NPC, Spawn, "You again. What is it that you wanted?") +end + +function dlg_12_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld003.mp3", "", "", 1468838299, 855905444, Spawn) + AddConversationOption(conversation, "He mentioned you might need my assistance.", "dlg_12_3") + AddConversationOption(conversation, "That's all.") + StartConversation(conversation, NPC, Spawn, "Fine, hand it over! Is that all?") +end + +function dlg_12_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld004.mp3", "", "", 984029368, 2280448766, Spawn) + AddConversationOption(conversation, "I am willing to do whatever is required to serve Freeport.", "dlg_12_4") + AddConversationOption(conversation, "Never mind, I rescind my offer.") + StartConversation(conversation, NPC, Spawn, "Assistance? What I need is solitude so that I can complete my research! What is it that you think you can offer an investigator who serves the Dismal Rage?") +end + +function dlg_12_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld005.mp3", "", "", 1117786309, 2475990866, Spawn) + AddConversationOption(conversation, "Looking into the increase in undead activity, correct?", "dlg_12_5") + AddConversationOption(conversation, "This doesn't interest me.") + StartConversation(conversation, NPC, Spawn, "Well, come to think of it, there is some work you could do for me. As you know, I've been here in the Sunken City for a while now, conducting some important research.") +end + +function dlg_12_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld006.mp3", "", "", 3352004340, 1089685047, Spawn) + AddConversationOption(conversation, "Who do you suspect has stolen it?", "dlg_12_6") + AddConversationOption(conversation, "Do your own grunt work.") + StartConversation(conversation, NPC, Spawn, "Yes, undead activity... of course. At any rate, some of my research has been stolen, and it is vital that I get it back. I need you to retrieve it for me.") +end + +function dlg_12_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld007.mp3", "", "", 753008127, 4149258442, Spawn) + AddConversationOption(conversation, "Where should I look for your research papers?", "OfferQuest1") + AddConversationOption(conversation, "I have no interest in pirates.") + StartConversation(conversation, NPC, Spawn, "I have observed a gang of pirates operating in the abandoned houses to the north. I believe they call themselves the Blackshields, a group of thugs based on the shores of the Commonlands. It is my belief that they're using the Sunken City as a place to store their stolen treasures.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function OnQuest1(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld009.mp3", "", "", 987373655, 3497715065, Spawn) + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "Yes, I found a notebook in an old barrel.", "dlg_19_1") + end + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Have you retrieved my research materials from the Blackshields yet?") +end + +function dlg_19_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld010.mp3", "", "", 1290071481, 14179397, Spawn) + AddConversationOption(conversation, "I'm ready for anything.", "dlg_19_2") + AddConversationOption(conversation, "I don't need your insults.") + StartConversation(conversation, NPC, Spawn, "Excellent! You may prove useful to me after all. I wonder if I can now entrust you with a more crucial task.") +end + +--------------------------------------------------------------------------------------------------------------------------- +-- QUEST 2 +--------------------------------------------------------------------------------------------------------------------------- + +function WhyHaveYouReturned(NPC, Spawn, conversation) + AddConversationOption(conversation, "I would like to help you further.", "dlg_19_2") + AddConversationOption(conversation, "I guess I will be leaving.") + StartConversation(conversation, NPC, Spawn, "Why have you returned to me?") +end + +function dlg_19_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld011.mp3", "", "", 2158708484, 291273731, Spawn) + AddConversationOption(conversation, "What do you mean by 'usable'?", "dlg_19_3") + AddConversationOption(conversation, "Your task doesn't interest me.") + StartConversation(conversation, NPC, Spawn, "Back when this place was known as Plank's Edge, the followers of Prexus built a shrine to the Ocean Lord. I need to know if any part of that shrine still exists, and if so, whether it still resonates with any usable divine power.") +end + +function dlg_19_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld012.mp3", "", "", 3900893827, 953702832, Spawn) + AddConversationOption(conversation, "No need to be so testy! I will do it.", "dlg_19_4") + AddConversationOption(conversation, "I don't need to stand for your rudeness.") + StartConversation(conversation, NPC, Spawn, "Do not question me! You are not experienced enough in the ways of the Dismal Rage to understand these matters. Will you undertake this mission or not?") +end + +function dlg_19_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld013.mp3", "", "", 279847227, 949322829, Spawn) + AddConversationOption(conversation, "I will be careful.", "OfferQuest2") + AddConversationOption(conversation, "I'd best be off.") + StartConversation(conversation, NPC, Spawn, "Then be about your work. Find whatever remains of the shrine of Prexus and tell me if it has any remnants of its former power. Beware, for the corpses of the Darkfathom followers may still be guarding their once holy place.") +end + +function OfferQuest2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_2) +end + +function OnQuest2(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld015.mp3", "", "", 3353662707, 2467058534, Spawn) + if GetQuestStep(Spawn, QUEST_2) == 2 then + AddConversationOption(conversation, "I've found the ruined shrine, and it has an eerie hum surrounding it.", "dlg_20_1") + end + AddConversationOption(conversation, "I haven't found it yet.") + StartConversation(conversation, NPC, Spawn, "Did you find the shrine of Prexus? Does it still resonate with power?") +end + +function dlg_20_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_2, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld016.mp3", "", "", 2893810330, 4143475866, Spawn) + AddConversationOption(conversation, "What may still be possible?", "dlg_20_2") + AddConversationOption(conversation, "I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "Magnificent news! Then it might still be possible! This confirms all my fondest hopes!") +end + +--------------------------------------------------------------------------------------------------------------------------- +-- QUEST 3 +--------------------------------------------------------------------------------------------------------------------------- + +function SoYouFoundTheShrine(NPC, Spawn, conversation) + AddConversationOption(conversation, "I was curious what you wanted from that shrine.", "dlg_20_2") + AddConversationOption(conversation, "I'm tired of this abuse.") + StartConversation(conversation, NPC, Spawn, "So you found the Shrine of Prexus. Why are you still disturbing my work?") +end + +function dlg_20_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld017.mp3", "", "", 3975555869, 3311883027, Spawn) + AddConversationOption(conversation, "Inquisitor Thorson said he needed information from you to complete his report.", "OfferQuest3") + AddConversationOption(conversation, "I'm tired of this abuse.") + StartConversation(conversation, NPC, Spawn, "Uh... nothing! You have no right to question me! Go back to Thorson, for I have no further use for you.") +end + +function OfferQuest3(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_3) +end + +function OnQuest3(NPC, Spawn, conversation) + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld019.mp3", "", "", 1269088457, 2406366669, Spawn) + if HasQuest(Spawn, QUEST_5_FROM_THORSON) and GetQuestStep(Spawn, QUEST_5_FROM_THORSON) == 1 then + AddConversationOption(conversation, "You did, and we found some rather disturbing notes in your journal.", "dlg_23_1") + end + AddConversationOption(conversation, "I'm going back to him right now.") + StartConversation(conversation, NPC, Spawn, "You again! I thought I sent you back to Thorson.") +end + +-------------------------------------------------------------------------------------------------------------------- +-- QUEST_5_FROM_THORSON +-------------------------------------------------------------------------------------------------------------------- + +function dlg_23_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld020.mp3", "", "", 1297570306, 1157170727, Spawn) + AddConversationOption(conversation, "Indeed we did. You have some explaining to do.", "dlg_23_2") + AddConversationOption(conversation, "No, we didn't.") + StartConversation(conversation, NPC, Spawn, "In my journal? What do you... Oh, I, uh, seem to have given you the wrong notes to take to him. Just some old scribbles, nothing too interesting. You two didn't read it, did you?") +end + +function dlg_23_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld021.mp3", "", "", 2210460542, 3190306576, Spawn) + AddConversationOption(conversation, "You're a madman!", "dlg_23_3") + AddConversationOption(conversation, "Time for me to get out of here.") + StartConversation(conversation, NPC, Spawn, "I do not need to explain myself to lesser beings like you. Soon I will recreate Aquel's ritual, only this time I will succeed in sinking Freeport to the bottom of the ocean. And the delicious irony is that you are the one who helped me do it!") +end + +function dlg_23_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/tutorial_revamp/investigator_curfeld/fprt_adv01_sunken/investigator_curfeld022.mp3", "", "", 2667398233, 1390342428, Spawn) + AddConversationOption(conversation, "Oh no you won't, Curfeld!", "dlg_23_4") + AddConversationOption(conversation, "Nevermind, we'll settle this another time.") + StartConversation(conversation, NPC, Spawn, "When I have caused the waters to rise and drown this city, Prexus will return and bless me with unlimited power! Even the Overlord's floating citadel will sink to the depths, leaving me to rule all of Norrath!") +end + +function dlg_23_4(NPC, Spawn) + SpawnSet(NPC, "attackable", 1) + SpawnSet(NPC, "show_level", 1) + AddHate(Spawn, NPC, 100) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/Lukur.lua b/Lua/SpawnScripts/SunkenCity/Lukur.lua new file mode 100755 index 000000000..d64a0e3e0 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/Lukur.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/Lukur.lua + Script Purpose : Lukur + Script Author : jakejp + Script Date : 2018.12.27 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_1 = 374 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, QUEST_1) then + if HasQuest(Spawn, QUEST_1) then + if GetQuestStep(Spawn, QUEST_1) == 4 then + AddConversationOption(conversation, "I've returned with the masks.", "dlg_12_1") + end + else + AddConversationOption(conversation, "Who are you?", "dlg_4_1") + end + end + + PlayFlavor(NPC, "voiceover/english/optional1/lukur/fprt_adv01_sunken/lukur000.mp3", "", "", 1584752461, 2942049134, Spawn) + AddConversationOption(conversation, "I'm not one to be sifting through other people's things.") + StartConversation(conversation, NPC, Spawn, "This place is a wellspring for me. Look around! Crates and barrels full of abandoned goods just waiting to be uncovered. There are far too many for me to search alone.") + +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/lukur/fprt_adv01_sunken/lukur001.mp3", "", "", 3143062912, 3824299878, Spawn) + AddConversationOption(conversation, "I think I can help you.", "OfferQuest1") + AddConversationOption(conversation, "Not right now, sorry.") + StartConversation(conversation, NPC, Spawn, "My name's Lukur, and I deal antiques. I was told of the riches waiting to be discovered here, but I didn't believe it until I arrived. Will you help me search for some valuables?") +end + +function dlg_12_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional1/lukur/fprt_adv01_sunken/lukur003.mp3", "", "", 1196217033, 2873878783, Spawn) + AddConversationOption(conversation, "Thank you. ", "dlg_12_2") + StartConversation(conversation, NPC, Spawn, "Look at the amazing quality of these ancient masks! You did well. Here is your reward.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/ManiusGalla.lua b/Lua/SpawnScripts/SunkenCity/ManiusGalla.lua new file mode 100755 index 000000000..d0205c353 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/ManiusGalla.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/ManiusGalla.lua + Script Purpose : Manius Galla + Script Author : Neatz09 + Script Date : 12/31/2018 + Script Notes : +--]] + +local QUEST_1 = 389 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + RandomVoiceOver(NPC, Spawn) + + if not HasCompletedQuest(Spawn, QUEST_1) then + if HasQuest(Spawn, QUEST_1) then + if GetQuestStep(Spawn, QUEST_1) == 6 then + AddConversationOption(conversation, "I've killed the raiders.", "dlg_17_1") + end + else + AddConversationOption(conversation, "I want to join your gang.", "dlg_9_1") + end + end + AddConversationOption(conversation, "I didn't see anything.") + StartConversation(conversation, NPC, Spawn, "Mind your own business. If you keep gawking, you'll be walking away with a limp. And that's only because I'm in a good mood today.") +end + +function RandomVoiceOver(NPC, Spawn) + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1004.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + end +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Why don't you give me a test?", "dlg_9_2") + AddConversationOption(conversation, "I don't need to take this from you. Good bye.") + StartConversation(conversation, NPC, Spawn, "Did you hear that, boys? This runt wants to join our gang! HA HA HA HA! You couldn't fight your way out of a wet parchment bag let alone join us. HA HA HA! We keep people safe inside the city districts! You're better off paying us for protection, runt.") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() +OfferQuest(NPC, Spawn, QUEST_1) + AddConversationOption(conversation, "Okay, I'll be back when they're dead.", "dlg_9_3") + StartConversation(conversation, NPC, Spawn, "A test, huh? Yeah ... hey, boys ... let's give this runt a bit of a test. Okay, here's your test: Go deeper in this place and find some of the lackeys who hang around the raiders. Kill some of them and maybe you can work for us.") +end + +function dlg_9_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Don't worry about it.", "dlg_9_4") + StartConversation(conversation, NPC, Spawn, "Don't even bother coming back if they ain't!") +end + +function dlg_17_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 6) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll check back.") + StartConversation(conversation, NPC, Spawn, "Crispin already heard. Hpmh ... You got lucky, I guess. Either way, those Raiders won't bother our clients in the Court anymore. I don't know if I should let you join our gang ... let me think about it.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/SaydithYarr.lua b/Lua/SpawnScripts/SunkenCity/SaydithYarr.lua new file mode 100755 index 000000000..3b5eae16b --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/SaydithYarr.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/SaydithYarr.lua + Script Purpose : Saydith Yarr + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local QUEST_1_FROM_THORSON = 266 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/saydith_yarr/fprt_adv01_sunken/saydith_yarr000.mp3", "", "", 1548752498, 2730978939, Spawn) + AddConversationOption(conversation, "Where am I?", "dlg_1_2") + AddConversationOption(conversation, "What do you mean by 'dark and light'?", "dlg_1_3") + AddConversationOption(conversation, "What tragedies?", "dlg_1_1") + AddConversationOption(conversation, "I know all I need to about this place.") + StartConversation(conversation, NPC, Spawn, "Searched this place I have. Seen the dark and the light. Know the stories and the tragedies.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/saydith_yarr/fprt_adv01_sunken/saydith_yarr001.mp3", "", "", 2390191821, 3206926055, Spawn) + AddConversationOption(conversation, "What do you mean by 'dark and light'?", "dlg_1_3") + AddConversationOption(conversation, "What tragedies?", "dlg_1_1") + AddConversationOption(conversation, "I know all I need to about this place.") + StartConversation(conversation, NPC, Spawn, "You're on the docks of the Sunken City.") +end + +function dlg_1_3(NPC, Spawn) + if HasQuest(Spawn, QUEST_1_FROM_THORSON) and GetQuestStep(Spawn, QUEST_1_FROM_THORSON) == 1 then + SetStepComplete(Spawn, QUEST_1_FROM_THORSON, 1) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/saydith_yarr/fprt_adv01_sunken/saydith_yarr003.mp3", "", "", 3245604695, 2963905971, Spawn) + AddConversationOption(conversation, "Where am I?", "dlg_1_2") + AddConversationOption(conversation, "What tragedies?", "dlg_1_1") + AddConversationOption(conversation, "I know all I need to about this place.") + StartConversation(conversation, NPC, Spawn, "Things change here when it gets cold and dark. Zombies crawl from the shadows to drag the living back with them to their watery grave. Search for the cross if you are looking for death.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/saydith_yarr/fprt_adv01_sunken/saydith_yarr002.mp3", "", "", 2458221458, 1657163845, Spawn) + AddConversationOption(conversation, "Where am I?", "dlg_1_2") + AddConversationOption(conversation, "What do you mean by 'dark and light'?", "dlg_1_3") + AddConversationOption(conversation, "I know all I need to about this place.") + StartConversation(conversation, NPC, Spawn, "This place was once a district of Freeport, much like the others. Those that lived here were swallowed up by the seas and dragged to the bottom of the ocean, doomed to an eternal existence under the crushing depths.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/Teleth.lua b/Lua/SpawnScripts/SunkenCity/Teleth.lua new file mode 100755 index 000000000..f7615640c --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/Teleth.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/Teleth.lua + Script Purpose : Teleth + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_582205e1.mp3", "Do you have business with the Freeport Militia?", "glare", 3265760930, 1055342916, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_7fa14d4.mp3", "Do not challenge my authority citizen. In Freeport, the Overlord's word is law!", "scold", 1744928325, 2718395831, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_870ae3cb.mp3", "The Overlord commands me to patrol this area, and so I must.", "tapfoot", 1281050619, 1758539799, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/guard/human_guard_service_evil_1_hail_gm_edb196f8.mp3", "All praises to the Overlord. The Militia protects loyal citizens of Freeport.", "salute_freeport", 1906726944, 247472694, Spawn) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/TilzakNLim.lua b/Lua/SpawnScripts/SunkenCity/TilzakNLim.lua new file mode 100755 index 000000000..b9d8d0295 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/TilzakNLim.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/TilzakNLim.lua + Script Purpose : Tilzak N`Lim + Script Author : Neatz09 + Script Date : 12/31/2018 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local QUEST_1 = 386 + +function spawn(NPC) + ProvidesQuest(NPC, QUEST_1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, QUEST_1) then + if HasQuest(Spawn, QUEST_1) then + if GetQuestStep(Spawn, QUEST_1) == 2 then + AddConversationOption(conversation, "I have the shark fins you wanted.", "dlg_4_1") + end + else + AddConversationOption(conversation, "I didn't know the Teir'Dal took mundane jobs like fishing.", "dlg_3_1") + end + PlayFlavor(NPC, "voiceover/english/optional5/standard_dark_elf_male/fprt_hood05/std_de_male_tilzak_nlim.mp3", "", "", 3205731528, 2249540299, Spawn) + AddConversationOption(conversation, "Then I'll leave you to your fish.") + StartConversation(conversation, NPC, Spawn, "These are my fish so you can't have them! Go... go find your own!") + else + Say(NPC, "These are my fish so you can't have them! Go... go find your own!", Spawn) + end +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Maybe I can offer you a hand. What do you need?", "OfferQuest1") + AddConversationOption(conversation, "Your wants mean nothing to me.") + StartConversation(conversation, NPC, Spawn, "Only when we have no choice. I used to be a chef to some of the most important people in Neriak back in the day. Now I am nothing more than a common fisherman. This is my lot in life, I guess. If I returned to Neriak with new recipes I might once again regain that prominent position. If only I had the ingredients to make a new recipe I've come up with.") +end + +function OfferQuest1(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function dlg_4_1(NPC, Spawn) + SetStepComplete(Spawn, QUEST_1, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/optional5/standard_dark_elf_male/fprt_hood05/quests/tilzaknlim/tilzak_x1_finish.mp3", "", "", 1351808605, 3311226361, Spawn) + AddConversationOption(conversation, "No thanks. I'll leave that to you. Bye.") + StartConversation(conversation, NPC, Spawn, "Oh, thank you so much, my good friend. These will be wonderful once they're prepared correctly. I need to be careful though, because these shark fins can be highly poisonous if they aren't prepared correctly. Don't worry, though -- I've prepared dishes very similar to this before. If you'd like you can be the first person to try it when I'm done!") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aBlackshieldmarauder.lua b/Lua/SpawnScripts/SunkenCity/aBlackshieldmarauder.lua new file mode 100755 index 000000000..f4b23fb77 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aBlackshieldmarauder.lua @@ -0,0 +1,200 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aBlackshieldmarauder.lua + Script Purpose : a Blackshield marauder + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local DARK_ELF = 1 +local OGRE = 12 +local TROLL = 14 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 2989643101, 2260454555) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_beacbb30.mp3", "I hope you put your affairs in order.", "", 799093996, 16617637) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_fe18133.mp3", "Look what strolled into the spider's web!", "", 4178015902, 2202039151) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 3427660043, 2534456197) + end + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gf_10fd87eb.mp3", "There is no escape for you now!", "", 3641868496, 1960514853) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_8e7390a8.mp3", "Welcome to torment and destruction!", "", 3770648926, 2897017212) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_ded507db.mp3", "More intruders to deal with? Stop them!", "", 338410258, 2808797910) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_fb890c79.mp3", "I have no time for meddlers. Destroy them!", "", 1947039155, 2094447273) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_aggro_gf_d4cfd470.mp3", "Feel the might of Rallos!", "", 760635308, 455953200) + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_aggro_gf_d1a345c7.mp3", "I'm gonna give you a smile like ol' one tooth!", "", 1201784314, 2598207561) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_aggro_gf_62fd0e82.mp3", "What smells so good?", "", 3335229907, 713747453) + end + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_577ab333.mp3", "You'll pay for that one, peon!", "", 1420508530, 39058961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 3305445355, 1846155898) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 2287743179, 1322949627) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_581c2926.mp3", "You'll pay for that!", "", 2366218696, 2114997045) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_aff2b15d.mp3", "Now I'm really angry!", "", 1599348947, 4096819162) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2269900119, 3290320421) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_5a6c112c.mp3", "Agggggh! There is no pain only death and failure!", "", 2051650869, 1276361533) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 675684950, 4088135432) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_f462f6ff.mp3", "Is this supposed to hurt?", "", 4202180867, 1393988988) + end + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_577ab333.mp3", "You'll pay for that one, peon!", "", 2534123849, 501758946) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_2_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2263865273, 2956956838) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_8d198fee.mp3", "You may escape, but we will find you!", "", 1924616636, 4174763308) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_d3fcd4c5.mp3", "How dare you strike me!", "", 1224879133, 2564393271) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_581c2926.mp3", "You'll pay for that!", "", 480032723, 3225416629) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_aff2b15d.mp3", "Now I'm really angry!", "", 3362643729, 1907494922) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gf_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2285469219, 3359769172) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 70455099, 2953679351) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_f462f6ff.mp3", "Is this supposed to hurt?", "", 216769747, 692696120) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_5ba543d6.mp3", "That'll grow back.", "", 4062170117, 809175527) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_9e239695.mp3", "I can taste my own blood.", "", 630688016, 620713228) + end + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_dff26fa.mp3", "It is a shame we must end it this way ... I could have used you.", "", 1363661737, 942201815) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f4fc7cf8.mp3", "Did you really think you had a chance?", "", 607143583, 3133144305) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f5088778.mp3", "Get up! Death isn't good enough for you!", "", 3381713633, 2145918189) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_victory_gm_1de29528.mp3", "Death was your only escape from me, coward!", "", 3626940960, 2890932770) + elseif GetRace(NPC) == TROLL then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_victory_gm_ae6d66e3.mp3", "Teach you to mess with the best.", "", 927528340, 2751002174) + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_death_gm_8d7bb2b9.mp3", "Hold them and I'll return with help!", "", 2338278515, 1160150777) + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_death_gf_8bbec3e3.mp3", "No matter what I promise, you will not survive!", "", 2832420662, 2950405548) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_ogre_base_2/ft/ghost/ghost_ogre_base_2_1_death_gf_198e9f92.mp3", "Release comes to the favored.", "", 1658205865, 949237847) + elseif GetRace(NPC) == TROLL then + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aBlackshieldpillager.lua b/Lua/SpawnScripts/SunkenCity/aBlackshieldpillager.lua new file mode 100755 index 000000000..ad24457d8 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aBlackshieldpillager.lua @@ -0,0 +1,200 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aBlackshieldpillager.lua + Script Purpose : a Blackshield pillager + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local DARK_ELF = 1 +local OGRE = 12 +local TROLL = 14 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 2989643101, 2260454555) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_beacbb30.mp3", "I hope you put your affairs in order.", "", 799093996, 16617637) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_fe18133.mp3", "Look what strolled into the spider's web!", "", 4178015902, 2202039151) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 3427660043, 2534456197) + end + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gf_10fd87eb.mp3", "There is no escape for you now!", "", 3641868496, 1960514853) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_8e7390a8.mp3", "Welcome to torment and destruction!", "", 3770648926, 2897017212) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_ded507db.mp3", "More intruders to deal with? Stop them!", "", 338410258, 2808797910) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_fb890c79.mp3", "I have no time for meddlers. Destroy them!", "", 1947039155, 2094447273) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_aggro_gf_d4cfd470.mp3", "Feel the might of Rallos!", "", 760635308, 455953200) + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_aggro_gf_d1a345c7.mp3", "I'm gonna give you a smile like ol' one tooth!", "", 1201784314, 2598207561) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_aggro_gf_62fd0e82.mp3", "What smells so good?", "", 3335229907, 713747453) + end + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_577ab333.mp3", "You'll pay for that one, peon!", "", 1420508530, 39058961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 3305445355, 1846155898) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 2287743179, 1322949627) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_581c2926.mp3", "You'll pay for that!", "", 2366218696, 2114997045) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_aff2b15d.mp3", "Now I'm really angry!", "", 1599348947, 4096819162) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2269900119, 3290320421) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_5a6c112c.mp3", "Agggggh! There is no pain only death and failure!", "", 2051650869, 1276361533) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 675684950, 4088135432) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_f462f6ff.mp3", "Is this supposed to hurt?", "", 4202180867, 1393988988) + end + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_577ab333.mp3", "You'll pay for that one, peon!", "", 2534123849, 501758946) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_2_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2263865273, 2956956838) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_8d198fee.mp3", "You may escape, but we will find you!", "", 1924616636, 4174763308) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_d3fcd4c5.mp3", "How dare you strike me!", "", 1224879133, 2564393271) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_581c2926.mp3", "You'll pay for that!", "", 480032723, 3225416629) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_aff2b15d.mp3", "Now I'm really angry!", "", 3362643729, 1907494922) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gf_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2285469219, 3359769172) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 70455099, 2953679351) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_f462f6ff.mp3", "Is this supposed to hurt?", "", 216769747, 692696120) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_5ba543d6.mp3", "That'll grow back.", "", 4062170117, 809175527) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_9e239695.mp3", "I can taste my own blood.", "", 630688016, 620713228) + end + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_dff26fa.mp3", "It is a shame we must end it this way ... I could have used you.", "", 1363661737, 942201815) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f4fc7cf8.mp3", "Did you really think you had a chance?", "", 607143583, 3133144305) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f5088778.mp3", "Get up! Death isn't good enough for you!", "", 3381713633, 2145918189) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_victory_gm_1de29528.mp3", "Death was your only escape from me, coward!", "", 3626940960, 2890932770) + elseif GetRace(NPC) == TROLL then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_victory_gm_ae6d66e3.mp3", "Teach you to mess with the best.", "", 927528340, 2751002174) + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_death_gm_8d7bb2b9.mp3", "Hold them and I'll return with help!", "", 2338278515, 1160150777) + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_death_gf_8bbec3e3.mp3", "No matter what I promise, you will not survive!", "", 2832420662, 2950405548) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_ogre_base_2/ft/ghost/ghost_ogre_base_2_1_death_gf_198e9f92.mp3", "Release comes to the favored.", "", 1658205865, 949237847) + elseif GetRace(NPC) == TROLL then + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aBlackshieldpirate.lua b/Lua/SpawnScripts/SunkenCity/aBlackshieldpirate.lua new file mode 100755 index 000000000..d2bbec09b --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aBlackshieldpirate.lua @@ -0,0 +1,200 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aBlackshieldpirate.lua + Script Purpose : a Blackshield pirate + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local DARK_ELF = 1 +local OGRE = 12 +local TROLL = 14 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 2989643101, 2260454555) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_beacbb30.mp3", "I hope you put your affairs in order.", "", 799093996, 16617637) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_fe18133.mp3", "Look what strolled into the spider's web!", "", 4178015902, 2202039151) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 3427660043, 2534456197) + end + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gf_10fd87eb.mp3", "There is no escape for you now!", "", 3641868496, 1960514853) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_8e7390a8.mp3", "Welcome to torment and destruction!", "", 3770648926, 2897017212) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_ded507db.mp3", "More intruders to deal with? Stop them!", "", 338410258, 2808797910) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_fb890c79.mp3", "I have no time for meddlers. Destroy them!", "", 1947039155, 2094447273) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_aggro_gf_d4cfd470.mp3", "Feel the might of Rallos!", "", 760635308, 455953200) + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_aggro_gf_d1a345c7.mp3", "I'm gonna give you a smile like ol' one tooth!", "", 1201784314, 2598207561) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_aggro_gf_62fd0e82.mp3", "What smells so good?", "", 3335229907, 713747453) + end + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_577ab333.mp3", "You'll pay for that one, peon!", "", 1420508530, 39058961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 3305445355, 1846155898) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 2287743179, 1322949627) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_581c2926.mp3", "You'll pay for that!", "", 2366218696, 2114997045) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_aff2b15d.mp3", "Now I'm really angry!", "", 1599348947, 4096819162) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2269900119, 3290320421) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_5a6c112c.mp3", "Agggggh! There is no pain only death and failure!", "", 2051650869, 1276361533) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 675684950, 4088135432) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_f462f6ff.mp3", "Is this supposed to hurt?", "", 4202180867, 1393988988) + end + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_577ab333.mp3", "You'll pay for that one, peon!", "", 2534123849, 501758946) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_2_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2263865273, 2956956838) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_8d198fee.mp3", "You may escape, but we will find you!", "", 1924616636, 4174763308) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_d3fcd4c5.mp3", "How dare you strike me!", "", 1224879133, 2564393271) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_581c2926.mp3", "You'll pay for that!", "", 480032723, 3225416629) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_aff2b15d.mp3", "Now I'm really angry!", "", 3362643729, 1907494922) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gf_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2285469219, 3359769172) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 70455099, 2953679351) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_f462f6ff.mp3", "Is this supposed to hurt?", "", 216769747, 692696120) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_5ba543d6.mp3", "That'll grow back.", "", 4062170117, 809175527) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_9e239695.mp3", "I can taste my own blood.", "", 630688016, 620713228) + end + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_dff26fa.mp3", "It is a shame we must end it this way ... I could have used you.", "", 1363661737, 942201815) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f4fc7cf8.mp3", "Did you really think you had a chance?", "", 607143583, 3133144305) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f5088778.mp3", "Get up! Death isn't good enough for you!", "", 3381713633, 2145918189) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_victory_gm_1de29528.mp3", "Death was your only escape from me, coward!", "", 3626940960, 2890932770) + elseif GetRace(NPC) == TROLL then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_victory_gm_ae6d66e3.mp3", "Teach you to mess with the best.", "", 927528340, 2751002174) + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_death_gm_8d7bb2b9.mp3", "Hold them and I'll return with help!", "", 2338278515, 1160150777) + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_death_gf_8bbec3e3.mp3", "No matter what I promise, you will not survive!", "", 2832420662, 2950405548) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_ogre_base_2/ft/ghost/ghost_ogre_base_2_1_death_gf_198e9f92.mp3", "Release comes to the favored.", "", 1658205865, 949237847) + elseif GetRace(NPC) == TROLL then + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aBlackshieldplunderer.lua b/Lua/SpawnScripts/SunkenCity/aBlackshieldplunderer.lua new file mode 100755 index 000000000..59040ebaa --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aBlackshieldplunderer.lua @@ -0,0 +1,200 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aBlackshieldpunderer.lua + Script Purpose : a Blackshield plunderer + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local DARK_ELF = 1 +local OGRE = 12 +local TROLL = 14 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 2989643101, 2260454555) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_beacbb30.mp3", "I hope you put your affairs in order.", "", 799093996, 16617637) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_fe18133.mp3", "Look what strolled into the spider's web!", "", 4178015902, 2202039151) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 3427660043, 2534456197) + end + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gf_10fd87eb.mp3", "There is no escape for you now!", "", 3641868496, 1960514853) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_8e7390a8.mp3", "Welcome to torment and destruction!", "", 3770648926, 2897017212) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_ded507db.mp3", "More intruders to deal with? Stop them!", "", 338410258, 2808797910) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_fb890c79.mp3", "I have no time for meddlers. Destroy them!", "", 1947039155, 2094447273) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_aggro_gf_d4cfd470.mp3", "Feel the might of Rallos!", "", 760635308, 455953200) + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_aggro_gf_d1a345c7.mp3", "I'm gonna give you a smile like ol' one tooth!", "", 1201784314, 2598207561) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_aggro_gf_62fd0e82.mp3", "What smells so good?", "", 3335229907, 713747453) + end + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_577ab333.mp3", "You'll pay for that one, peon!", "", 1420508530, 39058961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 3305445355, 1846155898) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 2287743179, 1322949627) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_581c2926.mp3", "You'll pay for that!", "", 2366218696, 2114997045) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_aff2b15d.mp3", "Now I'm really angry!", "", 1599348947, 4096819162) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2269900119, 3290320421) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_5a6c112c.mp3", "Agggggh! There is no pain only death and failure!", "", 2051650869, 1276361533) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 675684950, 4088135432) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_f462f6ff.mp3", "Is this supposed to hurt?", "", 4202180867, 1393988988) + end + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_577ab333.mp3", "You'll pay for that one, peon!", "", 2534123849, 501758946) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_2_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2263865273, 2956956838) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_8d198fee.mp3", "You may escape, but we will find you!", "", 1924616636, 4174763308) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_d3fcd4c5.mp3", "How dare you strike me!", "", 1224879133, 2564393271) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_581c2926.mp3", "You'll pay for that!", "", 480032723, 3225416629) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_aff2b15d.mp3", "Now I'm really angry!", "", 3362643729, 1907494922) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gf_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2285469219, 3359769172) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 70455099, 2953679351) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_f462f6ff.mp3", "Is this supposed to hurt?", "", 216769747, 692696120) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_5ba543d6.mp3", "That'll grow back.", "", 4062170117, 809175527) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_9e239695.mp3", "I can taste my own blood.", "", 630688016, 620713228) + end + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_dff26fa.mp3", "It is a shame we must end it this way ... I could have used you.", "", 1363661737, 942201815) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f4fc7cf8.mp3", "Did you really think you had a chance?", "", 607143583, 3133144305) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f5088778.mp3", "Get up! Death isn't good enough for you!", "", 3381713633, 2145918189) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_victory_gm_1de29528.mp3", "Death was your only escape from me, coward!", "", 3626940960, 2890932770) + elseif GetRace(NPC) == TROLL then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_victory_gm_ae6d66e3.mp3", "Teach you to mess with the best.", "", 927528340, 2751002174) + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_death_gm_8d7bb2b9.mp3", "Hold them and I'll return with help!", "", 2338278515, 1160150777) + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_death_gf_8bbec3e3.mp3", "No matter what I promise, you will not survive!", "", 2832420662, 2950405548) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_ogre_base_2/ft/ghost/ghost_ogre_base_2_1_death_gf_198e9f92.mp3", "Release comes to the favored.", "", 1658205865, 949237847) + elseif GetRace(NPC) == TROLL then + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aBlackshieldraider.lua b/Lua/SpawnScripts/SunkenCity/aBlackshieldraider.lua new file mode 100755 index 000000000..380563c6a --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aBlackshieldraider.lua @@ -0,0 +1,200 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aBlackshieldraider.lua + Script Purpose : a Blackshield raider + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local DARK_ELF = 1 +local OGRE = 12 +local TROLL = 14 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 2989643101, 2260454555) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_beacbb30.mp3", "I hope you put your affairs in order.", "", 799093996, 16617637) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_fe18133.mp3", "Look what strolled into the spider's web!", "", 4178015902, 2202039151) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 3427660043, 2534456197) + end + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gf_10fd87eb.mp3", "There is no escape for you now!", "", 3641868496, 1960514853) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_8e7390a8.mp3", "Welcome to torment and destruction!", "", 3770648926, 2897017212) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_ded507db.mp3", "More intruders to deal with? Stop them!", "", 338410258, 2808797910) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_fb890c79.mp3", "I have no time for meddlers. Destroy them!", "", 1947039155, 2094447273) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_aggro_gf_d4cfd470.mp3", "Feel the might of Rallos!", "", 760635308, 455953200) + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_aggro_gf_d1a345c7.mp3", "I'm gonna give you a smile like ol' one tooth!", "", 1201784314, 2598207561) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_aggro_gf_62fd0e82.mp3", "What smells so good?", "", 3335229907, 713747453) + end + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_577ab333.mp3", "You'll pay for that one, peon!", "", 1420508530, 39058961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 3305445355, 1846155898) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 2287743179, 1322949627) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_581c2926.mp3", "You'll pay for that!", "", 2366218696, 2114997045) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_aff2b15d.mp3", "Now I'm really angry!", "", 1599348947, 4096819162) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2269900119, 3290320421) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_5a6c112c.mp3", "Agggggh! There is no pain only death and failure!", "", 2051650869, 1276361533) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 675684950, 4088135432) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_f462f6ff.mp3", "Is this supposed to hurt?", "", 4202180867, 1393988988) + end + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_577ab333.mp3", "You'll pay for that one, peon!", "", 2534123849, 501758946) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_2_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2263865273, 2956956838) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_8d198fee.mp3", "You may escape, but we will find you!", "", 1924616636, 4174763308) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_d3fcd4c5.mp3", "How dare you strike me!", "", 1224879133, 2564393271) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_581c2926.mp3", "You'll pay for that!", "", 480032723, 3225416629) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_aff2b15d.mp3", "Now I'm really angry!", "", 3362643729, 1907494922) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gf_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2285469219, 3359769172) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 70455099, 2953679351) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_f462f6ff.mp3", "Is this supposed to hurt?", "", 216769747, 692696120) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_5ba543d6.mp3", "That'll grow back.", "", 4062170117, 809175527) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_9e239695.mp3", "I can taste my own blood.", "", 630688016, 620713228) + end + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_dff26fa.mp3", "It is a shame we must end it this way ... I could have used you.", "", 1363661737, 942201815) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f4fc7cf8.mp3", "Did you really think you had a chance?", "", 607143583, 3133144305) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f5088778.mp3", "Get up! Death isn't good enough for you!", "", 3381713633, 2145918189) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_victory_gm_1de29528.mp3", "Death was your only escape from me, coward!", "", 3626940960, 2890932770) + elseif GetRace(NPC) == TROLL then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_victory_gm_ae6d66e3.mp3", "Teach you to mess with the best.", "", 927528340, 2751002174) + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_death_gm_8d7bb2b9.mp3", "Hold them and I'll return with help!", "", 2338278515, 1160150777) + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_death_gf_8bbec3e3.mp3", "No matter what I promise, you will not survive!", "", 2832420662, 2950405548) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_ogre_base_2/ft/ghost/ghost_ogre_base_2_1_death_gf_198e9f92.mp3", "Release comes to the favored.", "", 1658205865, 949237847) + elseif GetRace(NPC) == TROLL then + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aBlackshieldravager.lua b/Lua/SpawnScripts/SunkenCity/aBlackshieldravager.lua new file mode 100755 index 000000000..3d1c2a83a --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aBlackshieldravager.lua @@ -0,0 +1,200 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aBlackshieldravager.lua + Script Purpose : a Blackshield ravager + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local DARK_ELF = 1 +local OGRE = 12 +local TROLL = 14 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 2989643101, 2260454555) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_beacbb30.mp3", "I hope you put your affairs in order.", "", 799093996, 16617637) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_fe18133.mp3", "Look what strolled into the spider's web!", "", 4178015902, 2202039151) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 3427660043, 2534456197) + end + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gf_10fd87eb.mp3", "There is no escape for you now!", "", 3641868496, 1960514853) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_8e7390a8.mp3", "Welcome to torment and destruction!", "", 3770648926, 2897017212) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_ded507db.mp3", "More intruders to deal with? Stop them!", "", 338410258, 2808797910) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_fb890c79.mp3", "I have no time for meddlers. Destroy them!", "", 1947039155, 2094447273) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_aggro_gf_d4cfd470.mp3", "Feel the might of Rallos!", "", 760635308, 455953200) + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_aggro_gf_d1a345c7.mp3", "I'm gonna give you a smile like ol' one tooth!", "", 1201784314, 2598207561) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_aggro_gf_62fd0e82.mp3", "What smells so good?", "", 3335229907, 713747453) + end + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_577ab333.mp3", "You'll pay for that one, peon!", "", 1420508530, 39058961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 3305445355, 1846155898) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 2287743179, 1322949627) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_581c2926.mp3", "You'll pay for that!", "", 2366218696, 2114997045) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gm_aff2b15d.mp3", "Now I'm really angry!", "", 1599348947, 4096819162) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2269900119, 3290320421) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gm_5a6c112c.mp3", "Agggggh! There is no pain only death and failure!", "", 2051650869, 1276361533) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 675684950, 4088135432) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gm_f462f6ff.mp3", "Is this supposed to hurt?", "", 4202180867, 1393988988) + end + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_577ab333.mp3", "You'll pay for that one, peon!", "", 2534123849, 501758946) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_2_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2263865273, 2956956838) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_8d198fee.mp3", "You may escape, but we will find you!", "", 1924616636, 4174763308) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_d3fcd4c5.mp3", "How dare you strike me!", "", 1224879133, 2564393271) + end + elseif GetRace(NPC) == OGRE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_581c2926.mp3", "You'll pay for that!", "", 480032723, 3225416629) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_base_1/ft/ogre/ogre_base_1_1_halfhealth_gf_aff2b15d.mp3", "Now I'm really angry!", "", 3362643729, 1907494922) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_halfhealth_gf_1ad2d46f.mp3", "Your petty weapons are no match for me!", "", 2285469219, 3359769172) + end + elseif GetRace(NPC) == TROLL then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_aa145f4d.mp3", "Neat, that'll leave a pretty scar", "", 70455099, 2953679351) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_halfhealth_gf_f462f6ff.mp3", "Is this supposed to hurt?", "", 216769747, 692696120) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_5ba543d6.mp3", "That'll grow back.", "", 4062170117, 809175527) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_2/ft/troll/troll_base_2_1_halfhealth_gf_9e239695.mp3", "I can taste my own blood.", "", 630688016, 620713228) + end + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_dff26fa.mp3", "It is a shame we must end it this way ... I could have used you.", "", 1363661737, 942201815) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f4fc7cf8.mp3", "Did you really think you had a chance?", "", 607143583, 3133144305) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f5088778.mp3", "Get up! Death isn't good enough for you!", "", 3381713633, 2145918189) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ogre_base_2/ft/ogre/ogre_base_2_1_victory_gm_1de29528.mp3", "Death was your only escape from me, coward!", "", 3626940960, 2890932770) + elseif GetRace(NPC) == TROLL then + PlayFlavor(NPC, "voiceover/english/optional3/troll_base_1/ft/troll/troll_base_1_1_victory_gm_ae6d66e3.mp3", "Teach you to mess with the best.", "", 927528340, 2751002174) + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + if GetRace(NPC) == DARK_ELF then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_death_gm_8d7bb2b9.mp3", "Hold them and I'll return with help!", "", 2338278515, 1160150777) + elseif GetRace(NPC) == OGRE then + elseif GetRace(NPC) == TROLL then + end + elseif GetGender(NPC) == FEMALE then + if GetRace(NPC) == DARK_ELF then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_darkelf_base_1/ft/ghost/ghost_darkelf_base_1_1_death_gf_b5958785.mp3", "Hold them and I'll return with others like us!", "", 3769472925, 2964757475) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_death_gf_8bbec3e3.mp3", "No matter what I promise, you will not survive!", "", 2832420662, 2950405548) + end + elseif GetRace(NPC) == OGRE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_ogre_base_2/ft/ghost/ghost_ogre_base_2_1_death_gf_198e9f92.mp3", "Release comes to the favored.", "", 1658205865, 949237847) + elseif GetRace(NPC) == TROLL then + end + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/abrinesifter.lua b/Lua/SpawnScripts/SunkenCity/abrinesifter.lua new file mode 100755 index 000000000..375df60e9 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/abrinesifter.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/abrinesifter.lua + Script Purpose : a brine sifter + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local QUEST_3_FROM_THORSON = 268 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(Target, Caster) + -- TODO: Verify 'Catalog Creature' was casted. + if HasQuest(Caster, QUEST_3_FROM_THORSON) and not QuestStepIsComplete(Caster, QUEST_3_FROM_THORSON, 1) then + SetStepComplete(Caster, QUEST_3_FROM_THORSON, 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/abulkybrinesifter.lua b/Lua/SpawnScripts/SunkenCity/abulkybrinesifter.lua new file mode 100755 index 000000000..eb551e13f --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/abulkybrinesifter.lua @@ -0,0 +1,97 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/abulkybrinesifter.lua + Script Purpose : Waypoint Path for a bulky brine sifter.lua + Script Author : Cynnar + Script Date : 02/09/2019 01:14:53 AM + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, 0.49, -0.14, -68.87, 2, 0) + MovementLoopAddLocation(NPC, -0.06, -0.25, -56.61, 2, 0) + MovementLoopAddLocation(NPC, 4.57, -0.18, -47, 2, 0) + MovementLoopAddLocation(NPC, 4.30, -0.49, -29.84, 2, 0) + MovementLoopAddLocation(NPC, 4.10, -0.51, -19.36, 2, 0) + MovementLoopAddLocation(NPC, 5.92, -0.52, -15.09, 2, 0) + MovementLoopAddLocation(NPC, 10.51, -0.47, -12.75, 2, 0) + MovementLoopAddLocation(NPC, 11.95, -0.3, -9.38, 2, 0) + MovementLoopAddLocation(NPC, 10.46, -0.12, -5.44, 2, 0) + MovementLoopAddLocation(NPC, 7.87, -0.09, -1.98, 2, 0) + MovementLoopAddLocation(NPC, 5.26, -0.09, 1.58, 2, 0) + MovementLoopAddLocation(NPC, 1.13, -0.09, 6.14, 2, 0) + MovementLoopAddLocation(NPC, -4.33, -0.2, 10.47, 2, 0) + MovementLoopAddLocation(NPC, -12.32, -0.48, 5.19, 2, 0) + MovementLoopAddLocation(NPC, -25.47, -0.58, 4.62, 2, 0) + MovementLoopAddLocation(NPC, -29.07, -0.58, -0.44, 2, 0) + MovementLoopAddLocation(NPC, -30.69, -0.45, -9.55, 2, 0) + MovementLoopAddLocation(NPC, -27.89, -0.62, -16.4, 2, 0) + MovementLoopAddLocation(NPC, -32.25, -0.64, -21.89, 2, 0) + MovementLoopAddLocation(NPC, -31.3, -0.58, -29.71, 2, 0) + MovementLoopAddLocation(NPC, -33.62, -0.52, -36.66, 2, 0) + MovementLoopAddLocation(NPC, -36.12, -0.41, -42.17, 2, 0) + MovementLoopAddLocation(NPC, -36.27, -0.55, -49.78, 2, 0) + MovementLoopAddLocation(NPC, -36.31, -0.55, -51.41, 2, 0) + MovementLoopAddLocation(NPC, -37.47, -0.55, -54.43, 2, 0, "changegrid_A") + MovementLoopAddLocation(NPC, -38.09, -0.6, -58.69, 2, 0) + MovementLoopAddLocation(NPC, -43.54, -0.59, -64.95, 2, 0) + MovementLoopAddLocation(NPC, -53.54, -0.51, -72.95, 2, 0) + MovementLoopAddLocation(NPC, -57, -0.52, -72.2, 2, 0) + MovementLoopAddLocation(NPC, -60.32, -0.62, -62.67, 2, 0) + MovementLoopAddLocation(NPC, -71.1, -0.58, -65.38, 2, 0) + MovementLoopAddLocation(NPC, -77.64, -0.57, -48.99, 2, 0) + MovementLoopAddLocation(NPC, -81.12, -0.62, -35.39, 2, 0) + MovementLoopAddLocation(NPC, -76.31, -0.57, -23.72, 2, 0) + MovementLoopAddLocation(NPC, -76.22, -0.57, -17.26, 2, 0) + MovementLoopAddLocation(NPC, -75.99, -0.41, -13.83, 2, 0) + MovementLoopAddLocation(NPC, -76.82, -0.59, -8.79, 2, 0) + MovementLoopAddLocation(NPC, -77.04, -0.33, -6.27, 2, 0) + MovementLoopAddLocation(NPC, -82.07, -0.15, -2.14, 2, 0) + MovementLoopAddLocation(NPC, -83.75, -0.22, 4.71, 2, 0) + MovementLoopAddLocation(NPC, -81.92, -0.26, 13.09, 2, 0) + MovementLoopAddLocation(NPC, -78.61, -0.14, 16.53, 2, 0) + MovementLoopAddLocation(NPC, -70.17, -0.59, 19.36, 2, 0) + MovementLoopAddLocation(NPC, -61.11, -0.57, 19.82, 2, 0) + MovementLoopAddLocation(NPC, -49.5, -0.54, 27.52, 2, 0) + MovementLoopAddLocation(NPC, -43.64, -0.57, 29.15, 2, 0) + MovementLoopAddLocation(NPC, -34.96, -0.54, 35.1, 2, 0) + MovementLoopAddLocation(NPC, -29.64, -0.55, 30.88, 2, 0) + MovementLoopAddLocation(NPC, -29.63, -0.53, 23.55, 2, 0) + MovementLoopAddLocation(NPC, -33, -0.55, 22.3, 2, 0) + MovementLoopAddLocation(NPC, -36.09, -0.57, 17.5, 2, 0) + MovementLoopAddLocation(NPC, -35.76, -0.34, 13.22, 2, 0, "changegrid_B") + MovementLoopAddLocation(NPC, -33.37, -0.58, 4.06, 2, 0) + MovementLoopAddLocation(NPC, -10.85, -0.43, 4.83, 2, 0) + MovementLoopAddLocation(NPC, -3.45, -0.18, -5.73, 2, 0) + MovementLoopAddLocation(NPC, 2.18, -0.47, -13.18, 2, 0) + MovementLoopAddLocation(NPC, -0.51, -0.47, -28.74, 2, 0) + MovementLoopAddLocation(NPC, -11, -0.49, -34.81, 2, 0) + MovementLoopAddLocation(NPC, -12.51, -0.5, -42.08, 2, 0) + MovementLoopAddLocation(NPC, -10.16, -0.51, -50.14, 2, 0) + MovementLoopAddLocation(NPC, -8.25, -0.49, -54.75, 2, 0) + MovementLoopAddLocation(NPC, -13.09, -0.6, -60.18, 2, 0) + MovementLoopAddLocation(NPC, -12.29, -0.7, -66.36, 2, 0) + MovementLoopAddLocation(NPC, -11.37, -0.77, -70.38, 2, 0) + MovementLoopAddLocation(NPC, -5.07, -0.55, -71.9, 2, 0) + MovementLoopAddLocation(NPC, 0.38, -0.16, -73.7, 2, 0) + MovementLoopAddLocation(NPC, 5.03, 0.13, -73.73, 2, 0) + MovementLoopAddLocation(NPC, 4.44, 0.11, -73.18, 2, 0) +end + +function changegrid_A(NPC) + SetGridID(NPC, 3131284342) +end + +function changegrid_B(NPC) + SetGridID(NPC, 496550087) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/acursedcorpsman.lua b/Lua/SpawnScripts/SunkenCity/acursedcorpsman.lua new file mode 100755 index 000000000..f97e9ff0d --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/acursedcorpsman.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : SpawnScripts/Graveyard/acursedcorpseman.lua + Script Purpose : a cursed corpseman + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local spoke = false + +function spawn(NPC) + spoke = false +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 6) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_18d1544d.mp3", "As I rise from the grave, you will now take my place!", "", 485726074, 3646499350, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_c6c2672d.mp3", "Brains! It's what's for dinner.", "", 2091371377, 2422178491, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_daf16808.mp3", "To the grave with you!", "", 958122326, 1810359159, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_2168c5.mp3", "Seek death and it finds you.", "", 2988489621, 1045543573, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_8bc7a2cc.mp3", "Your blood calls to me.", "", 1242322025, 1154999668, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_c77d7bff.mp3", "Your eyes are so pretty.", "", 1412152942, 873988632, Spawn) + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + RandomCallOut(NPC, Spawn) + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function RandomCallOut(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_29344c6f.mp3", "I didn't need those bones anyway.", "", 1704957193, 2042978689) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_a4c947e4.mp3", "I'm shattered and broken.", "", 4021018144, 1305053073) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_d9ece37f.mp3", "You've shaken the dust from my bones.", "", 2011286772, 326848383) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_f1d542e0.mp3", "Dying didn't feel good the first time.", "", 766636803, 1915881366) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_18d1544d.mp3", "As I rise from the grave, you will now take my place!", "", 485726074, 3646499350) + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_victory_39c9d69e.mp3", "We're all just bones in the end.", "", 3276297174, 633510318, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_victory_cbcd383a.mp3", "Their bones will join mine!", "", 680786598, 666536798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_ccde17c2.mp3", "Another falls to join our ranks.", "", 3285235030, 4198320186, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_d2a649e7.mp3", "The life ebbs from them so quickly.", "", 2674394976, 3151731037, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_fda8e7a9.mp3", "So stops the awful beating of their heart.", "", 1120117600, 3872148135, Spawn) + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_death_bb6b2b8e.mp3", "You cannot eliminate us!", "", 897103301, 541292352, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_death_edc04fb8.mp3", "That pile of bones was my friend!", "", 2317728806, 1758283676, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_fbcb503b.mp3", "Rest in peace.", "", 3591309093, 1423656405, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_ff39f327.mp3", "Final death comes at last.", "", 3768284332, 62777040, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/acursedcutthroat.lua b/Lua/SpawnScripts/SunkenCity/acursedcutthroat.lua new file mode 100755 index 000000000..d75939688 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/acursedcutthroat.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : SpawnScripts/Graveyard/acursedcutthroat.lua + Script Purpose : a cursed cutthroat + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local spoke = false + +function spawn(NPC) + spoke = false +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 6) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_18d1544d.mp3", "As I rise from the grave, you will now take my place!", "", 485726074, 3646499350, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_c6c2672d.mp3", "Brains! It's what's for dinner.", "", 2091371377, 2422178491, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_daf16808.mp3", "To the grave with you!", "", 958122326, 1810359159, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_2168c5.mp3", "Seek death and it finds you.", "", 2988489621, 1045543573, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_8bc7a2cc.mp3", "Your blood calls to me.", "", 1242322025, 1154999668, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_c77d7bff.mp3", "Your eyes are so pretty.", "", 1412152942, 873988632, Spawn) + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + RandomCallOut(NPC, Spawn) + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function RandomCallOut(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_29344c6f.mp3", "I didn't need those bones anyway.", "", 1704957193, 2042978689) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_a4c947e4.mp3", "I'm shattered and broken.", "", 4021018144, 1305053073) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_d9ece37f.mp3", "You've shaken the dust from my bones.", "", 2011286772, 326848383) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_f1d542e0.mp3", "Dying didn't feel good the first time.", "", 766636803, 1915881366) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_18d1544d.mp3", "As I rise from the grave, you will now take my place!", "", 485726074, 3646499350) + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_victory_39c9d69e.mp3", "We're all just bones in the end.", "", 3276297174, 633510318, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_victory_cbcd383a.mp3", "Their bones will join mine!", "", 680786598, 666536798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_ccde17c2.mp3", "Another falls to join our ranks.", "", 3285235030, 4198320186, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_d2a649e7.mp3", "The life ebbs from them so quickly.", "", 2674394976, 3151731037, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_fda8e7a9.mp3", "So stops the awful beating of their heart.", "", 1120117600, 3872148135, Spawn) + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_death_bb6b2b8e.mp3", "You cannot eliminate us!", "", 897103301, 541292352, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_death_edc04fb8.mp3", "That pile of bones was my friend!", "", 2317728806, 1758283676, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_fbcb503b.mp3", "Rest in peace.", "", 3591309093, 1423656405, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_ff39f327.mp3", "Final death comes at last.", "", 3768284332, 62777040, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/acursedscout.lua b/Lua/SpawnScripts/SunkenCity/acursedscout.lua new file mode 100755 index 000000000..256a45efd --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/acursedscout.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : SpawnScripts/Graveyard/acursedscout.lua + Script Purpose : a cursed scout + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local spoke = false + +function spawn(NPC) + spoke = false +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 6) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_18d1544d.mp3", "As I rise from the grave, you will now take my place!", "", 485726074, 3646499350, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_c6c2672d.mp3", "Brains! It's what's for dinner.", "", 2091371377, 2422178491, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_daf16808.mp3", "To the grave with you!", "", 958122326, 1810359159, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_2168c5.mp3", "Seek death and it finds you.", "", 2988489621, 1045543573, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_8bc7a2cc.mp3", "Your blood calls to me.", "", 1242322025, 1154999668, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_aggro_c77d7bff.mp3", "Your eyes are so pretty.", "", 1412152942, 873988632, Spawn) + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + RandomCallOut(NPC, Spawn) + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function RandomCallOut(NPC, Spawn) + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_29344c6f.mp3", "I didn't need those bones anyway.", "", 1704957193, 2042978689) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_a4c947e4.mp3", "I'm shattered and broken.", "", 4021018144, 1305053073) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_halfhealth_d9ece37f.mp3", "You've shaken the dust from my bones.", "", 2011286772, 326848383) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_halfhealth_f1d542e0.mp3", "Dying didn't feel good the first time.", "", 766636803, 1915881366) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_aggro_18d1544d.mp3", "As I rise from the grave, you will now take my place!", "", 485726074, 3646499350) + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_victory_39c9d69e.mp3", "We're all just bones in the end.", "", 3276297174, 633510318, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_victory_cbcd383a.mp3", "Their bones will join mine!", "", 680786598, 666536798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_ccde17c2.mp3", "Another falls to join our ranks.", "", 3285235030, 4198320186, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_d2a649e7.mp3", "The life ebbs from them so quickly.", "", 2674394976, 3151731037, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_victory_fda8e7a9.mp3", "So stops the awful beating of their heart.", "", 1120117600, 3872148135, Spawn) + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_death_bb6b2b8e.mp3", "You cannot eliminate us!", "", 897103301, 541292352, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/skeleton_base_2/ft/skeleton/skeleton_base_2_1_death_edc04fb8.mp3", "That pile of bones was my friend!", "", 2317728806, 1758283676, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_fbcb503b.mp3", "Rest in peace.", "", 3591309093, 1423656405, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/skeleton_base_1/ft/skeleton/skeleton_base_1_1_death_ff39f327.mp3", "Final death comes at last.", "", 3768284332, 62777040, Spawn) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aduskshark.lua b/Lua/SpawnScripts/SunkenCity/aduskshark.lua new file mode 100755 index 000000000..81271fcb6 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aduskshark.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aduskshark.lua + Script Author : fearfx + Script Date : 2017.01.25 07:01:42 + Script Purpose : A hacky fix for "The Big One" quest (ID = 190) to spawn Smolderfin + : +--]] + +local TheBigOne = 190 + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + +function death(NPC, Spawn) + if GetName(NPC) == "Smolderfin" then + SetTempVariable(Spawn, "TheBigOne", nil) + if HasQuest(Spawn, TheBigOne) then + SetStepComplete(Spawn, TheBigOne, 1) + AddLootItem(NPC, 11524) + end + + end +end diff --git a/Lua/SpawnScripts/SunkenCity/aforgottenresident.lua b/Lua/SpawnScripts/SunkenCity/aforgottenresident.lua new file mode 100755 index 000000000..a49bcddf9 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aforgottenresident.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aforgottenresident.lua + Script Purpose : a forgotten resident + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_aggro_gm_119a2ca8.mp3", "No. I'm unrest and you will suffer.", "", 3626119416, 3545522817) + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_aggro_gf_821554e3.mp3", "Must you aggravate me so!", "", 735262000, 1417243472) + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_halfhealth_gm_8bdfff2d.mp3", "I won't miss again!", "", 1970756563, 618808961) + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_halfhealth_gf_fa0af03c.mp3", "For Thule's sake!", "", 2960095639, 2634994717) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_2/ft/ghost/ghost_human_base_2_1_halfhealth_gf_4214f9be.mp3", "Well struck, but I withstood it!", "", 2750294931, 1365592478) + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gm_79236cb9.mp3", "It was too late. They have met our fate.", "", 869850080, 2857504352) + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gf_65116994.mp3", "One down! An eternity to go.", "", 3147020467, 1377166074) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gf_7e0e07b4.mp3", "They can't all be this easy.", "", 2091285193, 1124297002) + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/anexcavatorofPrexianartifacts.lua b/Lua/SpawnScripts/SunkenCity/anexcavatorofPrexianartifacts.lua new file mode 100755 index 000000000..6324b5658 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/anexcavatorofPrexianartifacts.lua @@ -0,0 +1,116 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/anexcavatorofPrexianartifacts.lua + Script Purpose : an excavator of Prexian artifacts + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 2989643101, 2260454555) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_beacbb30.mp3", "I hope you put your affairs in order.", "", 799093996, 16617637) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gm_fe18133.mp3", "Look what strolled into the spider's web!", "", 4178015902, 2202039151) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_aggro_gm_10fd87eb.mp3", "There is no escape for you now!", "", 3427660043, 2534456197) + end + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_aggro_gf_10fd87eb.mp3", "There is no escape for you now!", "", 3641868496, 1960514853) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_8e7390a8.mp3", "Welcome to torment and destruction!", "", 3770648926, 2897017212) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_ded507db.mp3", "More intruders to deal with? Stop them!", "", 338410258, 2808797910) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_aggro_gf_fb890c79.mp3", "I have no time for meddlers. Destroy them!", "", 1947039155, 2094447273) + end + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_577ab333.mp3", "You'll pay for that one, peon!", "", 1420508530, 39058961) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 3305445355, 1846155898) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_3_halfhealth_gm_9e244d19.mp3", "How dare you!", "", 2287743179, 1322949627) + end + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_577ab333.mp3", "You'll pay for that one, peon!", "", 2534123849, 501758946) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_1_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2905660023, 2043697886) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_1/ft/darkelf/darkelf_base_1_2_halfhealth_gf_9e244d19.mp3", "How dare you!", "", 2263865273, 2956956838) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_8d198fee.mp3", "You may escape, but we will find you!", "", 1924616636, 4174763308) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_halfhealth_gf_d3fcd4c5.mp3", "How dare you strike me!", "", 1224879133, 2564393271) + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_dff26fa.mp3", "It is a shame we must end it this way ... I could have used you.", "", 1363661737, 942201815) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f4fc7cf8.mp3", "Did you really think you had a chance?", "", 607143583, 3133144305) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_victory_gm_f5088778.mp3", "Get up! Death isn't good enough for you!", "", 3381713633, 2145918189) + end + elseif GetGender(NPC) == FEMALE then + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/darkelf_base_1/ft/darkelf/darkelf_base_1_1_death_gm_8d7bb2b9.mp3", "Hold them and I'll return with help!", "", 2338278515, 1160150777) + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/darkelf_base_2/ft/darkelf/darkelf_base_2_1_death_gf_8bbec3e3.mp3", "No matter what I promise, you will not survive!", "", 2832420662, 2950405548) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aninvestigatorofPrexianartifacts.lua b/Lua/SpawnScripts/SunkenCity/aninvestigatorofPrexianartifacts.lua new file mode 100755 index 000000000..def11eec1 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aninvestigatorofPrexianartifacts.lua @@ -0,0 +1,108 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aninvestigatorofPrexianartifacts.lua + Script Purpose : an investigator of Prexian artifacts + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_aggro_gm_119a2ca8.mp3", "No. I'm unrest and you will suffer.", "", 3626119416, 3545522817) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_aggro_gm_583690dc.mp3", "Summon help! We have invaders!", "", 3340212225, 279643307) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_aggro_gm_a203c9ec.mp3", "Prepare to face your doom, meddler.", "", 1496819882, 365167432) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_aggro_gm_a30c4f9d.mp3", "To arms!", "", 1238020980, 748146443) + end + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_aggro_gf_821554e3.mp3", "Must you aggravate me so!", "", 735262000, 1417243472) + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + local choice = math.random(1, 3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_halfhealth_gm_1babf022.mp3", "Is that all you have?", "", 170267964, 1158805306) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_halfhealth_gm_8529e507.mp3", "I can't hold them forever!", "", 644448824, 755050547) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional5/human_base_2/ft/human/human_base_2_2_halfhealth_gm_64f84f7d.mp3", "This time, don't tickle me with your weapon!", "", 425567694, 559993522) + end + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_halfhealth_gf_fa0af03c.mp3", "For Thule's sake!", "", 2960095639, 2634994717) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_2/ft/ghost/ghost_human_base_2_1_halfhealth_gf_4214f9be.mp3", "Well struck, but I withstood it!", "", 2750294931, 1365592478) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional3/human_base_1/ft/human/human_base_1_1_halfhealth_gf_1babf022.mp3", "Is that all you have?", "", 2979351329, 4050238683) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional3/human_base_1/ft/human/human_base_1_1_halfhealth_gf_8529e507.mp3", "I can't hold them forever!", "", 3371581229, 792393228) + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + local choice = math.random(1, 4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gm_79236cb9.mp3", "It was too late. They have met our fate.", "", 869850080, 2857504352) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_victory_gm_153f12ff.mp3", "One down!", "", 3009518664, 4140389760) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_victory_gm_4553e1e0.mp3", "Flee now or meet this one's fate.", "", 3032162747, 1359206304) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_victory_gm_ec0cd85a.mp3", "I hope they're all this easy.", "", 2687289628, 2303639320) + end + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_aggro_gf_821554e3.mp3", "Must you aggravate me so!", "", 735262000, 1417243472, Spawn) + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/human_base_1/ft/human/human_base_1_1_death_gm_7612214f.mp3", "All hands retreat!", "", 3033325782, 1103449586) + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/human_base_1/ft/human/human_base_1_1_death_gf_7612214f.mp3", "All hands retreat!", "", 3620177897, 757784861) + end + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/arustmonster.lua b/Lua/SpawnScripts/SunkenCity/arustmonster.lua new file mode 100755 index 000000000..83538e388 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/arustmonster.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/arustmonster.lua + Script Purpose : a rust monster + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local QUEST_3_FROM_THORSON = 268 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(Target, Caster) + -- TODO: Verify 'Catalog Creature' was casted. + if HasQuest(Caster, QUEST_3_FROM_THORSON) and not QuestStepIsComplete(Caster, QUEST_3_FROM_THORSON, 3) then + SetStepComplete(Caster, QUEST_3_FROM_THORSON, 3) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/asmallrustmonster.lua b/Lua/SpawnScripts/SunkenCity/asmallrustmonster.lua new file mode 100755 index 000000000..a6fd64723 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/asmallrustmonster.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/asmallrustmonster.lua + Script Purpose : a small rust monster + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local QUEST_3_FROM_THORSON = 268 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(Target, Caster) + -- TODO: Verify 'Catalog Creature' was casted. + if HasQuest(Caster, QUEST_3_FROM_THORSON) and not QuestStepIsComplete(Caster, QUEST_3_FROM_THORSON, 2) then + SetStepComplete(Caster, QUEST_3_FROM_THORSON, 2) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/asmallscorpion.lua b/Lua/SpawnScripts/SunkenCity/asmallscorpion.lua new file mode 100755 index 000000000..6ac8e46ac --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/asmallscorpion.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/asmallscorpion.lua + Script Purpose : a small scorpion + Script Author : Scatman + Script Date : 2009.07.28 + Script Notes : +--]] + +local QUEST_3_FROM_THORSON = 268 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(Target, Caster) + -- TODO: Verify 'Catalog Creature' was casted. + if HasQuest(Caster, QUEST_3_FROM_THORSON) and not QuestStepIsComplete(Caster, QUEST_3_FROM_THORSON, 4) then + SetStepComplete(Caster, QUEST_3_FROM_THORSON, 4) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aspectraldenizen.lua b/Lua/SpawnScripts/SunkenCity/aspectraldenizen.lua new file mode 100755 index 000000000..0e8498b0e --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aspectraldenizen.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aspectraldenizen.lua + Script Purpose : a spectral denizen + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/ghost_base_1/ft/ghost/ghost_base_1_1_halfhealth_gf_4c18f3ce.mp3", "Your struggle is for naught!", "", 1689672062, 2512623281) + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/aspectralresident.lua b/Lua/SpawnScripts/SunkenCity/aspectralresident.lua new file mode 100755 index 000000000..df59b001d --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/aspectralresident.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/aspectralresident.lua + Script Purpose : a spectral resident + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local MALE = 1 +local FEMALE = 2 +local spoke = false + +function spawn(NPC) + spoke = false +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_aggro_gm_119a2ca8.mp3", "No. I'm unrest and you will suffer.", "", 3626119416, 3545522817) + elseif GetGender(NPC) == FEMALE then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_aggro_gf_821554e3.mp3", "Must you aggravate me so!", "", 735262000, 1417243472) + end + end +end + +function healthchanged(NPC, Spawn) + local hp_percent = GetHP(NPC) / GetMaxHP(NPC) + if hp_percent <= 0.50 and spoke == false then + spoke = true + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_halfhealth_gm_8bdfff2d.mp3", "I won't miss again!", "", 1970756563, 618808961) + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_halfhealth_gf_fa0af03c.mp3", "For Thule's sake!", "", 2960095639, 2634994717) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_2/ft/ghost/ghost_human_base_2_1_halfhealth_gf_4214f9be.mp3", "Well struck, but I withstood it!", "", 2750294931, 1365592478) + end + end + AddTimer(NPC, 30000, "ResetSpoke") + end +end + +function ResetSpoke(NPC) + spoke = false +end + +function killed(NPC, Spawn) + local chance = math.random(1, 100) + if chance <= 25 then + if GetGender(NPC) == MALE then + PlayFlavor(NPC, "voiceover/english/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gm_79236cb9.mp3", "It was too late. They have met our fate.", "", 869850080, 2857504352) + elseif GetGender(NPC) == FEMALE then + local choice = math.random(1, 2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gf_65116994.mp3", "One down! An eternity to go.", "", 3147020467, 1377166074) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional3/ghost_human_base_1/ft/ghost/ghost_human_base_1_1_victory_gf_7e0e07b4.mp3", "They can't all be this easy.", "", 2091285193, 1124297002) + end + end + end +end + +function death(NPC, Spawn) + spoke = false + local chance = math.random(1, 100) + if chance <= 25 then + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/curfeld_quest_barrel.lua b/Lua/SpawnScripts/SunkenCity/curfeld_quest_barrel.lua new file mode 100755 index 000000000..9e8fa5a7b --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/curfeld_quest_barrel.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/curfeld_quest_barrel.lua + Script Purpose : + Script Author : + Script Date : + Script Notes : +--]] + +local QUEST_1_FROM_CURFIELD = 270 + +function spawn(NPC) + SetRequiredQuest(QUEST_1_FROM_CURFIELD, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn) + if HasQuest(Spawn, QUEST_1_FROM_CURFIELD) and GetQuestStep(Spawn, QUEST_1_FROM_CURFIELD) == 1 then + SendMessage(Spawn, "You search the barrel and find the stolen research documents."); + SetStepComplete(Spawn, QUEST_1_FROM_CURFIELD, 1) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/SunkenCity/widget_box.lua b/Lua/SpawnScripts/SunkenCity/widget_box.lua new file mode 100755 index 000000000..6d3025561 --- /dev/null +++ b/Lua/SpawnScripts/SunkenCity/widget_box.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/SunkenCity/widget_box.lua + Script Purpose : widget_box_* + Script Author : Scatman + Script Date : 2009.08.01 + Script Notes : +--]] + +local QUEST_FROM_LUKUR = 276 + +function spawn(NPC) + --SetRequiredQuest(QUEST_FROM_LUKUR, 1) + --SetRequiredQuest(QUEST_FROM_LUKUR, 2) + --SetRequiredQuest(QUEST_FROM_LUKUR, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn) + if HasQuest(Spawn, QUEST_FROM_LUKUR) and (not QuestStepIsComplete(Spawn, QUEST_FROM_LUKUR, 1) or not QuestStepIsComplete(Spawn, QUEST_FROM_LUKUR, 2) or not QuestStepIsComplete(Spawn, QUEST_FROM_LUKUR, 3)) then + local found = false + + -- Pick a random step is update and then update it if it's not already complete. Do this until we find a step that has not been + -- completed yet. + while found == false do + local choice = math.random(1, 3) + if not QuestStepIsComplete(Spawn, QUEST_FROM_LUKUR, choice) then + SetStepComplete(Spawn, QUEST_FROM_LUKUR, choice) + found = true + SpawnSet(NPC, "show_command_icon", 0) + AddTimer(NPC, 60000, "TurnOn") + end + end + end +end + +function TurnOn(NPC) + SpawnSet(NPC, "show_command_icon", 1) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/TenebrousTangle/FlightCloud.lua b/Lua/SpawnScripts/TenebrousTangle/FlightCloud.lua new file mode 100755 index 000000000..3a2ab4464 --- /dev/null +++ b/Lua/SpawnScripts/TenebrousTangle/FlightCloud.lua @@ -0,0 +1,157 @@ +--[[ + Script Name : SpawnScripts/PillarsFlame/FlightCloud.lua + Script Purpose : Tenebrous Tangle Flight Cloud (880048) + Script Author : Neatz09 + Script Date : 4/22/2019 + Script Notes : +--]] + +function hailed(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 622752 then + --Ravasect Incursion-- + AddConversationOption(con, "To Bixie Isle.", "RavToBixie") + AddConversationOption(con, "To Gazer Isle.", "RavToGazer") + AddConversationOption(con, "To Temple Grounds.", "RavToTemple") + elseif GetSpawnLocationID(NPC) == 662668 then + --Vultak Scavenging Site-- + AddConversationOption(con, "To Fear Tainted Isle.", "VulToFear") + AddConversationOption(con, "To Halls Landing.", "VulToHalls") + elseif GetSpawnLocationID(NPC) == 622666 then + --Halls Landing-- + AddConversationOption(con, "To Vultak Scavenging Site.", "HallsToVul") + elseif GetSpawnLocationID(NPC) == 622758 then + --Hidden Refuge-- + AddConversationOption(con, "To Tenebrous Landing.", "RefToTen") + AddConversationOption(con, "To Vicious Breeding Grounds.", "RefToVic") + elseif GetSpawnLocationID(NPC) == 622755 then + --Bixie Isle-- + AddConversationOption(con, "To Ravasect Incursion.", "BixieToRav") + AddConversationOption(con, "To Temple Grounds.", "BixieToTemp") + elseif GetSpawnLocationID(NPC) == 622756 then + --Temple Grounds-- + AddConversationOption(con, "To Bixie Isle.", "TempToBixie") + AddConversationOption(con, "To Ravasect Incursion.", "TempToRav") + elseif GetSpawnLocationID(NPC) == 622757 then + --Sanctum Landing-- + AddConversationOption(con, "To Gazer Isle.", "SancToGazer") + elseif GetSpawnLocationID(NPC) == 622750 then + --Gazer Isle-- + AddConversationOption(con, "To Fear Tainted Isle.", "GazerToFear") + AddConversationOption(con, "To Ravasect Incursion.", "GazerToRav") + AddConversationOption(con, "To Sanctum Landing.", "GazerToSanc") + elseif GetSpawnLocationID(NPC) == 622623 then + --Fear Tainted Isle-- + AddConversationOption(con, "To Gazer Isle.", "FearToGazer") + AddConversationOption(con, "To Vultak Scavenging Site.", "FearToVul") + elseif GetSpawnLocationID(NPC) == 622748 then + --Viscious Breeding Grounds-- + AddConversationOption(con, "To Hidden Refuge.", "VicToRef") + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function RavToBixie(NPC, Spawn) + StartAutoMount(Spawn, 749) + SetMount(Spawn, 1369) +end + +function RavToGazer(NPC, Spawn) + StartAutoMount(Spawn, 748) + SetMount(Spawn, 1369) +end + +function RavToTemple(NPC, Spawn) + StartAutoMount(Spawn, 747) + SetMount(Spawn, 1369) +end + +function VulToFear(NPC, Spawn) + StartAutoMount(Spawn, 751) + SetMount(Spawn, 1369) +end + +function VulToHalls(NPC, Spawn) + StartAutoMount(Spawn, 750) + SetMount(Spawn, 1369) +end + +function HallsToVul(NPC, Spawn) + StartAutoMount(Spawn, 755) + SetMount(Spawn, 1369) +end + +function RefToTen(NPC, Spawn) + StartAutoMount(Spawn, 765) + SetMount(Spawn, 1369) +end + +function RefToVic(NPC, Spawn) + StartAutoMount(Spawn, 761) + SetMount(Spawn, 1369) +end + +function BixieToRav(NPC, Spawn) + StartAutoMount(Spawn, 760) + SetMount(Spawn, 1369) +end + +function BixieToTemp(NPC, Spawn) + StartAutoMount(Spawn, 759) + SetMount(Spawn, 1369) +end + +function TempToBixie(NPC, Spawn) + StartAutoMount(Spawn, 753) + SetMount(Spawn, 1369) +end + +function TempToRav(NPC, Spawn) + StartAutoMount(Spawn, 754) + SetMount(Spawn, 1369) +end + +function SancToGazer(NPC, Spawn) + StartAutoMount(Spawn, 752) + SetMount(Spawn, 1369) +end + +function GazerToFear(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function GazerToRav(NPC, Spawn) + StartAutoMount(Spawn, 757) + SetMount(Spawn, 1369) +end + +function GazerToSanc(NPC, Spawn) + StartAutoMount(Spawn, 756) + SetMount(Spawn, 1369) +end + +function FearToGazer(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function FearToVul(NPC, Spawn) + StartAutoMount(Spawn, 758) + SetMount(Spawn, 1369) +end + +function VicToRef(NPC, Spawn) + StartAutoMount(Spawn, 762) + SetMount(Spawn, 1369) +end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/TenebrousTangle/adraconicidol.lua b/Lua/SpawnScripts/TenebrousTangle/adraconicidol.lua new file mode 100755 index 000000000..67b6cc7e1 --- /dev/null +++ b/Lua/SpawnScripts/TenebrousTangle/adraconicidol.lua @@ -0,0 +1,160 @@ +--[[ + Script Name : SpawnScripts/TenebrousTangle/FlightCloud.lua + Script Purpose : Tenebrous Tangle Flight Cloud (880048) + Script Author : Neatz09 + Script Date : 4/22/2019 + Script Notes : +--]] + +function respawn(NPC) + Spawn(NPC) +end + +function hailed(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 622752 then + --Ravasect Incursion-- + AddConversationOption(con, "To Bixie Isle.", "RavToBixie") + AddConversationOption(con, "To Gazer Isle.", "RavToGazer") + AddConversationOption(con, "To Temple Grounds.", "RavToTemple") + elseif GetSpawnLocationID(NPC) == 662668 then + --Vultak Scavenging Site-- + AddConversationOption(con, "To Fear Tainted Isle.", "VulToFear") + AddConversationOption(con, "To Halls Landing.", "VulToHalls") + elseif GetSpawnLocationID(NPC) == 622666 then + --Halls Landing-- + AddConversationOption(con, "To Vultak Scavenging Site.", "HallsToVul") + elseif GetSpawnLocationID(NPC) == 622758 then + --Hidden Refuge-- + AddConversationOption(con, "To Tenebrous Landing.", "RefToTen") + AddConversationOption(con, "To Vicious Breeding Grounds.", "RefToVic") + elseif GetSpawnLocationID(NPC) == 622755 then + --Bixie Isle-- + AddConversationOption(con, "To Ravasect Incursion.", "BixieToRav") + AddConversationOption(con, "To Temple Grounds.", "BixieToTemp") + elseif GetSpawnLocationID(NPC) == 622756 then + --Temple Grounds-- + AddConversationOption(con, "To Bixie Isle.", "TempToBixie") + AddConversationOption(con, "To Ravasect Incursion.", "TempToRav") + elseif GetSpawnLocationID(NPC) == 622757 then + --Sanctum Landing-- + AddConversationOption(con, "To Gazer Isle.", "SancToGazer") + elseif GetSpawnLocationID(NPC) == 622750 then + --Gazer Isle-- + AddConversationOption(con, "To Fear Tainted Isle.", "GazerToFear") + AddConversationOption(con, "To Ravasect Incursion.", "GazerToRav") + AddConversationOption(con, "To Sanctum Landing.", "GazerToSanc") + elseif GetSpawnLocationID(NPC) == 622623 then + --Fear Tainted Isle-- + AddConversationOption(con, "To Gazer Isle.", "FearToGazer") + AddConversationOption(con, "To Vultak Scavenging Site.", "FearToVul") + elseif GetSpawnLocationID(NPC) == 622748 then + --Viscious Breeding Grounds-- + AddConversationOption(con, "To Hidden Refuge.", "VicToRef") + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function RavToBixie(NPC, Spawn) + StartAutoMount(Spawn, 749) + SetMount(Spawn, 1369) +end + +function RavToGazer(NPC, Spawn) + StartAutoMount(Spawn, 748) + SetMount(Spawn, 1369) +end + +function RavToTemple(NPC, Spawn) + StartAutoMount(Spawn, 747) + SetMount(Spawn, 1369) +end + +function VulToFear(NPC, Spawn) + StartAutoMount(Spawn, 751) + SetMount(Spawn, 1369) +end + +function VulToHalls(NPC, Spawn) + StartAutoMount(Spawn, 750) + SetMount(Spawn, 1369) +end + +function HallsToVul(NPC, Spawn) + StartAutoMount(Spawn, 755) + SetMount(Spawn, 1369) +end + +function RefToTen(NPC, Spawn) + StartAutoMount(Spawn, 765) + SetMount(Spawn, 1369) +end + +function RefToVic(NPC, Spawn) + StartAutoMount(Spawn, 761) + SetMount(Spawn, 1369) +end + +function BixieToRav(NPC, Spawn) + StartAutoMount(Spawn, 760) + SetMount(Spawn, 1369) +end + +function BixieToTemp(NPC, Spawn) + StartAutoMount(Spawn, 759) + SetMount(Spawn, 1369) +end + +function TempToBixie(NPC, Spawn) + StartAutoMount(Spawn, 753) + SetMount(Spawn, 1369) +end + +function TempToRav(NPC, Spawn) + StartAutoMount(Spawn, 754) + SetMount(Spawn, 1369) +end + +function SancToGazer(NPC, Spawn) + StartAutoMount(Spawn, 752) + SetMount(Spawn, 1369) +end + +function GazerToFear(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function GazerToRav(NPC, Spawn) + StartAutoMount(Spawn, 757) + SetMount(Spawn, 1369) +end + +function GazerToSanc(NPC, Spawn) + StartAutoMount(Spawn, 756) + SetMount(Spawn, 1369) +end + +function FearToGazer(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function FearToVul(NPC, Spawn) + StartAutoMount(Spawn, 758) + SetMount(Spawn, 1369) +end + +function VicToRef(NPC, Spawn) + StartAutoMount(Spawn, 762) + SetMount(Spawn, 1369) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/TenebrousTangle/ahulkinggorg.lua b/Lua/SpawnScripts/TenebrousTangle/ahulkinggorg.lua new file mode 100755 index 000000000..3d0cf6968 --- /dev/null +++ b/Lua/SpawnScripts/TenebrousTangle/ahulkinggorg.lua @@ -0,0 +1,162 @@ +--[[ + Script Name : SpawnScripts/PillarsFlame/FlightCloud.lua + Script Purpose : Tenebrous Tangle Flight Cloud (880048) + Script Author : Neatz09 + Script Date : 4/22/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 622752 then + --Ravasect Incursion-- + AddConversationOption(con, "To Bixie Isle.", "RavToBixie") + AddConversationOption(con, "To Gazer Isle.", "RavToGazer") + AddConversationOption(con, "To Temple Grounds.", "RavToTemple") + elseif GetSpawnLocationID(NPC) == 662668 then + --Vultak Scavenging Site-- + AddConversationOption(con, "To Fear Tainted Isle.", "VulToFear") + AddConversationOption(con, "To Halls Landing.", "VulToHalls") + elseif GetSpawnLocationID(NPC) == 622666 then + --Halls Landing-- + AddConversationOption(con, "To Vultak Scavenging Site.", "HallsToVul") + elseif GetSpawnLocationID(NPC) == 622758 then + --Hidden Refuge-- + AddConversationOption(con, "To Tenebrous Landing.", "RefToTen") + AddConversationOption(con, "To Vicious Breeding Grounds.", "RefToVic") + elseif GetSpawnLocationID(NPC) == 622755 then + --Bixie Isle-- + AddConversationOption(con, "To Ravasect Incursion.", "BixieToRav") + AddConversationOption(con, "To Temple Grounds.", "BixieToTemp") + elseif GetSpawnLocationID(NPC) == 622756 then + --Temple Grounds-- + AddConversationOption(con, "To Bixie Isle.", "TempToBixie") + AddConversationOption(con, "To Ravasect Incursion.", "TempToRav") + elseif GetSpawnLocationID(NPC) == 622757 then + --Sanctum Landing-- + AddConversationOption(con, "To Gazer Isle.", "SancToGazer") + elseif GetSpawnLocationID(NPC) == 622750 then + --Gazer Isle-- + AddConversationOption(con, "To Fear Tainted Isle.", "GazerToFear") + AddConversationOption(con, "To Ravasect Incursion.", "GazerToRav") + AddConversationOption(con, "To Sanctum Landing.", "GazerToSanc") + elseif GetSpawnLocationID(NPC) == 622623 then + --Fear Tainted Isle-- + AddConversationOption(con, "To Gazer Isle.", "FearToGazer") + AddConversationOption(con, "To Vultak Scavenging Site.", "FearToVul") + elseif GetSpawnLocationID(NPC) == 622748 then + --Viscious Breeding Grounds-- + AddConversationOption(con, "To Hidden Refuge.", "VicToRef") + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function RavToBixie(NPC, Spawn) + StartAutoMount(Spawn, 749) + SetMount(Spawn, 1369) +end + +function RavToGazer(NPC, Spawn) + StartAutoMount(Spawn, 748) + SetMount(Spawn, 1369) +end + +function RavToTemple(NPC, Spawn) + StartAutoMount(Spawn, 747) + SetMount(Spawn, 1369) +end + +function VulToFear(NPC, Spawn) + StartAutoMount(Spawn, 751) + SetMount(Spawn, 1369) +end + +function VulToHalls(NPC, Spawn) + StartAutoMount(Spawn, 750) + SetMount(Spawn, 1369) +end + +function HallsToVul(NPC, Spawn) + StartAutoMount(Spawn, 755) + SetMount(Spawn, 1369) +end + +function RefToTen(NPC, Spawn) + StartAutoMount(Spawn, 765) + SetMount(Spawn, 1369) +end + +function RefToVic(NPC, Spawn) + StartAutoMount(Spawn, 761) + SetMount(Spawn, 1369) +end + +function BixieToRav(NPC, Spawn) + StartAutoMount(Spawn, 760) + SetMount(Spawn, 1369) +end + +function BixieToTemp(NPC, Spawn) + StartAutoMount(Spawn, 759) + SetMount(Spawn, 1369) +end + +function TempToBixie(NPC, Spawn) + StartAutoMount(Spawn, 753) + SetMount(Spawn, 1369) +end + +function TempToRav(NPC, Spawn) + StartAutoMount(Spawn, 754) + SetMount(Spawn, 1369) +end + +function SancToGazer(NPC, Spawn) + StartAutoMount(Spawn, 752) + SetMount(Spawn, 1369) +end + +function GazerToFear(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function GazerToRav(NPC, Spawn) + StartAutoMount(Spawn, 757) + SetMount(Spawn, 1369) +end + +function GazerToSanc(NPC, Spawn) + StartAutoMount(Spawn, 756) + SetMount(Spawn, 1369) +end + +function FearToGazer(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function FearToVul(NPC, Spawn) + StartAutoMount(Spawn, 758) + SetMount(Spawn, 1369) +end + +function VicToRef(NPC, Spawn) + StartAutoMount(Spawn, 762) + SetMount(Spawn, 1369) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/TenebrousTangle/aswoopserpent.lua b/Lua/SpawnScripts/TenebrousTangle/aswoopserpent.lua new file mode 100755 index 000000000..3d0cf6968 --- /dev/null +++ b/Lua/SpawnScripts/TenebrousTangle/aswoopserpent.lua @@ -0,0 +1,162 @@ +--[[ + Script Name : SpawnScripts/PillarsFlame/FlightCloud.lua + Script Purpose : Tenebrous Tangle Flight Cloud (880048) + Script Author : Neatz09 + Script Date : 4/22/2019 + Script Notes : +--]] + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I would like to travel.", "dlg_1_1") + AddConversationOption(conversation, "Nowhere.") + StartConversation(conversation, NPC, Spawn, "Greetings traveler, how can I assist you today?") + end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local con = CreateConversation() + + if GetSpawnLocationID(NPC) == 622752 then + --Ravasect Incursion-- + AddConversationOption(con, "To Bixie Isle.", "RavToBixie") + AddConversationOption(con, "To Gazer Isle.", "RavToGazer") + AddConversationOption(con, "To Temple Grounds.", "RavToTemple") + elseif GetSpawnLocationID(NPC) == 662668 then + --Vultak Scavenging Site-- + AddConversationOption(con, "To Fear Tainted Isle.", "VulToFear") + AddConversationOption(con, "To Halls Landing.", "VulToHalls") + elseif GetSpawnLocationID(NPC) == 622666 then + --Halls Landing-- + AddConversationOption(con, "To Vultak Scavenging Site.", "HallsToVul") + elseif GetSpawnLocationID(NPC) == 622758 then + --Hidden Refuge-- + AddConversationOption(con, "To Tenebrous Landing.", "RefToTen") + AddConversationOption(con, "To Vicious Breeding Grounds.", "RefToVic") + elseif GetSpawnLocationID(NPC) == 622755 then + --Bixie Isle-- + AddConversationOption(con, "To Ravasect Incursion.", "BixieToRav") + AddConversationOption(con, "To Temple Grounds.", "BixieToTemp") + elseif GetSpawnLocationID(NPC) == 622756 then + --Temple Grounds-- + AddConversationOption(con, "To Bixie Isle.", "TempToBixie") + AddConversationOption(con, "To Ravasect Incursion.", "TempToRav") + elseif GetSpawnLocationID(NPC) == 622757 then + --Sanctum Landing-- + AddConversationOption(con, "To Gazer Isle.", "SancToGazer") + elseif GetSpawnLocationID(NPC) == 622750 then + --Gazer Isle-- + AddConversationOption(con, "To Fear Tainted Isle.", "GazerToFear") + AddConversationOption(con, "To Ravasect Incursion.", "GazerToRav") + AddConversationOption(con, "To Sanctum Landing.", "GazerToSanc") + elseif GetSpawnLocationID(NPC) == 622623 then + --Fear Tainted Isle-- + AddConversationOption(con, "To Gazer Isle.", "FearToGazer") + AddConversationOption(con, "To Vultak Scavenging Site.", "FearToVul") + elseif GetSpawnLocationID(NPC) == 622748 then + --Viscious Breeding Grounds-- + AddConversationOption(con, "To Hidden Refuge.", "VicToRef") + end + AddConversationOption(con, "Nowhere.") + StartConversation(con, NPC, Spawn, "Where to?") +end + +function RavToBixie(NPC, Spawn) + StartAutoMount(Spawn, 749) + SetMount(Spawn, 1369) +end + +function RavToGazer(NPC, Spawn) + StartAutoMount(Spawn, 748) + SetMount(Spawn, 1369) +end + +function RavToTemple(NPC, Spawn) + StartAutoMount(Spawn, 747) + SetMount(Spawn, 1369) +end + +function VulToFear(NPC, Spawn) + StartAutoMount(Spawn, 751) + SetMount(Spawn, 1369) +end + +function VulToHalls(NPC, Spawn) + StartAutoMount(Spawn, 750) + SetMount(Spawn, 1369) +end + +function HallsToVul(NPC, Spawn) + StartAutoMount(Spawn, 755) + SetMount(Spawn, 1369) +end + +function RefToTen(NPC, Spawn) + StartAutoMount(Spawn, 765) + SetMount(Spawn, 1369) +end + +function RefToVic(NPC, Spawn) + StartAutoMount(Spawn, 761) + SetMount(Spawn, 1369) +end + +function BixieToRav(NPC, Spawn) + StartAutoMount(Spawn, 760) + SetMount(Spawn, 1369) +end + +function BixieToTemp(NPC, Spawn) + StartAutoMount(Spawn, 759) + SetMount(Spawn, 1369) +end + +function TempToBixie(NPC, Spawn) + StartAutoMount(Spawn, 753) + SetMount(Spawn, 1369) +end + +function TempToRav(NPC, Spawn) + StartAutoMount(Spawn, 754) + SetMount(Spawn, 1369) +end + +function SancToGazer(NPC, Spawn) + StartAutoMount(Spawn, 752) + SetMount(Spawn, 1369) +end + +function GazerToFear(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function GazerToRav(NPC, Spawn) + StartAutoMount(Spawn, 757) + SetMount(Spawn, 1369) +end + +function GazerToSanc(NPC, Spawn) + StartAutoMount(Spawn, 756) + SetMount(Spawn, 1369) +end + +function FearToGazer(NPC, Spawn) + StartAutoMount(Spawn, 763) + SetMount(Spawn, 1369) +end + +function FearToVul(NPC, Spawn) + StartAutoMount(Spawn, 758) + SetMount(Spawn, 1369) +end + +function VicToRef(NPC, Spawn) + StartAutoMount(Spawn, 762) + SetMount(Spawn, 1369) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391945.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391945.lua new file mode 100755 index 000000000..a6514146f --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391945.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391945.lua + Script Purpose : Waypoint Path for ASewerSlime391945.lua + Script Author : Rylec + Script Date : 10-05-2019 08:24:57 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.22, 0.00, 184.69, 2, math.random(10, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -183.04, 0.27, 186.09, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.06, 0.00, 195.50, 2, 0) + MovementLoopAddLocation(NPC, -183.09, 0.00, 195.48, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.26, 0.00, 194.31, 2, 0) + MovementLoopAddLocation(NPC, -182.20, 0.00, 193.31, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -183.00, 0.45, 187.76, 2, 0) + MovementLoopAddLocation(NPC, -183.74, 0.28, 186.34, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391946.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391946.lua new file mode 100755 index 000000000..a242b4abb --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391946.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391946.lua + Script Purpose : Waypoint Path for ASewerSlime391946.lua + Script Author : Rylec + Script Date : 10-05-2019 08:25:00 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.15, 0.42, 187.84, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.04, 0.27, 188.89, 2, 0) + MovementLoopAddLocation(NPC, -183.21, 0.00, 191.38, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.87, 0.11, 189.58, 2, 0) + MovementLoopAddLocation(NPC, -183.18, 0.00, 183.92, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.50, 0.82, 186.72, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.41, 0.01, 191.01, 2, 0) + MovementLoopAddLocation(NPC, -182.44, 0.00, 192.31, 2, 0) + MovementLoopAddLocation(NPC, -182.46, 0.00, 192.32, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.01, 0.33, 188.15, 2, 0) + MovementLoopAddLocation(NPC, -181.97, 0.28, 186.38, 2, 0) + MovementLoopAddLocation(NPC, -182.00, 0.00, 184.16, 2, math.random(10, 22), "changegrid_Going_Down") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391948.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391948.lua new file mode 100755 index 000000000..d69b0871e --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391948.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391948.lua + Script Purpose : Waypoint Path for ASewerSlime391948.lua + Script Author : Rylec + Script Date : 10-17-2019 03:27:58 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.14, 0.00, 142.08, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.95, 0.00, 139.87, 2, 0) + MovementLoopAddLocation(NPC, -181.92, 0.00, 133.17, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -183.74, 0.04, 134.14, 2, 0) + MovementLoopAddLocation(NPC, -183.82, 0.04, 135.26, 2, 0) + MovementLoopAddLocation(NPC, -181.18, 0.00, 138.79, 2, 0) + MovementLoopAddLocation(NPC, -181.20, 0.00, 138.79, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.08, 0.00, 135.23, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.17, 0.00, 135.85, 2, 0) + MovementLoopAddLocation(NPC, -176.19, 0.09, 140.06, 2, 0) + MovementLoopAddLocation(NPC, -176.13, 0.11, 140.81, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -176.30, 0.10, 141.10, 2, 0) + MovementLoopAddLocation(NPC, -177.08, 0.00, 140.11, 2, 0) + MovementLoopAddLocation(NPC, -177.02, 0.01, 140.11, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.93, 0.00, 136.40, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.91, 0.00, 139.53, 2, 0) + MovementLoopAddLocation(NPC, -180.13, 0.00, 142.15, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.05, 0.00, 141.43, 2, math.random(10, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391949.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391949.lua new file mode 100755 index 000000000..d538f6017 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391949.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391949.lua + Script Purpose : Waypoint Path for ASewerSlime391949.lua + Script Author : Rylec + Script Date : 10-17-2019 03:18:01 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.60, 0.00, 163.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.55, 0.00, 164.07, 2, 0) + MovementLoopAddLocation(NPC, -182.60, 0.00, 163.98, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.62, 0.00, 156.68, 2, 0) + MovementLoopAddLocation(NPC, -181.24, 0.03, 159.03, 2, 0) + MovementLoopAddLocation(NPC, -182.11, 0.24, 170.70, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.94, 0.00, 166.69, 2, 0) + MovementLoopAddLocation(NPC, -183.98, 0.06, 158.44, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.87, 0.24, 160.56, 2, 0) + MovementLoopAddLocation(NPC, -182.50, 0.00, 162.41, 2, 0) + MovementLoopAddLocation(NPC, -181.75, 0.00, 163.34, 2, 0) + MovementLoopAddLocation(NPC, -181.78, 0.00, 163.35, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.95, 0.00, 164.05, 2, 0) + MovementLoopAddLocation(NPC, -182.53, 0.00, 172.24, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.94, 0.00, 169.20, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.94, 0.00, 164.57, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391950.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391950.lua new file mode 100755 index 000000000..fcb49ce18 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391950.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391950.lua + Script Purpose : Waypoint Path for ASewerSlime391950.lua + Script Author : Rylec + Script Date : 10-17-2019 04:45:53 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.14, 0.05, 97.35, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -183.10, 0.00, 103.82, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.29, 0.05, 94.32, 2, 0) + MovementLoopAddLocation(NPC, -177.81, 0.05, 91.62, 2, 0) + MovementLoopAddLocation(NPC, -177.23, 0.05, 91.26, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.19, 0.05, 92.37, 2, 0) + MovementLoopAddLocation(NPC, -179.99, 0.09, 95.33, 2, 0) + MovementLoopAddLocation(NPC, -180.82, 0.05, 96.33, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.74, 0.05, 96.57, 2, 0) + MovementLoopAddLocation(NPC, -181.69, 0.05, 96.45, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.15, 0.05, 94.76, 2, 0) + MovementLoopAddLocation(NPC, -178.66, 0.05, 92.38, 2, 0) + MovementLoopAddLocation(NPC, -173.75, 0.05, 90.88, 2, math.random(10, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -177.50, 0.05, 91.75, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.66, 0.05, 93.58, 2, 0) + MovementLoopAddLocation(NPC, -181.62, 0.05, 94.81, 2, math.random(10, 22)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3049532766) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3438300428) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391951.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391951.lua new file mode 100755 index 000000000..ac357b1b1 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391951.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391951.lua + Script Purpose : Waypoint Path for ASewerSlime391951.lua + Script Author : Rylec + Script Date : 10-17-2019 04:45:57 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.76, 0.00, 104.00, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.99, 0.05, 94.55, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.53, 0.35, 100.34, 2, 0) + MovementLoopAddLocation(NPC, -181.40, 0.29, 101.96, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.95, 0.16, 96.65, 2, 0) + MovementLoopAddLocation(NPC, -176.44, 0.15, 92.60, 2, 0) + MovementLoopAddLocation(NPC, -173.77, 0.06, 91.11, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.12, 0.05, 91.15, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.87, 0.05, 93.99, 2, 0) + MovementLoopAddLocation(NPC, -181.64, 0.05, 95.81, 2, 0) + MovementLoopAddLocation(NPC, -178.60, 0.08, 93.68, 2, 0) + MovementLoopAddLocation(NPC, -175.40, 0.26, 91.92, 2, 0) + MovementLoopAddLocation(NPC, -172.65, 0.05, 91.00, 2, math.random(10, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -174.06, 0.10, 91.52, 2, 0) + MovementLoopAddLocation(NPC, -176.72, 0.08, 92.10, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.56, 0.05, 94.09, 2, 0) + MovementLoopAddLocation(NPC, -180.55, 0.05, 94.11, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.12, 0.05, 96.84, 2, 0) + MovementLoopAddLocation(NPC, -181.93, 0.27, 99.65, 2, 0) + MovementLoopAddLocation(NPC, -182.21, 0.28, 102.13, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3049532766) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3438300428) +end + + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391952.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391952.lua new file mode 100755 index 000000000..91e943e3e --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391952.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391952.lua + Script Purpose : Waypoint Path for ASewerSlime391952.lua + Script Author : Rylec + Script Date : 10-17-2019 03:26:38 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.44, 0.00, 172.82, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.86, 0.00, 169.18, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.95, 0.00, 166.22, 2, 0) + MovementLoopAddLocation(NPC, -181.58, 0.00, 165.52, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.93, 0.00, 165.97, 2, 0) + MovementLoopAddLocation(NPC, -182.65, 0.00, 168.90, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.14, 0.00, 173.23, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.33, 0.00, 167.18, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.56, 0.00, 165.88, 2, 0) + MovementLoopAddLocation(NPC, -182.49, 0.00, 165.65, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.20, 0.00, 162.99, 2, 0) + MovementLoopAddLocation(NPC, -181.88, 0.17, 161.46, 2, 0) + MovementLoopAddLocation(NPC, -181.65, 0.00, 155.96, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.58, 0.24, 160.35, 2, 0) + MovementLoopAddLocation(NPC, -181.89, 0.00, 162.02, 2, 0) + MovementLoopAddLocation(NPC, -181.69, 0.00, 163.93, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.05, 0.24, 170.63, 2, 0) + MovementLoopAddLocation(NPC, -182.44, 0.00, 172.86, 2, 0, "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391954.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391954.lua new file mode 100755 index 000000000..0f58b726f --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391954.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391954.lua + Script Purpose : Waypoint Path for ASewerSlime391954.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:04 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.82, 0.11, 215.17, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -175.76, 0.01, 215.92, 2, 0) + MovementLoopAddLocation(NPC, -179.10, 0.00, 214.02, 2, 0) + MovementLoopAddLocation(NPC, -182.62, 0.07, 213.44, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.39, 0.24, 209.30, 2, math.random(10, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.94, 0.05, 212.13, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.67, 0.00, 214.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.89, 0.11, 212.46, 2, 0) + MovementLoopAddLocation(NPC, -182.30, 0.00, 207.83, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.48, 0.24, 199.26, 2, 0) + MovementLoopAddLocation(NPC, -182.46, 0.24, 199.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.89, 0.00, 201.53, 2, 0) + MovementLoopAddLocation(NPC, -182.05, 0.00, 206.98, 2, 0) + MovementLoopAddLocation(NPC, -181.31, 0.00, 210.86, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.77, 0.00, 214.39, 2, 0) + MovementLoopAddLocation(NPC, -181.01, 0.05, 215.98, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.85, 0.01, 213.88, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.68, 0.00, 214.45, 2, math.random(10, 22)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391957.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391957.lua new file mode 100755 index 000000000..f37233700 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391957.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391957.lua + Script Purpose : Waypoint Path for ASewerSlime391957.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:10 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.39, 0.01, 205.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.59, 0.00, 207.99, 2, 0) + MovementLoopAddLocation(NPC, -182.62, 0.00, 210.48, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.83, 0.03, 204.03, 2, math.random(10, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.04, 0.00, 204.98, 2, 0) + MovementLoopAddLocation(NPC, -180.85, 0.31, 209.10, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -184.26, 0.15, 210.75, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.59, 0.00, 212.51, 2, 0) + MovementLoopAddLocation(NPC, -179.82, 0.00, 214.09, 2, 0) + MovementLoopAddLocation(NPC, -178.55, 0.00, 214.84, 2, 0) + MovementLoopAddLocation(NPC, -178.52, 0.00, 214.72, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -177.70, 0.00, 215.77, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -177.88, 0.05, 214.28, 2, 0) + MovementLoopAddLocation(NPC, -179.95, 0.08, 211.75, 2, 0) + MovementLoopAddLocation(NPC, -181.02, 0.05, 207.68, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.21, 0.00, 205.33, 2, 0) + MovementLoopAddLocation(NPC, -182.51, 0.00, 203.93, 2, math.random(10, 22)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391962.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391962.lua new file mode 100755 index 000000000..0d89d995c --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391962.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391962.lua + Script Purpose : Waypoint Path for ASewerSlime391962.lua + Script Author : Rylec + Script Date : 10-17-2019 03:29:11 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.40, 0.00, 125.31, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.93, 0.00, 123.17, 2, 0) + MovementLoopAddLocation(NPC, -180.47, 0.05, 120.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.40, 0.25, 117.07, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.28, 0.00, 121.11, 2, 0) + MovementLoopAddLocation(NPC, -183.46, 0.01, 126.02, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.32, 0.00, 121.55, 2, 0) + MovementLoopAddLocation(NPC, -181.65, 0.00, 110.78, 2, 0) + MovementLoopAddLocation(NPC, -181.50, 0.00, 109.48, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.38, 0.01, 113.58, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.98, 0.00, 124.23, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391963.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391963.lua new file mode 100755 index 000000000..13ca67be3 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391963.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391963.lua + Script Purpose : Waypoint Path for ASewerSlime391963.lua + Script Author : Rylec + Script Date : 10-17-2019 03:29:14 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.34, 0.02, 114.04, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.76, 0.00, 119.25, 2, 0) + MovementLoopAddLocation(NPC, -181.68, 0.00, 121.75, 2, 0) + MovementLoopAddLocation(NPC, -182.23, 0.00, 123.68, 2, 0) + MovementLoopAddLocation(NPC, -182.23, 0.00, 123.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.03, 0.00, 122.09, 2, 0) + MovementLoopAddLocation(NPC, -181.38, 0.01, 110.18, 2, 0) + MovementLoopAddLocation(NPC, -181.19, 0.03, 109.21, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.25, 0.00, 121.02, 2, 0) + MovementLoopAddLocation(NPC, -182.11, 0.00, 121.35, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.25, 0.00, 122.14, 2, 0) + MovementLoopAddLocation(NPC, -182.12, 0.00, 123.54, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.26, 0.00, 125.75, 2, 0) + MovementLoopAddLocation(NPC, -182.30, 0.00, 126.30, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.95, 0.00, 125.92, 2, 0) + MovementLoopAddLocation(NPC, -181.89, 0.00, 121.36, 2, 0) + MovementLoopAddLocation(NPC, -181.22, 0.27, 117.05, 2, 0) + MovementLoopAddLocation(NPC, -181.45, 0.01, 115.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.30, 0.02, 115.08, 2, 0) + MovementLoopAddLocation(NPC, -183.40, 0.00, 109.33, 2, math.random(10, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391990.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391990.lua new file mode 100755 index 000000000..2ffcad402 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391990.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391990.lua + Script Purpose : Waypoint Path for ASewerSlime391990.lua + Script Author : Rylec + Script Date : 09-15-2019 04:26:38 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -178.41, 1.22, 25.00, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.94, 1.22, 30.20, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.92, 1.22, 31.53, 2, 0) + MovementLoopAddLocation(NPC, -180.45, 1.22, 32.92, 2, 0) + MovementLoopAddLocation(NPC, -182.07, 1.34, 31.53, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.05, 1.23, 30.94, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -178.81, 1.22, 25.54, 2, 0) + MovementLoopAddLocation(NPC, -178.40, 1.22, 23.99, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -179.26, 1.22, 27.82, 2, 0) + MovementLoopAddLocation(NPC, -179.90, 1.22, 31.48, 2, 0) + -- MovementLoopAddLocation(NPC, -180.09, 1.22, 33.76, 2, 0) + MovementLoopAddLocation(NPC, -181.36, 1.26, 35.51, 2, 0) + MovementLoopAddLocation(NPC, -180.92, 1.22, 33.62, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.47, 1.22, 22.80, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -180.12, 1.22, 25.13, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.75, 1.22, 27.69, 2, 0) + MovementLoopAddLocation(NPC, -179.47, 1.22, 28.42, 2, 0) + MovementLoopAddLocation(NPC, -180.54, 1.22, 34.81, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.10, 1.22, 33.31, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.38, 1.22, 31.91, 2, 0) + MovementLoopAddLocation(NPC, -180.50, 1.22, 29.73, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.02, 1.22, 28.25, 2, 0) + MovementLoopAddLocation(NPC, -177.66, 1.22, 26.69, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.37, 1.22, 35.73, 2, math.random(10, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391991.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391991.lua new file mode 100755 index 000000000..ddccc31b2 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391991.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391991.lua + Script Purpose : Waypoint Path for ASewerSlime391991.lua + Script Author : Rylec + Script Date : 09-17-2019 05:52:01 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -173.79, 1.26, 0.79, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -176.14, 1.32, 3.99, 2, 0) + MovementLoopAddLocation(NPC, -176.90, 1.44, 6.01, 2, 0) + MovementLoopAddLocation(NPC, -177.31, 2.09, 7.67, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.88, 1.64, 11.92, 2, 0) + MovementLoopAddLocation(NPC, -180.07, 1.60, 6.70, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -179.17, 1.84, 7.73, 2, math.random(10, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.81, 1.82, 10.96, 2, 0) + MovementLoopAddLocation(NPC, -180.57, 1.22, 14.57, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -177.06, 1.41, 5.97, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.17, 1.41, 2.93, 2, 0) + MovementLoopAddLocation(NPC, -171.86, 1.85, 2.62, 2, 0) + MovementLoopAddLocation(NPC, -169.24, 1.34, 0.99, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -169.72, 1.34, 1.77, 2, 0) + MovementLoopAddLocation(NPC, -171.40, 1.75, 2.18, 2, 0) + MovementLoopAddLocation(NPC, -172.52, 2.03, 3.15, 2, 0) + MovementLoopAddLocation(NPC, -175.38, 1.37, 3.85, 2, 0) + MovementLoopAddLocation(NPC, -176.69, 1.50, 6.25, 2, 0) + MovementLoopAddLocation(NPC, -178.91, 1.81, 10.78, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.28, 1.22, 15.14, 2, 0) + MovementLoopAddLocation(NPC, -179.91, 1.22, 17.49, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.15, 1.22, 15.83, 2, 0) + MovementLoopAddLocation(NPC, -178.83, 1.62, 9.94, 2, 0) + MovementLoopAddLocation(NPC, -177.76, 2.01, 7.98, 2, 0) + MovementLoopAddLocation(NPC, -176.01, 1.48, 5.29, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.41, 1.46, 3.56, 2, 0) + MovementLoopAddLocation(NPC, -169.94, 1.34, 1.54, 2, 0) + MovementLoopAddLocation(NPC, -168.87, 1.34, -0.38, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -169.97, 1.34, -0.10, 2, 0) + MovementLoopAddLocation(NPC, -170.85, 1.54, -0.28, 2, 0) + MovementLoopAddLocation(NPC, -172.14, 1.58, 0.86, 2, 0) + MovementLoopAddLocation(NPC, -173.90, 1.26, 0.54, 2, 0) + MovementLoopAddLocation(NPC, -176.10, 1.26, 2.11, 2, 0) + MovementLoopAddLocation(NPC, -177.97, 1.30, 6.06, 2, 0) + MovementLoopAddLocation(NPC, -178.41, 1.89, 7.17, 2, 0) + MovementLoopAddLocation(NPC, -178.20, 1.26, 4.95, 2, 0) + MovementLoopAddLocation(NPC, -176.97, 1.26, 3.46, 2, 0) + MovementLoopAddLocation(NPC, -175.93, 1.26, 1.59, 2, 0) + MovementLoopAddLocation(NPC, -175.06, 1.26, 0.83, 2, math.random(10, 22)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391997.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391997.lua new file mode 100755 index 000000000..57fef2825 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391997.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewerslime391997.lua + Script Purpose : Waypoint Path for asewerslime391997.lua + Script Author : Rylec + Script Date : 09-17-2019 08:39:48 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.21, 1.57, 52.09, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.07, 1.22, 54.80, 2, 0) + MovementLoopAddLocation(NPC, -176.82, 1.22, 59.04, 2, 0) + MovementLoopAddLocation(NPC, -172.07, 1.81, 62.33, 2, math.random(10, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.57, 1.24, 61.71, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -175.73, 1.22, 59.88, 2, 0) + MovementLoopAddLocation(NPC, -177.24, 1.31, 55.92, 2, 0) + MovementLoopAddLocation(NPC, -176.85, 1.56, 54.34, 2, 0) + MovementLoopAddLocation(NPC, -177.28, 1.88, 52.93, 2, 0) + MovementLoopAddLocation(NPC, -177.81, 1.56, 51.69, 2, 0) + MovementLoopAddLocation(NPC, -179.27, 1.34, 49.19, 2, 0) + MovementLoopAddLocation(NPC, -179.00, 1.60, 52.82, 2, 0) + MovementLoopAddLocation(NPC, -178.17, 1.22, 56.17, 2, 0) + MovementLoopAddLocation(NPC, -177.59, 1.22, 56.84, 2, 0) + MovementLoopAddLocation(NPC, -177.66, 1.22, 56.93, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.12, 1.36, 53.80, 2, 0) + MovementLoopAddLocation(NPC, -179.96, 1.58, 52.83, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.53, 1.22, 55.16, 2, 0) + MovementLoopAddLocation(NPC, -176.51, 1.25, 57.57, 2, 0) + MovementLoopAddLocation(NPC, -174.15, 1.32, 58.72, 2, 0) + MovementLoopAddLocation(NPC, -169.84, 1.22, 61.18, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.68, 1.22, 59.62, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -175.84, 1.22, 58.70, 2, 0) + MovementLoopAddLocation(NPC, -177.45, 1.23, 56.83, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -175.66, 1.27, 58.09, 2, 0) + MovementLoopAddLocation(NPC, -173.78, 1.35, 58.89, 2, 0) + MovementLoopAddLocation(NPC, -172.61, 1.90, 59.16, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -170.97, 1.53, 60.38, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -172.26, 1.79, 60.17, 2, 0) + MovementLoopAddLocation(NPC, -174.34, 1.22, 59.81, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.17, 1.22, 58.18, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.83, 1.22, 55.09, 2, 0) + MovementLoopAddLocation(NPC, -179.17, 1.58, 52.87, 2, 0) + MovementLoopAddLocation(NPC, -179.70, 1.34, 50.02, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime391999.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime391999.lua new file mode 100755 index 000000000..5f6d5bf87 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime391999.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime391999.lua + Script Purpose : Waypoint Path for ASewerSlime391999.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:00 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.99, 0.00, 134.89, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.46, 0.00, 135.79, 2, 0) + MovementLoopAddLocation(NPC, -178.34, 0.00, 136.96, 2, 0) + MovementLoopAddLocation(NPC, -178.37, 0.00, 136.98, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.30, 0.00, 135.97, 2, 0) + MovementLoopAddLocation(NPC, -182.81, 0.00, 134.31, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -183.33, 0.00, 135.70, 2, 0) + MovementLoopAddLocation(NPC, -180.15, 0.00, 139.50, 2, 0) + MovementLoopAddLocation(NPC, -177.30, 0.02, 141.51, 2, 0) + MovementLoopAddLocation(NPC, -176.47, 0.06, 139.96, 2, 0) + MovementLoopAddLocation(NPC, -178.26, 0.00, 135.41, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.93, 0.00, 137.42, 2, 0) + MovementLoopAddLocation(NPC, -180.94, 0.00, 140.93, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.39, 0.00, 140.42, 2, 0) + MovementLoopAddLocation(NPC, -177.01, 0.01, 139.23, 2, 0) + MovementLoopAddLocation(NPC, -177.01, 0.01, 139.21, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.32, 0.00, 139.17, 2, 0) + MovementLoopAddLocation(NPC, -181.81, 0.00, 138.97, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -183.37, 0.00, 135.78, 2, 0) + MovementLoopAddLocation(NPC, -184.05, 0.07, 134.71, 2, 0) + MovementLoopAddLocation(NPC, -184.05, 0.07, 134.34, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.87, 0.00, 136.15, 2, 0) + MovementLoopAddLocation(NPC, -178.88, 0.00, 136.14, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.36, 0.00, 135.88, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392004.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392004.lua new file mode 100755 index 000000000..cdcc3188e --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392004.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392004.lua + Script Purpose : Waypoint Path for ASewerSlime392004.lua + Script Author : Rylec + Script Date : 09-17-2019 05:52:08 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.16, 1.84, 7.67, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.63, 1.34, 6.24, 2, 0) + MovementLoopAddLocation(NPC, -176.47, 1.37, 4.92, 2, 0) + MovementLoopAddLocation(NPC, -173.40, 1.28, 1.53, 2, 0) + MovementLoopAddLocation(NPC, -172.39, 1.58, 0.54, 2, 0) + MovementLoopAddLocation(NPC, -176.92, 1.26, 3.38, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -177.97, 1.27, 5.51, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.14, 1.94, 7.42, 2, 0) + MovementLoopAddLocation(NPC, -179.00, 1.63, 10.00, 2, 0) + MovementLoopAddLocation(NPC, -179.15, 1.26, 14.56, 2, 0) + MovementLoopAddLocation(NPC, -180.04, 1.22, 17.34, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.19, 1.22, 16.22, 2, 0) + MovementLoopAddLocation(NPC, -178.89, 1.64, 10.20, 2, 0) + MovementLoopAddLocation(NPC, -177.92, 1.98, 7.90, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.28, 2.01, 6.98, 2, 0) + MovementLoopAddLocation(NPC, -176.73, 1.39, 5.33, 2, 0) + MovementLoopAddLocation(NPC, -175.26, 1.49, 4.65, 2, 0) + MovementLoopAddLocation(NPC, -173.89, 1.51, 3.37, 2, 0) + MovementLoopAddLocation(NPC, -172.47, 1.90, 2.76, 2, 0) + MovementLoopAddLocation(NPC, -170.06, 1.34, 1.52, 2, 0) + MovementLoopAddLocation(NPC, -169.01, 1.34, 0.02, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -169.38, 1.34, 0.75, 2, 0) + MovementLoopAddLocation(NPC, -170.79, 1.56, 1.15, 2, 0) + MovementLoopAddLocation(NPC, -172.61, 1.85, 2.64, 2, 0) + MovementLoopAddLocation(NPC, -177.78, 1.26, 3.74, 2, 0) + MovementLoopAddLocation(NPC, -179.04, 1.26, 4.44, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.93, 1.82, 11.01, 2, 0) + MovementLoopAddLocation(NPC, -178.45, 1.67, 12.74, 2, 0) + MovementLoopAddLocation(NPC, -178.19, 2.32, 14.51, 2, 0) + MovementLoopAddLocation(NPC, -179.03, 1.25, 15.42, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.10, 2.98, 15.94, 2, 0) + MovementLoopAddLocation(NPC, -179.28, 1.62, 12.27, 2, 0) + MovementLoopAddLocation(NPC, -179.42, 1.61, 9.67, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.58, 1.82, 7.00, 2, 0) + MovementLoopAddLocation(NPC, -177.85, 1.26, 4.51, 2, 0) + MovementLoopAddLocation(NPC, -176.13, 1.26, 2.75, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.73, 1.26, 4.91, 2, 0) + MovementLoopAddLocation(NPC, -179.16, 1.79, 7.05, 2, 0, "changegrid_Going_Down") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392007.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392007.lua new file mode 100755 index 000000000..c9ea93c4f --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392007.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392007.lua + Script Purpose : Waypoint Path for ASewerSlime392007.lua + Script Author : Rylec + Script Date : 09-20-2019 02:43:51 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.09, 1.22, 26.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.06, 1.22, 23.83, 2, 0) + MovementLoopAddLocation(NPC, -180.47, 1.22, 23.03, 2, 0) + MovementLoopAddLocation(NPC, -180.46, 1.22, 23.00, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.09, 1.22, 26.95, 2, 0) + MovementLoopAddLocation(NPC, -179.47, 1.22, 34.15, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.04, 1.22, 31.80, 2, 0) + MovementLoopAddLocation(NPC, -180.25, 1.22, 30.61, 2, 0) + MovementLoopAddLocation(NPC, -181.30, 1.25, 29.79, 2, 0) + MovementLoopAddLocation(NPC, -181.27, 1.25, 29.76, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.73, 1.22, 30.42, 2, 0) + MovementLoopAddLocation(NPC, -176.73, 1.22, 28.69, 2, 0) + MovementLoopAddLocation(NPC, -176.74, 1.22, 28.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -177.52, 1.22, 28.32, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -177.59, 1.22, 24.85, 2, 0) + MovementLoopAddLocation(NPC, -177.50, 1.22, 24.80, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.37, 1.22, 34.29, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.98, 1.22, 31.89, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392013.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392013.lua new file mode 100755 index 000000000..a3a11c5cb --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392013.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewerslime392013.lua + Script Purpose : Waypoint Path for asewerslime392013.lua + Script Author : Rylec + Script Date : 09-17-2019 08:39:48 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.69, 1.22, 54.10, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -177.19, 1.22, 58.31, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -175.76, 1.22, 60.30, 2, 0) + MovementLoopAddLocation(NPC, -175.37, 1.22, 60.82, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -176.15, 1.22, 59.97, 2, 0) + MovementLoopAddLocation(NPC, -180.21, 1.29, 57.73, 2, 0) + MovementLoopAddLocation(NPC, -175.96, 1.22, 60.12, 2, 0) + MovementLoopAddLocation(NPC, -175.21, 1.22, 60.67, 2, 0) + MovementLoopAddLocation(NPC, -175.29, 1.22, 60.65, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -175.14, 1.22, 59.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -175.28, 1.22, 60.46, 2, 0) + MovementLoopAddLocation(NPC, -175.40, 1.23, 61.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -179.30, 1.22, 54.59, 2, 0) + MovementLoopAddLocation(NPC, -179.17, 1.22, 54.78, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -177.12, 1.22, 58.28, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -175.27, 1.22, 60.87, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -176.26, 1.22, 59.89, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392016.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392016.lua new file mode 100755 index 000000000..6817e00de --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392016.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392016.lua + Script Purpose : Waypoint Path for ratongaF19003.lua + Script Author : Rylec + Script Date : 09-28-2019 10:45:51 + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.58, 0.04, 212.90, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.49, 0.00, 212.00, 2, 0) + MovementLoopAddLocation(NPC, -182.40, 0.00, 212.08, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -178.75, 0.00, 214.75, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -181.92, 0.00, 207.88, 2, math.random(10, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.53, 0.24, 199.33, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -182.47, 0.00, 201.23, 2, 0) + MovementLoopAddLocation(NPC, -182.38, 0.00, 201.26, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.52, 0.00, 213.99, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.72, 0.03, 215.77, 2, 0) + MovementLoopAddLocation(NPC, -180.81, 0.03, 215.79, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -173.96, 0.00, 217.84, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -180.90, 0.00, 214.18, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392019.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392019.lua new file mode 100755 index 000000000..3971f730e --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392019.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392019.lua + Script Purpose : Waypoint Path for ASewerSlime392019.lua + Script Author : Rylec + Script Date : 09-18-2019 09:10:33 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -151.21, 1.34, 60.87, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -156.08, 1.34, 61.50, 2, 0) + MovementLoopAddLocation(NPC, -158.26, 1.57, 61.92, 2, 0) + MovementLoopAddLocation(NPC, -162.73, 1.22, 61.92, 2, 0) + MovementLoopAddLocation(NPC, -162.63, 1.22, 61.91, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -158.93, 1.58, 62.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.57, 1.34, 61.94, 2, 0) + MovementLoopAddLocation(NPC, -151.51, 1.34, 61.99, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -155.26, 1.34, 61.98, 2, 0) + MovementLoopAddLocation(NPC, -155.03, 1.34, 61.99, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.29, 1.34, 61.37, 2, 0) + MovementLoopAddLocation(NPC, -151.89, 1.34, 61.27, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392020.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392020.lua new file mode 100755 index 000000000..87f3913b1 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392020.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392020.lua + Script Purpose : Waypoint Path for ASewerSlime392020.lua + Script Author : Rylec + Script Date : 09-12-2019 04:13:40 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -135.28, 1.26, -0.52, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.03, 1.26, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -153.81, 1.26, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -157.29, 1.26, -0.66, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -155.37, 1.26, -0.20, 2, 0) + MovementLoopAddLocation(NPC, -153.93, 1.26, 0.08, 2, 0) + MovementLoopAddLocation(NPC, -153.06, 1.35, 1.34, 2, 0) + MovementLoopAddLocation(NPC, -152.16, 1.64, 1.02, 2, 0) + MovementLoopAddLocation(NPC, -152.38, 1.60, 0.58, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -149.86, 1.67, 1.00, 2, 0) + MovementLoopAddLocation(NPC, -146.82, 1.31, 1.50, 2, 0) + MovementLoopAddLocation(NPC, -144.58, 1.26, 0.64, 2, 0) + MovementLoopAddLocation(NPC, -141.66, 1.26, 0.13, 2, 0) + MovementLoopAddLocation(NPC, -142.09, 1.26, -0.46, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.02, 1.26, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -138.66, 1.82, 0.32, 2, 0) + MovementLoopAddLocation(NPC, -137.98, 1.70, -0.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -139.34, 1.66, -0.28, 2, 0) + MovementLoopAddLocation(NPC, -141.21, 1.26, 0.12, 2, 0) + MovementLoopAddLocation(NPC, -149.40, 1.62, -0.09, 2, 0) + MovementLoopAddLocation(NPC, -150.34, 1.81, 0.27, 2, 0) + MovementLoopAddLocation(NPC, -150.61, 2.12, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -151.78, 1.62, 0.27, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -152.47, 1.59, 0.81, 2, 0) + MovementLoopAddLocation(NPC, -158.00, 1.26, 0.79, 2, 0) + MovementLoopAddLocation(NPC, -160.24, 1.26, 0.99, 2, 0) + MovementLoopAddLocation(NPC, -162.84, 1.34, 0.80, 2, 0) + MovementLoopAddLocation(NPC, -162.43, 1.48, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.80, 1.53, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -135.86, 1.26, 0.18, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392021.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392021.lua new file mode 100755 index 000000000..a8866ecb6 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392021.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392021.lua + Script Purpose : Waypoint Path for ASewerSlime392021.lua + Script Author : Rylec + Script Date : 09-22-2019 05:03:18 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -151.46, 1.34, 61.76, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -152.37, 1.34, 61.15, 2, 0) + MovementLoopAddLocation(NPC, -152.51, 1.34, 61.20, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.49, 1.22, 60.99, 2, 0) + MovementLoopAddLocation(NPC, -160.08, 1.31, 61.01, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -158.82, 1.58, 60.92, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -157.78, 1.35, 61.49, 2, 0) + MovementLoopAddLocation(NPC, -156.18, 1.34, 62.07, 2, 0) + MovementLoopAddLocation(NPC, -156.29, 1.34, 62.10, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.83, 1.22, 61.93, 2, 0) + MovementLoopAddLocation(NPC, -162.30, 1.22, 61.73, 2, 0) + MovementLoopAddLocation(NPC, -162.11, 1.22, 61.77, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -158.84, 1.58, 62.22, 2, 0) + MovementLoopAddLocation(NPC, -158.61, 1.58, 62.12, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -156.76, 1.34, 60.83, 2, 0) + MovementLoopAddLocation(NPC, -156.61, 1.34, 60.83, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -155.74, 1.34, 60.90, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -155.75, 1.34, 61.84, 2, 0) + MovementLoopAddLocation(NPC, -155.65, 1.34, 61.81, 2, math.random(10, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392023.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392023.lua new file mode 100755 index 000000000..f4ddc1337 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392023.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392023.lua + Script Purpose : Waypoint Path for ASewerSlime392023.lua + Script Author : Rylec + Script Date : 09-12-2019 07:17:14 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -154.44, 1.26, 0.28, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.91, 1.26, 0.64, 2, 0) + MovementLoopAddLocation(NPC, -152.94, 1.34, 1.20, 2, 0) + MovementLoopAddLocation(NPC, -145.14, 1.26, 0.90, 2, 0) + MovementLoopAddLocation(NPC, -140.32, 1.64, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -139.38, 1.65, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.29, 1.26, 0.84, 2, 0) + MovementLoopAddLocation(NPC, -143.36, 1.26, 0.57, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -145.94, 1.26, 0.54, 2, 0) + MovementLoopAddLocation(NPC, -147.71, 1.26, 0.96, 2, 0) + MovementLoopAddLocation(NPC, -153.93, 1.26, 0.95, 2, 0) + MovementLoopAddLocation(NPC, -156.10, 1.27, 0.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.34, 1.26, 0.04, 2, 0) + MovementLoopAddLocation(NPC, -147.37, 1.26, 0.00, 2, 0) + MovementLoopAddLocation(NPC, -146.23, 1.26, -0.12, 2, 0) + MovementLoopAddLocation(NPC, -144.57, 1.26, -0.31, 2, 0) + MovementLoopAddLocation(NPC, -145.10, 1.26, -0.33, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.93, 1.26, -0.56, 2, 0) + MovementLoopAddLocation(NPC, -148.01, 1.26, -0.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -145.49, 1.26, 0.01, 2, 0) + MovementLoopAddLocation(NPC, -140.43, 1.57, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -141.19, 1.26, -0.61, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -140.54, 1.54, 0.16, 2, 0) + MovementLoopAddLocation(NPC, -148.29, 1.35, 0.55, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -148.24, 1.33, 1.03, 2, 0) + MovementLoopAddLocation(NPC, -153.38, 1.26, 0.86, 2, 0) + MovementLoopAddLocation(NPC, -153.82, 1.26, 0.65, 2, 0) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392025.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392025.lua new file mode 100755 index 000000000..0ca1aedbd --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392025.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : ASewerSlime392027.lua + Script Purpose : Waypoint Path for ASewerSlime392027.lua + Script Author : Rylec + Script Date : 09-12-2019 08:11:11 + Script Notes : Locations collected on Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -162.65, 1.36, -0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -161.66, 1.58, -0.41, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -162.58, 1.40, -0.55, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -159.84, 1.26, 0.04, 2, 0) + MovementLoopAddLocation(NPC, -151.01, 1.76, 0.18, 2, 0) + MovementLoopAddLocation(NPC, -150.18, 1.77, 0.67, 2, 0) + MovementLoopAddLocation(NPC, -149.06, 1.61, 0.63, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -148.68, 1.62, 1.26, 2, 0) + MovementLoopAddLocation(NPC, -147.58, 1.26, 0.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.40, 1.26, 0.61, 2, 0) + MovementLoopAddLocation(NPC, -141.30, 1.27, 1.03, 2, 0) + MovementLoopAddLocation(NPC, -136.12, 1.26, 0.94, 2, 0) + MovementLoopAddLocation(NPC, -135.43, 1.26, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.22, 1.26, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -150.15, 1.76, 0.43, 2, 0) + MovementLoopAddLocation(NPC, -150.66, 1.82, -0.22, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -150.00, 1.71, 0.50, 2, 0) + MovementLoopAddLocation(NPC, -149.79, 1.65, -0.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.03, 1.75, 0.05, 2, 0) + MovementLoopAddLocation(NPC, -153.57, 1.26, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -155.05, 1.26, 0.06, 2, 0) + MovementLoopAddLocation(NPC, -155.50, 1.26, 0.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.77, 1.26, 0.02, 2, 0) + MovementLoopAddLocation(NPC, -135.96, 1.26, 0.19, 2, 0) + MovementLoopAddLocation(NPC, -135.70, 1.26, -0.23, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.61, 1.52, 0.08, 2, 0) + MovementLoopAddLocation(NPC, -148.27, 1.33, 0.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -149.42, 1.62, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -156.58, 1.36, -0.27, 2, 0) + MovementLoopAddLocation(NPC, -161.22, 1.58, -0.01, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392027.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392027.lua new file mode 100755 index 000000000..26a851917 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392027.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392027.lua + Script Purpose : Waypoint Path for ASewerSlime392027.lua + Script Author : Rylec + Script Date : 09-12-2019 08:11:11 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -162.65, 1.36, -0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -161.66, 1.58, -0.41, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -162.58, 1.40, -0.55, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -159.84, 1.26, 0.04, 2, 0) + MovementLoopAddLocation(NPC, -151.01, 1.76, 0.18, 2, 0) + MovementLoopAddLocation(NPC, -150.18, 1.77, 0.67, 2, 0) + MovementLoopAddLocation(NPC, -149.06, 1.61, 0.63, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -148.68, 1.62, 1.26, 2, 0) + MovementLoopAddLocation(NPC, -147.58, 1.26, 0.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.40, 1.26, 0.61, 2, 0) + MovementLoopAddLocation(NPC, -141.30, 1.27, 1.03, 2, 0) + MovementLoopAddLocation(NPC, -136.12, 1.26, 0.94, 2, 0) + MovementLoopAddLocation(NPC, -135.43, 1.26, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.22, 1.26, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -150.15, 1.76, 0.43, 2, 0) + MovementLoopAddLocation(NPC, -150.66, 1.82, -0.22, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -150.00, 1.71, 0.50, 2, 0) + MovementLoopAddLocation(NPC, -149.79, 1.65, -0.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.03, 1.75, 0.05, 2, 0) + MovementLoopAddLocation(NPC, -153.57, 1.26, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -155.05, 1.26, 0.06, 2, 0) + MovementLoopAddLocation(NPC, -155.50, 1.26, 0.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.77, 1.26, 0.02, 2, 0) + MovementLoopAddLocation(NPC, -135.96, 1.26, 0.19, 2, 0) + MovementLoopAddLocation(NPC, -135.70, 1.26, -0.23, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.61, 1.52, 0.08, 2, 0) + MovementLoopAddLocation(NPC, -148.27, 1.33, 0.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -149.42, 1.62, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -156.58, 1.36, -0.27, 2, 0) + MovementLoopAddLocation(NPC, -161.22, 1.58, -0.01, 2, 0) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392028.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392028.lua new file mode 100755 index 000000000..bb942fb29 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392028.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392028.lua + Script Purpose : Waypoint Path for ASewerSlime392028.lua + Script Author : Rylec + Script Date : 09-11-2019 08:43:31 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -156.49, 1.36, -0.38, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.67, 1.26, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -151.19, 1.70, -0.22, 2, 0) + MovementLoopAddLocation(NPC, -151.44, 1.64, -0.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -150.62, 1.82, 0.27, 2, 0) + MovementLoopAddLocation(NPC, -152.92, 1.32, 0.97, 2, 0) + MovementLoopAddLocation(NPC, -153.48, 1.26, 0.40, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.43, 1.64, 0.98, 2, 0) + MovementLoopAddLocation(NPC, -146.96, 1.27, 1.08, 2, 0) + MovementLoopAddLocation(NPC, -143.44, 1.26, 0.90, 2, 0) + MovementLoopAddLocation(NPC, -141.52, 1.28, 1.13, 2, 0) + MovementLoopAddLocation(NPC, -140.22, 1.65, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -139.51, 1.63, 0.62, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -138.69, 2.06, 1.14, 2, 0) + MovementLoopAddLocation(NPC, -139.13, 1.72, -0.30, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -133.70, 1.26, -0.41, 2, 0) + MovementLoopAddLocation(NPC, -134.12, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -133.94, 1.26, 0.16, 2, 0) + MovementLoopAddLocation(NPC, -141.89, 1.26, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -144.28, 1.26, -0.60, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.54, 1.26, -0.46, 2, 0) + MovementLoopAddLocation(NPC, -149.13, 1.60, -0.08, 2, 0) + MovementLoopAddLocation(NPC, -150.77, 1.82, 0.74, 2, 0) + MovementLoopAddLocation(NPC, -152.54, 1.58, 1.03, 2, 0) + MovementLoopAddLocation(NPC, -153.61, 1.26, 0.62, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.82, 1.61, 0.93, 2, 0) + MovementLoopAddLocation(NPC, -147.22, 1.27, 1.01, 2, 0) + MovementLoopAddLocation(NPC, -141.35, 1.26, 0.33, 2, 0) + MovementLoopAddLocation(NPC, -140.11, 1.60, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -135.58, 1.26, -0.02, 2, 0) + MovementLoopAddLocation(NPC, -133.78, 1.26, -0.28, 2, 0) + MovementLoopAddLocation(NPC, -134.17, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -134.21, 1.26, 0.15, 2, 0) + MovementLoopAddLocation(NPC, -154.79, 1.26, -0.01, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392029.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392029.lua new file mode 100755 index 000000000..d145d4e38 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392029.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392029.lua + Script Author : Rylec + Script Date : 2019.09.12 05:09:59 + Script Purpose : + : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -156.49, 1.36, -0.38, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.67, 1.26, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -151.19, 1.70, -0.22, 2, 0) + MovementLoopAddLocation(NPC, -151.44, 1.64, -0.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -150.62, 1.82, 0.27, 2, 0) + MovementLoopAddLocation(NPC, -152.92, 1.32, 0.97, 2, 0) + MovementLoopAddLocation(NPC, -153.48, 1.26, 0.40, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.43, 1.64, 0.98, 2, 0) + MovementLoopAddLocation(NPC, -146.96, 1.27, 1.08, 2, 0) + MovementLoopAddLocation(NPC, -143.44, 1.26, 0.90, 2, 0) + MovementLoopAddLocation(NPC, -141.52, 1.28, 1.13, 2, 0) + MovementLoopAddLocation(NPC, -140.22, 1.65, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -139.51, 1.63, 0.62, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -138.69, 2.06, 1.14, 2, 0) + MovementLoopAddLocation(NPC, -139.13, 1.72, -0.30, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -133.70, 1.26, -0.41, 2, 0) + MovementLoopAddLocation(NPC, -134.12, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -133.94, 1.26, 0.16, 2, 0) + MovementLoopAddLocation(NPC, -141.89, 1.26, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -144.28, 1.26, -0.60, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.54, 1.26, -0.46, 2, 0) + MovementLoopAddLocation(NPC, -149.13, 1.60, -0.08, 2, 0) + MovementLoopAddLocation(NPC, -150.77, 1.82, 0.74, 2, 0) + MovementLoopAddLocation(NPC, -152.54, 1.58, 1.03, 2, 0) + MovementLoopAddLocation(NPC, -153.61, 1.26, 0.62, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.82, 1.61, 0.93, 2, 0) + MovementLoopAddLocation(NPC, -147.22, 1.27, 1.01, 2, 0) + MovementLoopAddLocation(NPC, -141.35, 1.26, 0.33, 2, 0) + MovementLoopAddLocation(NPC, -140.11, 1.60, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -135.58, 1.26, -0.02, 2, 0) + MovementLoopAddLocation(NPC, -133.78, 1.26, -0.28, 2, 0) + MovementLoopAddLocation(NPC, -134.17, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -134.21, 1.26, 0.15, 2, 0) + MovementLoopAddLocation(NPC, -154.79, 1.26, -0.01, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392030.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392030.lua new file mode 100755 index 000000000..9262cc909 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392030.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392030.lua + Script Purpose : Waypoint Path for ASewerSlime392030.lua + Script Author : Rylec + Script Date : 09-27-2019 05:45:16 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -152.27, 0.00, 217.08, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.99, 0.01, 218.08, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -154.37, 0.02, 218.25, 2, 0) + MovementLoopAddLocation(NPC, -155.20, 0.00, 218.06, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -159.08, 0.24, 217.26, 2, 0) + MovementLoopAddLocation(NPC, -159.05, 0.24, 217.26, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -154.45, 0.00, 216.50, 2, 0) + MovementLoopAddLocation(NPC, -151.53, 0.08, 215.37, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.51, 0.00, 216.30, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392032.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392032.lua new file mode 100755 index 000000000..ce5a06e70 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392032.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392032.lua + Script Purpose : Waypoint Path for ASewerSlime392032.lua + Script Author : Rylec + Script Date : 09-11-2019 08:43:31 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -134.44, 1.26, 0.65, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.20, 1.27, 1.02, 2, 0) + MovementLoopAddLocation(NPC, -142.34, 1.26, 0.99, 2, 0) + MovementLoopAddLocation(NPC, -147.43, 1.26, 0.41, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -148.31, 1.34, -0.10, 2, 0) + MovementLoopAddLocation(NPC, -154.15, 1.26, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -159.40, 1.26, -0.47, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.10, 1.26, -0.52, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -146.87, 1.26, 0.17, 2, 0) + MovementLoopAddLocation(NPC, -145.32, 1.26, 0.73, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -146.11, 1.26, 0.52, 2, 0) + MovementLoopAddLocation(NPC, -147.47, 1.26, 0.95, 2, 0) + MovementLoopAddLocation(NPC, -154.66, 1.26, 0.87, 2, 0) + MovementLoopAddLocation(NPC, -157.26, 1.26, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -158.66, 1.26, 0.58, 2, 0) + MovementLoopAddLocation(NPC, -160.03, 1.27, 1.00, 2, 0) + MovementLoopAddLocation(NPC, -161.67, 1.58, 0.45, 2, 0) + MovementLoopAddLocation(NPC, -161.37, 1.58, 0.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.13, 1.30, 1.35, 2, 0) + MovementLoopAddLocation(NPC, -155.80, 1.26, 0.48, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.67, 1.26, 0.08, 2, 0) + MovementLoopAddLocation(NPC, -135.57, 1.26, 0.13, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392033.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392033.lua new file mode 100755 index 000000000..8cd3ae46a --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392033.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : ASewerSlime392033.lua + Script Purpose : Waypoint Path for ASewerSlime392033.lua + Script Author : Rylec + Script Date : 09-12-2019 07:17:14 + Script Notes : Locations collected on Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -154.44, 1.26, 0.28, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.91, 1.26, 0.64, 2, 0) + MovementLoopAddLocation(NPC, -152.94, 1.34, 1.20, 2, 0) + MovementLoopAddLocation(NPC, -145.14, 1.26, 0.90, 2, 0) + MovementLoopAddLocation(NPC, -140.32, 1.64, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -139.38, 1.65, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.29, 1.26, 0.84, 2, 0) + MovementLoopAddLocation(NPC, -143.36, 1.26, 0.57, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -145.94, 1.26, 0.54, 2, 0) + MovementLoopAddLocation(NPC, -147.71, 1.26, 0.96, 2, 0) + MovementLoopAddLocation(NPC, -153.93, 1.26, 0.95, 2, 0) + MovementLoopAddLocation(NPC, -156.10, 1.27, 0.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.34, 1.26, 0.04, 2, 0) + MovementLoopAddLocation(NPC, -147.37, 1.26, 0.00, 2, 0) + MovementLoopAddLocation(NPC, -146.23, 1.26, -0.12, 2, 0) + MovementLoopAddLocation(NPC, -144.57, 1.26, -0.31, 2, 0) + MovementLoopAddLocation(NPC, -145.10, 1.26, -0.33, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.93, 1.26, -0.56, 2, 0) + MovementLoopAddLocation(NPC, -148.01, 1.26, -0.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -145.49, 1.26, 0.01, 2, 0) + MovementLoopAddLocation(NPC, -140.43, 1.57, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -141.19, 1.26, -0.61, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -140.54, 1.54, 0.16, 2, 0) + MovementLoopAddLocation(NPC, -148.29, 1.35, 0.55, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -148.24, 1.33, 1.03, 2, 0) + MovementLoopAddLocation(NPC, -153.38, 1.26, 0.86, 2, 0) + MovementLoopAddLocation(NPC, -153.82, 1.26, 0.65, 2, 0) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392036.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392036.lua new file mode 100755 index 000000000..766c6cff5 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392036.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392036.lua + Script Purpose : Waypoint Path for ASewerSlime392036.lua + Script Author : Rylec + Script Date : 09-27-2019 05:45:19 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -161.03, 0.00, 216.86, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -155.69, 0.00, 217.34, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -156.84, 0.02, 215.92, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -151.94, 0.00, 217.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -156.30, 0.00, 217.11, 2, 0) + MovementLoopAddLocation(NPC, -151.39, 0.09, 218.93, 2, 0) + MovementLoopAddLocation(NPC, -151.40, 0.10, 219.05, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -152.06, 0.01, 218.08, 2, 0) + MovementLoopAddLocation(NPC, -156.54, 0.01, 218.12, 2, 0) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392037.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392037.lua new file mode 100755 index 000000000..2366980d5 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392037.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392037.lua + Script Purpose : Waypoint Path for ASewerSlime392037.lua + Script Author : Rylec + Script Date : 09-25-2019 07:03:18 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -149.00, 0.24, 217.02, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -144.85, 0.00, 216.33, 2, 0) + MovementLoopAddLocation(NPC, -143.49, 0.15, 214.90, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -145.85, 0.00, 217.86, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -140.76, 0.00, 216.38, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -144.60, 0.00, 217.14, 2, 0) + MovementLoopAddLocation(NPC, -146.70, 0.00, 217.93, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -144.14, 0.21, 214.60, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -146.88, 0.02, 215.92, 2, 0) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392039.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392039.lua new file mode 100755 index 000000000..21c4ec150 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392039.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392039.lua + Script Purpose : Waypoint Path for ASewerSlime392039.lua + Script Author : Rylec + Script Date : 09-11-2019 08:43:31 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -134.44, 1.26, 0.65, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.20, 1.27, 1.02, 2, 0) + MovementLoopAddLocation(NPC, -142.34, 1.26, 0.99, 2, 0) + MovementLoopAddLocation(NPC, -147.43, 1.26, 0.41, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -148.31, 1.34, -0.10, 2, 0) + MovementLoopAddLocation(NPC, -154.15, 1.26, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -159.40, 1.26, -0.47, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.10, 1.26, -0.52, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -146.87, 1.26, 0.17, 2, 0) + MovementLoopAddLocation(NPC, -145.32, 1.26, 0.73, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -146.11, 1.26, 0.52, 2, 0) + MovementLoopAddLocation(NPC, -147.47, 1.26, 0.95, 2, 0) + MovementLoopAddLocation(NPC, -154.66, 1.26, 0.87, 2, 0) + MovementLoopAddLocation(NPC, -157.26, 1.26, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -158.66, 1.26, 0.58, 2, 0) + MovementLoopAddLocation(NPC, -160.03, 1.27, 1.00, 2, 0) + MovementLoopAddLocation(NPC, -161.67, 1.58, 0.45, 2, 0) + MovementLoopAddLocation(NPC, -161.37, 1.58, 0.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.13, 1.30, 1.35, 2, 0) + MovementLoopAddLocation(NPC, -155.80, 1.26, 0.48, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.67, 1.26, 0.08, 2, 0) + MovementLoopAddLocation(NPC, -135.57, 1.26, 0.13, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392044.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392044.lua new file mode 100755 index 000000000..dbb3661ac --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392044.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392044.lua + Script Purpose : Waypoint Path for ASewerSlime392044.lua + Script Author : Rylec + Script Date : 09-12-2019 07:46:22 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -134.21, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -134.19, 1.26, -0.04, 2, 0) + MovementLoopAddLocation(NPC, -141.56, 1.26, 0.17, 2, 0) + MovementLoopAddLocation(NPC, -142.52, 1.26, 0.76, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.57, 1.26, 0.52, 2, 0) + MovementLoopAddLocation(NPC, -146.49, 1.26, 0.27, 2, 0) + MovementLoopAddLocation(NPC, -148.12, 1.26, -0.08, 2, 0) + MovementLoopAddLocation(NPC, -154.55, 1.26, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -156.07, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.89, 1.26, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -139.62, 1.63, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -138.45, 1.82, 0.53, 2, 0) + MovementLoopAddLocation(NPC, -138.33, 1.81, 0.86, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -137.75, 1.64, 1.39, 2, 0) + MovementLoopAddLocation(NPC, -144.21, 1.26, 0.60, 2, 0) + MovementLoopAddLocation(NPC, -146.17, 1.26, 0.56, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -145.28, 1.26, 0.43, 2, 0) + MovementLoopAddLocation(NPC, -154.11, 1.26, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -154.87, 1.26, -0.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -156.55, 1.36, 0.17, 2, 0) + MovementLoopAddLocation(NPC, -158.73, 1.26, 0.24, 2, 0) + MovementLoopAddLocation(NPC, -159.03, 1.26, 0.46, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.57, 1.26, 0.16, 2, 0) + MovementLoopAddLocation(NPC, -152.35, 1.58, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -147.10, 1.26, -0.08, 2, 0) + MovementLoopAddLocation(NPC, -142.59, 1.26, -0.33, 2, 0) + MovementLoopAddLocation(NPC, -143.35, 1.26, -0.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.42, 1.26, 0.02, 2, 0) + MovementLoopAddLocation(NPC, -135.83, 1.26, 0.22, 2, 0) + MovementLoopAddLocation(NPC, -133.90, 1.26, -0.24, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392052.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392052.lua new file mode 100755 index 000000000..7557172a5 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392052.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392052.lua + Script Purpose : Waypoint Path for ASewerSlime392052.lua + Script Author : Rylec + Script Date : 09-25-2019 07:03:02 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -131.03, 0.27, 217.17, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.80, 0.00, 216.22, 2, 0) + MovementLoopAddLocation(NPC, -140.16, 0.00, 217.83, 2, 0) + MovementLoopAddLocation(NPC, -139.32, 0.00, 217.98, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -142.02, 0.03, 215.85, 2, 0) + MovementLoopAddLocation(NPC, -142.01, 0.04, 215.79, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -137.68, 0.00, 216.69, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -142.13, 0.00, 216.84, 2, 0) + MovementLoopAddLocation(NPC, -142.12, 0.00, 216.82, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -139.52, 0.00, 216.49, 2, 0) + MovementLoopAddLocation(NPC, -134.60, 0.00, 216.73, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392053.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392053.lua new file mode 100755 index 000000000..0c14330d8 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392053.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392053.lua + Script Purpose : Waypoint Path for ASewerSlime392053.lua + Script Author : Rylec + Script Date : 09-25-2019 07:03:08 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -140.95, 0.09, 218.94, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -147.47, 0.00, 217.69, 2, 0) + MovementLoopAddLocation(NPC, -148.51, 0.24, 217.15, 2, 0) + MovementLoopAddLocation(NPC, -137.28, 0.00, 216.34, 2, 0) + MovementLoopAddLocation(NPC, -133.31, 0.00, 217.07, 2, 0) + MovementLoopAddLocation(NPC, -133.32, 0.00, 217.09, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -139.87, 0.00, 217.83, 2, 0) + MovementLoopAddLocation(NPC, -147.34, 0.04, 218.46, 2, 0) + MovementLoopAddLocation(NPC, -148.79, 0.24, 218.07, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -147.24, 0.00, 217.59, 2, 0) + MovementLoopAddLocation(NPC, -139.70, 0.00, 216.81, 2, 0) + MovementLoopAddLocation(NPC, -138.45, 0.00, 217.22, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -144.11, 0.04, 218.39, 2, 0) + MovementLoopAddLocation(NPC, -145.20, 0.27, 219.92, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.86, 0.09, 219.43, 2, 0) + MovementLoopAddLocation(NPC, -139.27, 0.01, 218.12, 2, 0) + MovementLoopAddLocation(NPC, -139.27, 0.02, 218.21, 2, 0) + MovementLoopAddLocation(NPC, -143.57, 0.00, 217.74, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -144.69, 0.01, 218.09, 2, 0) + MovementLoopAddLocation(NPC, -144.65, 0.01, 218.14, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -140.85, 0.08, 218.80, 2, 0) + MovementLoopAddLocation(NPC, -133.58, 0.26, 219.86, 2, 0) + MovementLoopAddLocation(NPC, -129.74, 0.48, 217.78, 2, 0) + MovementLoopAddLocation(NPC, -126.95, 0.00, 217.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -138.03, 0.01, 216.02, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392054.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392054.lua new file mode 100755 index 000000000..889dce4bc --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392054.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392054.lua + Script Purpose : Waypoint Path for ASewerSlime392054.lua + Script Author : Rylec + Script Date : 09-25-2019 07:03:11 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -147.55, 0.06, 218.59, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -141.85, 0.00, 217.12, 2, 0) + MovementLoopAddLocation(NPC, -138.02, 0.00, 217.22, 2, 0) + MovementLoopAddLocation(NPC, -137.99, 0.00, 217.34, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -144.01, 0.00, 218.03, 2, 0) + MovementLoopAddLocation(NPC, -144.99, 0.01, 218.14, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -145.12, 0.00, 217.57, 2, 0) + MovementLoopAddLocation(NPC, -144.89, 0.00, 217.16, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -137.88, 0.00, 216.74, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -138.13, 0.13, 214.45, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.70, 0.05, 215.64, 2, 0) + MovementLoopAddLocation(NPC, -142.84, 0.00, 216.86, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -134.90, 0.01, 218.09, 2, 0) + MovementLoopAddLocation(NPC, -130.86, 0.28, 217.27, 2, 0) + MovementLoopAddLocation(NPC, -133.59, 0.01, 216.03, 2, 0) + MovementLoopAddLocation(NPC, -133.58, 0.02, 215.94, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -133.93, 0.10, 213.73, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -134.65, 0.10, 215.07, 2, 0) + MovementLoopAddLocation(NPC, -145.74, 0.02, 218.21, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392057.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392057.lua new file mode 100755 index 000000000..1f47394a0 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392057.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392057.lua + Script Purpose : Waypoint Path for ASewerSlime392057.lua + Script Author : Rylec + Script Date : 09-25-2019 07:03:06 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -138.85, 0.00, 217.99, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -142.06, 0.03, 218.83, 2, 0) + MovementLoopAddLocation(NPC, -147.53, 0.01, 218.14, 2, 0) + MovementLoopAddLocation(NPC, -149.08, 0.24, 217.12, 2, 0) + MovementLoopAddLocation(NPC, -149.05, 0.24, 217.17, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -146.19, 0.00, 216.37, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -140.18, 0.02, 215.94, 2, 0) + MovementLoopAddLocation(NPC, -137.46, 0.08, 215.19, 2, 0) + MovementLoopAddLocation(NPC, -136.12, 0.12, 215.95, 2, 0) + MovementLoopAddLocation(NPC, -134.40, 0.00, 216.45, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -140.16, 0.00, 217.59, 2, 0) + MovementLoopAddLocation(NPC, -144.70, 0.00, 217.96, 2, 0) + MovementLoopAddLocation(NPC, -144.64, 0.00, 218.04, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.38, 0.18, 219.46, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -147.35, 0.01, 218.13, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.89, 0.03, 218.61, 2, 0) + MovementLoopAddLocation(NPC, -139.90, 0.05, 218.50, 2, 0) + MovementLoopAddLocation(NPC, -138.75, 0.00, 217.74, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.82, 0.02, 218.18, 2, 0) + MovementLoopAddLocation(NPC, -148.94, 0.36, 219.17, 2, math.random(10, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392061.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392061.lua new file mode 100755 index 000000000..35f526378 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392061.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : ASewerSlime392061.lua + Script Purpose : Waypoint Path for ASewerSlime392061.lua + Script Author : Rylec + Script Date : 09-12-2019 04:13:40 + Script Notes : Locations collected on Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -135.28, 1.26, -0.52, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -136.03, 1.26, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -153.81, 1.26, -0.01, 2, 0) + MovementLoopAddLocation(NPC, -157.29, 1.26, -0.66, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -155.37, 1.26, -0.20, 2, 0) + MovementLoopAddLocation(NPC, -153.93, 1.26, 0.08, 2, 0) + MovementLoopAddLocation(NPC, -153.06, 1.35, 1.34, 2, 0) + MovementLoopAddLocation(NPC, -152.16, 1.64, 1.02, 2, 0) + MovementLoopAddLocation(NPC, -152.38, 1.60, 0.58, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -149.86, 1.67, 1.00, 2, 0) + MovementLoopAddLocation(NPC, -146.82, 1.31, 1.50, 2, 0) + MovementLoopAddLocation(NPC, -144.58, 1.26, 0.64, 2, 0) + MovementLoopAddLocation(NPC, -141.66, 1.26, 0.13, 2, 0) + MovementLoopAddLocation(NPC, -142.09, 1.26, -0.46, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.02, 1.26, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -138.66, 1.82, 0.32, 2, 0) + MovementLoopAddLocation(NPC, -137.98, 1.70, -0.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -139.34, 1.66, -0.28, 2, 0) + MovementLoopAddLocation(NPC, -141.21, 1.26, 0.12, 2, 0) + MovementLoopAddLocation(NPC, -149.40, 1.62, -0.09, 2, 0) + MovementLoopAddLocation(NPC, -150.34, 1.81, 0.27, 2, 0) + MovementLoopAddLocation(NPC, -150.61, 2.12, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -151.78, 1.62, 0.27, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -152.47, 1.59, 0.81, 2, 0) + MovementLoopAddLocation(NPC, -158.00, 1.26, 0.79, 2, 0) + MovementLoopAddLocation(NPC, -160.24, 1.26, 0.99, 2, 0) + MovementLoopAddLocation(NPC, -162.84, 1.34, 0.80, 2, 0) + MovementLoopAddLocation(NPC, -162.43, 1.48, 0.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -160.80, 1.53, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -135.86, 1.26, 0.18, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392063.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392063.lua new file mode 100755 index 000000000..98d296c50 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392063.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392063.lua + Script Purpose : Waypoint Path for ASewerSlime392063.lua + Script Author : Rylec + Script Date : 09-25-2019 07:03:14 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -137.87, 0.01, 218.09, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -133.59, 0.00, 218.01, 2, 0) + MovementLoopAddLocation(NPC, -130.62, 0.29, 217.04, 2, 0) + MovementLoopAddLocation(NPC, -130.60, 0.29, 217.13, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -131.98, 0.19, 218.93, 2, 0) + MovementLoopAddLocation(NPC, -133.54, 0.22, 219.67, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -138.10, 0.08, 214.84, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.44, 0.27, 214.27, 2, 0) + MovementLoopAddLocation(NPC, -144.74, 0.34, 214.08, 2, 0) + MovementLoopAddLocation(NPC, -146.01, 0.09, 215.28, 2, 0) + MovementLoopAddLocation(NPC, -146.82, 0.00, 216.89, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -143.85, 0.00, 217.72, 2, 0) + MovementLoopAddLocation(NPC, -137.24, 0.08, 218.80, 2, 0) + MovementLoopAddLocation(NPC, -134.41, 0.00, 217.91, 2, 0) + MovementLoopAddLocation(NPC, -134.39, 0.00, 218.04, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -138.85, 0.02, 218.21, 2, 0) + MovementLoopAddLocation(NPC, -148.92, 0.24, 217.61, 2, 0) + MovementLoopAddLocation(NPC, -148.93, 0.24, 217.59, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -149.26, 0.30, 215.52, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -146.10, 0.00, 216.62, 2, 0) + MovementLoopAddLocation(NPC, -145.14, 0.00, 217.88, 2, 0) + MovementLoopAddLocation(NPC, -145.23, 0.00, 217.91, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -137.64, 0.01, 218.15, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392064.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392064.lua new file mode 100755 index 000000000..7d4de63b7 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392064.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : ASewerSlime392064.lua + Script Purpose : Waypoint Path for ASewerSlime392064.lua + Script Author : Rylec + Script Date : 09-12-2019 07:46:22 + Script Notes : Locations collected on Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -134.21, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -134.19, 1.26, -0.04, 2, 0) + MovementLoopAddLocation(NPC, -141.56, 1.26, 0.17, 2, 0) + MovementLoopAddLocation(NPC, -142.52, 1.26, 0.76, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.57, 1.26, 0.52, 2, 0) + MovementLoopAddLocation(NPC, -146.49, 1.26, 0.27, 2, 0) + MovementLoopAddLocation(NPC, -148.12, 1.26, -0.08, 2, 0) + MovementLoopAddLocation(NPC, -154.55, 1.26, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -156.07, 1.26, -0.36, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.89, 1.26, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -139.62, 1.63, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -138.45, 1.82, 0.53, 2, 0) + MovementLoopAddLocation(NPC, -138.33, 1.81, 0.86, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -137.75, 1.64, 1.39, 2, 0) + MovementLoopAddLocation(NPC, -144.21, 1.26, 0.60, 2, 0) + MovementLoopAddLocation(NPC, -146.17, 1.26, 0.56, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -145.28, 1.26, 0.43, 2, 0) + MovementLoopAddLocation(NPC, -154.11, 1.26, -0.05, 2, 0) + MovementLoopAddLocation(NPC, -154.87, 1.26, -0.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -156.55, 1.36, 0.17, 2, 0) + MovementLoopAddLocation(NPC, -158.73, 1.26, 0.24, 2, 0) + MovementLoopAddLocation(NPC, -159.03, 1.26, 0.46, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -153.57, 1.26, 0.16, 2, 0) + MovementLoopAddLocation(NPC, -152.35, 1.58, 0.03, 2, 0) + MovementLoopAddLocation(NPC, -147.10, 1.26, -0.08, 2, 0) + MovementLoopAddLocation(NPC, -142.59, 1.26, -0.33, 2, 0) + MovementLoopAddLocation(NPC, -143.35, 1.26, -0.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -141.42, 1.26, 0.02, 2, 0) + MovementLoopAddLocation(NPC, -135.83, 1.26, 0.22, 2, 0) + MovementLoopAddLocation(NPC, -133.90, 1.26, -0.24, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392083.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392083.lua new file mode 100755 index 000000000..6217ca733 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392083.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392083.lua + Script Purpose : Waypoint Path for ASewerSlime392083.lua + Script Author : Rylec + Script Date : 09-25-2019 07:02:43 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -124.29, 0.00, 219.89, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -116.81, 0.00, 220.38, 2, 0) + -- MovementLoopAddLocation(NPC, -113.84, 0.09, 220.71, 2, 0) + MovementLoopAddLocation(NPC, -113.77, 0.09, 220.64, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -114.24, 0.09, 221.06, 2, 0) + MovementLoopAddLocation(NPC, -119.25, 0.00, 221.58, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -121.14, 0.00, 220.16, 2, 0) + MovementLoopAddLocation(NPC, -123.69, 0.00, 218.04, 2, 0) + MovementLoopAddLocation(NPC, -124.44, 0.00, 216.58, 2, 0) + MovementLoopAddLocation(NPC, -124.43, 0.00, 216.56, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -120.10, 0.00, 218.21, 2, 0) + MovementLoopAddLocation(NPC, -113.86, 0.09, 220.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -115.87, 0.00, 216.26, 2, 0) + MovementLoopAddLocation(NPC, -116.58, 0.07, 215.48, 2, 0) + MovementLoopAddLocation(NPC, -116.61, 0.07, 215.50, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -117.05, 0.01, 216.11, 2, 0) + MovementLoopAddLocation(NPC, -120.65, 0.00, 219.13, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -119.86, 0.00, 218.67, 2, 0) + -- MovementLoopAddLocation(NPC, -119.91, 0.00, 218.76, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -118.56, 0.00, 218.47, 2, 0) + MovementLoopAddLocation(NPC, -118.52, 0.00, 218.50, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -118.83, 0.00, 220.00, 2, 0) + MovementLoopAddLocation(NPC, -121.31, 0.00, 221.40, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -122.08, 0.00, 219.31, 2, 0) + MovementLoopAddLocation(NPC, -122.36, 0.00, 216.59, 2, 0) + MovementLoopAddLocation(NPC, -122.37, 0.00, 216.58, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -123.70, 0.00, 219.24, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392089.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392089.lua new file mode 100755 index 000000000..bce2155a8 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392089.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392089.lua + Script Purpose : Waypoint Path for ASewerSlime392089.lua + Script Author : Rylec + Script Date : 09-25-2019 07:02:50 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -113.12, 0.08, 215.32, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -115.95, 0.00, 220.87, 2, 0) + MovementLoopAddLocation(NPC, -117.40, 0.02, 222.56, 2, 0) + MovementLoopAddLocation(NPC, -117.41, 0.02, 222.53, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.77, 0.00, 222.17, 2, 0) + MovementLoopAddLocation(NPC, -122.30, 0.00, 221.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.87, 0.00, 220.34, 2, 0) + MovementLoopAddLocation(NPC, -114.76, 0.00, 217.87, 2, 0) + MovementLoopAddLocation(NPC, -113.75, 0.00, 217.59, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -121.89, 0.00, 218.92, 2, 0) + MovementLoopAddLocation(NPC, -123.25, 0.00, 218.64, 2, 0) + MovementLoopAddLocation(NPC, -123.24, 0.00, 218.67, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -115.69, 0.00, 219.28, 2, 0) + MovementLoopAddLocation(NPC, -114.04, 0.01, 219.68, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -114.20, 0.00, 219.51, 2, 0) + MovementLoopAddLocation(NPC, -121.38, 0.00, 218.17, 2, 0) + MovementLoopAddLocation(NPC, -124.23, 0.00, 217.01, 2, 0) + MovementLoopAddLocation(NPC, -125.40, 0.00, 216.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -125.12, 0.00, 218.28, 2, 0) + MovementLoopAddLocation(NPC, -120.18, 0.15, 223.69, 2, 0) + MovementLoopAddLocation(NPC, -115.09, 0.11, 222.15, 2, 0) + MovementLoopAddLocation(NPC, -113.88, 0.01, 219.56, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392092.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392092.lua new file mode 100755 index 000000000..507445331 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392092.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392092.lua + Script Purpose : Waypoint Path for slime15004.lua + Script Author : Rylec + Script Date : 09-25-2019 07:02:54 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -115.82, 0.00, 217.73, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -120.40, 0.00, 219.99, 2, 0) + MovementLoopAddLocation(NPC, -122.54, 0.00, 221.63, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -123.75, 0.00, 218.40, 2, 0) + MovementLoopAddLocation(NPC, -123.59, 0.00, 216.84, 2, 0) + MovementLoopAddLocation(NPC, -123.53, 0.00, 216.87, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -124.46, 0.00, 216.34, 2, 0) + MovementLoopAddLocation(NPC, -125.04, 0.20, 214.67, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -126.97, 0.04, 215.82, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -120.83, 0.23, 214.51, 2, 0) + MovementLoopAddLocation(NPC, -115.65, 0.14, 214.97, 2, 0) + MovementLoopAddLocation(NPC, -113.89, 0.04, 215.76, 2, 0) + MovementLoopAddLocation(NPC, -113.91, 0.03, 215.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -116.03, 0.01, 216.05, 2, 0) + MovementLoopAddLocation(NPC, -122.32, 0.00, 219.49, 2, math.random(12, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392093.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392093.lua new file mode 100755 index 000000000..1df72b0f2 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392093.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392093.lua + Script Purpose : Waypoint Path for ASewerSlime392093.lua + Script Author : Rylec + Script Date : 09-25-2019 07:02:58 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -120.97, 0.17, 214.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -125.26, 0.05, 215.69, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -123.91, 0.00, 216.99, 2, 0) + MovementLoopAddLocation(NPC, -122.71, 0.00, 217.54, 2, 0) + MovementLoopAddLocation(NPC, -122.71, 0.00, 217.43, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -124.16, 0.00, 217.66, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -125.05, 0.00, 217.53, 2, 0) + MovementLoopAddLocation(NPC, -125.65, 0.00, 216.76, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -123.58, 0.00, 218.36, 2, 0) + MovementLoopAddLocation(NPC, -122.68, 0.00, 219.53, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -122.51, 0.00, 220.29, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -118.53, 0.00, 220.30, 2, 0) + MovementLoopAddLocation(NPC, -116.34, 0.00, 219.18, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -117.30, 0.00, 220.67, 2, 0) + MovementLoopAddLocation(NPC, -118.52, 0.00, 221.95, 2, 0) + MovementLoopAddLocation(NPC, -119.90, 0.09, 223.41, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.97, 0.00, 220.13, 2, 0) + MovementLoopAddLocation(NPC, -120.45, 0.03, 215.88, 2, 0) + MovementLoopAddLocation(NPC, -123.48, 0.00, 218.98, 2, 0) + MovementLoopAddLocation(NPC, -124.31, 0.00, 219.60, 2, 0) + MovementLoopAddLocation(NPC, -124.31, 0.00, 219.57, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -124.17, 0.00, 219.88, 2, 0) + -- MovementLoopAddLocation(NPC, -120.15, 0.00, 221.99, 2, 0) + MovementLoopAddLocation(NPC, -119.48, 0.00, 222.47, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -116.54, 0.00, 220.41, 2, 0) + MovementLoopAddLocation(NPC, -114.57, 0.00, 217.73, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -113.68, 0.00, 216.77, 2, 0) + MovementLoopAddLocation(NPC, -113.67, 0.00, 216.79, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -117.97, 0.00, 217.26, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392096.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392096.lua new file mode 100755 index 000000000..840057f98 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392096.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392096.lua + Script Purpose : Waypoint Path for ASewerSlime392096.lua + Script Author : Rylec + Script Date : 09-25-2019 07:02:47 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -121.97, 0.04, 222.64, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.16, 0.00, 222.32, 2, 0) + MovementLoopAddLocation(NPC, -117.94, 0.00, 221.87, 2, 0) + MovementLoopAddLocation(NPC, -117.96, 0.00, 221.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.29, 0.00, 221.59, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -122.38, 0.00, 219.57, 2, 0) + MovementLoopAddLocation(NPC, -124.23, 0.00, 217.57, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -120.93, 0.00, 218.48, 2, 0) + MovementLoopAddLocation(NPC, -120.98, 0.00, 218.53, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -123.37, 0.01, 221.34, 2, 0) + MovementLoopAddLocation(NPC, -124.83, 0.14, 221.53, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -124.84, 0.05, 220.46, 2, 0) + MovementLoopAddLocation(NPC, -125.27, 0.00, 219.17, 2, 0) + MovementLoopAddLocation(NPC, -125.24, 0.00, 219.17, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.76, 0.00, 217.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.65, 0.00, 218.58, 2, 0) + MovementLoopAddLocation(NPC, -118.78, 0.00, 221.29, 2, 0) + MovementLoopAddLocation(NPC, -117.70, 0.00, 222.32, 2, 0) + MovementLoopAddLocation(NPC, -117.79, 0.00, 222.34, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -119.79, 0.00, 216.67, 2, 0) + MovementLoopAddLocation(NPC, -120.44, 0.03, 215.92, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -114.99, 0.00, 218.63, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -122.33, 0.00, 218.70, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -122.49, 0.00, 221.14, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392138.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392138.lua new file mode 100755 index 000000000..51c0e060d --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392138.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392138.lua + Script Purpose : Waypoint Path for ASewerSlime392138.lua + Script Author : Rylec + Script Date : 09-23-2019 08:52:32 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -99.01, 0.00, 216.82, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -102.43, 0.00, 217.09, 2, 0) + MovementLoopAddLocation(NPC, -102.46, 0.00, 217.22, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -91.41, 0.03, 215.85, 2, 0) + MovementLoopAddLocation(NPC, -80.22, 0.00, 216.15, 2, 0) + MovementLoopAddLocation(NPC, -80.25, 0.02, 215.96, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -86.62, 0.00, 216.53, 2, 0) + MovementLoopAddLocation(NPC, -90.90, 0.00, 217.57, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -91.62, 0.08, 218.85, 2, 0) + MovementLoopAddLocation(NPC, -91.72, 0.11, 219.08, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -84.15, 0.00, 217.41, 2, 0) + MovementLoopAddLocation(NPC, -81.09, 0.00, 217.09, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -78.79, 0.03, 217.00, 2, 0) + MovementLoopAddLocation(NPC, -78.71, 0.04, 216.77, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -82.57, 0.00, 216.31, 2, 0) + MovementLoopAddLocation(NPC, -88.23, 0.03, 215.88, 2, 0) + MovementLoopAddLocation(NPC, -90.30, 0.06, 215.15, 2, 0) + MovementLoopAddLocation(NPC, -93.65, 0.02, 215.93, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -91.60, 0.01, 216.11, 2, 0) + MovementLoopAddLocation(NPC, -85.40, 0.00, 216.43, 2, 0) + MovementLoopAddLocation(NPC, -84.31, 0.02, 215.96, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -99.23, 0.00, 216.23, 2, 0) + MovementLoopAddLocation(NPC, -101.59, 0.00, 216.63, 2, 0) + MovementLoopAddLocation(NPC, -92.09, 0.00, 217.90, 2, 0) + MovementLoopAddLocation(NPC, -90.93, 0.07, 218.71, 2, 0) + MovementLoopAddLocation(NPC, -90.81, 0.08, 218.86, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -92.57, 0.00, 218.02, 2, 0) + MovementLoopAddLocation(NPC, -98.06, 0.00, 217.64, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392139.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392139.lua new file mode 100755 index 000000000..d3e43c3e3 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392139.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392139.lua + Script Purpose : Waypoint Path for ASewerSlime392139.lua + Script Author : Rylec + Script Date : 09-23-2019 08:52:35 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -102.63, 0.14, 214.94, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -100.07, 0.04, 215.74, 2, 0) + MovementLoopAddLocation(NPC, -96.90, 0.00, 216.23, 2, 0) + -- MovementLoopAddLocation(NPC, -92.89, 0.01, 218.08, 2, 0) + MovementLoopAddLocation(NPC, -92.94, 0.03, 218.29, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -97.41, 0.00, 217.54, 2, 0) + MovementLoopAddLocation(NPC, -98.38, 0.00, 217.21, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -96.01, 0.00, 216.58, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -99.69, 0.00, 217.47, 2, 0) + MovementLoopAddLocation(NPC, -95.82, 0.00, 217.86, 2, 0) + MovementLoopAddLocation(NPC, -91.48, 0.00, 217.80, 2, 0) + -- MovementLoopAddLocation(NPC, -90.07, 0.00, 216.66, 2, 0) + MovementLoopAddLocation(NPC, -89.75, 0.00, 216.63, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -92.72, 0.00, 216.79, 2, 0) + MovementLoopAddLocation(NPC, -95.25, 0.04, 215.79, 2, 0) + MovementLoopAddLocation(NPC, -101.46, 0.00, 216.80, 2, 0) + MovementLoopAddLocation(NPC, -94.63, 0.00, 217.55, 2, 0) + MovementLoopAddLocation(NPC, -88.41, 0.00, 217.99, 2, 0) + MovementLoopAddLocation(NPC, -84.00, 0.00, 217.44, 2, 0) + MovementLoopAddLocation(NPC, -82.87, 0.00, 217.57, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -86.53, 0.00, 217.30, 2, 0) + MovementLoopAddLocation(NPC, -90.93, 0.00, 216.51, 2, 0) + MovementLoopAddLocation(NPC, -97.56, 0.00, 217.04, 2, 0) + MovementLoopAddLocation(NPC, -97.54, 0.00, 216.93, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -95.65, 0.00, 216.16, 2, 0) + MovementLoopAddLocation(NPC, -98.51, 0.02, 215.93, 2, 0) + MovementLoopAddLocation(NPC, -102.14, 0.01, 216.13, 2, 0) + MovementLoopAddLocation(NPC, -103.52, 0.00, 217.04, 2, 0) + MovementLoopAddLocation(NPC, -101.16, 0.00, 217.30, 2, math.random(10, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392141.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392141.lua new file mode 100755 index 000000000..6f10159a7 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392141.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392141.lua + Script Purpose : Waypoint Path for ASewerSlime392141.lua + Script Author : Rylec + Script Date : 09-23-2019 08:52:38 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -86.66, 0.00, 216.43, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -91.76, 0.00, 217.10, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -94.97, 0.00, 217.51, 2, 0) + MovementLoopAddLocation(NPC, -99.00, 0.00, 217.71, 2, 0) + MovementLoopAddLocation(NPC, -100.69, 0.02, 218.24, 2, 0) + MovementLoopAddLocation(NPC, -104.02, 0.00, 217.26, 2, 0) + -- MovementLoopAddLocation(NPC, -100.40, 0.00, 216.85, 2, 0) + MovementLoopAddLocation(NPC, -100.33, 0.00, 217.02, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -88.16, 0.00, 217.07, 2, 0) + MovementLoopAddLocation(NPC, -88.18, 0.00, 217.33, 2, math.random(10, 22)) + -- MovementLoopAddLocation(NPC, -89.63, 0.00, 216.16, 2, 0) + MovementLoopAddLocation(NPC, -89.82, 0.00, 216.14, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -92.71, 0.00, 216.50, 2, 0) + MovementLoopAddLocation(NPC, -93.91, 0.00, 217.57, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -91.04, 0.26, 219.89, 2, 0) + MovementLoopAddLocation(NPC, -89.38, 0.25, 219.84, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -87.15, 0.00, 217.94, 2, 0) + MovementLoopAddLocation(NPC, -82.51, 0.00, 216.51, 2, 0) + MovementLoopAddLocation(NPC, -80.11, 0.00, 216.93, 2, 0) + MovementLoopAddLocation(NPC, -80.16, 0.00, 217.01, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -85.87, 0.00, 217.46, 2, 0) + MovementLoopAddLocation(NPC, -91.24, 0.00, 217.43, 2, 0) + MovementLoopAddLocation(NPC, -95.32, 0.02, 218.20, 2, 0) + MovementLoopAddLocation(NPC, -91.22, 0.03, 218.31, 2, 0) + MovementLoopAddLocation(NPC, -85.45, 0.00, 217.69, 2, 0) + MovementLoopAddLocation(NPC, -81.68, 0.00, 217.84, 2, 0) + MovementLoopAddLocation(NPC, -80.05, 0.00, 217.14, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -84.75, 0.03, 215.86, 2, 0) + MovementLoopAddLocation(NPC, -87.32, 0.33, 215.72, 2, 0) + MovementLoopAddLocation(NPC, -90.07, 0.11, 214.64, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -92.69, 0.08, 215.32, 2, 0) + -- MovementLoopAddLocation(NPC, -94.51, 0.00, 216.78, 2, 0) + MovementLoopAddLocation(NPC, -94.33, 0.00, 216.85, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -87.47, 0.00, 217.81, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -85.60, 0.00, 217.54, 2, 0) + MovementLoopAddLocation(NPC, -85.01, 0.00, 217.20, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -87.86, 0.00, 217.23, 2, 0) + MovementLoopAddLocation(NPC, -89.66, 0.03, 218.27, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -91.75, 0.10, 219.02, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -95.51, 0.00, 217.46, 2, 0) + MovementLoopAddLocation(NPC, -103.62, 0.00, 216.91, 2, 0) + MovementLoopAddLocation(NPC, -101.46, 0.00, 216.55, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392142.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392142.lua new file mode 100755 index 000000000..588fadcc1 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392142.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392142.lua + Script Purpose : Waypoint Path for ASewerSlime392142.lua + Script Author : Rylec + Script Date : 09-23-2019 08:52:46 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -79.57, 0.02, 217.12, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -91.14, 0.00, 216.45, 2, 0) + MovementLoopAddLocation(NPC, -97.85, 0.41, 215.69, 2, 0) + MovementLoopAddLocation(NPC, -102.16, 0.00, 216.77, 2, 0) + MovementLoopAddLocation(NPC, -99.00, 0.00, 217.04, 2, 0) + MovementLoopAddLocation(NPC, -99.01, 0.00, 217.06, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -95.53, 0.00, 216.18, 2, 0) + MovementLoopAddLocation(NPC, -91.00, 0.25, 214.39, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -87.78, 0.01, 216.09, 2, 0) + MovementLoopAddLocation(NPC, -82.82, 0.10, 219.05, 2, 0) + MovementLoopAddLocation(NPC, -82.89, 0.12, 219.11, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -83.74, 0.00, 217.89, 2, 0) + MovementLoopAddLocation(NPC, -87.86, 0.00, 217.50, 2, 0) + MovementLoopAddLocation(NPC, -90.49, 0.00, 216.21, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -92.47, 0.00, 216.56, 2, 0) + MovementLoopAddLocation(NPC, -92.56, 0.00, 216.34, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -86.16, 0.00, 217.61, 2, 0) + MovementLoopAddLocation(NPC, -81.93, 0.06, 219.16, 2, 0) + MovementLoopAddLocation(NPC, -80.74, 0.19, 219.51, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392145.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392145.lua new file mode 100755 index 000000000..f0b830f22 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392145.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392145.lua + Script Purpose : Waypoint Path for ASewerSlime392145.lua + Script Author : Rylec + Script Date : 09-23-2019 08:52:40 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -82.19, 0.09, 215.25, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -85.27, 0.00, 216.30, 2, 0) + MovementLoopAddLocation(NPC, -88.69, 0.00, 217.04, 2, 0) + MovementLoopAddLocation(NPC, -88.65, 0.00, 216.94, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -86.21, 0.00, 217.50, 2, 0) + MovementLoopAddLocation(NPC, -90.41, 0.00, 217.99, 2, 0) + MovementLoopAddLocation(NPC, -102.21, 0.00, 216.75, 2, 0) + MovementLoopAddLocation(NPC, -96.94, 0.00, 216.34, 2, 0) + MovementLoopAddLocation(NPC, -95.29, 0.03, 215.89, 2, 0) + -- MovementLoopAddLocation(NPC, -79.37, 0.02, 217.68, 2, 0) + MovementLoopAddLocation(NPC, -79.35, 0.02, 217.86, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -84.79, 0.00, 218.04, 2, 0) + MovementLoopAddLocation(NPC, -87.24, 0.00, 217.32, 2, 0) + MovementLoopAddLocation(NPC, -96.79, 0.00, 216.88, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -100.30, 0.00, 217.79, 2, 0) + MovementLoopAddLocation(NPC, -101.45, 0.14, 219.22, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -98.47, 0.00, 217.71, 2, 0) + MovementLoopAddLocation(NPC, -93.19, 0.01, 218.08, 2, 0) + MovementLoopAddLocation(NPC, -89.13, 0.07, 218.80, 2, 0) + MovementLoopAddLocation(NPC, -84.57, 0.00, 217.23, 2, 0) + MovementLoopAddLocation(NPC, -83.10, 0.00, 216.86, 2, 0) + MovementLoopAddLocation(NPC, -83.09, 0.00, 217.05, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -77.92, 0.02, 216.14, 2, 0) + -- MovementLoopAddLocation(NPC, -77.92, 0.02, 215.95, 2, math.random(10, 22)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/ASewerSlime392151.lua b/Lua/SpawnScripts/ThievesWay/ASewerSlime392151.lua new file mode 100755 index 000000000..6f0b29364 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/ASewerSlime392151.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/ASewerSlime392151.lua + Script Purpose : Waypoint Path for ASewerSlime392151.lua + Script Author : Rylec + Script Date : 09-23-2019 08:52:43 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -92.46, 0.00, 217.81, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -89.34, 0.00, 217.53, 2, 0) + MovementLoopAddLocation(NPC, -82.04, 0.02, 218.42, 2, 0) + MovementLoopAddLocation(NPC, -81.09, 0.11, 219.08, 2, 0) + MovementLoopAddLocation(NPC, -81.07, 0.09, 218.99, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -78.51, 0.04, 216.89, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -84.67, 0.00, 216.34, 2, 0) + MovementLoopAddLocation(NPC, -89.49, 0.03, 215.91, 2, 0) + MovementLoopAddLocation(NPC, -91.28, 0.00, 216.40, 2, 0) + MovementLoopAddLocation(NPC, -101.38, 0.00, 217.44, 2, 0) + MovementLoopAddLocation(NPC, -91.46, 0.00, 216.53, 2, 0) + MovementLoopAddLocation(NPC, -85.93, 0.01, 216.03, 2, 0) + MovementLoopAddLocation(NPC, -84.78, 0.00, 217.23, 2, 0) + MovementLoopAddLocation(NPC, -84.82, 0.00, 217.40, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -82.53, 0.04, 215.79, 2, 0) + MovementLoopAddLocation(NPC, -81.84, 0.05, 215.68, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -86.02, 0.01, 216.09, 2, 0) + MovementLoopAddLocation(NPC, -88.45, 0.05, 215.63, 2, 0) + MovementLoopAddLocation(NPC, -92.35, 0.27, 214.27, 2, 0) + MovementLoopAddLocation(NPC, -94.79, 0.15, 214.91, 2, 0) + MovementLoopAddLocation(NPC, -99.14, 0.00, 217.09, 2, 0) + MovementLoopAddLocation(NPC, -97.98, 0.00, 217.55, 2, 0) + MovementLoopAddLocation(NPC, -97.13, 0.00, 216.98, 2, 0) + MovementLoopAddLocation(NPC, -97.23, 0.00, 216.76, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -97.97, 0.00, 217.33, 2, math.random(10, 22)) + MovementLoopAddLocation(NPC, -94.78, 0.04, 215.71, 2, math.random(10, 22)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1540072.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1540072.lua new file mode 100755 index 000000000..7321424ba --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1540072.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1540072.lua + Script Author : Rylec + Script Date : 2019.09.14 05:09:40 + Script Purpose : + : +--]] + +function spawn(NPC) + +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586512.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586512.lua new file mode 100755 index 000000000..a615ff44c --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586512.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586512.lua + Script Purpose : Waypoint Path for adiseasedratonga1586512.lua + Script Author : Rylec + Script Date : 09-15-2019 05:30:34 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -177.34, 1.32, 35.55, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -179.37, 1.22, 30.50, 2, math.random(10, 20)) + -- MovementLoopAddLocation(NPC, -179.26, 1.22, 29.03, 2, 0) + MovementLoopAddLocation(NPC, -178.44, 1.22, 25.42, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -176.53, 1.22, 33.33, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -180.08, 1.22, 36.54, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -176.33, 1.23, 33.35, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -174.83, 1.22, 29.16, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -178.46, 1.24, 36.38, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -176.17, 1.22, 30.22, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -174.86, 1.22, 28.52, 2, math.random(10, 20)) + -- MovementLoopAddLocation(NPC, -176.34, 1.29, 34.20, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -175.43, 1.25, 32.73, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -179.15, 1.22, 30.77, 2, math.random(10, 20)) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586513.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586513.lua new file mode 100755 index 000000000..0a9f817d4 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586513.lua @@ -0,0 +1,85 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586513.lua + Script Purpose : Waypoint Path for adiseasedratonga1586513.lua + Script Author : Rylec + Script Date : 09-13-2019 06:34:48 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -168.25, 1.34, 1.01, 2, math.random(12, 22)) + -- MovementLoopAddLocation(NPC, -168.52, 1.34, 0.87, 2, 0) + -- MovementLoopAddLocation(NPC, -172.16, 1.58, 0.83, 2, 0) + -- MovementLoopAddLocation(NPC, -174.17, 1.26, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -175.93, 1.26, 2.05, 2, 0) + -- MovementLoopAddLocation(NPC, -178.06, 1.26, 3.08, 2, 0) + -- MovementLoopAddLocation(NPC, -179.07, 1.26, 3.56, 2, 0) + -- MovementLoopAddLocation(NPC, -179.07, 1.26, 3.57, 2, 0) + MovementLoopAddLocation(NPC, -179.00, 1.26, 5.96, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.10, 1.62, 9.60, 2, 0, "changegrid_Going_Down") + -- MovementLoopAddLocation(NPC, -178.90, 1.62, 12.18, 2, 0) + -- MovementLoopAddLocation(NPC, -178.42, 1.95, 14.07, 2, 0) + MovementLoopAddLocation(NPC, -178.33, 1.79, 14.98, 2, 0) + -- MovementLoopAddLocation(NPC, -179.14, 1.22, 16.78, 2, 0) + -- MovementLoopAddLocation(NPC, -179.11, 1.22, 16.75, 2, math.random(3, 5)) + -- MovementLoopAddLocation(NPC, -178.63, 1.49, 16.06, 2, 0) + -- MovementLoopAddLocation(NPC, -178.45, 1.96, 14.30, 2, 0) + -- MovementLoopAddLocation(NPC, -179.28, 1.33, 13.37, 2, 0) + -- MovementLoopAddLocation(NPC, -179.93, 1.22, 14.95, 2, 0) + -- MovementLoopAddLocation(NPC, -180.06, 1.22, 15.55, 2, 0) + -- MovementLoopAddLocation(NPC, -180.06, 1.22, 15.60, 2, 0) + MovementLoopAddLocation(NPC, -180.07, 1.22, 17.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.05, 1.22, 17.69, 2, math.random(12, 22)) + -- MovementLoopAddLocation(NPC, -179.85, 1.78, 11.40, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.93, 1.86, 8.27, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.20, 1.70, 6.73, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.08, 1.26, 4.40, 2, math.random(8, 15)) + MovementLoopAddLocation(NPC, -178.12, 1.94, 7.46, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.64, 1.68, 11.74, 2, 0) + MovementLoopAddLocation(NPC, -179.82, 1.22, 14.11, 2, math.random(12, 22)) + -- MovementLoopAddLocation(NPC, -179.87, 1.67, 10.34, 2, 0) + -- MovementLoopAddLocation(NPC, -179.94, 1.84, 7.98, 2, 0) + MovementLoopAddLocation(NPC, -179.63, 1.26, 4.81, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -179.73, 1.84, 7.82, 2, 0, "changegrid_Going_Down") + -- MovementLoopAddLocation(NPC, -179.88, 1.82, 11.10, 2, 0) + MovementLoopAddLocation(NPC, -180.05, 1.22, 15.45, 2, 0) + -- MovementLoopAddLocation(NPC, -180.00, 1.22, 16.68, 2, 0) + -- MovementLoopAddLocation(NPC, -180.01, 1.22, 16.64, 2, 0) + MovementLoopAddLocation(NPC, -179.82, 1.22, 16.02, 2, math.random(12, 22)) + -- MovementLoopAddLocation(NPC, -179.11, 1.26, 14.90, 2, 0) + -- MovementLoopAddLocation(NPC, -178.99, 1.75, 10.59, 2, 0) + -- MovementLoopAddLocation(NPC, -177.94, 1.97, 7.89, 2, 0) + MovementLoopAddLocation(NPC, -177.23, 2.04, 7.02, 2, 0, "changegrid_Going_Up") + -- MovementLoopAddLocation(NPC, -176.37, 1.38, 4.91, 2, 0) + MovementLoopAddLocation(NPC, -175.70, 1.33, 3.72, 2, 0) + -- MovementLoopAddLocation(NPC, -173.42, 1.27, 1.41, 2, 0) + -- MovementLoopAddLocation(NPC, -172.49, 1.61, 1.10, 2, 0) + -- MovementLoopAddLocation(NPC, -172.43, 1.58, -0.75, 2, 0) + -- MovementLoopAddLocation(NPC, -173.83, 1.26, -0.32, 2, 0) + -- MovementLoopAddLocation(NPC, -175.01, 1.26, 1.06, 2, 0) + -- MovementLoopAddLocation(NPC, -174.98, 1.26, 1.38, 2, 0) + -- MovementLoopAddLocation(NPC, -173.50, 1.26, 1.36, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586517.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586517.lua new file mode 100755 index 000000000..956f31fe8 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586517.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586517.lua + Script Purpose : Waypoint Path for adiseasedratonga1586517.lua + Script Author : Rylec + Script Date : 09-22-2019 07:08:58 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -154.77, 1.34, 60.94, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -151.12, 1.34, 60.75, 2, 0) + MovementLoopAddLocation(NPC, -151.29, 1.34, 60.83, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -154.14, 1.34, 61.90, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -156.26, 1.34, 61.44, 2, 0) + MovementLoopAddLocation(NPC, -158.89, 1.58, 60.81, 2, 0) + MovementLoopAddLocation(NPC, -161.13, 1.22, 60.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -153.57, 1.34, 60.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -162.34, 1.22, 62.86, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -160.56, 1.22, 60.94, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -151.32, 1.34, 62.87, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.26, 1.34, 61.07, 2, 0) + MovementLoopAddLocation(NPC, -158.80, 1.58, 60.85, 2, math.random(12, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586518.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586518.lua new file mode 100755 index 000000000..a2decbf84 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586518.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586518.lua + Script Purpose : Waypoint Path for adiseasedratonga1586518.lua + Script Author : Rylec + Script Date : 09-22-2019 07:09:04 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -175.61, 1.27, 58.18, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -174.18, 1.30, 58.88, 2, 0) + MovementLoopAddLocation(NPC, -172.81, 1.88, 59.25, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -169.95, 1.22, 60.40, 2, 0) + MovementLoopAddLocation(NPC, -169.24, 1.22, 61.21, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -172.24, 1.78, 60.50, 2, 0) + MovementLoopAddLocation(NPC, -173.74, 1.31, 59.90, 2, math.random(10, 20), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -176.78, 1.33, 56.23, 2, 0) + MovementLoopAddLocation(NPC, -176.90, 2.01, 53.16, 2, 0) + MovementLoopAddLocation(NPC, -178.89, 1.34, 50.01, 2, 0) + -- MovementLoopAddLocation(NPC, -178.86, 1.34, 45.04, 2, 0) + MovementLoopAddLocation(NPC, -178.80, 1.23, 54.19, 2, 0) + MovementLoopAddLocation(NPC, -178.05, 1.22, 56.49, 2, 0) + MovementLoopAddLocation(NPC, -178.05, 1.22, 56.49, 2, 0) + MovementLoopAddLocation(NPC, -177.82, 1.22, 56.63, 2, math.random(10, 20)) + -- MovementLoopAddLocation(NPC, -177.24, 1.24, 56.89, 2, 0) + MovementLoopAddLocation(NPC, -172.38, 1.78, 60.93, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.97, 1.22, 61.04, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.02, 1.30, 59.36, 2, 0) + MovementLoopAddLocation(NPC, -179.05, 1.29, 59.18, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -176.27, 1.22, 59.97, 2, 0) + MovementLoopAddLocation(NPC, -172.55, 1.80, 60.02, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -170.31, 1.22, 61.61, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -172.34, 1.78, 60.34, 2, 0) + MovementLoopAddLocation(NPC, -180.22, 1.22, 55.52, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -180.23, 1.22, 55.35, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -179.15, 1.34, 48.15, 2, 0) + MovementLoopAddLocation(NPC, -178.58, 1.64, 52.81, 2, 0) + MovementLoopAddLocation(NPC, -177.28, 1.30, 56.05, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586522.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586522.lua new file mode 100755 index 000000000..bb6678c76 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586522.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586522.lua + Script Purpose : Waypoint Path for adiseasedratonga1586522.lua + Script Author : Rylec + Script Date : 09-27-2019 05:45:27 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -151.38, 0.05, 215.65, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -152.17, 0.00, 217.02, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -153.26, 0.00, 217.16, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -158.91, 0.24, 217.70, 2, 0) + MovementLoopAddLocation(NPC, -161.18, 0.00, 217.18, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -156.78, 0.01, 218.08, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -160.39, 0.00, 217.20, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -164.62, 0.00, 217.55, 2, 0) + MovementLoopAddLocation(NPC, -152.51, 0.01, 218.10, 2, 0) + MovementLoopAddLocation(NPC, -152.45, 0.00, 218.01, 2, math.random(10, 20)) + MovementLoopAddLocation(NPC, -151.22, 0.00, 217.07, 2, math.random(10, 20)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586524.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586524.lua new file mode 100755 index 000000000..9d83a8b0a --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586524.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586524.lua + Script Purpose : Waypoint Path for adiseasedratonga1586524.lua + Script Author : Rylec + Script Date : 09-28-2019 10:45:39 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.64, 0.24, 209.08, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -180.60, 0.01, 211.85, 2, math.random(12, 22), "changegrid_Going_Up") + -- MovementLoopAddLocation(NPC, -180.04, 0.06, 211.97, 2, 0) + MovementLoopAddLocation(NPC, -177.65, 0.05, 214.45, 2, 0) + MovementLoopAddLocation(NPC, -175.89, 0.00, 217.77, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.48, 0.07, 213.42, 2, 0) + MovementLoopAddLocation(NPC, -180.32, 0.06, 211.35, 2, 0) + MovementLoopAddLocation(NPC, -182.41, 0.00, 205.14, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.09, 0.00, 206.11, 2, 0) + MovementLoopAddLocation(NPC, -181.20, 0.00, 210.79, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.67, 0.02, 216.76, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.42, 0.07, 215.11, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -175.53, 0.00, 216.78, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.59, 0.03, 211.31, 2, 0) + MovementLoopAddLocation(NPC, -182.30, 0.00, 205.45, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.49, 0.00, 200.92, 2, 0) + MovementLoopAddLocation(NPC, -181.94, 0.00, 205.92, 2, 0) + MovementLoopAddLocation(NPC, -179.11, 0.12, 212.13, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -172.89, 0.00, 217.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -174.62, 0.00, 216.96, 2, 0) + MovementLoopAddLocation(NPC, -180.32, 0.05, 211.56, 2, 0) + MovementLoopAddLocation(NPC, -182.41, 0.00, 206.13, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.68, 0.00, 216.44, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.62, 0.00, 216.46, 2, math.random(12, 22)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586525.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586525.lua new file mode 100755 index 000000000..81bb82733 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586525.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586525.lua + Script Purpose : Waypoint Path for adiseasedratonga1586525.lua + Script Author : Rylec + Script Date : 09-28-2019 10:45:44 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.44, 0.00, 215.77, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.43, 0.25, 209.34, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.49, 0.29, 203.10, 2, 0) + MovementLoopAddLocation(NPC, -181.53, 0.27, 203.10, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.50, 0.00, 205.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.48, 0.04, 214.62, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.71, 0.00, 214.63, 2, 0) + MovementLoopAddLocation(NPC, -180.72, 0.00, 214.60, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.65, 0.00, 208.01, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.64, 0.24, 209.03, 2, 0) + MovementLoopAddLocation(NPC, -176.40, 0.10, 214.71, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -169.54, 0.00, 216.88, 2, 0) + MovementLoopAddLocation(NPC, -175.84, 0.08, 215.09, 2, 0) + MovementLoopAddLocation(NPC, -182.60, 0.00, 210.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.85, 0.03, 214.05, 2, 0, "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586526.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586526.lua new file mode 100755 index 000000000..c5f9a8533 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586526.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586526.lua + Script Purpose : Waypoint Path for adiseasedratonga1586526.lua + Script Author : Rylec + Script Date : 09-28-2019 10:45:51 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.58, 0.04, 212.90, 2, math.random(12, 22)) + -- MovementLoopAddLocation(NPC, -182.49, 0.00, 212.00, 2, 0) + MovementLoopAddLocation(NPC, -182.40, 0.00, 212.08, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.75, 0.00, 214.75, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.92, 0.00, 207.88, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.53, 0.24, 199.33, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.47, 0.00, 201.23, 2, 0) + MovementLoopAddLocation(NPC, -182.38, 0.00, 201.26, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.52, 0.00, 213.99, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.72, 0.03, 215.77, 2, 0) + MovementLoopAddLocation(NPC, -180.81, 0.03, 215.79, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -173.96, 0.00, 217.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.90, 0.00, 214.18, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586527.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586527.lua new file mode 100755 index 000000000..053f012c9 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586527.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586527.lua + Script Purpose : Waypoint Path for adiseasedratonga1586527.lua + Script Author : Rylec + Script Date : 10-05-2019 09:22:56 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.30, 0.00, 184.75, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -183.02, 0.39, 186.92, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.17, 0.00, 194.50, 2, 0) + MovementLoopAddLocation(NPC, -183.14, 0.10, 193.88, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.04, 0.00, 183.84, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -183.18, 0.00, 194.97, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.17, 0.00, 194.93, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.27, 0.00, 192.04, 2, 0) + MovementLoopAddLocation(NPC, -182.23, 0.00, 195.62, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.13, 0.27, 186.16, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.15, 0.25, 189.00, 2, 0) + MovementLoopAddLocation(NPC, -182.15, 0.26, 188.98, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.19, 0.29, 186.44, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.07, 0.48, 187.24, 2, 0) + MovementLoopAddLocation(NPC, -183.28, 0.10, 193.95, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586528.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586528.lua new file mode 100755 index 000000000..da3ac723a --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586528.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586528.lua + Script Purpose : Waypoint Path for adiseasedratonga1586528.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:49 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -150.22, -0.56, 164.83, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.91, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -152.91, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -145.88, -1.94, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -133.07, -1.68, 182.28, 2, 0) + MovementLoopAddLocation(NPC, -133.77, -1.69, 184.01, 2, 0) + MovementLoopAddLocation(NPC, -134.11, -0.83, 188.09, 2, 0) + MovementLoopAddLocation(NPC, -138.33, -0.56, 190.75, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -131.95, -0.56, 165.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -135.34, -0.56, 174.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -128.53, -0.56, 186.28, 2, 0) + MovementLoopAddLocation(NPC, -128.21, -0.56, 190.41, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.53, -0.56, 186.28, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -136.79, -0.56, 173.52, 2, 0) + MovementLoopAddLocation(NPC, -142.38, -0.56, 171.05, 2, 0) + MovementLoopAddLocation(NPC, -145.78, -1.94, 170.58, 2, 0) + MovementLoopAddLocation(NPC, -147.48, -1.20, 165.81, 2, 0) + MovementLoopAddLocation(NPC, -148.47, -0.82, 165.05, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586532.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586532.lua new file mode 100755 index 000000000..6d058f928 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586532.lua @@ -0,0 +1,73 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586532.lua + Script Purpose : Waypoint Path for adiseasedratonga1586532.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:02 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -132.58, -0.56, 170.64, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.89, -0.56, 165.92, 2, 0) + MovementLoopAddLocation(NPC, -142.16, -0.56, 165.98, 2, 0) + MovementLoopAddLocation(NPC, -147.02, -0.49, 162.21, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -138.23, -0.56, 173.19, 2, 0) + MovementLoopAddLocation(NPC, -136.29, -0.56, 174.60, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -145.42, -0.56, 177.94, 2, 0) + MovementLoopAddLocation(NPC, -148.41, -0.56, 176.30, 2, 0) + MovementLoopAddLocation(NPC, -153.24, -0.56, 170.13, 2, 0) + MovementLoopAddLocation(NPC, -155.27, -0.56, 164.88, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -153.01, -0.56, 168.32, 2, 0) + MovementLoopAddLocation(NPC, -152.74, -1.57, 171.89, 2, 0) + MovementLoopAddLocation(NPC, -150.52, -0.64, 175.97, 2, 0) + MovementLoopAddLocation(NPC, -148.18, -0.56, 176.29, 2, 0) + MovementLoopAddLocation(NPC, -142.78, -0.56, 180.73, 2, 0) + MovementLoopAddLocation(NPC, -138.19, -0.61, 186.53, 2, 0) + MovementLoopAddLocation(NPC, -135.05, -0.74, 190.72, 2, 0) + MovementLoopAddLocation(NPC, -135.11, -0.74, 190.71, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -137.83, -0.69, 188.15, 2, 0) + MovementLoopAddLocation(NPC, -138.58, -0.56, 186.33, 2, 0) + MovementLoopAddLocation(NPC, -143.16, -1.94, 184.02, 2, 0) + MovementLoopAddLocation(NPC, -145.75, -0.56, 179.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -141.84, -0.56, 174.78, 2, 0) + MovementLoopAddLocation(NPC, -136.18, -0.56, 173.00, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -143.90, -0.58, 176.86, 2, 0) + MovementLoopAddLocation(NPC, -147.41, -0.56, 176.81, 2, 0) + MovementLoopAddLocation(NPC, -148.43, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -152.41, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -153.91, -0.56, 178.62, 2, 0) + MovementLoopAddLocation(NPC, -153.94, -0.56, 178.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -153.76, -0.56, 177.78, 2, 0) + MovementLoopAddLocation(NPC, -151.84, -0.64, 176.06, 2, 0) + MovementLoopAddLocation(NPC, -148.35, -0.56, 176.39, 2, 0) + MovementLoopAddLocation(NPC, -147.23, -0.56, 176.96, 2, 0) + MovementLoopAddLocation(NPC, -143.81, -0.58, 176.83, 2, 0) + MovementLoopAddLocation(NPC, -138.45, -0.56, 173.24, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + -- MovementLoopAddLocation(NPC, -133.33, -0.56, 171.13, 2, 4) + -- MovementLoopAddLocation(NPC, -138.60, -0.57, 165.83, 2, 0) + -- MovementLoopAddLocation(NPC, -144.27, -1.78, 164.86, 2, 0) + -- MovementLoopAddLocation(NPC, -146.87, -0.54, 162.50, 2, 0) + -- MovementLoopAddLocation(NPC, -142.60, -0.60, 171.15, 2, 0) + -- MovementLoopAddLocation(NPC, -135.91, -0.56, 174.55, 2, 4) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586533.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586533.lua new file mode 100755 index 000000000..e32195628 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586533.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586533.lua + Script Purpose : Waypoint Path for adiseasedratonga1586533.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:08 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -126.41, -0.46, 162.08, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -127.96, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -144.55, -0.56, 177.44, 2, 0) + MovementLoopAddLocation(NPC, -148.39, -0.56, 187.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.85, -0.56, 176.42, 2, 0) + MovementLoopAddLocation(NPC, -139.38, -0.56, 173.26, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -127.99, -0.56, 170.77, 2, 0) + MovementLoopAddLocation(NPC, -128.14, -0.56, 168.18, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -125.45, -0.56, 171.55, 2, 0) + MovementLoopAddLocation(NPC, -128.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -141.17, -0.56, 173.69, 2, 0) + MovementLoopAddLocation(NPC, -141.14, -0.56, 173.69, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.80, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.77, -0.57, 175.97, 2, 0) + MovementLoopAddLocation(NPC, -128.05, -0.56, 176.10, 2, 0) + MovementLoopAddLocation(NPC, -132.77, -0.57, 175.97, 2, 0) + MovementLoopAddLocation(NPC, -134.80, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -141.04, -0.56, 175.46, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -127.94, -0.56, 170.93, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586534.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586534.lua new file mode 100755 index 000000000..7a6298745 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586534.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586534.lua + Script Purpose : Waypoint Path for adiseasedratonga1586534.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:02 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -132.58, -0.56, 170.64, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.89, -0.56, 165.92, 2, 0) + MovementLoopAddLocation(NPC, -142.16, -0.56, 165.98, 2, 0) + MovementLoopAddLocation(NPC, -147.02, -0.49, 162.21, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -138.23, -0.56, 173.19, 2, 0) + MovementLoopAddLocation(NPC, -136.29, -0.56, 174.60, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -145.42, -0.56, 177.94, 2, 0) + MovementLoopAddLocation(NPC, -148.41, -0.56, 176.30, 2, 0) + MovementLoopAddLocation(NPC, -153.24, -0.56, 170.13, 2, 0) + MovementLoopAddLocation(NPC, -155.27, -0.56, 164.88, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -153.01, -0.56, 168.32, 2, 0) + MovementLoopAddLocation(NPC, -152.74, -1.57, 171.89, 2, 0) + MovementLoopAddLocation(NPC, -150.52, -0.64, 175.97, 2, 0) + MovementLoopAddLocation(NPC, -148.18, -0.56, 176.29, 2, 0) + MovementLoopAddLocation(NPC, -142.78, -0.56, 180.73, 2, 0) + MovementLoopAddLocation(NPC, -138.19, -0.61, 186.53, 2, 0) + MovementLoopAddLocation(NPC, -135.05, -0.74, 190.72, 2, 0) + MovementLoopAddLocation(NPC, -135.11, -0.74, 190.71, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -137.83, -0.69, 188.15, 2, 0) + MovementLoopAddLocation(NPC, -138.58, -0.56, 186.33, 2, 0) + MovementLoopAddLocation(NPC, -143.16, -1.94, 184.02, 2, 0) + MovementLoopAddLocation(NPC, -145.75, -0.56, 179.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -141.84, -0.56, 174.78, 2, 0) + MovementLoopAddLocation(NPC, -136.18, -0.56, 173.00, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -143.90, -0.58, 176.86, 2, 0) + MovementLoopAddLocation(NPC, -147.41, -0.56, 176.81, 2, 0) + MovementLoopAddLocation(NPC, -148.43, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -152.41, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -153.91, -0.56, 178.62, 2, 0) + MovementLoopAddLocation(NPC, -153.94, -0.56, 178.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -153.76, -0.56, 177.78, 2, 0) + MovementLoopAddLocation(NPC, -151.84, -0.64, 176.06, 2, 0) + MovementLoopAddLocation(NPC, -148.35, -0.56, 176.39, 2, 0) + MovementLoopAddLocation(NPC, -147.23, -0.56, 176.96, 2, 0) + MovementLoopAddLocation(NPC, -143.81, -0.58, 176.83, 2, 0) + MovementLoopAddLocation(NPC, -138.45, -0.56, 173.24, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586535.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586535.lua new file mode 100755 index 000000000..e62b75e1d --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586535.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586535.lua + Script Purpose : Waypoint Path for adiseasedratonga1586535.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:49 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -136.04, -0.92, 189.42, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.61, 176.43, 2, 0) + MovementLoopAddLocation(NPC, -141.79, -0.56, 171.99, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -144.15, -0.56, 179.82, 2, 0) + MovementLoopAddLocation(NPC, -143.86, -0.63, 186.48, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 191.10, 2, 0) + MovementLoopAddLocation(NPC, -139.80, -0.56, 191.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 190.91, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.61, 176.43, 2, 0) + MovementLoopAddLocation(NPC, -135.02, -0.56, 172.90, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.77, -0.61, 176.13, 2, 0) + MovementLoopAddLocation(NPC, -146.93, -0.69, 180.35, 2, 0) + MovementLoopAddLocation(NPC, -153.17, -1.42, 185.39, 2, 0) + MovementLoopAddLocation(NPC, -153.06, -0.56, 189.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -153.23, -0.64, 186.28, 2, 0) + MovementLoopAddLocation(NPC, -143.08, -0.70, 176.11, 2, 0) + MovementLoopAddLocation(NPC, -140.85, -0.56, 175.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -128.36, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -126.84, -0.56, 177.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -127.86, -0.56, 179.96, 2, 0) + MovementLoopAddLocation(NPC, -128.09, -1.77, 182.08, 2, 0) + MovementLoopAddLocation(NPC, -132.70, -0.55, 186.58, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586547.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586547.lua new file mode 100755 index 000000000..eb9cdb2e2 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586547.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586547.lua + Script Purpose : Waypoint Path for adiseasedratonga1586547.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:56 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -132.43, -0.56, 192.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -143.84, -0.56, 179.30, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -138.60, -0.56, 175.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 187.41, 2, 0) + MovementLoopAddLocation(NPC, -133.11, -0.56, 192.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.49, -0.56, 186.35, 2, 0) + MovementLoopAddLocation(NPC, -142.31, -0.62, 181.02, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.05, -0.64, 186.99, 2, 0) + MovementLoopAddLocation(NPC, -137.97, -0.56, 191.28, 2, 0) + MovementLoopAddLocation(NPC, -142.78, -0.56, 191.05, 2, 0) + MovementLoopAddLocation(NPC, -145.59, -0.56, 189.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -136.30, -1.54, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -130.63, -0.76, 181.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -145.98, -0.56, 192.04, 2, math.random(12, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586587.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586587.lua new file mode 100755 index 000000000..7d6d8fa91 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586587.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586587.lua + Script Purpose : Waypoint Path for adiseasedratonga1586587.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:59 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -132.78, -0.65, 180.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -125.92, -0.56, 175.36, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -136.95, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 180.97, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.88, 2, 0) + MovementLoopAddLocation(NPC, -145.32, -0.53, 162.42, 2, 0) + MovementLoopAddLocation(NPC, -147.24, -0.32, 161.40, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -145.87, -1.94, 167.76, 2, 0) + MovementLoopAddLocation(NPC, -143.37, -0.74, 180.55, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.68, -0.56, 177.33, 2, 0) + MovementLoopAddLocation(NPC, -148.04, -1.12, 171.50, 2, 0) + MovementLoopAddLocation(NPC, -147.89, -0.87, 166.42, 2, 0) + MovementLoopAddLocation(NPC, -148.59, -0.68, 165.33, 2, 0) + MovementLoopAddLocation(NPC, -148.56, -0.68, 165.37, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.12, -0.74, 165.97, 2, 0) + MovementLoopAddLocation(NPC, -147.98, -1.68, 172.58, 2, 0) + MovementLoopAddLocation(NPC, -147.15, -1.81, 174.59, 2, 0) + MovementLoopAddLocation(NPC, -146.96, -0.56, 177.24, 2, 0) + MovementLoopAddLocation(NPC, -143.65, -0.78, 186.93, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.10, -0.56, 190.96, 2, 0) + MovementLoopAddLocation(NPC, -151.08, -0.56, 191.10, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.49, -0.56, 191.15, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -128.10, -0.56, 178.06, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -132.18, -0.91, 181.20, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.79, -1.64, 183.86, 2, 0) + MovementLoopAddLocation(NPC, -136.39, -0.77, 190.48, 2, math.random(12, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586594.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586594.lua new file mode 100755 index 000000000..44d2b5400 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586594.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586594.lua + Script Purpose : Waypoint Path for adiseasedratonga1586594.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:40 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -132.43, -0.56, 192.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -143.84, -0.56, 179.30, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -138.60, -0.56, 175.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 187.41, 2, 0) + MovementLoopAddLocation(NPC, -133.11, -0.56, 192.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.49, -0.56, 186.35, 2, 0) + MovementLoopAddLocation(NPC, -142.31, -0.62, 181.02, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.05, -0.64, 186.99, 2, 0) + MovementLoopAddLocation(NPC, -137.97, -0.56, 191.28, 2, 0) + MovementLoopAddLocation(NPC, -142.78, -0.56, 191.05, 2, 0) + MovementLoopAddLocation(NPC, -145.59, -0.56, 189.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -136.30, -1.54, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -130.63, -0.76, 181.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -145.98, -0.56, 192.04, 2, math.random(12, 22)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586595.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586595.lua new file mode 100755 index 000000000..4a96810fc --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586595.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586595.lua + Script Purpose : Waypoint Path for adiseasedratonga1586595.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:36 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -136.04, -0.92, 189.42, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.61, 176.43, 2, 0) + MovementLoopAddLocation(NPC, -141.79, -0.56, 171.99, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -144.15, -0.56, 179.82, 2, 0) + MovementLoopAddLocation(NPC, -143.86, -0.63, 186.48, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 191.10, 2, 0) + MovementLoopAddLocation(NPC, -139.80, -0.56, 191.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 190.91, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.61, 176.43, 2, 0) + MovementLoopAddLocation(NPC, -135.02, -0.56, 172.90, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.77, -0.61, 176.13, 2, 0) + MovementLoopAddLocation(NPC, -146.93, -0.69, 180.35, 2, 0) + MovementLoopAddLocation(NPC, -153.17, -1.42, 185.39, 2, 0) + MovementLoopAddLocation(NPC, -153.06, -0.56, 189.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -153.23, -0.64, 186.28, 2, 0) + MovementLoopAddLocation(NPC, -143.08, -0.70, 176.11, 2, 0) + MovementLoopAddLocation(NPC, -140.85, -0.56, 175.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -128.36, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -126.84, -0.56, 177.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -127.86, -0.56, 179.96, 2, 0) + MovementLoopAddLocation(NPC, -128.09, -1.77, 182.08, 2, 0) + MovementLoopAddLocation(NPC, -132.70, -0.55, 186.58, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586596.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586596.lua new file mode 100755 index 000000000..a95d94ac0 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586596.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586596.lua + Script Purpose : Waypoint Path for adiseasedratonga1586596.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:46 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -147.67, -0.56, 188.26, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -147.96, -0.85, 167.19, 2, 0) + MovementLoopAddLocation(NPC, -148.57, -0.56, 166.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.56, -0.79, 163.10, 2, 0) + MovementLoopAddLocation(NPC, -139.79, -0.56, 163.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.53, -0.74, 163.01, 2, 0) + MovementLoopAddLocation(NPC, -149.74, -0.56, 165.59, 2, 0) + MovementLoopAddLocation(NPC, -153.01, -0.56, 166.04, 2, 0) + MovementLoopAddLocation(NPC, -154.25, -0.56, 169.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -150.73, -0.76, 175.81, 2, 0) + MovementLoopAddLocation(NPC, -148.31, -0.56, 176.30, 2, 0) + MovementLoopAddLocation(NPC, -143.27, -0.70, 180.93, 2, 0) + MovementLoopAddLocation(NPC, -140.56, -0.64, 181.01, 2, 0) + MovementLoopAddLocation(NPC, -136.61, -0.86, 189.83, 2, 0) + MovementLoopAddLocation(NPC, -134.18, -0.70, 190.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -133.01, -0.57, 186.43, 2, 0) + MovementLoopAddLocation(NPC, -131.49, -0.57, 186.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -137.47, -0.56, 173.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -150.39, -0.82, 171.23, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -137.02, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -127.09, -0.56, 170.23, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -133.47, -0.81, 185.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -145.33, -0.56, 179.57, 2, math.random(12, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586597.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586597.lua new file mode 100755 index 000000000..53fd05178 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586597.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586597.lua + Script Purpose : Waypoint Path for adiseasedratonga1586597.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:50 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -143.70, -0.56, 192.24, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.92, -0.56, 177.18, 2, 0) + MovementLoopAddLocation(NPC, -136.88, -0.56, 172.45, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -127.79, -0.56, 178.52, 2, 0) + MovementLoopAddLocation(NPC, -127.70, -0.56, 178.47, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -126.51, -0.56, 171.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -137.21, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -148.74, -0.73, 164.67, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -145.91, -1.94, 170.04, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -128.99, -0.59, 185.98, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.70, -0.56, 186.17, 2, 0) + MovementLoopAddLocation(NPC, -140.33, -0.56, 192.04, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586598.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586598.lua new file mode 100755 index 000000000..6eee5eeab --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586598.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586598.lua + Script Purpose : Waypoint Path for adiseasedratonga1586598.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:52 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -143.77, -0.56, 191.35, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.94, -0.68, 180.45, 2, 0) + MovementLoopAddLocation(NPC, -143.03, -0.58, 176.41, 2, 0) + MovementLoopAddLocation(NPC, -135.42, -0.56, 173.69, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.77, -0.68, 175.98, 2, 0) + MovementLoopAddLocation(NPC, -147.30, -0.67, 180.55, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.43, -0.56, 187.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.26, -0.90, 171.15, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -135.70, -0.55, 162.53, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -141.56, -0.56, 164.14, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 180.15, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.21, -1.00, 185.42, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586599.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586599.lua new file mode 100755 index 000000000..b5908d629 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586599.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586599.lua + Script Purpose : Waypoint Path for adiseasedratonga1586599.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:50 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -143.70, -0.56, 192.24, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.92, -0.56, 177.18, 2, 0) + MovementLoopAddLocation(NPC, -136.88, -0.56, 172.45, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -127.79, -0.56, 178.52, 2, 0) + MovementLoopAddLocation(NPC, -127.70, -0.56, 178.47, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -126.51, -0.56, 171.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -137.21, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -148.74, -0.73, 164.67, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -145.91, -1.94, 170.04, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -128.99, -0.59, 185.98, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.70, -0.56, 186.17, 2, 0) + MovementLoopAddLocation(NPC, -140.33, -0.56, 192.04, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586600.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586600.lua new file mode 100755 index 000000000..2a275e6ad --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586600.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586600.lua + Script Purpose : Waypoint Path for adiseasedratonga1586600.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:46 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -147.67, -0.56, 188.26, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -147.96, -0.85, 167.19, 2, 0) + MovementLoopAddLocation(NPC, -148.57, -0.56, 166.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.56, -0.79, 163.10, 2, 0) + MovementLoopAddLocation(NPC, -139.79, -0.56, 163.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.53, -0.74, 163.01, 2, 0) + MovementLoopAddLocation(NPC, -149.74, -0.56, 165.59, 2, 0) + MovementLoopAddLocation(NPC, -153.01, -0.56, 166.04, 2, 0) + MovementLoopAddLocation(NPC, -154.25, -0.56, 169.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -150.73, -0.76, 175.81, 2, 0) + MovementLoopAddLocation(NPC, -148.31, -0.56, 176.30, 2, 0) + MovementLoopAddLocation(NPC, -143.27, -0.70, 180.93, 2, 0) + MovementLoopAddLocation(NPC, -140.56, -0.64, 181.01, 2, 0) + MovementLoopAddLocation(NPC, -136.61, -0.86, 189.83, 2, 0) + MovementLoopAddLocation(NPC, -134.18, -0.70, 190.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -133.01, -0.57, 186.43, 2, 0) + MovementLoopAddLocation(NPC, -131.49, -0.57, 186.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -137.47, -0.56, 173.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -150.39, -0.82, 171.23, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -137.02, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -127.09, -0.56, 170.23, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -133.47, -0.81, 185.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -145.33, -0.56, 179.57, 2, math.random(12, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586601.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586601.lua new file mode 100755 index 000000000..49c3d56dd --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586601.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586601.lua + Script Purpose : Waypoint Path for adiseasedratonga1586601.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:58 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -148.41, -0.56, 179.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 166.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 190.91, 2, 0) + MovementLoopAddLocation(NPC, -128.08, -0.56, 191.93, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -126.70, -0.63, 180.05, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -140.64, -0.56, 172.48, 2, 0) + MovementLoopAddLocation(NPC, -148.61, -0.56, 166.48, 2, 0) + MovementLoopAddLocation(NPC, -152.03, -0.56, 164.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.43, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -148.43, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -143.46, -0.80, 180.99, 2, 0) + MovementLoopAddLocation(NPC, -139.45, -0.56, 186.03, 2, math.random(12, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586602.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586602.lua new file mode 100755 index 000000000..95ef1fbf5 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586602.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586602.lua + Script Purpose : Waypoint Path for adiseasedratonga1586602.lua + Script Author : Rylec + Script Date : 10-06-2019 09:47:03 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -143.31, -0.56, 180.22, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -141.17, -0.56, 165.99, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -137.70, -0.61, 171.26, 2, 0) + MovementLoopAddLocation(NPC, -132.91, -0.59, 176.30, 2, 0) + MovementLoopAddLocation(NPC, -133.28, -0.81, 185.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -141.05, -0.56, 186.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.95, -0.56, 177.76, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -130.15, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -126.77, -0.56, 173.32, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -141.58, -0.56, 174.22, 2, 0) + MovementLoopAddLocation(NPC, -147.74, -0.56, 178.55, 2, math.random(12, 22)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586603.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586603.lua new file mode 100755 index 000000000..fea711f71 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586603.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586603.lua + Script Purpose : Waypoint Path for adiseasedratonga1586603.lua + Script Author : Rylec + Script Date : 10-06-2019 09:47:05 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -147.63, -0.83, 181.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -139.02, -0.56, 175.86, 2, 0) + MovementLoopAddLocation(NPC, -139.04, -0.56, 175.82, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.77, -0.56, 165.71, 2, 0) + MovementLoopAddLocation(NPC, -152.47, -0.56, 165.78, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.49, -0.60, 165.87, 2, 0) + MovementLoopAddLocation(NPC, -142.89, -0.92, 171.91, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -128.77, -0.64, 175.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.55, -1.16, 176.10, 2, 0) + MovementLoopAddLocation(NPC, -141.56, -0.72, 185.66, 2, 0) + MovementLoopAddLocation(NPC, -145.25, -0.56, 187.06, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.04, -0.80, 185.67, 2, 0) + MovementLoopAddLocation(NPC, -137.79, -1.94, 181.95, 2, 0) + MovementLoopAddLocation(NPC, -137.78, -0.84, 177.59, 2, 0) + MovementLoopAddLocation(NPC, -134.75, -0.56, 174.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -141.11, -0.56, 175.31, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586604.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586604.lua new file mode 100755 index 000000000..8539d7f7c --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586604.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586604.lua + Script Purpose : Waypoint Path for adiseasedratonga1586604.lua + Script Author : Rylec + Script Date : 10-06-2019 09:47:03 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -143.31, -0.56, 180.22, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -141.17, -0.56, 165.99, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -137.70, -0.61, 171.26, 2, 0) + MovementLoopAddLocation(NPC, -132.91, -0.59, 176.30, 2, 0) + MovementLoopAddLocation(NPC, -133.28, -0.81, 185.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -141.05, -0.56, 186.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.95, -0.56, 177.76, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -130.15, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -126.77, -0.56, 173.32, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -141.58, -0.56, 174.22, 2, 0) + MovementLoopAddLocation(NPC, -147.74, -0.56, 178.55, 2, math.random(12, 22)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586605.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586605.lua new file mode 100755 index 000000000..ee64b7210 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga1586605.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga1586605.lua + Script Purpose : Waypoint Path for adiseasedratonga1586605.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:58 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -148.41, -0.56, 179.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 166.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 190.91, 2, 0) + MovementLoopAddLocation(NPC, -128.08, -0.56, 191.93, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -126.70, -0.63, 180.05, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -140.64, -0.56, 172.48, 2, 0) + MovementLoopAddLocation(NPC, -148.61, -0.56, 166.48, 2, 0) + MovementLoopAddLocation(NPC, -152.03, -0.56, 164.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.43, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -148.43, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -143.46, -0.80, 180.99, 2, 0) + MovementLoopAddLocation(NPC, -139.45, -0.56, 186.03, 2, math.random(12, 22)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391865.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391865.lua new file mode 100755 index 000000000..bd574569a --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391865.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391865.lua + Script Purpose : Waypoint Path for adiseasedratonga391865.lua + Script Author : Rylec + Script Date : 10-17-2019 03:27:16 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.57, 0.24, 160.47, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.14, 0.00, 162.44, 2, 0) + MovementLoopAddLocation(NPC, -184.14, 0.30, 170.58, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.56, 0.24, 170.44, 2, 0) + MovementLoopAddLocation(NPC, -182.56, 0.24, 170.43, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.09, 0.00, 166.25, 2, 0) + MovementLoopAddLocation(NPC, -182.58, 0.00, 158.75, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.06, 0.00, 162.09, 2, 0) + MovementLoopAddLocation(NPC, -179.71, 0.17, 172.33, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.11, 0.17, 169.26, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.43, 0.01, 166.47, 2, 0) + MovementLoopAddLocation(NPC, -181.67, 0.00, 156.26, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.52, 0.00, 159.01, 2, 0) + MovementLoopAddLocation(NPC, -181.57, 0.24, 160.71, 2, 0) + MovementLoopAddLocation(NPC, -182.00, 0.00, 162.08, 2, 0) + MovementLoopAddLocation(NPC, -182.04, 0.00, 168.03, 2, 0) + MovementLoopAddLocation(NPC, -181.51, 0.00, 169.27, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.89, 0.00, 168.50, 2, 0) + MovementLoopAddLocation(NPC, -181.52, 0.00, 166.49, 2, 0) + MovementLoopAddLocation(NPC, -181.53, 0.00, 166.48, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.58, 0.00, 164.54, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.80, 0.00, 161.79, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391866.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391866.lua new file mode 100755 index 000000000..0ba415f7b --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391866.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391866.lua + Script Purpose : Waypoint Path for adiseasedratonga391866.lua + Script Author : Rylec + Script Date : 10-17-2019 03:27:18 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.62, 0.00, 172.24, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.56, 0.00, 172.37, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.81, 0.00, 168.56, 2, 0, "changegrid_Going_Down") + --MovementLoopAddLocation(NPC, -182.55, 0.00, 163.43, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.76, 0.00, 166.90, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.14, 0.00, 160.65, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.58, 0.00, 156.53, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.65, 0.03, 164.56, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.79, 0.07, 163.40, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.88, 0.00, 164.50, 2, 0) + MovementLoopAddLocation(NPC, -183.17, 0.24, 170.63, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.74, 0.00, 167.47, 2, 0) + MovementLoopAddLocation(NPC, -183.05, 0.24, 160.55, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.12, 0.00, 163.64, 2, 0) + MovementLoopAddLocation(NPC, -182.07, 0.24, 170.61, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391867.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391867.lua new file mode 100755 index 000000000..2f5fb0fdf --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391867.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391867.lua + Script Purpose : Waypoint Path for adiseasedratonga391867.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:39 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.66, 0.00, 200.62, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.82, 0.09, 201.88, 2, 0) + MovementLoopAddLocation(NPC, -181.98, 0.00, 206.02, 2, 0) + MovementLoopAddLocation(NPC, -180.46, 0.36, 209.14, 2, 0) + MovementLoopAddLocation(NPC, -179.62, 0.08, 212.02, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.73, 0.00, 216.79, 2, 0) + MovementLoopAddLocation(NPC, -174.68, 0.00, 216.77, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -171.79, 0.00, 217.51, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -174.79, 0.06, 215.57, 2, 0) + MovementLoopAddLocation(NPC, -180.20, 0.10, 210.66, 2, 0) + MovementLoopAddLocation(NPC, -181.10, 0.04, 207.39, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.44, 0.00, 204.25, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.71, 0.00, 216.51, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.64, 0.00, 216.51, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.35, 0.24, 209.32, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -180.15, 0.07, 211.58, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -179.63, 0.00, 213.52, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.14, 0.00, 207.81, 2, 0, "changegrid_Going_Down") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391869.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391869.lua new file mode 100755 index 000000000..0fae4d520 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391869.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391869.lua + Script Purpose : Waypoint Path for adiseasedratonga391869.lua + Script Author : Rylec + Script Date : 10-05-2019 09:22:32 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.24, 0.27, 186.08, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.28, 0.25, 188.99, 2, 0) + MovementLoopAddLocation(NPC, -183.23, 0.00, 195.64, 2, 0) + MovementLoopAddLocation(NPC, -183.25, 0.00, 195.63, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.84, 0.48, 187.42, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.75, 0.27, 188.65, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.04, 0.00, 195.52, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.31, 0.00, 195.79, 2, 0) + MovementLoopAddLocation(NPC, -182.35, 0.00, 195.73, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.16, 0.00, 183.17, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -183.10, 0.00, 196.62, 2, math.random(12, 22), "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391870.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391870.lua new file mode 100755 index 000000000..063591487 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391870.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391870.lua + Script Purpose : Waypoint Path for adiseasedratonga391870.lua + Script Author : Rylec + Script Date : 10-17-2019 04:43:12 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.32, 0.00, 119.62, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.80, 0.00, 112.18, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.10, 0.00, 119.15, 2, 0) + MovementLoopAddLocation(NPC, -182.94, 0.00, 126.29, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.23, 0.00, 124.97, 2, 0) + MovementLoopAddLocation(NPC, -181.55, 0.00, 119.12, 2, 0) + MovementLoopAddLocation(NPC, -182.87, 0.00, 111.23, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.45, 0.01, 108.63, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.23, 0.00, 122.05, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.73, 0.00, 126.59, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.64, 0.24, 117.11, 2, 0) + MovementLoopAddLocation(NPC, -182.34, 0.00, 111.92, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.93, 0.00, 121.43, 2, 0) + MovementLoopAddLocation(NPC, -182.28, 0.00, 123.02, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.01, 0.00, 120.46, 2, 0) + MovementLoopAddLocation(NPC, -182.55, 0.24, 117.20, 2, math.random(12, 22)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391871.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391871.lua new file mode 100755 index 000000000..f336bac5f --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391871.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391871.lua + Script Purpose : Waypoint Path for adiseasedratonga391871.lua + Script Author : Rylec + Script Date : 10-17-2019 04:40:45 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.37, 0.01, 113.79, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.83, 0.00, 114.09, 2, 0) + MovementLoopAddLocation(NPC, -182.35, 0.24, 117.18, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.91, 0.05, 126.53, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.32, 0.00, 119.51, 2, 0) + MovementLoopAddLocation(NPC, -182.21, 0.24, 116.95, 2, math.random(12, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391877.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391877.lua new file mode 100755 index 000000000..cc5348016 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391877.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391877.lua + Script Purpose : Waypoint Path for adiseasedratonga391877.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:43 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.72, 0.08, 207.53, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -177.97, 0.06, 214.06, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -170.40, 0.00, 217.80, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -169.11, 0.00, 216.51, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -175.36, 0.00, 217.77, 2, 0) + MovementLoopAddLocation(NPC, -175.35, 0.00, 217.67, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -175.94, 0.00, 216.22, 2, 0) + MovementLoopAddLocation(NPC, -177.37, 0.03, 214.98, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.42, 0.04, 213.10, 2, 0) + MovementLoopAddLocation(NPC, -182.42, 0.04, 213.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.68, 0.26, 209.30, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -174.86, 0.00, 217.60, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.54, 0.08, 213.82, 2, math.random(12, 22)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391883.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391883.lua new file mode 100755 index 000000000..5137561a5 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391883.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391883.lua + Script Purpose : Waypoint Path for adiseasedratonga391883.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:33 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.02, 0.00, 133.19, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.22, 0.00, 134.23, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.21, 0.00, 135.73, 2, 0) + MovementLoopAddLocation(NPC, -181.00, 0.00, 136.93, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.66, 0.03, 142.39, 2, 0) + MovementLoopAddLocation(NPC, -184.13, 0.07, 138.23, 2, 0) + MovementLoopAddLocation(NPC, -182.19, 0.00, 134.33, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.05, 0.00, 141.31, 2, 0) + MovementLoopAddLocation(NPC, -179.02, 0.00, 143.00, 2, 0) + MovementLoopAddLocation(NPC, -177.23, 0.00, 137.52, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.19, 0.00, 140.26, 2, 0) + MovementLoopAddLocation(NPC, -179.53, 0.00, 142.47, 2, 0) + MovementLoopAddLocation(NPC, -180.87, 0.00, 144.97, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.59, 0.00, 144.27, 2, 0) + MovementLoopAddLocation(NPC, -179.92, 0.00, 142.19, 2, 0) + MovementLoopAddLocation(NPC, -177.23, 0.00, 138.20, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.91, 0.00, 137.02, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.60, 0.00, 132.11, 2, math.random(12, 22)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391884.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391884.lua new file mode 100755 index 000000000..aeb05815f --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391884.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391884.lua + Script Purpose : Waypoint Path for adiseasedratonga391884.lua + Script Author : Rylec + Script Date : 09-17-2019 08:04:59 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -176.50, 1.34, 22.65, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.30, 1.22, 23.50, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.64, 1.28, 27.68, 2, 0) + MovementLoopAddLocation(NPC, -181.61, 1.28, 27.67, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -174.95, 1.22, 26.38, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -176.34, 1.22, 28.32, 2, 0) + MovementLoopAddLocation(NPC, -180.49, 1.22, 32.44, 2, 0) + MovementLoopAddLocation(NPC, -180.43, 1.22, 32.62, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -177.46, 1.22, 32.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.38, 1.22, 34.49, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.51, 1.22, 25.60, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.30, 1.22, 28.29, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -176.55, 1.22, 26.57, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.60, 1.22, 36.18, 2, math.random(12, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391886.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391886.lua new file mode 100755 index 000000000..11ecf8132 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391886.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391886.lua + Script Purpose : Waypoint Path for adiseasedratonga391886.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:38 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.17, 0.00, 141.20, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.97, 0.00, 139.98, 2, 0) + MovementLoopAddLocation(NPC, -178.20, 0.00, 136.27, 2, 0) + MovementLoopAddLocation(NPC, -178.09, 0.00, 135.33, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.18, 0.00, 141.94, 2, 0) + MovementLoopAddLocation(NPC, -178.62, 0.00, 142.81, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.20, 0.00, 140.38, 2, 0) + MovementLoopAddLocation(NPC, -183.65, 0.03, 134.52, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -177.45, 0.05, 135.05, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -183.02, 0.00, 139.88, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.64, 0.00, 143.81, 2, 0) + MovementLoopAddLocation(NPC, -181.40, 0.00, 145.93, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -181.80, 0.00, 141.30, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.51, 0.00, 136.46, 2, 0) + MovementLoopAddLocation(NPC, -180.98, 0.00, 132.18, 2, math.random(12, 22)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391888.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391888.lua new file mode 100755 index 000000000..ea4b464fd --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391888.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391888.lua + Script Purpose : Waypoint Path for adiseasedratonga391888.lua + Script Author : Rylec + Script Date : 09-13-2019 05:00:36 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.99, 1.22, 14.69, 2, math.random(12, 22)) + -- MovementLoopAddLocation(NPC, -179.98, 1.22, 13.90, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.06, 1.62, 12.88, 2, 0) + MovementLoopAddLocation(NPC, -179.00, 1.68, 11.73, 2, 0) + MovementLoopAddLocation(NPC, -179.00, 1.62, 9.64, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.16, 1.93, 7.92, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.01, 1.27, 5.56, 2, 0) + MovementLoopAddLocation(NPC, -175.86, 1.26, 1.91, 2, 0) + -- MovementLoopAddLocation(NPC, -175.03, 1.26, 0.49, 2, 0) + MovementLoopAddLocation(NPC, -175.60, 1.26, 1.86, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -176.05, 1.34, 4.23, 2, 0) + MovementLoopAddLocation(NPC, -176.99, 1.41, 5.81, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -177.27, 2.10, 7.87, 2, 0) + MovementLoopAddLocation(NPC, -179.21, 1.63, 10.06, 2, 0) + MovementLoopAddLocation(NPC, -179.51, 1.73, 11.56, 2, 0) + MovementLoopAddLocation(NPC, -180.15, 1.22, 13.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.80, 1.79, 11.36, 2, 0) + MovementLoopAddLocation(NPC, -178.86, 1.66, 10.29, 2, 0) + MovementLoopAddLocation(NPC, -177.71, 2.01, 7.94, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.67, 1.50, 6.29, 2, 0) + MovementLoopAddLocation(NPC, -174.71, 1.38, 3.23, 2, 0) + MovementLoopAddLocation(NPC, -173.05, 1.75, 2.77, 2, 0) + MovementLoopAddLocation(NPC, -170.91, 1.63, 1.56, 2, math.random(3, 8)) + -- MovementLoopAddLocation(NPC, -169.57, 1.34, 0.71, 2, math.random(8, 15)) + MovementLoopAddLocation(NPC, -171.15, 1.58, 0.54, 2, 0) + MovementLoopAddLocation(NPC, -174.06, 1.26, 1.09, 2, 0) + MovementLoopAddLocation(NPC, -175.47, 1.26, 2.29, 2, 0) + MovementLoopAddLocation(NPC, -176.80, 1.26, 3.58, 2, 0) + MovementLoopAddLocation(NPC, -177.69, 1.32, 6.03, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -177.94, 1.97, 7.98, 2, 0) + MovementLoopAddLocation(NPC, -179.09, 1.62, 9.58, 2, 0) + MovementLoopAddLocation(NPC, -179.51, 1.82, 11.12, 2, 0) + MovementLoopAddLocation(NPC, -180.04, 1.54, 12.98, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.05, 1.59, 12.73, 2, 0) + MovementLoopAddLocation(NPC, -179.76, 1.69, 10.39, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.43, 1.84, 7.79, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.70, 1.26, 5.34, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.87, 1.42, 6.48, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.45, 1.60, 8.95, 2, 0) + MovementLoopAddLocation(NPC, -179.35, 1.74, 11.54, 2, 0) + MovementLoopAddLocation(NPC, -180.03, 1.22, 14.85, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391907.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391907.lua new file mode 100755 index 000000000..7025245a2 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391907.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391907.lua + Script Purpose : Waypoint Path for adiseasedratonga391907.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:34 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -172.82, 0.00, 216.65, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -175.14, 0.08, 215.32, 2, 0) + MovementLoopAddLocation(NPC, -180.56, 0.35, 209.18, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.56, 0.00, 203.06, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.41, 0.24, 209.15, 2, 0) + MovementLoopAddLocation(NPC, -181.55, 0.00, 211.88, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.82, 0.24, 209.24, 2, math.random(12, 22), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.16, 0.02, 213.20, 2, math.random(12, 22), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.47, 0.07, 215.05, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.58, 0.00, 212.93, 2, 0) + MovementLoopAddLocation(NPC, -180.60, 0.00, 212.89, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -182.74, 0.00, 201.60, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.75, 0.00, 206.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -179.15, 0.11, 212.20, 2, 0, "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391917.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391917.lua new file mode 100755 index 000000000..8eba00580 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391917.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391917.lua + Script Purpose : Waypoint Path for adiseasedratonga391917.lua + Script Author : Rylec + Script Date : 09-22-2019 07:09:01 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -178.06, 1.31, 60.48, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -174.97, 1.26, 61.69, 2, 0) + MovementLoopAddLocation(NPC, -171.90, 1.79, 62.13, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -172.19, 1.79, 62.11, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -174.44, 1.25, 61.82, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.22, 1.22, 57.29, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -180.05, 1.58, 53.14, 2, 0) + MovementLoopAddLocation(NPC, -180.29, 1.34, 49.67, 2, 0) + MovementLoopAddLocation(NPC, -180.12, 1.27, 57.41, 2, 0) + MovementLoopAddLocation(NPC, -177.67, 1.25, 59.94, 2, 0) + MovementLoopAddLocation(NPC, -176.57, 1.22, 60.13, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -178.66, 1.23, 54.58, 2, 0) + MovementLoopAddLocation(NPC, -179.17, 1.34, 51.07, 2, 0) + MovementLoopAddLocation(NPC, -179.88, 1.34, 48.30, 2, 0) + MovementLoopAddLocation(NPC, -179.25, 1.58, 52.19, 2, 0) + MovementLoopAddLocation(NPC, -178.25, 1.29, 54.21, 2, 0) + MovementLoopAddLocation(NPC, -177.83, 1.28, 55.50, 2, 0) + MovementLoopAddLocation(NPC, -175.99, 1.25, 58.07, 2, 0) + MovementLoopAddLocation(NPC, -173.67, 1.47, 59.27, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391919.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391919.lua new file mode 100755 index 000000000..f9c807386 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391919.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391919.lua + Script Purpose : Waypoint Path for adiseasedratonga391919.lua + Script Author : Rylec + Script Date : 09-19-2019 08:32:41 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -161.59, 1.22, 60.85, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -157.32, 1.34, 61.01, 2, 0) + MovementLoopAddLocation(NPC, -153.41, 1.34, 62.11, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.74, 1.34, 60.84, 2, 0) + MovementLoopAddLocation(NPC, -152.57, 1.34, 60.93, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.62, 1.34, 61.95, 2, 0) + MovementLoopAddLocation(NPC, -152.47, 1.34, 61.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -157.48, 1.34, 61.87, 2, 0) + MovementLoopAddLocation(NPC, -157.59, 1.34, 61.94, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -158.82, 1.58, 62.12, 2, 0) + MovementLoopAddLocation(NPC, -161.24, 1.22, 61.50, 2, 0) + MovementLoopAddLocation(NPC, -162.77, 1.22, 60.87, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -160.49, 1.22, 60.90, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -162.14, 1.22, 61.71, 2, math.random(12, 22)) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga391921.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391921.lua new file mode 100755 index 000000000..1adfce01d --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga391921.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga391921.lua + Script Purpose : Waypoint Path for adiseasedratonga391921.lua + Script Author : Rylec + Script Date : 09-27-2019 05:45:38 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -163.52, 0.00, 217.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -156.95, 0.02, 218.22, 2, 0) + MovementLoopAddLocation(NPC, -153.28, 0.03, 218.39, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.07, 0.00, 217.15, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -155.76, 0.00, 216.35, 2, 0) + MovementLoopAddLocation(NPC, -158.92, 0.28, 215.71, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -156.58, 0.02, 215.90, 2, 0) + MovementLoopAddLocation(NPC, -152.62, 0.00, 217.13, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.05, 0.00, 217.65, 2, 0) + MovementLoopAddLocation(NPC, -150.79, 0.05, 218.52, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -160.59, 0.01, 218.09, 2, 0) + MovementLoopAddLocation(NPC, -163.75, 0.00, 217.04, 2, 0) + MovementLoopAddLocation(NPC, -161.03, 0.00, 216.78, 2, 0) + MovementLoopAddLocation(NPC, -154.83, 0.01, 218.10, 2, 0) + MovementLoopAddLocation(NPC, -154.81, 0.01, 218.09, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -158.93, 0.24, 217.23, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -151.64, 0.01, 218.08, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -160.49, 0.00, 216.63, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga393348.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393348.lua new file mode 100755 index 000000000..7b688fb63 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393348.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga393348.lua + Script Purpose : Waypoint Path for adiseasedratonga393348.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:56 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -148.28, -0.66, 167.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -133.15, -0.80, 187.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -145.73, -0.56, 177.83, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.68, -0.56, 188.64, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.08, -0.56, 190.74, 2, 0) + MovementLoopAddLocation(NPC, -130.17, -0.56, 192.02, 2, 0) + MovementLoopAddLocation(NPC, -130.26, -0.56, 192.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -131.43, -0.56, 191.87, 2, 0) + MovementLoopAddLocation(NPC, -134.03, -0.81, 189.38, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 174.00, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -145.12, -0.56, 187.54, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.70, -0.56, 175.62, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -125.83, -0.56, 176.08, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.00, -1.94, 182.54, 2, 0) + MovementLoopAddLocation(NPC, -132.41, -0.56, 186.09, 2, 0) + MovementLoopAddLocation(NPC, -135.32, -0.56, 192.47, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -137.39, -1.87, 184.89, 2, 0) + MovementLoopAddLocation(NPC, -142.61, -0.61, 181.03, 2, 0) + MovementLoopAddLocation(NPC, -148.00, -0.58, 176.21, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.27, -0.56, 188.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -145.83, -0.56, 177.85, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga393388.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393388.lua new file mode 100755 index 000000000..c4b8c26f9 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393388.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga393388.lua + Script Purpose : Waypoint Path for ratonga22b003.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:13 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -125.46, -0.56, 170.29, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -144.06, -0.68, 176.67, 2, 0) + MovementLoopAddLocation(NPC, -147.23, -0.56, 176.91, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -140.54, -0.56, 180.97, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.00, -0.56, 187.00, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.24, -0.56, 175.84, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.90, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -128.26, -0.56, 179.88, 2, math.random(12, 22)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga393410.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393410.lua new file mode 100755 index 000000000..0f77d7162 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393410.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga393410.lua + Script Purpose : Waypoint Path for adiseasedratonga393410.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:59 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -156.76, -0.51, 174.24, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.91, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -148.43, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -146.65, -0.56, 177.49, 2, 0) + MovementLoopAddLocation(NPC, -144.59, -0.56, 177.49, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -137.06, -0.56, 172.68, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -128.42, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -132.03, -0.56, 165.16, 2, 0) + MovementLoopAddLocation(NPC, -139.29, -0.55, 162.54, 2, 0) + MovementLoopAddLocation(NPC, -141.25, -0.56, 164.13, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.43, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -152.91, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -153.90, -0.56, 166.48, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.91, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -148.92, -0.83, 171.28, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -133.39, -0.94, 181.26, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -139.67, -0.56, 165.52, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -141.09, -0.56, 173.35, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -148.43, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -152.91, -0.56, 170.97, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga393468.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393468.lua new file mode 100755 index 000000000..a94877439 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393468.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga393468.lua + Script Purpose : Waypoint Path for adiseasedratonga393468.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:49 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -150.22, -0.56, 164.83, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -152.91, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -152.91, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -145.88, -1.94, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -133.07, -1.68, 182.28, 2, 0) + MovementLoopAddLocation(NPC, -133.77, -1.69, 184.01, 2, 0) + MovementLoopAddLocation(NPC, -134.11, -0.83, 188.09, 2, 0) + MovementLoopAddLocation(NPC, -138.33, -0.56, 190.75, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 186.03, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -131.95, -0.56, 165.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -132.89, -0.56, 166.09, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 170.97, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -135.34, -0.56, 174.04, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -128.53, -0.56, 186.28, 2, 0) + MovementLoopAddLocation(NPC, -128.21, -0.56, 190.41, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.53, -0.56, 186.28, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -136.79, -0.56, 173.52, 2, 0) + MovementLoopAddLocation(NPC, -142.38, -0.56, 171.05, 2, 0) + MovementLoopAddLocation(NPC, -145.78, -1.94, 170.58, 2, 0) + MovementLoopAddLocation(NPC, -147.48, -1.20, 165.81, 2, 0) + MovementLoopAddLocation(NPC, -148.47, -0.82, 165.05, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga393692.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393692.lua new file mode 100755 index 000000000..ce1958025 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393692.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga393692.lua + Script Purpose : Waypoint Path for adiseasedratonga393692.lua + Script Author : Rylec + Script Date : 10-06-2019 09:46:08 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -126.41, -0.46, 162.08, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -127.96, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -144.55, -0.56, 177.44, 2, 0) + MovementLoopAddLocation(NPC, -148.39, -0.56, 187.84, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.85, -0.56, 176.42, 2, 0) + MovementLoopAddLocation(NPC, -139.38, -0.56, 173.26, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -127.99, -0.56, 170.77, 2, 0) + MovementLoopAddLocation(NPC, -128.14, -0.56, 168.18, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -125.45, -0.56, 171.55, 2, 0) + MovementLoopAddLocation(NPC, -128.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -141.17, -0.56, 173.69, 2, 0) + MovementLoopAddLocation(NPC, -141.14, -0.56, 173.69, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.80, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.77, -0.57, 175.97, 2, 0) + MovementLoopAddLocation(NPC, -128.05, -0.56, 176.10, 2, 0) + MovementLoopAddLocation(NPC, -132.77, -0.57, 175.97, 2, 0) + MovementLoopAddLocation(NPC, -134.80, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -141.04, -0.56, 175.46, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -134.58, -0.56, 172.44, 2, 0) + MovementLoopAddLocation(NPC, -133.10, -0.56, 170.93, 2, 0) + MovementLoopAddLocation(NPC, -127.94, -0.56, 170.93, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/adiseasedratonga393712.lua b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393712.lua new file mode 100755 index 000000000..a866dec03 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/adiseasedratonga393712.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/adiseasedratonga393712.lua + Script Purpose : Waypoint Path for adiseasedratonga393712.lua + Script Author : Rylec + Script Date : 10-06-2019 09:45:56 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -148.28, -0.66, 167.61, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -133.15, -0.80, 187.95, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -142.80, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -145.73, -0.56, 177.83, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.68, -0.56, 188.64, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -143.08, -0.56, 190.74, 2, 0) + MovementLoopAddLocation(NPC, -130.17, -0.56, 192.02, 2, 0) + MovementLoopAddLocation(NPC, -130.26, -0.56, 192.03, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -131.43, -0.56, 191.87, 2, 0) + MovementLoopAddLocation(NPC, -134.03, -0.81, 189.38, 2, 0) + MovementLoopAddLocation(NPC, -138.31, -0.56, 174.00, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -138.31, -0.56, 180.97, 2, 0) + MovementLoopAddLocation(NPC, -145.12, -0.56, 187.54, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -142.70, -0.56, 175.62, 2, 0) + MovementLoopAddLocation(NPC, -134.58, -0.56, 174.60, 2, 0) + MovementLoopAddLocation(NPC, -132.89, -0.56, 176.08, 2, 0) + MovementLoopAddLocation(NPC, -125.83, -0.56, 176.08, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -128.00, -1.94, 182.54, 2, 0) + MovementLoopAddLocation(NPC, -132.41, -0.56, 186.09, 2, 0) + MovementLoopAddLocation(NPC, -135.32, -0.56, 192.47, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -137.39, -1.87, 184.89, 2, 0) + MovementLoopAddLocation(NPC, -142.61, -0.61, 181.03, 2, 0) + MovementLoopAddLocation(NPC, -148.00, -0.58, 176.21, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -146.27, -0.56, 188.07, 2, math.random(12, 22)) + MovementLoopAddLocation(NPC, -145.83, -0.56, 177.85, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392400.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392400.lua new file mode 100755 index 000000000..12f7617fd --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392400.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392400.lua + Script Purpose : Waypoint Path for asewagerat392400.lua + Script Author : Rylec + Script Date : 09-15-2019 03:41:39 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.32, 1.22, 32.62, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.94, 1.98, 32.26, 2, math.random(10, 18)) + -- MovementLoopAddLocation(NPC, -179.36, 1.22, 31.38, 2, 0) + MovementLoopAddLocation(NPC, -179.36, 1.22, 30.56, 2, 0) + MovementLoopAddLocation(NPC, -179.32, 1.22, 30.52, 2, math.random(10, 18)) + -- MovementLoopAddLocation(NPC, -177.28, 1.22, 23.57, 2, 0) + MovementLoopAddLocation(NPC, -177.34, 1.22, 23.59, 2, math.random(10, 18)) + -- MovementLoopAddLocation(NPC, -178.65, 1.22, 23.50, 2, 0) + MovementLoopAddLocation(NPC, -178.60, 1.22, 23.51, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -175.90, 1.28, 23.85, 2, math.random(10, 18)) + -- MovementLoopAddLocation(NPC, -176.45, 1.22, 24.38, 2, 0) + MovementLoopAddLocation(NPC, -176.50, 1.22, 24.41, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.10, 1.22, 27.90, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.27, 1.25, 28.42, 2, 0) + MovementLoopAddLocation(NPC, -181.24, 1.25, 28.48, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.03, 1.23, 30.76, 2, math.random(10, 18)) +end diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392403.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392403.lua new file mode 100755 index 000000000..8ae8c93e4 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392403.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392403.lua + Script Purpose : Waypoint Path for asewagerat392403.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:51 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.49, 0.01, 213.19, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.01, 0.06, 212.02, 2, 0) + MovementLoopAddLocation(NPC, -180.99, 0.05, 206.99, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.02, 0.31, 204.27, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.05, 0.00, 205.20, 2, 0) + MovementLoopAddLocation(NPC, -180.00, 0.11, 210.98, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.09, 0.10, 214.31, 2, 0) + MovementLoopAddLocation(NPC, -175.48, 0.00, 216.74, 2, 0) + MovementLoopAddLocation(NPC, -173.02, 0.00, 217.75, 2, 0) + MovementLoopAddLocation(NPC, -172.98, 0.00, 217.70, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -173.52, 0.02, 216.00, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.51, 0.04, 213.70, 2, 0) + MovementLoopAddLocation(NPC, -180.14, 0.06, 211.77, 2, 0) + MovementLoopAddLocation(NPC, -182.66, 0.00, 210.66, 2, 0) + MovementLoopAddLocation(NPC, -182.65, 0.00, 210.67, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.83, 0.00, 215.60, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.01, 0.13, 210.82, 2, 0) + MovementLoopAddLocation(NPC, -182.26, 0.00, 205.61, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.57, 0.00, 201.86, 2, 0) + MovementLoopAddLocation(NPC, -182.49, 0.00, 206.12, 2, 0) + MovementLoopAddLocation(NPC, -178.67, 0.00, 214.67, 2, math.random(10, 18), "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392404.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392404.lua new file mode 100755 index 000000000..88028ec13 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392404.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392404.lua + Script Purpose : Waypoint Path for asewagerat392404.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:59 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.54, 0.24, 209.21, 2, math.random(10, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.04, 0.01, 213.34, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.56, 0.05, 214.68, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.30, 0.09, 217.65, 2, 0) + MovementLoopAddLocation(NPC, -175.81, 0.00, 217.68, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -170.88, 0.00, 217.22, 2, 0) + MovementLoopAddLocation(NPC, -169.17, 0.00, 216.16, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -170.51, 0.00, 216.84, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -177.36, 0.00, 216.71, 2, 0) + MovementLoopAddLocation(NPC, -179.58, 0.00, 215.82, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.66, 0.00, 213.80, 2, 0) + MovementLoopAddLocation(NPC, -181.72, 0.24, 209.49, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.47, 0.00, 207.04, 2, 0) + MovementLoopAddLocation(NPC, -181.50, 0.00, 207.00, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.96, 0.00, 206.03, 2, 0) + MovementLoopAddLocation(NPC, -183.05, 0.00, 202.19, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.68, 0.00, 205.07, 2, 0) + MovementLoopAddLocation(NPC, -180.25, 0.15, 208.05, 2, 0) + MovementLoopAddLocation(NPC, -180.53, 0.01, 211.98, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -178.87, 0.00, 214.17, 2, 0) + MovementLoopAddLocation(NPC, -175.89, 0.08, 215.14, 2, 0) + MovementLoopAddLocation(NPC, -174.73, 0.00, 216.27, 2, 0) + MovementLoopAddLocation(NPC, -173.57, 0.00, 216.15, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -176.67, 0.02, 215.36, 2, 0) + MovementLoopAddLocation(NPC, -177.67, 0.06, 214.36, 2, 0) + MovementLoopAddLocation(NPC, -178.35, 0.26, 211.89, 2, math.random(10, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392405.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392405.lua new file mode 100755 index 000000000..9786bdc00 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392405.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392405.lua + Script Purpose : Waypoint Path for asewagerat392405.lua + Script Author : Rylec + Script Date : 10-05-2019 08:24:42 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.14, 0.00, 191.95, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.12, 0.26, 188.85, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.60, 0.31, 186.65, 2, 0) + MovementLoopAddLocation(NPC, -182.34, 0.00, 190.71, 2, 0) + MovementLoopAddLocation(NPC, -183.11, 0.00, 191.73, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.23, 0.28, 188.58, 2, 0) + MovementLoopAddLocation(NPC, -182.30, 0.00, 184.38, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.93, 0.00, 191.35, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.41, 0.10, 193.89, 2, 0) + MovementLoopAddLocation(NPC, -182.28, 0.00, 197.35, 2, 0) + MovementLoopAddLocation(NPC, -182.08, 0.00, 194.62, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.11, 0.00, 191.36, 2, 0) + MovementLoopAddLocation(NPC, -182.58, 0.45, 187.75, 2, 0) + MovementLoopAddLocation(NPC, -183.59, 0.02, 183.60, 2, math.random(10, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.46, 0.42, 187.02, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.75, 0.00, 191.13, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -184.51, 0.10, 191.92, 2, 0) + MovementLoopAddLocation(NPC, -185.07, 0.10, 192.04, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.82, 0.05, 192.64, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392406.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392406.lua new file mode 100755 index 000000000..99e0e0783 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392406.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392406.lua + Script Purpose : Waypoint Path for asewagerat392406.lua + Script Author : Rylec + Script Date : 10-05-2019 08:24:49 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -184.71, 0.08, 195.63, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.65, 0.03, 192.88, 2, 0) + MovementLoopAddLocation(NPC, -181.89, 0.00, 191.47, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.47, 0.38, 187.96, 2, 0) + MovementLoopAddLocation(NPC, -182.12, 0.00, 184.72, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.13, 0.00, 184.70, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.72, 0.04, 182.44, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.15, 0.00, 182.81, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.27, 0.48, 187.30, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -184.93, 0.10, 191.71, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.21, 0.00, 196.16, 2, 0) + MovementLoopAddLocation(NPC, -182.48, 0.04, 194.23, 2, 0) + MovementLoopAddLocation(NPC, -183.22, 0.00, 190.98, 2, math.random(10, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392407.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392407.lua new file mode 100755 index 000000000..2ca2abda5 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392407.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392407.lua + Script Purpose : Waypoint Path for asewagerat392407.lua + Script Author : Rylec + Script Date : 10-17-2019 03:17:50 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.55, 0.24, 160.51, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -184.25, 0.09, 172.81, 2, math.random(10, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.28, 0.00, 168.84, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -183.37, 0.00, 164.54, 2, 0) + MovementLoopAddLocation(NPC, -182.53, 0.00, 162.14, 2, 0) + MovementLoopAddLocation(NPC, -182.57, 0.00, 169.51, 2, 0) + MovementLoopAddLocation(NPC, -182.57, 0.00, 169.49, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.55, 0.00, 166.63, 2, 0) + MovementLoopAddLocation(NPC, -181.98, 0.00, 164.96, 2, 0) + MovementLoopAddLocation(NPC, -181.49, 0.00, 162.65, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.64, 0.00, 164.79, 2, 0) + MovementLoopAddLocation(NPC, -183.41, 0.00, 167.36, 2, 0) + MovementLoopAddLocation(NPC, -183.11, 0.00, 162.29, 2, 0) + MovementLoopAddLocation(NPC, -181.69, 0.00, 157.66, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.99, 0.23, 160.08, 2, 0) + MovementLoopAddLocation(NPC, -181.87, 0.24, 170.24, 2, 0) + MovementLoopAddLocation(NPC, -181.11, 0.00, 172.24, 2, math.random(10, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.84, 0.24, 170.23, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -183.20, 0.00, 163.39, 2, 0) + MovementLoopAddLocation(NPC, -184.52, 0.13, 158.97, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.74, 0.32, 160.60, 2, math.random(10, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392408.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392408.lua new file mode 100755 index 000000000..dc3ba4073 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392408.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392408.lua + Script Purpose : Waypoint Path for asewagerat392408.lua + Script Author : Rylec + Script Date : 10-17-2019 03:17:55 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.71, 0.00, 165.51, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.96, 0.00, 164.74, 2, 0) + MovementLoopAddLocation(NPC, -181.53, 0.00, 159.17, 2, 0) + MovementLoopAddLocation(NPC, -181.56, 0.00, 159.05, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.58, 0.00, 156.38, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.04, 0.24, 170.61, 2, 0) + MovementLoopAddLocation(NPC, -181.31, 0.00, 172.30, 2, math.random(10, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.76, 0.04, 174.48, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.60, 0.24, 170.76, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.82, 0.00, 164.42, 2, 0) + MovementLoopAddLocation(NPC, -181.01, 0.05, 169.07, 2, 0) + MovementLoopAddLocation(NPC, -181.92, 0.00, 173.26, 2, math.random(10, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.13, 0.00, 169.28, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.41, 0.01, 166.43, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + + + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392409.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392409.lua new file mode 100755 index 000000000..76d66fc60 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392409.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392409.lua + Script Purpose : Waypoint Path for asewagerat392409.lua + Script Author : Rylec + Script Date : 10-17-2019 03:27:39 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.09, 0.00, 140.27, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.69, 0.00, 141.10, 2, 0) + MovementLoopAddLocation(NPC, -180.97, 0.00, 142.09, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.77, 0.00, 143.18, 2, 0) + MovementLoopAddLocation(NPC, -179.87, 0.12, 145.95, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.09, 0.00, 142.33, 2, 0) + MovementLoopAddLocation(NPC, -183.54, 0.02, 135.46, 2, 0) + MovementLoopAddLocation(NPC, -183.97, 0.06, 134.56, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.82, 0.00, 140.11, 2, 0) + MovementLoopAddLocation(NPC, -177.83, 0.00, 141.67, 2, 0) + MovementLoopAddLocation(NPC, -177.20, 0.08, 142.77, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.05, 0.00, 141.98, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.81, 0.00, 139.94, 2, 0) + MovementLoopAddLocation(NPC, -183.57, 0.02, 137.89, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.07, 0.00, 134.81, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.26, 0.00, 138.20, 2, 0) + MovementLoopAddLocation(NPC, -181.29, 0.00, 138.21, 2, math.random(10, 18)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392410.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392410.lua new file mode 100755 index 000000000..5d20078bf --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392410.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392410.lua + Script Purpose : Waypoint Path for asewagerat392410.lua + Script Author : Rylec + Script Date : 10-17-2019 03:27:51 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.06, 0.00, 138.19, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.16, 0.00, 141.09, 2, 0) + MovementLoopAddLocation(NPC, -182.15, 0.00, 141.11, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.41, 0.00, 140.20, 2, 0) + MovementLoopAddLocation(NPC, -176.41, 0.07, 139.39, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.16, 0.00, 139.02, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.89, 0.05, 136.35, 2, 0) + MovementLoopAddLocation(NPC, -182.88, 0.00, 134.16, 2, 0) + MovementLoopAddLocation(NPC, -180.61, 0.01, 132.33, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.87, 0.00, 136.87, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.63, 0.00, 136.63, 2, 0) + MovementLoopAddLocation(NPC, -178.24, 0.00, 136.13, 2, 0) + MovementLoopAddLocation(NPC, -176.38, 0.13, 135.98, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.89, 0.00, 135.06, 2, 0) + MovementLoopAddLocation(NPC, -181.88, 0.00, 135.08, 2, math.random(10, 18)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392411.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392411.lua new file mode 100755 index 000000000..5bd1ebe1b --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392411.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392411.lua + Script Purpose : Waypoint Path for asewagerat392411.lua + Script Author : Rylec + Script Date : 09-17-2019 05:10:29 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.49, 1.22, 25.47, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.50, 1.22, 23.22, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -177.49, 1.31, 35.78, 2, 0) + MovementLoopAddLocation(NPC, -177.48, 1.31, 35.72, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -175.31, 1.22, 28.71, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.16, 1.24, 35.62, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.29, 1.25, 22.76, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.51, 1.22, 26.41, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -175.53, 1.22, 27.42, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.38, 1.22, 26.42, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -175.46, 1.22, 29.50, 2, math.random(10, 18)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392413.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392413.lua new file mode 100755 index 000000000..ad205e66b --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392413.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392413.lua + Script Purpose : Waypoint Path for asewagerat392413.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:53 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.55, 0.02, 122.48, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.66, 0.00, 119.28, 2, 0) + MovementLoopAddLocation(NPC, -181.64, 0.00, 113.01, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.34, 0.00, 109.63, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.85, 0.00, 112.30, 2, 0) + MovementLoopAddLocation(NPC, -182.39, 0.24, 117.01, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.48, 0.00, 110.02, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.10, 0.28, 116.92, 2, 0) + MovementLoopAddLocation(NPC, -181.84, 0.00, 122.54, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.51, 0.00, 121.13, 2, 0) + MovementLoopAddLocation(NPC, -181.38, 0.01, 111.40, 2, 0) + MovementLoopAddLocation(NPC, -181.38, 0.01, 111.38, 2, math.random(10, 18)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392415.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392415.lua new file mode 100755 index 000000000..4cf2ff809 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392415.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392415.lua + Script Purpose : Waypoint Path for asewagerat392415.lua + Script Author : Rylec + Script Date : 09-17-2019 08:36:33 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.06, 1.62, 12.28, 2, math.random(10, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.81, 1.69, 10.39, 2, 0) + MovementLoopAddLocation(NPC, -179.20, 1.84, 8.11, 2, 0) + MovementLoopAddLocation(NPC, -178.81, 1.26, 5.54, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.04, 1.26, 1.70, 2, 0) + MovementLoopAddLocation(NPC, -173.77, 1.26, 0.44, 2, 0) + MovementLoopAddLocation(NPC, -173.81, 1.26, 0.47, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -176.07, 1.26, 1.92, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.12, 1.26, 4.24, 2, 0) + MovementLoopAddLocation(NPC, -178.82, 1.26, 5.85, 2, 0) + MovementLoopAddLocation(NPC, -179.93, 1.84, 7.66, 2, math.random(10, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -177.97, 1.29, 5.81, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.96, 1.30, 4.49, 2, 0) + MovementLoopAddLocation(NPC, -175.39, 1.32, 3.29, 2, 0) + MovementLoopAddLocation(NPC, -173.82, 1.42, 2.77, 2, 0) + MovementLoopAddLocation(NPC, -172.32, 1.76, 2.24, 2, 0) + MovementLoopAddLocation(NPC, -171.33, 1.79, 2.40, 2, 0) + MovementLoopAddLocation(NPC, -169.38, 1.34, 1.75, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -171.27, 1.67, 1.71, 2, 0) + MovementLoopAddLocation(NPC, -172.61, 1.77, 2.29, 2, 0) + MovementLoopAddLocation(NPC, -173.89, 1.51, 3.37, 2, 0) + MovementLoopAddLocation(NPC, -174.80, 1.62, 4.80, 2, 0) + MovementLoopAddLocation(NPC, -178.45, 1.90, 7.65, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.96, 1.63, 10.03, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.05, 1.85, 7.82, 2, 0) + MovementLoopAddLocation(NPC, -179.49, 1.26, 5.33, 2, math.random(10, 18), "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392416.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392416.lua new file mode 100755 index 000000000..bb85c7f68 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392416.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392416.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392416.lua + Script Author : Rylec + Script Date : 09-17-2019 08:39:48 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.39, 1.34, 45.56, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.79, 1.53, 53.47, 2, 0) + MovementLoopAddLocation(NPC, -180.30, 1.22, 55.35, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.05, 1.24, 53.97, 2, 0) + MovementLoopAddLocation(NPC, -180.15, 1.34, 47.34, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.22, 1.58, 52.26, 2, 0) + MovementLoopAddLocation(NPC, -178.83, 1.22, 54.84, 2, 0) + MovementLoopAddLocation(NPC, -177.40, 1.22, 57.12, 2, 0) + MovementLoopAddLocation(NPC, -177.36, 1.22, 57.15, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -174.10, 1.22, 59.94, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -172.37, 1.78, 60.98, 2, math.random(10, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -174.68, 1.26, 59.06, 2, 0) + MovementLoopAddLocation(NPC, -176.48, 1.25, 57.47, 2, 0) + MovementLoopAddLocation(NPC, -176.87, 1.29, 56.58, 2, 0) + MovementLoopAddLocation(NPC, -177.55, 1.35, 54.83, 2, 0) + MovementLoopAddLocation(NPC, -178.43, 1.65, 52.99, 2, 0) + MovementLoopAddLocation(NPC, -179.49, 1.34, 49.26, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.34, 1.34, 50.66, 2, 0) + MovementLoopAddLocation(NPC, -178.76, 1.22, 55.03, 2, 0) + MovementLoopAddLocation(NPC, -179.05, 1.22, 58.22, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.36, 1.22, 55.75, 2, 0) + MovementLoopAddLocation(NPC, -179.83, 1.37, 53.77, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392417.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392417.lua new file mode 100755 index 000000000..9fa1b11e4 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392417.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392417.lua + Script Purpose : Waypoint Path for asewagerat392417.lua + Script Author : Rylec + Script Date : 10-17-2019 03:29:01 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.26, 0.02, 113.33, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.53, 0.00, 110.26, 2, 0) + MovementLoopAddLocation(NPC, -180.81, 0.07, 109.05, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.87, 0.00, 121.44, 2, 0) + MovementLoopAddLocation(NPC, -182.25, 0.00, 123.29, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.11, 0.00, 122.19, 2, 0) + MovementLoopAddLocation(NPC, -182.33, 0.00, 115.48, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.34, 0.02, 110.57, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.00, 0.00, 115.30, 2, 0) + MovementLoopAddLocation(NPC, -181.45, 0.25, 117.03, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.22, 0.00, 120.19, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -184.34, 0.32, 117.16, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.43, 0.00, 111.58, 2, 0) + MovementLoopAddLocation(NPC, -182.33, 0.00, 109.62, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.38, 0.01, 115.20, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.18, 0.41, 117.10, 2, math.random(10, 18)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392418.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392418.lua new file mode 100755 index 000000000..4be2e8430 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392418.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392418.lua + Script Purpose : Waypoint Path for asewagerat392418.lua + Script Author : Rylec + Script Date : 09-17-2019 07:25:42 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -168.95, 1.34, 0.58, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -171.18, 1.61, 1.10, 2, 0) + MovementLoopAddLocation(NPC, -173.72, 1.44, 2.86, 2, 0) + MovementLoopAddLocation(NPC, -179.54, 1.26, 4.51, 2, 0) + MovementLoopAddLocation(NPC, -180.70, 1.31, 5.86, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -177.17, 1.26, 1.75, 2, 4) + MovementLoopAddLocation(NPC, -177.95, 1.29, 5.94, 2, 0) + MovementLoopAddLocation(NPC, -178.39, 1.63, 9.16, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.18, 1.62, 12.24, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -177.87, 1.99, 8.08, 2, 0) + MovementLoopAddLocation(NPC, -177.80, 2.04, 7.85, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -175.93, 1.39, 4.57, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -173.55, 1.62, 3.57, 2, 0) + MovementLoopAddLocation(NPC, -172.03, 1.75, 2.18, 2, 0) + MovementLoopAddLocation(NPC, -169.55, 1.34, 0.53, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -172.92, 1.63, 1.84, 2, 0) + MovementLoopAddLocation(NPC, -175.02, 1.52, 4.60, 2, 0) + MovementLoopAddLocation(NPC, -176.72, 1.50, 6.30, 2, 0) + MovementLoopAddLocation(NPC, -177.44, 2.06, 7.67, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.59, 1.64, 10.18, 2, 0) + MovementLoopAddLocation(NPC, -179.99, 1.60, 12.52, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.19, 1.82, 11.13, 2, 0) + MovementLoopAddLocation(NPC, -177.98, 1.97, 7.82, 2, 0) + MovementLoopAddLocation(NPC, -176.67, 1.49, 6.04, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -173.42, 1.63, 3.31, 2, 0) + MovementLoopAddLocation(NPC, -172.44, 1.90, 2.76, 2, 0) + MovementLoopAddLocation(NPC, -169.62, 1.37, 1.98, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392419.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392419.lua new file mode 100755 index 000000000..421542f99 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392419.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392419.lua + Script Purpose : Waypoint Path for asewagerat392419.lua + Script Author : Rylec + Script Date : 09-22-2019 06:22:19 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -175.07, 1.29, 58.33, 2, 0) + MovementLoopAddLocation(NPC, -175.33, 1.28, 58.29, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -176.08, 1.25, 57.99, 2, 0) + MovementLoopAddLocation(NPC, -176.92, 1.36, 55.84, 2, 0) + MovementLoopAddLocation(NPC, -177.12, 1.93, 52.98, 2, 0) + MovementLoopAddLocation(NPC, -178.03, 1.51, 51.67, 2, 0) + MovementLoopAddLocation(NPC, -179.96, 1.34, 48.10, 2, 0) + MovementLoopAddLocation(NPC, -179.70, 1.34, 51.15, 2, 0) + MovementLoopAddLocation(NPC, -178.95, 1.60, 52.77, 2, 0) + MovementLoopAddLocation(NPC, -179.35, 1.31, 59.15, 2, 0) + MovementLoopAddLocation(NPC, -179.21, 1.30, 59.16, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -175.39, 1.22, 60.26, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -176.14, 1.30, 57.12, 2, 0) + MovementLoopAddLocation(NPC, -176.27, 1.29, 57.19, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.38, 1.22, 58.07, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -175.96, 1.22, 60.07, 2, 0) + MovementLoopAddLocation(NPC, -174.18, 1.29, 62.35, 2, math.random(10, 18)) +end diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392420.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392420.lua new file mode 100755 index 000000000..0c08bacd1 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392420.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392420.lua + Script Purpose : Waypoint Path for asewagerat392420.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:56 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.46, 0.03, 212.85, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.72, 0.03, 215.65, 2, 0) + MovementLoopAddLocation(NPC, -180.80, 0.03, 215.67, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -177.88, 0.00, 215.69, 2, 0) + MovementLoopAddLocation(NPC, -178.63, 0.00, 214.79, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.30, 0.00, 213.95, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.52, 0.00, 214.98, 2, 0) + MovementLoopAddLocation(NPC, -178.52, 0.00, 214.98, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -180.68, 0.32, 209.54, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.40, 0.00, 207.89, 2, 0) + MovementLoopAddLocation(NPC, -181.85, 0.00, 210.71, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -180.70, 0.00, 211.87, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.20, 0.00, 207.88, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.68, 0.02, 204.44, 2, 0) + MovementLoopAddLocation(NPC, -181.51, 0.32, 202.75, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -181.78, 0.00, 207.27, 2, 0) + MovementLoopAddLocation(NPC, -178.12, 0.06, 213.91, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.30, 0.01, 215.68, 2, 0) + MovementLoopAddLocation(NPC, -175.94, 0.00, 216.62, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.49, 0.00, 215.75, 2, 0) + MovementLoopAddLocation(NPC, -179.50, 0.00, 215.76, 2, math.random(10, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392423.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392423.lua new file mode 100755 index 000000000..52abf3329 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392423.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392423.lua + Script Purpose : Waypoint Path for asewagerat392423.lua + Script Author : Rylec + Script Date : 09-27-2019 05:46:43 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -155.35, 0.00, 217.21, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -158.89, 0.24, 217.10, 2, 0) + MovementLoopAddLocation(NPC, -155.54, 0.01, 218.15, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -165.03, 0.00, 217.15, 2, 0) + MovementLoopAddLocation(NPC, -164.99, 0.00, 217.16, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -163.27, 0.00, 216.17, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -159.23, 0.31, 215.37, 2, 0) + MovementLoopAddLocation(NPC, -153.51, 0.00, 217.60, 2, 0) + MovementLoopAddLocation(NPC, -151.29, 0.00, 216.95, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -155.83, 0.00, 218.06, 2, 0) + MovementLoopAddLocation(NPC, -161.42, 0.00, 217.81, 2, 0) + MovementLoopAddLocation(NPC, -163.13, 0.00, 217.17, 2, 0) + MovementLoopAddLocation(NPC, -163.12, 0.00, 217.15, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -159.36, 0.24, 217.56, 2, 0) + MovementLoopAddLocation(NPC, -152.77, 0.00, 216.25, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -158.91, 0.24, 217.89, 2, math.random(10, 18)) +end diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392424.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392424.lua new file mode 100755 index 000000000..af57c290a --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392424.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392424.lua + Script Purpose : Waypoint Path for asewagerat392424.lua + Script Author : Rylec + Script Date : 09-27-2019 05:46:40 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -151.27, 0.00, 217.03, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -153.09, 0.00, 216.82, 2, 0) + MovementLoopAddLocation(NPC, -153.17, 0.00, 216.88, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -153.51, 0.00, 217.80, 2, 0) + MovementLoopAddLocation(NPC, -153.72, 0.00, 217.71, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -155.20, 0.00, 217.34, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -151.52, 0.01, 218.14, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -161.90, 0.00, 217.26, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -159.27, 0.24, 216.75, 2, 0) + MovementLoopAddLocation(NPC, -152.31, 0.00, 217.55, 2, math.random(10, 18)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392425.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392425.lua new file mode 100755 index 000000000..2085b2c59 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392425.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392425.lua + Script Purpose : Waypoint Path for rat11001.lua + Script Author : Rylec + Script Date : 09-22-2019 06:22:23 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -159.07, 1.58, 61.85, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -161.49, 1.22, 61.91, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -158.01, 1.49, 61.89, 2, 0) + MovementLoopAddLocation(NPC, -155.59, 1.34, 60.93, 2, 0) + MovementLoopAddLocation(NPC, -155.45, 1.34, 60.98, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -158.67, 1.58, 61.96, 2, 0) + MovementLoopAddLocation(NPC, -160.46, 1.22, 61.90, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -161.81, 1.22, 61.73, 2, 0) + MovementLoopAddLocation(NPC, -162.05, 1.22, 61.61, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -160.73, 1.22, 61.86, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -158.96, 1.58, 60.94, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -153.72, 1.34, 60.76, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -154.61, 1.34, 61.02, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -154.42, 1.34, 62.07, 2, 0) + MovementLoopAddLocation(NPC, -154.11, 1.34, 62.22, 2, math.random(10, 18)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392430.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392430.lua new file mode 100755 index 000000000..df904fe28 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392430.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392430.lua + Script Purpose : Waypoint Path for asewagerat392430.lua + Script Author : Rylec + Script Date : 09-22-2019 09:41:13 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -154.60, 1.34, 61.90, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -158.96, 1.58, 61.88, 2, 0) + MovementLoopAddLocation(NPC, -158.62, 1.58, 61.89, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -161.04, 1.25, 62.57, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -152.58, 1.34, 61.97, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -156.85, 1.34, 60.99, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -154.84, 1.34, 60.92, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -150.94, 1.34, 59.80, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -160.47, 1.22, 60.68, 2, 0) + MovementLoopAddLocation(NPC, -161.79, 1.22, 60.22, 2, math.random(10, 18)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392431.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392431.lua new file mode 100755 index 000000000..9c30f0d99 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392431.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392431.lua + Script Purpose : Waypoint Path for asewagerat392431.lua + Script Author : Rylec + Script Date : 10-17-2019 04:44:29 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -170.61, 0.00, 90.11, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -171.99, 0.05, 90.20, 2, 0) + MovementLoopAddLocation(NPC, -173.85, 0.11, 91.68, 2, 0) + MovementLoopAddLocation(NPC, -175.31, 0.29, 92.16, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.76, 0.22, 93.34, 2, 0) + MovementLoopAddLocation(NPC, -178.23, 0.12, 93.96, 2, 0) + MovementLoopAddLocation(NPC, -181.60, 0.04, 97.68, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -178.74, 0.05, 92.00, 2, 0) + MovementLoopAddLocation(NPC, -178.14, 0.05, 91.24, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.97, 0.05, 93.35, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -173.60, 0.07, 91.22, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -172.09, 0.05, 91.03, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -172.97, 0.05, 91.03, 2, 0) + MovementLoopAddLocation(NPC, -181.47, 0.05, 93.33, 2, math.random(10, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.87, 0.05, 91.72, 2, 0) + MovementLoopAddLocation(NPC, -173.65, 0.07, 91.30, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -172.30, 0.05, 90.46, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3049532766) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3438300428) +end + + + diff --git a/Lua/SpawnScripts/ThievesWay/asewagerat392433.lua b/Lua/SpawnScripts/ThievesWay/asewagerat392433.lua new file mode 100755 index 000000000..39054bcd4 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asewagerat392433.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asewagerat392433.lua + Script Purpose : Waypoint Path for asewagerat392433.lua + Script Author : Rylec + Script Date : 10-17-2019 04:45:36 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.58, 0.00, 104.38, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -183.20, 0.04, 98.20, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.75, 0.43, 100.60, 2, 0) + MovementLoopAddLocation(NPC, -182.85, 0.00, 104.05, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -182.01, 0.28, 102.08, 2, 0) + MovementLoopAddLocation(NPC, -181.67, 0.27, 99.72, 2, 0) + MovementLoopAddLocation(NPC, -179.45, 0.28, 96.98, 2, 0) + MovementLoopAddLocation(NPC, -178.80, 0.25, 95.55, 2, 0) + MovementLoopAddLocation(NPC, -177.43, 0.28, 94.44, 2, 0) + MovementLoopAddLocation(NPC, -176.86, 0.22, 93.44, 2, 0) + MovementLoopAddLocation(NPC, -173.61, 0.11, 91.65, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -170.66, 0.05, 90.98, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -172.95, 0.06, 91.11, 2, 0) + MovementLoopAddLocation(NPC, -174.91, 0.39, 92.79, 2, 0) + MovementLoopAddLocation(NPC, -177.19, 0.14, 93.15, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -179.91, 0.13, 95.97, 2, 0) + MovementLoopAddLocation(NPC, -181.83, 0.28, 99.91, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -179.78, 0.05, 93.09, 2, math.random(10, 18)) + MovementLoopAddLocation(NPC, -173.00, 0.05, 90.99, 2, math.random(10, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -175.11, 0.42, 92.91, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.95, 0.18, 93.18, 2, 0) + MovementLoopAddLocation(NPC, -179.71, 0.13, 95.73, 2, 0) + MovementLoopAddLocation(NPC, -181.85, 0.27, 99.68, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3049532766) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3438300428) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392585.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392585.lua new file mode 100755 index 000000000..693e42038 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392585.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392585.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392585.lua + Script Author : Rylec + Script Date : 10-05-2019 09:22:13 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.20, 0.00, 182.36, 2, math.random(12, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.59, 0.33, 188.16, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.20, 0.00, 190.60, 2, 0) + MovementLoopAddLocation(NPC, -182.88, 0.00, 195.50, 2, 0) + MovementLoopAddLocation(NPC, -183.23, 0.00, 196.78, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.15, 0.09, 194.07, 2, 0) + MovementLoopAddLocation(NPC, -182.15, 0.10, 194.00, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -183.07, 0.28, 189.05, 2, 0) + MovementLoopAddLocation(NPC, -182.99, 0.37, 188.01, 2, 0) + MovementLoopAddLocation(NPC, -182.92, 0.00, 191.38, 2, 0) + MovementLoopAddLocation(NPC, -183.41, 0.01, 194.46, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.17, 0.00, 195.92, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.40, 0.00, 193.22, 2, 0) + MovementLoopAddLocation(NPC, -181.79, 0.00, 190.73, 2, 0) + MovementLoopAddLocation(NPC, -182.62, 0.27, 188.65, 2, 0) + MovementLoopAddLocation(NPC, -182.13, 0.00, 184.50, 2, math.random(12, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.53, 0.48, 187.31, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.31, 0.27, 188.79, 2, 0) + MovementLoopAddLocation(NPC, -183.27, 0.00, 190.79, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.23, 0.00, 194.85, 2, 0) + MovementLoopAddLocation(NPC, -182.29, 0.00, 194.97, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.14, 0.45, 187.75, 2, 0) + MovementLoopAddLocation(NPC, -181.92, 0.29, 186.40, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392586.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392586.lua new file mode 100755 index 000000000..0141b1913 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392586.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392586.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392586.lua + Script Author : Rylec + Script Date : 09-15-2019 07:36:56 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.06, 1.84, 7.60, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.93, 1.22, 15.89, 2, math.random(12, 18)) + -- MovementLoopAddLocation(NPC, -180.16, 1.22, 17.04, 2, 0) + -- MovementLoopAddLocation(NPC, -180.16, 1.22, 17.01, 2, 0) + MovementLoopAddLocation(NPC, -179.34, 1.22, 14.84, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.10, 1.54, 13.09, 2, 0) + MovementLoopAddLocation(NPC, -178.90, 1.63, 10.02, 2, 0) + MovementLoopAddLocation(NPC, -177.90, 1.98, 7.70, 2, 0) + MovementLoopAddLocation(NPC, -177.39, 1.97, 6.95, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.66, 1.35, 4.99, 2, 0) + MovementLoopAddLocation(NPC, -173.48, 1.26, 1.25, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -177.77, 1.30, 5.76, 2, 0) + MovementLoopAddLocation(NPC, -180.01, 1.67, 6.82, 2, math.random(6, 8)) + -- MovementLoopAddLocation(NPC, -180.01, 1.64, 6.77, 2, 0) + MovementLoopAddLocation(NPC, -179.98, 1.26, 5.36, 2, math.random(12, 18)) + -- MovementLoopAddLocation(NPC, -180.05, 1.64, 8.88, 2, 0, "changegrid_Going_Down") + -- MovementLoopAddLocation(NPC, -179.81, 1.84, 7.33, 2, math.random(12, 18)) + -- MovementLoopAddLocation(NPC, -177.75, 1.31, 5.95, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.05, 1.27, 1.66, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -172.07, 1.27, -0.66, 2, 0) + MovementLoopAddLocation(NPC, -172.05, 1.27, -0.66, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.34, 1.32, 4.20, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.90, 1.43, 5.87, 2, 0) + MovementLoopAddLocation(NPC, -177.50, 2.05, 7.56, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.97, 1.64, 9.41, 2, 0) + MovementLoopAddLocation(NPC, -179.42, 1.82, 11.00, 2, 0) + MovementLoopAddLocation(NPC, -180.03, 1.60, 12.48, 2, 0) + MovementLoopAddLocation(NPC, -180.09, 1.22, 14.86, 2, math.random(12, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392587.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392587.lua new file mode 100755 index 000000000..0af79a9c7 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392587.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392587.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392587.lua + Script Author : Rylec + Script Date : 09-15-2019 07:36:49 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -178.22, 1.28, 1.69, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -175.52, 1.26, 1.48, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -173.38, 1.26, 1.00, 2, 0) + MovementLoopAddLocation(NPC, -172.04, 1.59, 0.96, 2, 0) + MovementLoopAddLocation(NPC, -170.02, 1.34, -0.27, 2, 0) + MovementLoopAddLocation(NPC, -168.96, 1.34, -0.36, 2, 0) + MovementLoopAddLocation(NPC, -170.38, 1.34, 1.18, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -171.38, 1.61, 1.09, 2, 0) + MovementLoopAddLocation(NPC, -173.09, 1.66, 2.54, 2, 0) + MovementLoopAddLocation(NPC, -175.91, 1.33, 3.97, 2, 0) + MovementLoopAddLocation(NPC, -177.73, 1.32, 6.11, 2, 0) + MovementLoopAddLocation(NPC, -178.16, 1.93, 7.51, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.90, 1.84, 7.67, 2, 0) + MovementLoopAddLocation(NPC, -178.68, 1.26, 4.92, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.22, 1.26, 2.75, 2, 0) + MovementLoopAddLocation(NPC, -176.62, 1.26, 0.98, 2, 0) + MovementLoopAddLocation(NPC, -175.02, 1.31, -0.41, 2, 0) + MovementLoopAddLocation(NPC, -176.09, 1.26, 2.08, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.76, 1.29, 4.17, 2, 0) + MovementLoopAddLocation(NPC, -177.90, 1.28, 5.51, 2, 0) + MovementLoopAddLocation(NPC, -178.12, 1.94, 7.57, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.83, 1.64, 9.54, 2, 0) + MovementLoopAddLocation(NPC, -179.17, 1.82, 10.84, 2, 0) + MovementLoopAddLocation(NPC, -179.86, 1.61, 12.29, 2, 0) + MovementLoopAddLocation(NPC, -180.08, 1.22, 14.66, 2, 0) + MovementLoopAddLocation(NPC, -180.21, 1.22, 16.09, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -180.19, 1.22, 18.72, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.99, 1.80, 11.34, 2, 0) + MovementLoopAddLocation(NPC, -179.13, 1.84, 8.09, 2, 0) + MovementLoopAddLocation(NPC, -178.37, 1.26, 5.49, 2, 0, "changegrid_Going_Up") + -- MovementLoopAddLocation(NPC, -178.45, 1.30, 2.23, 2, math.random(12, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392588.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392588.lua new file mode 100755 index 000000000..d16e0a607 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392588.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392588.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392588.lua + Script Author : Rylec + Script Date : 09-17-2019 08:39:22 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.54, 1.22, 23.35, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -177.52, 1.22, 25.48, 2, 0) + MovementLoopAddLocation(NPC, -177.46, 1.22, 25.48, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -175.32, 1.22, 25.76, 2, 0) + MovementLoopAddLocation(NPC, -174.46, 1.25, 26.47, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -174.23, 1.26, 27.87, 2, 0) + MovementLoopAddLocation(NPC, -175.47, 1.22, 29.62, 2, 0) + MovementLoopAddLocation(NPC, -176.12, 1.22, 31.48, 2, 0) + MovementLoopAddLocation(NPC, -176.42, 1.22, 32.69, 2, 0) + MovementLoopAddLocation(NPC, -177.44, 1.22, 34.12, 2, 0) + MovementLoopAddLocation(NPC, -177.44, 1.22, 34.07, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.82, 1.22, 27.96, 2, 0) + MovementLoopAddLocation(NPC, -176.06, 1.22, 26.11, 2, 0) + MovementLoopAddLocation(NPC, -176.53, 1.22, 24.31, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.09, 1.22, 26.18, 2, 0) + MovementLoopAddLocation(NPC, -175.56, 1.22, 31.65, 2, 0) + MovementLoopAddLocation(NPC, -175.44, 1.24, 32.51, 2, 0) + MovementLoopAddLocation(NPC, -175.43, 1.24, 32.55, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -177.54, 1.30, 35.76, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.42, 1.22, 31.44, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.47, 1.22, 33.61, 2, 0) + MovementLoopAddLocation(NPC, -179.48, 1.22, 33.64, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.70, 1.22, 32.18, 2, 0) + MovementLoopAddLocation(NPC, -180.02, 1.22, 29.88, 2, 0) + MovementLoopAddLocation(NPC, -181.55, 1.28, 24.70, 2, math.random(12, 18)) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392591.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392591.lua new file mode 100755 index 000000000..c52934c86 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392591.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392591.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392591.lua + Script Author : Rylec + Script Date : 09-17-2019 08:39:48 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -172.23, 1.79, 62.10, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -170.14, 1.22, 61.96, 2, 0) + MovementLoopAddLocation(NPC, -169.05, 1.22, 61.28, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -170.01, 1.22, 61.13, 2, 0) + MovementLoopAddLocation(NPC, -171.12, 1.62, 61.19, 2, 0) + MovementLoopAddLocation(NPC, -172.51, 1.79, 60.16, 2, 0) + MovementLoopAddLocation(NPC, -174.49, 1.28, 58.94, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -176.32, 1.23, 58.02, 2, 0) + MovementLoopAddLocation(NPC, -176.39, 1.23, 57.92, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -175.99, 1.22, 59.80, 2, 0) + MovementLoopAddLocation(NPC, -176.51, 1.26, 61.14, 2, 0) + MovementLoopAddLocation(NPC, -176.47, 1.27, 61.21, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -174.32, 1.24, 61.84, 2, 0) + MovementLoopAddLocation(NPC, -172.88, 1.78, 61.84, 2, 0, "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392595.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392595.lua new file mode 100755 index 000000000..bcdda2871 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392595.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392595.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392595.lua + Script Author : Rylec + Script Date : 09-17-2019 08:39:48 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -179.30, 1.26, 58.51, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.27, 1.22, 56.08, 2, 0) + MovementLoopAddLocation(NPC, -179.04, 1.25, 53.96, 2, 0) + MovementLoopAddLocation(NPC, -179.19, 1.34, 48.83, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -178.14, 1.58, 51.81, 2, 0) + MovementLoopAddLocation(NPC, -177.25, 1.42, 54.69, 2, 0) + MovementLoopAddLocation(NPC, -176.17, 1.46, 55.82, 2, 0) + MovementLoopAddLocation(NPC, -174.83, 1.42, 57.49, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -172.07, 1.87, 59.30, 2, 0) + MovementLoopAddLocation(NPC, -171.03, 1.57, 60.25, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -172.44, 1.79, 60.13, 2, 0) + MovementLoopAddLocation(NPC, -172.47, 1.79, 60.15, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -172.24, 1.78, 61.37, 2, 0) + MovementLoopAddLocation(NPC, -172.27, 1.78, 61.27, 2, math.random(12, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -173.21, 1.73, 59.89, 2, 0) + MovementLoopAddLocation(NPC, -175.49, 1.29, 57.89, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -174.51, 1.22, 59.58, 2, 0) + MovementLoopAddLocation(NPC, -172.31, 1.80, 62.23, 2, math.random(12, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -175.34, 1.22, 61.14, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -176.41, 1.22, 60.22, 2, 0) + MovementLoopAddLocation(NPC, -178.45, 1.24, 59.02, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392596.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392596.lua new file mode 100755 index 000000000..610c053ee --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392596.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392596.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392596.lua + Script Author : Rylec + Script Date : 09-17-2019 08:39:22 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.35, 1.26, 29.43, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.66, 1.29, 27.84, 2, 0) + MovementLoopAddLocation(NPC, -181.59, 1.28, 27.81, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.90, 1.22, 29.98, 2, 0) + MovementLoopAddLocation(NPC, -178.46, 1.22, 35.15, 2, 0) + MovementLoopAddLocation(NPC, -178.47, 1.22, 35.19, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.99, 1.22, 27.76, 2, 0) + MovementLoopAddLocation(NPC, -176.01, 1.22, 25.81, 2, 0) + MovementLoopAddLocation(NPC, -176.46, 1.22, 24.59, 2, 0) + MovementLoopAddLocation(NPC, -176.44, 1.22, 24.49, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -177.39, 1.26, 22.71, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.31, 1.22, 29.44, 2, 0) + MovementLoopAddLocation(NPC, -176.35, 1.22, 29.47, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -178.41, 1.22, 31.27, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -178.40, 1.22, 32.69, 2, 0) + MovementLoopAddLocation(NPC, -178.45, 1.22, 32.65, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.68, 1.22, 31.22, 2, 0) + MovementLoopAddLocation(NPC, -180.77, 1.22, 30.34, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392597.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392597.lua new file mode 100755 index 000000000..32c7f3f6d --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392597.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392597.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392597.lua + Script Author : Rylec + Script Date : 09-22-2019 09:41:16 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -154.60, 1.34, 61.88, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -153.73, 1.34, 62.09, 2, 0) + MovementLoopAddLocation(NPC, -151.48, 1.34, 61.81, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -157.95, 1.45, 61.92, 2, 0) + MovementLoopAddLocation(NPC, -157.44, 1.34, 61.90, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -155.47, 1.34, 61.56, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -158.57, 1.58, 61.17, 2, 0) + MovementLoopAddLocation(NPC, -161.35, 1.22, 61.85, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -154.31, 1.34, 62.64, 2, 0) + MovementLoopAddLocation(NPC, -152.16, 1.34, 62.32, 2, 0) + MovementLoopAddLocation(NPC, -151.39, 1.34, 61.78, 2, math.random(12, 18)) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392598.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392598.lua new file mode 100755 index 000000000..263d7acaf --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392598.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392598.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392598.lua + Script Author : Rylec + Script Date : 09-22-2019 09:41:19 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -161.07, 1.22, 60.84, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -154.71, 1.34, 61.25, 2, 0) + MovementLoopAddLocation(NPC, -153.44, 1.34, 60.94, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -158.81, 1.82, 58.66, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -156.70, 1.34, 59.40, 2, 0) + MovementLoopAddLocation(NPC, -155.12, 1.34, 60.98, 2, 0) + MovementLoopAddLocation(NPC, -153.22, 1.34, 61.62, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -151.23, 1.34, 62.76, 2, 0) + MovementLoopAddLocation(NPC, -150.90, 1.34, 62.87, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -156.14, 1.34, 61.51, 2, 0) + MovementLoopAddLocation(NPC, -158.66, 1.58, 60.92, 2, 0) + MovementLoopAddLocation(NPC, -161.76, 1.22, 61.49, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -159.10, 1.58, 60.97, 2, 0) + MovementLoopAddLocation(NPC, -158.96, 1.58, 62.30, 2, 0) + MovementLoopAddLocation(NPC, -158.58, 1.58, 61.96, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -156.53, 1.34, 60.84, 2, 0) + MovementLoopAddLocation(NPC, -156.86, 1.34, 60.85, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -158.74, 1.58, 61.13, 2, 0) + MovementLoopAddLocation(NPC, -159.79, 1.45, 60.89, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -156.05, 1.34, 60.66, 2, 0) + MovementLoopAddLocation(NPC, -156.28, 1.34, 60.78, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -158.38, 1.58, 62.00, 2, 0) + MovementLoopAddLocation(NPC, -162.59, 1.22, 61.95, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -161.84, 1.22, 62.08, 2, 0) + MovementLoopAddLocation(NPC, -161.34, 1.22, 61.94, 2, math.random(12, 18)) +end diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392599.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392599.lua new file mode 100755 index 000000000..7a77b44e1 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392599.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392599.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392599.lua + Script Author : Rylec + Script Date : 09-27-2019 05:46:32 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -164.04, 0.11, 215.12, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -161.34, 0.00, 216.36, 2, 0) + MovementLoopAddLocation(NPC, -157.64, 0.00, 216.58, 2, 0) + MovementLoopAddLocation(NPC, -155.68, 0.00, 217.99, 2, 0) + MovementLoopAddLocation(NPC, -155.71, 0.00, 217.97, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -157.75, 0.00, 217.29, 2, 0) + MovementLoopAddLocation(NPC, -163.08, 0.00, 217.60, 2, 0) + MovementLoopAddLocation(NPC, -165.30, 0.00, 217.11, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -162.63, 0.02, 218.19, 2, 0) + MovementLoopAddLocation(NPC, -159.48, 0.24, 217.98, 2, 0) + MovementLoopAddLocation(NPC, -157.40, 0.00, 216.89, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -156.53, 0.00, 218.02, 2, 0) + MovementLoopAddLocation(NPC, -155.27, 0.01, 218.12, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -154.38, 0.00, 217.89, 2, 0) + MovementLoopAddLocation(NPC, -153.58, 0.01, 218.10, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -154.06, 0.00, 218.06, 2, 0) + MovementLoopAddLocation(NPC, -158.89, 0.24, 217.90, 2, 0) + MovementLoopAddLocation(NPC, -163.54, 0.00, 216.55, 2, 0) + MovementLoopAddLocation(NPC, -163.94, 0.09, 215.24, 2, 0) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392600.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392600.lua new file mode 100755 index 000000000..c37988611 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392600.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392600.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392600.lua + Script Author : Rylec + Script Date : 09-27-2019 05:46:37 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -160.68, 0.05, 218.50, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -159.29, 0.24, 218.13, 2, 0) + MovementLoopAddLocation(NPC, -156.80, 0.01, 218.09, 2, 0) + MovementLoopAddLocation(NPC, -155.08, 0.00, 217.77, 2, 0) + MovementLoopAddLocation(NPC, -154.42, 0.01, 218.08, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -152.57, 0.00, 217.99, 2, 0) + MovementLoopAddLocation(NPC, -151.32, 0.01, 218.10, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -152.04, 0.00, 217.99, 2, 0) + MovementLoopAddLocation(NPC, -153.18, 0.00, 217.18, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -155.31, 0.00, 217.14, 2, 0) + MovementLoopAddLocation(NPC, -155.29, 0.00, 217.14, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -154.25, 0.00, 217.17, 2, 0) + MovementLoopAddLocation(NPC, -154.15, 0.00, 217.29, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -152.23, 0.00, 217.96, 2, 0) + MovementLoopAddLocation(NPC, -150.82, 0.02, 218.21, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -151.72, 0.00, 218.06, 2, 0) + MovementLoopAddLocation(NPC, -157.44, 0.00, 217.60, 2, 0) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392601.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392601.lua new file mode 100755 index 000000000..6a7251836 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392601.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392601.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392601.lua + Script Author : Rylec + Script Date : 09-28-2019 10:48:22 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -172.20, 0.03, 215.87, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -174.03, 0.00, 216.77, 2, 0) + MovementLoopAddLocation(NPC, -178.55, 0.01, 216.79, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.41, 0.00, 217.04, 2, 0) + MovementLoopAddLocation(NPC, -176.43, 0.00, 217.00, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.82, 0.00, 215.65, 2, 0) + MovementLoopAddLocation(NPC, -179.29, 0.04, 212.97, 2, 0) + MovementLoopAddLocation(NPC, -181.90, 0.00, 208.01, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.47, 0.00, 205.81, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.93, 0.00, 207.92, 2, 0) + MovementLoopAddLocation(NPC, -182.12, 0.00, 211.93, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.47, 0.00, 212.85, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.82, 0.00, 212.28, 2, 0) + MovementLoopAddLocation(NPC, -182.54, 0.00, 206.52, 2, math.random(12, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.96, 0.00, 208.13, 2, 0) + MovementLoopAddLocation(NPC, -179.47, 0.14, 211.62, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.68, 0.16, 214.26, 2, 0) + MovementLoopAddLocation(NPC, -173.40, 0.00, 216.26, 2, 0) + MovementLoopAddLocation(NPC, -171.68, 0.00, 217.80, 2, 0) + MovementLoopAddLocation(NPC, -171.66, 0.00, 217.79, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -172.09, 0.00, 217.85, 2, 0) + MovementLoopAddLocation(NPC, -176.21, 0.22, 214.13, 2, 0) + MovementLoopAddLocation(NPC, -178.50, 0.14, 212.59, 2, 0) + MovementLoopAddLocation(NPC, -181.06, 0.29, 209.31, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.40, 0.01, 207.69, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.53, 0.24, 209.09, 2, 0) + MovementLoopAddLocation(NPC, -178.29, 0.11, 213.07, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.45, 0.06, 215.53, 2, 0) + MovementLoopAddLocation(NPC, -170.55, 0.00, 216.59, 2, 0) + MovementLoopAddLocation(NPC, -168.50, 0.00, 217.96, 2, 0) + MovementLoopAddLocation(NPC, -168.48, 0.00, 217.95, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -169.91, 0.00, 216.67, 2, 0) + MovementLoopAddLocation(NPC, -174.06, 0.04, 215.81, 2, 0) + MovementLoopAddLocation(NPC, -175.97, 0.24, 214.11, 2, 0) + MovementLoopAddLocation(NPC, -178.64, 0.14, 212.51, 2, 0) + MovementLoopAddLocation(NPC, -180.06, 0.22, 210.30, 2, 0) + MovementLoopAddLocation(NPC, -180.55, 0.09, 207.92, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.28, 0.02, 206.22, 2, 0) + MovementLoopAddLocation(NPC, -181.12, 0.23, 204.76, 2, 0) + MovementLoopAddLocation(NPC, -181.06, 0.34, 203.70, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.23, 0.00, 205.26, 2, 0) + MovementLoopAddLocation(NPC, -180.92, 0.06, 207.72, 2, 0) + MovementLoopAddLocation(NPC, -179.99, 0.07, 211.72, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.57, 0.05, 214.54, 2, 0) + MovementLoopAddLocation(NPC, -177.15, 0.00, 216.20, 2, 0) + MovementLoopAddLocation(NPC, -175.73, 0.00, 216.80, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -173.95, 0.00, 217.38, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392602.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392602.lua new file mode 100755 index 000000000..15c5e723c --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392602.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392602.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392602.lua + Script Author : Rylec + Script Date : 09-28-2019 10:48:26 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -178.58, 0.00, 214.77, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.73, 0.03, 215.31, 2, 0) + MovementLoopAddLocation(NPC, -173.44, 0.00, 216.91, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -178.21, 0.02, 216.98, 2, 0) + MovementLoopAddLocation(NPC, -179.51, 0.06, 216.84, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.71, 0.03, 216.22, 2, 0) + MovementLoopAddLocation(NPC, -181.62, 0.08, 215.03, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -178.66, 0.00, 216.49, 2, 0) + MovementLoopAddLocation(NPC, -174.69, 0.00, 216.74, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -171.76, 0.00, 217.37, 2, 0) + MovementLoopAddLocation(NPC, -169.62, 0.01, 218.07, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -171.79, 0.00, 217.61, 2, 0) + MovementLoopAddLocation(NPC, -173.13, 0.00, 216.21, 2, 0) + MovementLoopAddLocation(NPC, -174.71, 0.06, 215.51, 2, 0) + MovementLoopAddLocation(NPC, -175.58, 0.26, 214.18, 2, 0) + MovementLoopAddLocation(NPC, -178.00, 0.13, 213.22, 2, 0) + MovementLoopAddLocation(NPC, -179.40, 0.20, 211.27, 2, 0) + MovementLoopAddLocation(NPC, -179.87, 0.47, 209.52, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.12, 0.04, 207.34, 2, 0) + MovementLoopAddLocation(NPC, -181.39, 0.18, 204.02, 2, 0) + MovementLoopAddLocation(NPC, -182.39, 0.03, 200.31, 2, 0) + MovementLoopAddLocation(NPC, -182.98, 0.00, 203.01, 2, 0) + MovementLoopAddLocation(NPC, -182.54, 0.00, 205.41, 2, 0) + MovementLoopAddLocation(NPC, -182.14, 0.24, 208.92, 2, 0) + MovementLoopAddLocation(NPC, -180.13, 0.03, 212.33, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.73, 0.06, 214.24, 2, 0) + MovementLoopAddLocation(NPC, -176.43, 0.00, 216.09, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -174.03, 0.01, 216.04, 2, 0) + MovementLoopAddLocation(NPC, -168.81, 0.00, 217.72, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -172.43, 0.00, 216.77, 2, 0) + MovementLoopAddLocation(NPC, -174.37, 0.04, 215.80, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392603.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392603.lua new file mode 100755 index 000000000..09d8d1a8d --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392603.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392603.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392603.lua + Script Author : Rylec + Script Date : 09-28-2019 10:48:30 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.12, 0.24, 209.16, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.54, 0.00, 205.88, 2, 0) + MovementLoopAddLocation(NPC, -181.94, 0.00, 204.09, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.17, 0.00, 206.76, 2, 0) + MovementLoopAddLocation(NPC, -181.10, 0.28, 208.80, 2, 0) + MovementLoopAddLocation(NPC, -179.94, 0.09, 211.41, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.31, 0.13, 213.87, 2, 0) + MovementLoopAddLocation(NPC, -175.77, 0.00, 216.35, 2, 0) + MovementLoopAddLocation(NPC, -173.50, 0.00, 216.79, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.02, 0.02, 215.62, 2, 0) + MovementLoopAddLocation(NPC, -178.17, 0.07, 213.66, 2, 0) + MovementLoopAddLocation(NPC, -179.73, 0.00, 213.15, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -180.25, 0.00, 214.62, 2, 0) + MovementLoopAddLocation(NPC, -179.62, 0.07, 216.81, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -176.39, 0.00, 216.87, 2, 0) + MovementLoopAddLocation(NPC, -172.71, 0.00, 217.05, 2, 0) + MovementLoopAddLocation(NPC, -168.85, 0.03, 215.84, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -171.25, 0.00, 216.36, 2, 0) + MovementLoopAddLocation(NPC, -179.44, 0.00, 215.07, 2, 0) + MovementLoopAddLocation(NPC, -179.46, 0.00, 215.03, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -179.91, 0.00, 213.88, 2, 0) + MovementLoopAddLocation(NPC, -180.27, 0.05, 211.72, 2, 0) + MovementLoopAddLocation(NPC, -181.34, 0.26, 209.36, 2, math.random(12, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.04, 0.00, 207.68, 2, 0) + MovementLoopAddLocation(NPC, -182.05, 0.00, 205.12, 2, 0) + MovementLoopAddLocation(NPC, -182.98, 0.00, 201.20, 2, 0) + MovementLoopAddLocation(NPC, -183.12, 0.00, 207.01, 2, 0) + MovementLoopAddLocation(NPC, -183.46, 0.24, 209.16, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392604.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392604.lua new file mode 100755 index 000000000..a94cd5171 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392604.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392604.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392604.lua + Script Author : Rylec + Script Date : 10-05-2019 09:22:17 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.23, 0.00, 196.92, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -183.19, 0.00, 192.40, 2, 0) + MovementLoopAddLocation(NPC, -183.08, 0.28, 189.19, 2, 0) + MovementLoopAddLocation(NPC, -182.20, 0.00, 184.94, 2, math.random(12, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -180.74, 0.00, 181.80, 2, 0) + MovementLoopAddLocation(NPC, -180.75, 0.00, 181.82, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -184.38, 0.10, 184.24, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -183.44, 0.28, 186.29, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.99, 0.00, 191.52, 2, 0) + MovementLoopAddLocation(NPC, -183.26, 0.10, 193.76, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392605.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392605.lua new file mode 100755 index 000000000..1b08aa55c --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392605.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392605.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392605.lua + Script Author : Rylec + Script Date : 10-17-2019 03:26:57 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.22, 0.00, 172.62, 2, math.random(12, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.01, 0.00, 169.33, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.67, 0.00, 167.10, 2, 0) + MovementLoopAddLocation(NPC, -182.05, 0.00, 162.58, 2, 0) + MovementLoopAddLocation(NPC, -181.67, 0.00, 162.06, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.93, 0.00, 162.10, 2, 0) + MovementLoopAddLocation(NPC, -181.96, 0.00, 164.41, 2, 0) + MovementLoopAddLocation(NPC, -182.50, 0.00, 166.69, 2, 0) + MovementLoopAddLocation(NPC, -182.68, 0.00, 168.04, 2, 0) + MovementLoopAddLocation(NPC, -183.22, 0.00, 165.58, 2, 0) + MovementLoopAddLocation(NPC, -184.38, 0.33, 160.77, 2, 0) + MovementLoopAddLocation(NPC, -182.61, 0.00, 156.45, 2, 0) + MovementLoopAddLocation(NPC, -182.62, 0.00, 156.45, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.02, 0.00, 159.45, 2, 0) + MovementLoopAddLocation(NPC, -181.58, 0.00, 164.33, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.05, 0.00, 167.04, 2, 0) + MovementLoopAddLocation(NPC, -181.60, 0.00, 169.34, 2, 0) + MovementLoopAddLocation(NPC, -181.65, 0.24, 170.62, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.61, 0.00, 172.47, 2, math.random(12, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.94, 0.23, 170.06, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.47, 0.00, 168.09, 2, 0) + MovementLoopAddLocation(NPC, -181.48, 0.00, 168.10, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.46, 0.25, 170.41, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392606.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392606.lua new file mode 100755 index 000000000..a95ab233e --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392606.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392606.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392606.lua + Script Author : Rylec + Script Date : 10-17-2019 03:27:10 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.40, 0.01, 166.59, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.70, 0.00, 168.45, 2, 0) + MovementLoopAddLocation(NPC, -181.54, 0.00, 169.21, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.56, 0.00, 168.35, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.25, 0.00, 163.60, 2, 0) + MovementLoopAddLocation(NPC, -181.61, 0.00, 162.65, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.88, 0.24, 160.55, 2, 0) + MovementLoopAddLocation(NPC, -181.52, 0.00, 158.68, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.54, 0.00, 157.04, 2, 0) + MovementLoopAddLocation(NPC, -182.54, 0.00, 157.06, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.94, 0.00, 163.96, 2, 0) + MovementLoopAddLocation(NPC, -182.20, 0.00, 167.58, 2, 0) + MovementLoopAddLocation(NPC, -181.54, 0.00, 168.45, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.98, 0.00, 167.41, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392607.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392607.lua new file mode 100755 index 000000000..5cbee789a --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392607.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392607.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392607.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:22 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.04, 0.00, 138.91, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.09, 0.00, 140.31, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.35, 0.00, 135.37, 2, 0) + MovementLoopAddLocation(NPC, -181.42, 0.00, 133.17, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -183.87, 0.05, 138.89, 2, 0) + MovementLoopAddLocation(NPC, -184.20, 0.08, 140.15, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -180.22, 0.00, 137.84, 2, 0) + MovementLoopAddLocation(NPC, -177.73, 0.00, 136.13, 2, 0) + MovementLoopAddLocation(NPC, -177.34, 0.13, 134.33, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -177.49, 0.00, 139.52, 2, 0) + MovementLoopAddLocation(NPC, -176.94, 0.06, 141.87, 2, 0) + MovementLoopAddLocation(NPC, -180.14, 0.00, 143.05, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392608.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392608.lua new file mode 100755 index 000000000..aa1f75ae7 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392608.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392608.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392608.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:26 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -176.86, 0.03, 140.15, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -178.28, 0.00, 139.48, 2, 0) + MovementLoopAddLocation(NPC, -179.34, 0.00, 136.84, 2, 0) + MovementLoopAddLocation(NPC, -179.05, 0.00, 135.29, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -178.92, 0.00, 136.24, 2, 0) + MovementLoopAddLocation(NPC, -178.04, 0.00, 139.89, 2, 0) + MovementLoopAddLocation(NPC, -178.09, 0.00, 141.23, 2, 0) + MovementLoopAddLocation(NPC, -178.13, 0.00, 141.30, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -184.03, 0.06, 143.91, 2, 0) + MovementLoopAddLocation(NPC, -184.57, 0.14, 143.59, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -180.45, 0.00, 139.85, 2, 0) + MovementLoopAddLocation(NPC, -177.30, 0.06, 135.14, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -177.62, 0.00, 135.72, 2, 0) + MovementLoopAddLocation(NPC, -179.42, 0.00, 139.15, 2, 0) + MovementLoopAddLocation(NPC, -182.10, 0.00, 142.26, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -180.43, 0.00, 140.36, 2, 0) + MovementLoopAddLocation(NPC, -175.90, 0.14, 138.09, 2, math.random(12, 18)) +end diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392609.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392609.lua new file mode 100755 index 000000000..efe0fb628 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392609.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392609.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392609.lua + Script Author : Rylec + Script Date : 10-17-2019 04:40:09 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.56, 0.02, 126.94, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.19, 0.00, 125.05, 2, 0) + MovementLoopAddLocation(NPC, -182.34, 0.00, 121.47, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.84, 0.00, 118.89, 2, 0) + MovementLoopAddLocation(NPC, -181.82, 0.00, 111.31, 2, 0) + MovementLoopAddLocation(NPC, -181.51, 0.00, 109.74, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.16, 0.03, 113.12, 2, 0) + MovementLoopAddLocation(NPC, -180.33, 0.13, 115.15, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.70, 0.24, 117.17, 2, 0) + MovementLoopAddLocation(NPC, -181.76, 0.00, 121.65, 2, 0) + MovementLoopAddLocation(NPC, -183.11, 0.00, 123.93, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.11, 0.00, 121.94, 2, 0) + MovementLoopAddLocation(NPC, -181.79, 0.00, 115.56, 2, 0) + MovementLoopAddLocation(NPC, -182.46, 0.00, 112.45, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.20, 0.03, 109.30, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -180.67, 0.08, 114.98, 2, 0) + MovementLoopAddLocation(NPC, -181.45, 0.25, 116.86, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.94, 0.00, 119.49, 2, 0) + MovementLoopAddLocation(NPC, -182.00, 0.00, 123.28, 2, 0) + MovementLoopAddLocation(NPC, -182.29, 0.00, 124.53, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.39, 0.00, 124.38, 2, 0) + MovementLoopAddLocation(NPC, -179.99, 0.11, 120.48, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.40, 0.01, 122.32, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392610.lua b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392610.lua new file mode 100755 index 000000000..b24ee4373 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/asludgewalkerhatchling392610.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/asludgewalkerhatchling392610.lua + Script Purpose : Waypoint Path for asludgewalkerhatchling392610.lua + Script Author : Rylec + Script Date : 10-17-2019 04:40:31 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.29, 0.00, 110.46, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.80, 0.00, 113.32, 2, 0) + MovementLoopAddLocation(NPC, -184.33, 0.32, 116.90, 2, 0) + MovementLoopAddLocation(NPC, -183.51, 0.02, 120.04, 2, 0) + MovementLoopAddLocation(NPC, -182.31, 0.00, 121.41, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.99, 0.00, 123.59, 2, 0) + MovementLoopAddLocation(NPC, -181.57, 0.00, 127.48, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.26, 0.00, 123.37, 2, 0) + MovementLoopAddLocation(NPC, -181.65, 0.24, 117.21, 2, 0) + MovementLoopAddLocation(NPC, -182.32, 0.00, 115.36, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.25, 0.00, 115.62, 2, 0) + MovementLoopAddLocation(NPC, -180.50, 0.36, 117.01, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.33, 0.02, 114.38, 2, 0) + MovementLoopAddLocation(NPC, -181.32, 0.02, 110.85, 2, 0) + MovementLoopAddLocation(NPC, -180.38, 0.12, 109.90, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.85, 0.00, 115.35, 2, 0) + MovementLoopAddLocation(NPC, -183.77, 0.27, 117.05, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.59, 0.00, 114.87, 2, 0) + MovementLoopAddLocation(NPC, -181.27, 0.02, 113.18, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.51, 0.24, 116.87, 2, 0) + MovementLoopAddLocation(NPC, -182.07, 0.00, 119.24, 2, 0) + MovementLoopAddLocation(NPC, -182.12, 0.00, 122.25, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -181.95, 0.00, 121.76, 2, 0) + MovementLoopAddLocation(NPC, -181.27, 0.27, 116.94, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.84, 0.00, 115.30, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.20, 0.00, 119.25, 2, 0) + MovementLoopAddLocation(NPC, -182.30, 0.00, 125.51, 2, math.random(12, 18)) + MovementLoopAddLocation(NPC, -182.81, 0.00, 121.30, 2, 0) + MovementLoopAddLocation(NPC, -182.65, 0.24, 117.26, 2, 0) + MovementLoopAddLocation(NPC, -182.81, 0.00, 111.72, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393119.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393119.lua new file mode 100755 index 000000000..215a65986 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393119.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393119.lua + Script Purpose : Waypoint Path for atrashhopper393119.lua + Script Author : Rylec + Script Date : 09-13-2019 02:53:48 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -175.98, 1.26, 1.38, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -173.76, 1.26, 0.23, 2, 0) + MovementLoopAddLocation(NPC, -172.10, 1.58, -0.17, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -174.09, 1.26, 0.93, 2, 0) + MovementLoopAddLocation(NPC, -175.58, 1.30, 3.13, 2, 0) + MovementLoopAddLocation(NPC, -176.60, 1.35, 4.83, 2, 0) + MovementLoopAddLocation(NPC, -176.74, 1.42, 5.61, 2, 0) + MovementLoopAddLocation(NPC, -178.18, 1.93, 7.38, 2, 0) + MovementLoopAddLocation(NPC, -179.05, 1.63, 9.99, 2, 0) + MovementLoopAddLocation(NPC, -179.04, 1.62, 9.87, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.82, 1.26, 5.99, 2, 0) + MovementLoopAddLocation(NPC, -179.08, 1.26, 4.63, 2, 0) + MovementLoopAddLocation(NPC, -179.09, 1.26, 4.68, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.17, 1.84, 7.77, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.40, 1.82, 11.21, 2, 0) + MovementLoopAddLocation(NPC, -179.05, 1.52, 13.12, 2, 0) + MovementLoopAddLocation(NPC, -179.29, 1.22, 15.02, 2, 0) + MovementLoopAddLocation(NPC, -179.64, 1.22, 15.79, 2, 0) + -- MovementLoopAddLocation(NPC, -180.07, 1.22, 16.75, 2, 0) + MovementLoopAddLocation(NPC, -180.08, 1.22, 16.43, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.22, 1.22, 14.92, 2, 0) + MovementLoopAddLocation(NPC, -178.88, 1.62, 9.92, 2, 0) + MovementLoopAddLocation(NPC, -177.93, 1.98, 7.91, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.80, 1.48, 6.33, 2, 0) + MovementLoopAddLocation(NPC, -176.60, 1.44, 5.55, 2, 0) + MovementLoopAddLocation(NPC, -174.38, 1.50, 3.84, 2, 0) + MovementLoopAddLocation(NPC, -172.94, 1.88, 2.93, 2, 0) + MovementLoopAddLocation(NPC, -171.87, 1.84, 2.60, 2, 0) + -- MovementLoopAddLocation(NPC, -169.77, 1.34, -0.43, 2, 0) + MovementLoopAddLocation(NPC, -169.84, 1.34, -0.45, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -171.20, 1.58, 0.21, 2, 0) + MovementLoopAddLocation(NPC, -172.25, 1.61, 1.17, 2, 0) + MovementLoopAddLocation(NPC, -173.63, 1.34, 2.17, 2, 0) + MovementLoopAddLocation(NPC, -174.93, 1.28, 2.22, 2, 0) + MovementLoopAddLocation(NPC, -175.84, 1.26, 2.69, 2, 0) + -- MovementLoopAddLocation(NPC, -177.17, 1.26, 3.82, 2, 0) + MovementLoopAddLocation(NPC, -177.11, 1.26, 3.75, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -173.85, 1.30, 1.94, 2, 0) + MovementLoopAddLocation(NPC, -172.08, 1.70, 1.87, 2, 0) + MovementLoopAddLocation(NPC, -171.13, 1.61, 1.09, 2, 0) + MovementLoopAddLocation(NPC, -169.79, 1.34, 1.01, 2, 0) + -- MovementLoopAddLocation(NPC, -168.96, 1.34, -0.38, 2, math.random(8, 18)) + -- MovementLoopAddLocation(NPC, -169.02, 1.34, -0.38, 2, 0) + MovementLoopAddLocation(NPC, -170.14, 1.34, -0.12, 2, 0) + MovementLoopAddLocation(NPC, -173.94, 1.26, 0.05, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393120.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393120.lua new file mode 100755 index 000000000..4d2def8b7 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393120.lua @@ -0,0 +1,88 @@ +--[[ + Script Name : TWHopper002.lua + Script Purpose : Waypoint Path for TWHopper002.lua + Script Author : Rylec + Script Date : 09-13-2019 03:45:48 + Script Notes : +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.12, 1.75, 10.59, 2, 0) + MovementLoopAddLocation(NPC, -179.62, 1.61, 9.77, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.96, 1.86, 8.11, 2, 0) + MovementLoopAddLocation(NPC, -178.16, 1.89, 7.08, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.86, 1.27, 5.18, 2, 0) + MovementLoopAddLocation(NPC, -177.33, 1.26, 4.15, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -177.48, 1.29, 4.84, 2, 0) + MovementLoopAddLocation(NPC, -178.76, 1.26, 5.87, 2, 0) + MovementLoopAddLocation(NPC, -179.18, 1.84, 7.21, 2, 0) + MovementLoopAddLocation(NPC, -179.37, 1.62, 9.90, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.14, 1.76, 11.47, 2, 0) + MovementLoopAddLocation(NPC, -178.50, 1.58, 13.30, 2, 0) + MovementLoopAddLocation(NPC, -178.24, 2.25, 14.47, 2, 0) + MovementLoopAddLocation(NPC, -179.32, 1.22, 15.67, 2, 0) + MovementLoopAddLocation(NPC, -179.27, 1.22, 15.69, 2, math.random(8, 18)) + -- MovementLoopAddLocation(NPC, -178.25, 1.63, 15.96, 2, 0) + -- MovementLoopAddLocation(NPC, -178.25, 1.63, 15.96, 2, 0) + MovementLoopAddLocation(NPC, -179.02, 1.62, 12.18, 2, 0) + MovementLoopAddLocation(NPC, -179.18, 1.82, 11.08, 2, 0) + MovementLoopAddLocation(NPC, -178.60, 1.64, 9.59, 2, 0) + MovementLoopAddLocation(NPC, -177.99, 1.86, 6.94, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.79, 1.28, 5.33, 2, 0) + MovementLoopAddLocation(NPC, -176.47, 1.28, 3.75, 2, 0) + MovementLoopAddLocation(NPC, -175.20, 1.31, 2.95, 2, 0) + MovementLoopAddLocation(NPC, -174.58, 1.31, 2.36, 2, 0) + MovementLoopAddLocation(NPC, -173.99, 1.27, 1.65, 2, 0) + MovementLoopAddLocation(NPC, -172.31, 1.60, 1.03, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -174.01, 1.26, 1.06, 2, 0) + MovementLoopAddLocation(NPC, -175.08, 1.27, 2.18, 2, 0) + MovementLoopAddLocation(NPC, -176.39, 1.26, 3.18, 2, 0) + MovementLoopAddLocation(NPC, -178.03, 1.26, 3.70, 2, 0) + MovementLoopAddLocation(NPC, -178.77, 1.26, 4.15, 2, 0) + MovementLoopAddLocation(NPC, -178.16, 1.26, 4.77, 2, 0) + MovementLoopAddLocation(NPC, -178.07, 1.26, 4.73, 2, 0) + MovementLoopAddLocation(NPC, -175.61, 1.35, 3.95, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -174.28, 1.42, 3.15, 2, 0) + MovementLoopAddLocation(NPC, -173.17, 1.75, 3.02, 2, 0) + MovementLoopAddLocation(NPC, -172.05, 1.77, 2.26, 2, 0) + MovementLoopAddLocation(NPC, -170.64, 1.62, 2.15, 2, 0) + MovementLoopAddLocation(NPC, -169.63, 1.34, 1.01, 2, 0) + MovementLoopAddLocation(NPC, -168.94, 1.34, -0.37, 2, 0) + MovementLoopAddLocation(NPC, -169.04, 1.34, -0.35, 2, 0) + MovementLoopAddLocation(NPC, -170.48, 1.36, -0.17, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -171.75, 1.58, -0.03, 2, 0) + MovementLoopAddLocation(NPC, -174.08, 1.26, -0.16, 2, 0) + MovementLoopAddLocation(NPC, -174.88, 1.26, 0.38, 2, 0) + MovementLoopAddLocation(NPC, -175.40, 1.26, 1.63, 2, 0) + MovementLoopAddLocation(NPC, -175.84, 1.32, 3.77, 2, 0) + MovementLoopAddLocation(NPC, -176.66, 1.34, 4.85, 2, 0) + MovementLoopAddLocation(NPC, -177.05, 1.43, 6.26, 2, 0) + MovementLoopAddLocation(NPC, -177.86, 1.99, 7.66, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -178.98, 1.70, 8.79, 2, 0) + MovementLoopAddLocation(NPC, -180.13, 1.79, 10.74, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 4000206445) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393121.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393121.lua new file mode 100755 index 000000000..59bd4be7f --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393121.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393121.lua + Script Purpose : Waypoint Path for atrashhopper393121.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:24 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -171.72, 0.00, 217.3, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -174.02, 0.02, 216.01, 2, 0) + MovementLoopAddLocation(NPC, -175.34, 0.24, 214.40, 2, 0) + MovementLoopAddLocation(NPC, -177.72, 0.19, 213.03, 2, 0) + MovementLoopAddLocation(NPC, -180.31, 0.39, 209.56, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -180.83, 0.07, 207.45, 2, 0) + MovementLoopAddLocation(NPC, -182.33, 0.00, 204.23, 2, 0) + MovementLoopAddLocation(NPC, -182.66, 0.24, 199.51, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.03, 0.00, 201.38, 2, 0) + MovementLoopAddLocation(NPC, -182.04, 0.00, 205.58, 2, 0) + MovementLoopAddLocation(NPC, -180.30, 0.39, 209.13, 2, 0) + MovementLoopAddLocation(NPC, -179.74, 0.09, 211.80, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.76, 0.02, 215.30, 2, 0) + MovementLoopAddLocation(NPC, -175.65, 0.00, 216.78, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -175.95, 0.00, 216.24, 2, 0) + MovementLoopAddLocation(NPC, -179.76, 0.05, 212.40, 2, 0) + MovementLoopAddLocation(NPC, -181.65, 0.00, 207.51, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.92, 0.00, 204.71, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.50, 0.00, 202.20, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -184.48, 0.12, 207.20, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -184.26, 0.31, 209.09, 2, 0) + MovementLoopAddLocation(NPC, -184.69, 0.28, 211.31, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -183.85, 0.22, 212.73, 2, 0) + MovementLoopAddLocation(NPC, -181.77, 0.01, 213.86, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.51, 0.24, 209.53, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -179.95, 0.12, 210.98, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.29, 0.11, 214.05, 2, 0) + MovementLoopAddLocation(NPC, -172.45, 0.02, 216.01, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393122.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393122.lua new file mode 100755 index 000000000..9f2879348 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393122.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393122.lua + Script Purpose : Waypoint Path for atrashhopper393122.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:27 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + + MovementLoopAddLocation(NPC, -182.59, 0.00, 205.63, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.59, 0.00, 205.50, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.81, 0.24, 208.99, 2, 0) + MovementLoopAddLocation(NPC, -178.68, 0.19, 212.03, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.78, 0.00, 216.22, 2, 0) + MovementLoopAddLocation(NPC, -175.60, 0.00, 216.91, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -174.58, 0.00, 217.70, 2, 0) + MovementLoopAddLocation(NPC, -173.38, 0.00, 217.76, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -172.47, 0.00, 217.84, 2, 0) + MovementLoopAddLocation(NPC, -172.56, 0.00, 217.83, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -173.70, 0.00, 217.85, 2, 0) + MovementLoopAddLocation(NPC, -176.50, 0.00, 216.87, 2, 0) + MovementLoopAddLocation(NPC, -177.47, 0.00, 216.82, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.07, 0.06, 217.03, 2, 0) + MovementLoopAddLocation(NPC, -180.55, 0.13, 216.53, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -170.28, 0.00, 217.83, 2, 0) + MovementLoopAddLocation(NPC, -174.49, 0.00, 216.98, 2, 0) + MovementLoopAddLocation(NPC, -174.50, 0.00, 216.93, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -175.95, 0.08, 215.02, 2, 0) + MovementLoopAddLocation(NPC, -179.92, 0.09, 211.57, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393123.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393123.lua new file mode 100755 index 000000000..fcc38f78c --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393123.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393123.lua + Script Purpose : Waypoint Path for atrashhopper393123.lua + Script Author : Rylec + Script Date : 10-17-2019 04:35:40 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.29, 0.00, 118.81, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.38, 0.00, 112.50, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.03, 0.00, 112.02, 2, 0) + MovementLoopAddLocation(NPC, -181.39, 0.01, 110.31, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.40, 0.01, 112.56, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.38, 0.01, 109.48, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.46, 0.01, 120.11, 2, 0) + MovementLoopAddLocation(NPC, -182.40, 0.00, 124.40, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.29, 0.00, 121.56, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.31, 0.00, 121.63, 2, 0) + MovementLoopAddLocation(NPC, -182.28, 0.00, 122.38, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.46, 0.00, 123.64, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.37, 0.00, 126.54, 2, 0) + MovementLoopAddLocation(NPC, -184.01, 0.06, 127.00, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.27, 0.00, 125.96, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393124.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393124.lua new file mode 100755 index 000000000..0da167adc --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393124.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393124.lua + Script Purpose : Waypoint Path for atrashhopper393124.lua + Script Author : Rylec + Script Date : 10-05-2019 08:25:22 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -182.18, 0.00, 192.22, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.29, 0.00, 194.80, 2, 0) + MovementLoopAddLocation(NPC, -183.20, 0.00, 196.80, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.24, 0.00, 193.23, 2, 0) + MovementLoopAddLocation(NPC, -181.73, 0.37, 188.02, 2, 0) + MovementLoopAddLocation(NPC, -182.43, 0.00, 184.31, 2, math.random(8, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.96, 0.48, 187.30, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.51, 0.27, 188.78, 2, 0) + MovementLoopAddLocation(NPC, -181.94, 0.00, 191.18, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.24, 0.00, 195.59, 2, 0) + MovementLoopAddLocation(NPC, -182.23, 0.00, 195.63, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.84, 0.00, 197.84, 2, 0) + MovementLoopAddLocation(NPC, -183.65, 0.12, 194.02, 2, 0) + MovementLoopAddLocation(NPC, -183.24, 0.00, 191.06, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.59, 0.00, 191.75, 2, 0) + MovementLoopAddLocation(NPC, -182.15, 0.00, 192.65, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.17, 0.00, 196.55, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.95, 0.00, 190.66, 2, 0) + MovementLoopAddLocation(NPC, -182.70, 0.37, 186.85, 2, 0) + MovementLoopAddLocation(NPC, -182.15, 0.00, 184.98, 2, math.random(8, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.25, 0.00, 190.78, 2, math.random(8, 18), "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393125.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393125.lua new file mode 100755 index 000000000..30c8f9b54 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393125.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393125.lua + Script Purpose : Waypoint Path for atrashhopper393125.lua + Script Author : Rylec + Script Date : 10-05-2019 09:21:50 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -184.80, 0.18, 197.67, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.37, 0.00, 195.04, 2, 0) + MovementLoopAddLocation(NPC, -183.83, 0.05, 191.20, 2, 0) + MovementLoopAddLocation(NPC, -182.70, 0.28, 188.51, 2, 0) + MovementLoopAddLocation(NPC, -182.15, 0.00, 195.73, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.71, 0.00, 191.84, 2, 0) + MovementLoopAddLocation(NPC, -182.06, 0.39, 186.92, 2, 0) + MovementLoopAddLocation(NPC, -182.49, 0.00, 183.58, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -183.31, 0.00, 191.70, 2, math.random(8, 18), "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -181.70, 0.00, 197.23, 2, 0) + MovementLoopAddLocation(NPC, -182.76, 0.00, 192.88, 2, 0) + MovementLoopAddLocation(NPC, -182.00, 0.29, 186.39, 2, 0) + MovementLoopAddLocation(NPC, -182.67, 0.00, 182.78, 2, math.random(8, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.76, 0.33, 188.17, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.05, 0.00, 194.68, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 1555937977) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 667331216) +end + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393126.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393126.lua new file mode 100755 index 000000000..91187f17b --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393126.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393126.lua + Script Purpose : Waypoint Path for atrashhopper393126.lua + Script Author : Rylec + Script Date : 10-17-2019 03:26:46 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -183.77, 0.04, 163.59, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.50, 0.00, 162.43, 2, 0) + MovementLoopAddLocation(NPC, -181.76, 0.00, 158.78, 2, 0) + MovementLoopAddLocation(NPC, -182.52, 0.00, 157.20, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.09, 0.00, 167.00, 2, 0) + MovementLoopAddLocation(NPC, -181.52, 0.00, 168.51, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.54, 0.00, 167.41, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.85, 0.00, 166.31, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.32, 0.00, 163.65, 2, 0) + MovementLoopAddLocation(NPC, -182.14, 0.24, 160.88, 2, 0) + MovementLoopAddLocation(NPC, -183.24, 0.00, 157.74, 2, 0) + MovementLoopAddLocation(NPC, -182.69, 0.00, 156.38, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.05, 0.00, 157.66, 2, 0) + MovementLoopAddLocation(NPC, -184.24, 0.08, 159.00, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.88, 0.00, 162.16, 2, 0) + MovementLoopAddLocation(NPC, -182.43, 0.00, 172.60, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.41, 0.00, 172.60, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.82, 0.00, 165.72, 2, 0, "changegrid_Going_Down") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393127.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393127.lua new file mode 100755 index 000000000..36894f54a --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393127.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393127.lua + Script Purpose : Waypoint Path for atrashhopper393127.lua + Script Author : Rylec + Script Date : 10-17-2019 03:26:51 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.48, 0.00, 163.02, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.51, 0.00, 164.02, 2, 0) + MovementLoopAddLocation(NPC, -182.94, 0.00, 165.64, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.74, 0.24, 160.80, 2, 0) + MovementLoopAddLocation(NPC, -184.45, 0.12, 158.19, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.48, 0.01, 156.24, 2, 0) + MovementLoopAddLocation(NPC, -180.36, 0.13, 157.28, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.04, 0.00, 161.96, 2, 0) + MovementLoopAddLocation(NPC, -183.09, 0.00, 164.09, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.54, 0.00, 167.65, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.53, 0.00, 173.09, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -182.51, 0.00, 173.12, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.12, 0.00, 169.19, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.27, 0.00, 165.04, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 667331216) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3049532766) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393128.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393128.lua new file mode 100755 index 000000000..f80d65f0e --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393128.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393128.lua + Script Purpose : Waypoint Path for atrashhopper393128.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:10 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -177.10, 0.07, 135.19, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.45, 0.00, 136.90, 2, 0) + MovementLoopAddLocation(NPC, -181.03, 0.00, 141.14, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.97, 0.00, 139.38, 2, 0) + MovementLoopAddLocation(NPC, -178.98, 0.00, 139.37, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.40, 0.01, 133.45, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -184.97, 0.21, 136.61, 2, 0) + MovementLoopAddLocation(NPC, -185.59, 0.38, 138.74, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.82, 0.00, 136.15, 2, 0) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393129.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393129.lua new file mode 100755 index 000000000..56e90ebf2 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393129.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393129.lua + Script Purpose : Waypoint Path for atrashhopper393129.lua + Script Author : Rylec + Script Date : 10-17-2019 03:28:16 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.98, 0.00, 138.04, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.87, 0.00, 137.15, 2, 0) + MovementLoopAddLocation(NPC, -178.88, 0.00, 137.13, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.24, 0.00, 135.01, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.22, 0.00, 137.23, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.09, 0.00, 135.02, 2, 0) + MovementLoopAddLocation(NPC, -182.09, 0.00, 135.01, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -177.25, 0.06, 135.11, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.00, 0.00, 141.24, 2, 0) + MovementLoopAddLocation(NPC, -179.64, 0.00, 143.39, 2, 0) + MovementLoopAddLocation(NPC, -180.17, 0.02, 144.82, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.05, 0.00, 140.81, 2, 0) +end + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393130.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393130.lua new file mode 100755 index 000000000..6c8bf345d --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393130.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393130.lua + Script Purpose : Waypoint Path for atrashhopper393130.lua + Script Author : Rylec + Script Date : 10-17-2019 04:35:24 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -181.33, 0.02, 109.45, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.99, 0.00, 111.13, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.24, 0.02, 113.34, 2, 0) + MovementLoopAddLocation(NPC, -181.91, 0.00, 115.69, 2, 0) + MovementLoopAddLocation(NPC, -181.43, 0.25, 117.17, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.48, 0.00, 109.51, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.66, 0.00, 114.52, 2, 0) + MovementLoopAddLocation(NPC, -183.60, 0.25, 117.11, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.22, 0.00, 114.69, 2, 0) + MovementLoopAddLocation(NPC, -182.05, 0.00, 111.38, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393131.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393131.lua new file mode 100755 index 000000000..534d1b682 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393131.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393131.lua + Script Purpose : Waypoint Path for atrashhopper393131.lua + Script Author : Rylec + Script Date : 09-22-2019 05:03:08 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -175.49, 1.22, 60.02, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.92, 1.22, 55.76, 2, 0) + MovementLoopAddLocation(NPC, -180.34, 1.22, 54.32, 2, 0) + MovementLoopAddLocation(NPC, -180.32, 1.22, 54.22, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.05, 1.58, 53.15, 2, 0) + MovementLoopAddLocation(NPC, -179.14, 1.58, 52.87, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.32, 1.24, 56.12, 2, 0) + MovementLoopAddLocation(NPC, -178.32, 1.24, 59.21, 2, 0) + MovementLoopAddLocation(NPC, -178.16, 1.23, 59.25, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -176.72, 1.22, 60.02, 2, 0) + MovementLoopAddLocation(NPC, -175.28, 1.22, 61.22, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.36, 1.22, 55.06, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.82, 1.22, 55.94, 2, 0) + MovementLoopAddLocation(NPC, -176.59, 1.23, 57.68, 2, 0) + MovementLoopAddLocation(NPC, -175.44, 1.22, 60.25, 2, 0) + MovementLoopAddLocation(NPC, -175.34, 1.22, 60.24, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -174.29, 1.22, 60.10, 2, 0) + MovementLoopAddLocation(NPC, -172.46, 1.78, 60.58, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -169.50, 1.22, 61.64, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -171.63, 1.78, 61.13, 2, 0) + MovementLoopAddLocation(NPC, -174.75, 1.22, 61.31, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -180.37, 1.30, 57.49, 2, 0) + MovementLoopAddLocation(NPC, -180.74, 1.30, 56.61, 2, math.random(8, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393132.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393132.lua new file mode 100755 index 000000000..127410e18 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393132.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393132.lua + Script Purpose : Waypoint Path for atrashhopper393132.lua + Script Author : Rylec + Script Date : 10-17-2019 04:46:08 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -172.97, 0.05, 91.09, 2, math.random(8, 18), "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -175.04, 0.39, 92.80, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -177.47, 0.17, 93.64, 2, 0) + MovementLoopAddLocation(NPC, -180.22, 0.11, 96.30, 2, 0) + MovementLoopAddLocation(NPC, -181.91, 0.48, 100.98, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -177.74, 0.05, 91.14, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.23, 0.05, 92.26, 2, 0) + MovementLoopAddLocation(NPC, -180.12, 0.12, 96.24, 2, 0) + MovementLoopAddLocation(NPC, -181.94, 0.27, 99.73, 2, 0) + MovementLoopAddLocation(NPC, -181.78, 0.00, 104.14, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.81, 0.04, 98.21, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -183.12, 0.29, 100.01, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.93, 0.05, 93.09, 2, math.random(8, 18)) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3049532766) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 3438300428) +end + + + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393134.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393134.lua new file mode 100755 index 000000000..43caba619 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393134.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393134.lua + Script Purpose : Waypoint Path for atrashhopper393134.lua + Script Author : Rylec + Script Date : 09-15-2019 06:26:32 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -176.34, 1.22, 26.36, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.68, 1.22, 31.87, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.47, 1.22, 32.52, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.72, 1.22, 31.05, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.47, 1.22, 30.11, 2, 0) + MovementLoopAddLocation(NPC, -180.27, 1.22, 28.60, 2, 0) + MovementLoopAddLocation(NPC, -179.52, 1.22, 27.58, 2, 0) + MovementLoopAddLocation(NPC, -176.57, 1.22, 24.29, 2, 0) + -- MovementLoopAddLocation(NPC, -176.24, 1.36, 22.75, 2, 0) + MovementLoopAddLocation(NPC, -176.44, 1.36, 22.55, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -174.53, 1.23, 27.36, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.57, 1.22, 23.60, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.56, 1.22, 23.67, 2, 0) + MovementLoopAddLocation(NPC, -178.99, 1.22, 36.75, 2, 0) + MovementLoopAddLocation(NPC, -179.16, 1.65, 38.60, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -176.30, 1.22, 30.19, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -177.44, 1.31, 35.65, 2, 0) + MovementLoopAddLocation(NPC, -177.58, 1.29, 35.61, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.34, 1.22, 34.18, 2, math.random(8, 18)) + -- MovementLoopAddLocation(NPC, -177.11, 1.22, 27.72, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -176.31, 1.22, 25.41, 2, 0) + MovementLoopAddLocation(NPC, -175.71, 1.30, 23.78, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -176.23, 1.47, 21.95, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -177.68, 1.22, 24.80, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.71, 1.22, 25.61, 2, 0) + MovementLoopAddLocation(NPC, -181.33, 1.25, 25.67, 2, 0) + MovementLoopAddLocation(NPC, -180.13, 1.22, 27.92, 2, math.random(8, 18)) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393135.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393135.lua new file mode 100755 index 000000000..ee7c70e18 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393135.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393135.lua + Script Purpose : Waypoint Path for atrashhopper393135.lua + Script Author : Rylec + Script Date : 09-17-2019 05:52:12 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -175.51, 1.23, 32.54, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.46, 1.22, 33.34, 2, 0) + MovementLoopAddLocation(NPC, -179.46, 1.22, 33.38, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.53, 1.24, 36.56, 2, 0) + MovementLoopAddLocation(NPC, -178.61, 1.24, 36.67, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -180.45, 1.22, 26.39, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.85, 1.22, 27.95, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -175.44, 1.22, 31.52, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.40, 1.26, 28.46, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -175.29, 1.22, 29.32, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -177.57, 1.22, 25.36, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -175.38, 1.22, 26.64, 2, 0) + MovementLoopAddLocation(NPC, -175.44, 1.22, 26.80, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -175.46, 1.22, 31.12, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393136.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393136.lua new file mode 100755 index 000000000..f5e9c6c17 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393136.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393136.lua + Script Purpose : Waypoint Path for atrashhopper393136.lua + Script Author : Rylec + Script Date : 09-28-2019 10:46:18 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -180.61, 0.01, 211.78, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.49, 0.05, 214.71, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.70, 0.08, 217.38, 2, 0) + MovementLoopAddLocation(NPC, -175.47, 0.00, 217.84, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.23, 0.06, 213.74, 2, 0) + MovementLoopAddLocation(NPC, -180.41, 0.05, 211.46, 2, 0) + MovementLoopAddLocation(NPC, -181.16, 0.28, 209.19, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -181.36, 0.14, 204.36, 2, 0) + MovementLoopAddLocation(NPC, -182.34, 0.00, 201.92, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -182.64, 0.00, 204.98, 2, 0) + MovementLoopAddLocation(NPC, -181.12, 0.28, 209.11, 2, 0) + MovementLoopAddLocation(NPC, -178.88, 0.26, 211.33, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -176.47, 0.00, 215.88, 2, 0) + MovementLoopAddLocation(NPC, -173.69, 0.00, 216.95, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -176.39, 0.23, 213.99, 2, 0) + MovementLoopAddLocation(NPC, -178.74, 0.13, 212.47, 2, 0) + MovementLoopAddLocation(NPC, -180.38, 0.38, 209.34, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -182.61, 0.00, 206.70, 2, 0) + MovementLoopAddLocation(NPC, -182.59, 0.00, 206.68, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -181.56, 0.24, 208.80, 2, 0) + MovementLoopAddLocation(NPC, -178.76, 0.19, 212.01, 2, 0, "changegrid_Going_Up") + MovementLoopAddLocation(NPC, -174.65, 0.00, 217.95, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.29, 0.08, 212.44, 2, 0) +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3053675711) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 1555937977) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393142.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393142.lua new file mode 100755 index 000000000..daa4be552 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393142.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393142.lua + Script Purpose : Waypoint Path for atrashhopper393142.lua + Script Author : Rylec + Script Date : 09-22-2019 05:03:15 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -172.56, 1.78, 61.25, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -169.91, 1.22, 61.12, 2, 0) + MovementLoopAddLocation(NPC, -169.50, 1.28, 59.63, 2, 0) + MovementLoopAddLocation(NPC, -173.47, 1.72, 58.77, 2, 0, "changegrid_Going_Down") + MovementLoopAddLocation(NPC, -175.35, 1.33, 57.62, 2, 0) + MovementLoopAddLocation(NPC, -176.55, 1.46, 55.43, 2, 0) + MovementLoopAddLocation(NPC, -177.46, 1.82, 52.98, 2, 0) + MovementLoopAddLocation(NPC, -178.90, 1.60, 52.12, 2, 0) + MovementLoopAddLocation(NPC, -179.34, 1.34, 51.48, 2, 0) + MovementLoopAddLocation(NPC, -179.38, 1.34, 51.28, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.93, 1.34, 44.85, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -179.45, 1.26, 58.31, 2, 0) + MovementLoopAddLocation(NPC, -179.45, 1.28, 58.62, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -177.30, 1.22, 57.29, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.00, 1.24, 55.89, 2, 0) + MovementLoopAddLocation(NPC, -178.18, 1.34, 50.89, 2, 0) + MovementLoopAddLocation(NPC, -179.07, 1.34, 49.36, 2, 0) + MovementLoopAddLocation(NPC, -180.17, 1.34, 46.87, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -178.48, 1.34, 50.73, 2, 0) + MovementLoopAddLocation(NPC, -177.61, 1.79, 52.43, 2, 0) + MovementLoopAddLocation(NPC, -177.41, 1.29, 56.01, 2, 0) + MovementLoopAddLocation(NPC, -175.61, 1.28, 57.90, 2, 0) + MovementLoopAddLocation(NPC, -172.35, 1.86, 59.41, 2, 0, "changegrid_Going_Up") +end + +-------------------------------------------------------------------------------------- +-- NPC Change Grid +-------------------------------------------------------------------------------------- + +function changegrid_Going_Up(NPC) + SetGridID(NPC, 3098524280) +end + +function changegrid_Going_Down(NPC) + SetGridID(NPC, 2981397110) +end + + diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393145.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393145.lua new file mode 100755 index 000000000..f05875aee --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393145.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393145.lua + Script Purpose : Waypoint Path for atrashhopper393145.lua + Script Author : Rylec + Script Date : 09-27-2019 05:45:08 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -151.64, 0.00, 217.96, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -152.14, 0.00, 217.94, 2, 0) + MovementLoopAddLocation(NPC, -155.47, 0.01, 218.08, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -153.32, 0.00, 216.99, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -162.66, 0.00, 217.14, 2, 0) + MovementLoopAddLocation(NPC, -162.62, 0.00, 217.14, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -159.31, 0.24, 217.95, 2, 0) + MovementLoopAddLocation(NPC, -157.46, 0.00, 217.65, 2, 0) + MovementLoopAddLocation(NPC, -155.80, 0.00, 216.71, 2, 0) + MovementLoopAddLocation(NPC, -152.22, 0.01, 218.13, 2, 0) + MovementLoopAddLocation(NPC, -154.78, 0.00, 217.28, 2, 0) + MovementLoopAddLocation(NPC, -160.82, 0.00, 217.64, 2, 0) + MovementLoopAddLocation(NPC, -162.14, 0.06, 218.69, 2, 0) + MovementLoopAddLocation(NPC, -163.59, 0.06, 218.66, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -160.98, 0.00, 217.68, 2, 0) + MovementLoopAddLocation(NPC, -157.08, 0.00, 217.92, 2, 0) + MovementLoopAddLocation(NPC, -154.37, 0.03, 218.29, 2, 0) + MovementLoopAddLocation(NPC, -151.40, 0.00, 218.04, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -152.49, 0.00, 217.42, 2, 0) + MovementLoopAddLocation(NPC, -157.28, 0.05, 215.61, 2, 0) + MovementLoopAddLocation(NPC, -158.91, 0.34, 215.20, 2, 0) + MovementLoopAddLocation(NPC, -161.00, 0.00, 216.15, 2, 0) + MovementLoopAddLocation(NPC, -161.18, 0.00, 217.09, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -157.47, 0.00, 216.66, 2, 0) + MovementLoopAddLocation(NPC, -155.15, 0.00, 217.22, 2, math.random(8, 18)) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393146.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393146.lua new file mode 100755 index 000000000..2dafd2647 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393146.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393146.lua + Script Purpose : Waypoint Path for atrashhopper393146.lua + Script Author : Rylec + Script Date : 09-27-2019 05:45:12 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -162.27, 0.00, 217.16, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -160.56, 0.00, 216.73, 2, 0) + MovementLoopAddLocation(NPC, -157.50, 0.00, 216.73, 2, 0) + MovementLoopAddLocation(NPC, -155.99, 0.00, 217.20, 2, 0) + MovementLoopAddLocation(NPC, -156.01, 0.00, 217.20, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -158.74, 0.24, 217.81, 2, 0) + MovementLoopAddLocation(NPC, -160.73, 0.04, 218.40, 2, 0) + MovementLoopAddLocation(NPC, -162.92, 0.00, 217.87, 2, 0) + MovementLoopAddLocation(NPC, -164.89, 0.00, 217.80, 2, 0) + MovementLoopAddLocation(NPC, -163.13, 0.00, 216.56, 2, 0) + MovementLoopAddLocation(NPC, -161.42, 0.00, 217.08, 2, 0) + MovementLoopAddLocation(NPC, -161.55, 0.00, 217.06, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -165.34, 0.08, 218.86, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -160.42, 0.00, 217.68, 2, 0) + MovementLoopAddLocation(NPC, -157.48, 0.00, 217.92, 2, 0) + MovementLoopAddLocation(NPC, -155.59, 0.00, 217.92, 2, 0) + MovementLoopAddLocation(NPC, -152.78, 0.00, 216.90, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -155.85, 0.00, 217.43, 2, 0) + MovementLoopAddLocation(NPC, -158.83, 0.24, 217.38, 2, 0) + MovementLoopAddLocation(NPC, -160.98, 0.00, 218.05, 2, 0) + MovementLoopAddLocation(NPC, -162.44, 0.00, 217.11, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -156.26, 0.00, 217.20, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -160.55, 0.02, 215.99, 2, 0) + MovementLoopAddLocation(NPC, -161.78, 0.08, 214.84, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -165.21, 0.00, 216.89, 2, 0) + MovementLoopAddLocation(NPC, -165.22, 0.00, 216.93, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -160.90, 0.01, 218.08, 2, 0) + MovementLoopAddLocation(NPC, -157.52, 0.00, 217.52, 2, 0) + MovementLoopAddLocation(NPC, -154.86, 0.00, 216.83, 2, 0) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393148.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393148.lua new file mode 100755 index 000000000..2186ef644 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393148.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393148.lua + Script Purpose : Waypoint Path for atrashhopper393148.lua + Script Author : Rylec + Script Date : 09-18-2019 09:10:30 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -152.40, 1.34, 60.89, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -154.00, 1.34, 61.00, 2, 0) + MovementLoopAddLocation(NPC, -159.10, 1.57, 60.95, 2, 0) + MovementLoopAddLocation(NPC, -159.00, 1.58, 61.00, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -157.33, 1.34, 61.20, 2, 0) + MovementLoopAddLocation(NPC, -153.11, 1.34, 61.75, 2, 0) + -- MovementLoopAddLocation(NPC, -153.25, 1.34, 61.35, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -156.73, 1.34, 62.07, 2, 0) + MovementLoopAddLocation(NPC, -156.63, 1.34, 62.24, 2, math.random(4, 6)) + MovementLoopAddLocation(NPC, -156.03, 1.34, 61.45, 2, 0) + MovementLoopAddLocation(NPC, -155.29, 1.34, 60.93, 2, 0) + MovementLoopAddLocation(NPC, -155.17, 1.34, 60.98, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -154.06, 1.34, 61.99, 2, 0) + MovementLoopAddLocation(NPC, -153.93, 1.34, 62.25, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -155.58, 1.34, 62.01, 2, 0) + MovementLoopAddLocation(NPC, -155.58, 1.34, 61.75, 2, math.random(4, 6)) + MovementLoopAddLocation(NPC, -162.74, 1.22, 61.85, 2, math.random(8, 18)) + -- MovementLoopAddLocation(NPC, -162.60, 1.22, 61.70, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -159.02, 1.58, 62.03, 2, 0) + MovementLoopAddLocation(NPC, -158.78, 1.58, 61.98, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -152.40, 1.34, 60.70, 2, math.random(8, 18)) +end diff --git a/Lua/SpawnScripts/ThievesWay/atrashhopper393149.lua b/Lua/SpawnScripts/ThievesWay/atrashhopper393149.lua new file mode 100755 index 000000000..125d89aa9 --- /dev/null +++ b/Lua/SpawnScripts/ThievesWay/atrashhopper393149.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/ThievesWay/atrashhopper393149.lua + Script Purpose : Waypoint Path for atrashhopper393149.lua + Script Author : Rylec + Script Date : 09-22-2019 08:31:30 + Script Notes : Locations collected from Live +--]] + +function spawn(NPC) + waypoints(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) +end + +function waypoints(NPC) + MovementLoopAddLocation(NPC, -157.31, 1.34, 60.92, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -160.95, 1.25, 59.94, 2, 0) + MovementLoopAddLocation(NPC, -160.65, 1.25, 59.95, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -156.75, 1.34, 61.96, 2, 0) + MovementLoopAddLocation(NPC, -156.48, 1.34, 61.88, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -152.51, 1.34, 61.90, 2, 0) + MovementLoopAddLocation(NPC, -152.09, 1.34, 61.66, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -156.04, 1.34, 62.18, 2, 0) + MovementLoopAddLocation(NPC, -156.38, 1.34, 62.00, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -158.98, 1.58, 60.94, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -153.60, 1.34, 60.84, 2, 0) + MovementLoopAddLocation(NPC, -153.15, 1.34, 61.08, 2, math.random(8, 18)) + MovementLoopAddLocation(NPC, -154.25, 1.34, 61.45, 2, 0) + MovementLoopAddLocation(NPC, -154.57, 1.34, 61.64, 2, 0) + MovementLoopAddLocation(NPC, -154.57, 1.34, 61.64, 2, math.random(8, 18)) +end diff --git a/Lua/SpawnScripts/ThunderingSteppes/Blackjack.lua b/Lua/SpawnScripts/ThunderingSteppes/Blackjack.lua new file mode 100755 index 000000000..1ed8ce00f --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/Blackjack.lua @@ -0,0 +1,714 @@ +-- Blackjack script +--[[ +Phil NPCID: 2490682 (on live) +Script Name: SpawnScripts/ThunderingSteppes/Blackjack.lua +Script Purpose: a Blackjack game with bets, payouts, and real shuffling +Script Author: Patrikpatrik +Script Date: August 22 2016 +Script Notes: seems bulletproof but needs more testing. 7th revision +--]] + +--52 cards in a deck +local cardtable = { +'A♠', '2♠', '3♠','4♠','5♠','6♠','7♠', +'8♠','9♠','10♠','Jack♠','Queen♠','King♠', +'A♥', '2♥', '3♥','4♥','5♥','6♥','7♥', +'8♥','9♥','10♥','Jack♥','Queen♥','King♥', +'A♣', '2♣', '3♣','4♣','5♣','6♣','7♣', +'8♣','9♣','10♣','Jack♣','Queen♣','King♣', +'A♦', '2♦', '3♦','4♦','5♦','6♦','7♦', +'8♦','9♦','10♦','Jack♦','Queen♦','King♦', +} +--This shuffles the deck of cards randomly each pass +function shuffle(NPC, Spawn) + new = {} + for i=1, #cardtable do + table.insert(new, math.random(i), cardtable[i]) + end +end +--Assign values to firstcard +function CardValues1(NPC, Spawn) + if firstcard == 'A♠' or firstcard == 'A♥' or firstcard == 'A♣' or firstcard == 'A♦' then + first = 1 + myace = 10 + elseif firstcard == '2♠' or firstcard == '2♥' or firstcard == '2♣' or firstcard == '2♦' then + first = 2 + elseif firstcard == '3♠' or firstcard == '3♥' or firstcard == '3♣' or firstcard == '3♦' then + first = 3 + elseif firstcard == '4♠' or firstcard == '4♥' or firstcard == '4♣' or firstcard == '4♦' then + first = 4 + elseif firstcard == '5♠' or firstcard == '5♥' or firstcard == '5♣' or firstcard == '5♦' then + first = 5 + elseif firstcard == '6♠' or firstcard == '6♥' or firstcard == '6♣' or firstcard == '6♦' then + first = 6 + elseif firstcard == '7♠' or firstcard == '7♥' or firstcard == '7♣' or firstcard == '7♦' then + first = 7 + elseif firstcard == '8♠' or firstcard == '8♥' or firstcard == '8♣' or firstcard == '8♦' then + first = 8 + elseif firstcard == '9♠' or firstcard == '9♥' or firstcard == '9♣' or firstcard == '9♦' then + first = 9 + elseif firstcard == '10♠' or firstcard == '10♥' or firstcard == '10♣' or firstcard == '10♦' then + first = 10 + elseif firstcard == 'Jack♠' or firstcard == 'Jack♥' or firstcard == 'Jack♣' or firstcard == 'Jack♦' then + first = 10 + elseif firstcard == 'Queen♠' or firstcard == 'Queen♥' or firstcard == 'Queen♣' or firstcard == 'Queen♦' then + first = 10 + elseif firstcard == 'King♠' or firstcard == 'King♥' or firstcard == 'King♣' or firstcard == 'King♦' then + first = 10 + else + end +end +--Assign values to secondcard +function CardValues2(NPC, Spawn) + if secondcard == 'A♠' or secondcard == 'A♥' or secondcard == 'A♣' or secondcard == 'A♦' then + second = 1 + dealerace = 10 + elseif secondcard == '2♠' or secondcard == '2♥' or secondcard == '2♣' or secondcard == '2♦' then + second = 2 + elseif secondcard == '3♠' or secondcard == '3♥' or secondcard == '3♣' or secondcard == '3♦' then + second = 3 + elseif secondcard == '4♠' or secondcard == '4♥' or secondcard == '4♣' or secondcard == '4♦' then + second = 4 + elseif secondcard == '5♠' or secondcard == '5♥' or secondcard == '5♣' or secondcard == '5♦' then + second = 5 + elseif secondcard == '6♠' or secondcard == '6♥' or secondcard == '6♣' or secondcard == '6♦' then + second = 6 + elseif secondcard == '7♠' or secondcard == '7♥' or secondcard == '7♣' or secondcard == '7♦' then + second = 7 + elseif secondcard == '8♠' or secondcard == '8♥' or secondcard == '8♣' or secondcard == '8♦' then + second = 8 + elseif secondcard == '9♠' or secondcard == '9♥' or secondcard == '9♣' or secondcard == '9♦' then + second = 9 + elseif secondcard == '10♠' or secondcard == '10♥' or secondcard == '10♣' or secondcard == '10♦' then + second = 10 + elseif secondcard == 'Jack♠' or secondcard == 'Jack♥' or secondcard == 'Jack♣' or secondcard == 'Jack♦' then + second = 10 + elseif secondcard == 'Queen♠' or secondcard == 'Queen♥' or secondcard == 'Queen♣' or secondcard == 'Queen♦' then + second = 10 + elseif secondcard == 'King♠' or secondcard == 'King♥' or secondcard == 'King♣' or secondcard == 'King♦' then + second = 10 + else + end +end +--Assign values to thirdcard +function CardValues3(NPC, Spawn) + if thirdcard == 'A♠' or thirdcard == 'A♥' or thirdcard == 'A♣' or thirdcard == 'A♦' then + third = 1 + myace = 10 + elseif thirdcard == '2♠' or thirdcard == '2♥' or thirdcard == '2♣' or thirdcard == '2♦' then + third = 2 + elseif thirdcard == '3♠' or thirdcard == '3♥' or thirdcard == '3♣' or thirdcard == '3♦' then + third = 3 + elseif thirdcard == '4♠' or thirdcard == '4♥' or thirdcard == '4♣' or thirdcard == '4♦' then + third = 4 + elseif thirdcard == '5♠' or thirdcard == '5♥' or thirdcard == '5♣' or thirdcard == '5♦' then + third = 5 + elseif thirdcard == '6♠' or thirdcard == '6♥' or thirdcard == '6♣' or thirdcard == '6♦' then + third = 6 + elseif thirdcard == '7♠' or thirdcard == '7♥' or thirdcard == '7♣' or thirdcard == '7♦' then + third = 7 + elseif thirdcard == '8♠' or thirdcard == '8♥' or thirdcard == '8♣' or thirdcard == '8♦' then + third = 8 + elseif thirdcard == '9♠' or thirdcard == '9♥' or thirdcard == '9♣' or thirdcard == '9♦' then + third = 9 + elseif thirdcard == '10♠' or thirdcard == '10♥' or thirdcard == '10♣' or thirdcard == '10♦' then + third = 10 + elseif thirdcard == 'Jack♠' or thirdcard == 'Jack♥' or thirdcard == 'Jack♣' or thirdcard == 'Jack♦' then + third = 10 + elseif thirdcard == 'Queen♠' or thirdcard == 'Queen♥' or thirdcard == 'Queen♣' or thirdcard == 'Queen♦' then + third = 10 + elseif thirdcard == 'King♠' or thirdcard == 'King♥' or thirdcard == 'King♣' or thirdcard == 'King♦' then + third = 10 + else + end +end +--Assign values to fourthcard +function CardValues4(NPC, Spawn) + if fourthcard == 'A♠' or fourthcard == 'A♥' or fourthcard == 'A♣' or fourthcard == 'A♦' then + fourth = 1 + dealerace = 10 + elseif fourthcard == '2♠' or fourthcard == '2♥' or fourthcard == '2♣' or fourthcard == '2♦' then + fourth = 2 + elseif fourthcard == '3♠' or fourthcard == '3♥' or fourthcard == '3♣' or fourthcard == '3♦' then + fourth = 3 + elseif fourthcard == '4♠' or fourthcard == '4♥' or fourthcard == '4♣' or fourthcard == '4♦' then + fourth = 4 + elseif fourthcard == '5♠' or fourthcard == '5♥' or fourthcard == '5♣' or fourthcard == '5♦' then + fourth = 5 + elseif fourthcard == '6♠' or fourthcard == '6♥' or fourthcard == '6♣' or fourthcard == '6♦' then + fourth = 6 + elseif fourthcard == '7♠' or fourthcard == '7♥' or fourthcard == '7♣' or fourthcard == '7♦' then + fourth = 7 + elseif fourthcard == '8♠' or fourthcard == '8♥' or fourthcard == '8♣' or fourthcard == '8♦' then + fourth = 8 + elseif fourthcard == '9♠' or fourthcard == '9♥' or fourthcard == '9♣' or fourthcard == '9♦' then + fourth = 9 + elseif fourthcard == '10♠' or fourthcard == '10♥' or fourthcard == '10♣' or fourthcard == '10♦' then + fourth = 10 + elseif fourthcard == 'Jack♠' or fourthcard == 'Jack♥' or fourthcard == 'Jack♣' or fourthcard == 'Jack♦' then + fourth = 10 + elseif fourthcard == 'Queen♠' or fourthcard == 'Queen♥' or fourthcard == 'Queen♣' or fourthcard == 'Queen♦' then + fourth = 10 + elseif fourthcard == 'King♠' or fourthcard == 'King♥' or fourthcard == 'King♣' or fourthcard == 'King♦' then + fourth = 10 + else + end +end +--Assign values to nextcard +function CardValues5(NPC, Spawn) + if extracard == 'A♠' or extracard == 'A♥' or extracard == 'A♣' or extracard == 'A♦' then + extra = 1 + nextace = 10 + elseif extracard == '2♠' or extracard == '2♥' or extracard == '2♣' or extracard == '2♦' then + extra = 2 + elseif extracard == '3♠' or extracard == '3♥' or extracard == '3♣' or extracard == '3♦' then + extra = 3 + elseif extracard == '4♠' or extracard == '4♥' or extracard == '4♣' or extracard == '4♦' then + extra = 4 + elseif extracard == '5♠' or extracard == '5♥' or extracard == '5♣' or extracard == '5♦' then + extra = 5 + elseif extracard == '6♠' or extracard == '6♥' or extracard == '6♣' or extracard == '6♦' then + extra = 6 + elseif extracard == '7♠' or extracard == '7♥' or extracard == '7♣' or extracard == '7♦' then + extra = 7 + elseif extracard == '8♠' or extracard == '8♥' or extracard == '8♣' or extracard == '8♦' then + extra = 8 + elseif extracard == '9♠' or extracard == '9♥' or extracard == '9♣' or extracard == '9♦' then + extra = 9 + elseif extracard == '10♠' or extracard == '10♥' or extracard == '10♣' or extracard == '10♦' then + extra = 10 + elseif extracard == 'Jack♠' or extracard == 'Jack♥' or extracard == 'Jack♣' or extracard == 'Jack♦' then + extra = 10 + elseif extracard == 'Queen♠' or extracard == 'Queen♥' or extracard == 'Queen♣' or extracard == 'Queen♦' then + extra = 10 + elseif extracard == 'King♠' or extracard == 'King♥' or extracard == 'King♣' or extracard == 'King♦' then + extra = 10 + else + end +end +--Deals the cards +function Deal(NPC, Spawn) + shuffle(NPC, Spawn) + shuffle(NPC, Spawn) + + burncard = table.remove(new, 1) --burns a card off the top + firstcard = table.remove(new, 1) --1st card goes to player + secondcard = table.remove(new, 1) --2nd card goes to dealer + thirdcard = table.remove(new, 1) --3rd card goes to player + fourthcard = table.remove(new, 1) --4th card goes to dealer + + CardValues1() + CardValues2() + CardValues3() + CardValues4() --assigns values + + --peeking at what goes on at this junction + --Say(NPC, "In deal function firstcard is [" .. firstcard .. "] value of " .. first .. ". Secondcard is [" .. secondcard .. "] value of " .. second .. ".") + --Say(NPC, "In deal function thirdcard is [" .. thirdcard .. "] value of " .. third .. ". Fourthcard is [" .. fourthcard .. "] value of " .. fourth .. ".") + +end +--This function combines total, checks for aces logic, and determines if blackjack occured +function Calculates(NPC, Spawn) + playertotal = first + third + dealertotal = second + fourth + if myace == 10 and dealerace == 10 and playertotal == 11 and dealertotal == 11 then + Bothbj(NPC, Spawn) + elseif dealerace == 10 and dealertotal == 11 then + dealertotal = 21 + Dealerbj(NPC, Spawn) + elseif myace == 10 and playertotal == 11 then + playertotal = 21 + Playerbj(NPC, Spawn) + elseif myace == 10 and dealerace == 10 then + alt = " or " + alt2 = " or " + myaces = first + third + 10 + dealeraces = second + fourth + 10 + HitStand1(NPC, Spawn) + elseif myace == 10 then + alt = " or " + alt2 = "" + dealeraces = "" + myaces = first + third + 10 + HitStand1(NPC, Spawn) + elseif dealerace == 10 then + alt = "" + alt2 = " or " + myaces = "" + dealeraces = second + fourth + 10 + HitStand1(NPC, Spawn) + else + alt = "" + alt2 = "" + myaces = "" + dealeraces = "" + HitStand1(NPC, Spawn) + end +end +--calculates the next card etc.. +function CalcMore(NPC, Spawn) + playertotal = playertotal + extra + if myace == 10 then + alt = " or " + myaces = playertotal + 10 + elseif nextace == 10 then + alt = " or " + myaces = playertotal + 10 + else + alt = "" + myaces = "" + end +end +--Text results +function Bothbj(NPC, Spawn) + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "]") + Say(NPC, "You both get blackjack, it's a push!") + SendPopUpMessage(Spawn, "You both get blackjack, it's a push!", 255, 255, 0) + PushLose1(NPC, Spawn) + AddCoin(Spawn, coins) -- Get your money back + Dumbdoh1(NPC, Spawn) + Clearvars() +end +function Dealerbj(NPC, Spawn) + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "] for a total of " .. playertotal .. ".") + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + Say(NPC, "I'm sorry but dealer hits blackjack!") + SendPopUpMessage(Spawn, "Dealer hits blackjack! You lose" .. GetCoinMessage(coins) .. "!", 255, 0, 0) + ApplySpellVisual(Spawn, 874) + Sorry1(NPC, Spawn) + Clearvars() +end +function Playerbj(NPC, Spawn) + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "]") + Say(NPC, "Congratulations, you got blackjack!") + Winning1(NPC, Spawn) + PlaySound(NPC, "sounds/test/endquest.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) --Ding! + ApplySpellVisual(Spawn, 872) --Jackpot style! + AddCoin(Spawn, coins/2*3) + SendPopUpMessage(Spawn, "Congratulations " .. GetName(Spawn) .. " you got blackjack! You win" .. GetCoinMessage(coins/2*3) .. "!" , 0, 255, 0) + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + Clearvars() +end +-- Agree sounds +function Agree(NPC, Spawn) + agree1 = math.random(3) + if agree1 == 1 then + --PlayFlavor(NPC, "voiceover/english/voice_emotes/agree/agree_1_1006.mp3", "", "agree", 0, 0, Spawn) + PlaySound(NPC, "voiceover/english/voice_emotes/agree/agree_1_1006.mp3", GetX(NPC), GetY(NPC), GetZ(NPC)) + elseif agree1 == 2 then + --PlayFlavor(NPC, "voiceover/english/voice_emotes/agree/agree_2_1006.mp3", "", "agree", 0, 0, Spawn) + PlaySound(NPC, "voiceover/english/voice_emotes/agree/agree_2_1006.mp3", GetX(NPC), GetY(NPC), GetZ(NPC)) + elseif agree1 == 3 then + --PlayFlavor(NPC, "voiceover/english/voice_emotes/agree/agree_3_1006.mp3", "", "agree", 0, 0, Spawn) + PlaySound(NPC, "voiceover/english/voice_emotes/agree/agree_3_1006.mp3", GetX(NPC), GetY(NPC), GetZ(NPC)) + end +end +-- dumb doh sounds +function Dumbdoh1(NPC, Spawn) + randpickv = math.random(3) + if randpickv == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/doh/doh_1006.mp3", "", "doh", 0, 0, Spawn) + elseif randpickv == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/doh/doh_1022.mp3", "", "doh", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/doh/doh_1050.mp3", "", "doh", 0, 0, Spawn) + end +end +-- Sorry sounds +function Sorry1(NPC, Spawn) + sorrypick = math.random(3) + if sorrypick == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_1_1006.mp3", "", "apologize", 0, 0, Spawn) + elseif sorrypick == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_2_1006.mp3", "", "apologize", 0, 0, Spawn) + elseif sorrypick == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + end +end +-- Levels of coin falling function +function CoinFalling1(NPC, Spawn) + -- if coins == 100 then + + if coins == 10000 then + --Too cheap for falling coins! + elseif coins == 100000 then + ApplySpellVisual(Spawn, 869) + elseif coins == 500000 then + ApplySpellVisual(Spawn, 870) + elseif coins == 10000000 then + ApplySpellVisual(Spawn, 871) + end +end +-- Winning emotes function +function Winning1(NPC, Spawn) + winning = math.random(12) + if winning == 1 then + PlayFlavor(Spawn, "", "", "agree", 0, 0, NPC) + elseif winning == 2 then + PlayFlavor(Spawn, "", "", "bow", 0, 0, NPC) + elseif winning == 3 then + PlayFlavor(Spawn, "", "", "cackle", 0, 0, NPC) + elseif winning == 4 then + PlayFlavor(Spawn, "", "", "cheer", 0, 0, NPC) + elseif winning == 5 then + PlayFlavor(Spawn, "", "", "chuckle", 0, 0, NPC) + elseif winning == 6 then + PlayFlavor(Spawn, "", "", "cutthroat", 0, 0, NPC) + elseif winning == 7 then + PlayFlavor(Spawn, "", "", "flex", 0, 0, NPC) + elseif winning == 8 then + PlayFlavor(Spawn, "", "", "happy", 0, 0, NPC) + elseif winning == 9 then + PlayFlavor(Spawn, "", "", "heartattack", 0, 0, NPC) + elseif winning == 10 then + PlayFlavor(Spawn, "", "", "heelclick", 0, 0, NPC) + elseif winning == 11 then + PlayFlavor(Spawn, "", "", "howl", 0, 0, NPC) + elseif winning == 12 then + PlayFlavor(Spawn, "", "", "laugh", 0, 0, NPC) + end +end +-- Losing /pushing emotes function +function PushLose1(NPC, Spawn) + PushLose = math.random(11) + if PushLose == 1 then + PlayFlavor(Spawn, "", "", "shrug", 0, 0, NPC) + elseif PushLose == 2 then + PlayFlavor(Spawn, "", "", "violin", 0, 0, NPC) + elseif PushLose == 3 then + PlayFlavor(Spawn, "", "", "boggle", 0, 0, NPC) + elseif PushLose == 4 then + PlayFlavor(Spawn, "", "", "confused", 0, 0, NPC) + elseif PushLose == 5 then + PlayFlavor(Spawn, "", "", "cringe", 0, 0, NPC) + elseif PushLose == 6 then + PlayFlavor(Spawn, "", "", "doh", 0, 0, NPC) + elseif PushLose == 7 then + PlayFlavor(Spawn, "", "", "doubletake", 0, 0, NPC) + elseif PushLose == 8 then + PlayFlavor(Spawn, "", "", "hearnoevil", 0, 0, NPC) + elseif PushLose == 9 then + PlayFlavor(Spawn, "", "", "speaknoevil", 0, 0, NPC) + elseif PushLose == 10 then + PlayFlavor(Spawn, "", "", "lookaway", 0, 0, NPC) + elseif PushLose == 11 then + PlayFlavor(Spawn, "", "", "sigh", 0, 0, NPC) + end +end +-- Busting emotes function +function Busting1(NPC, Spawn) + Busting = math.random(11) + if Busting == 1 then + PlayFlavor(Spawn, "", "", "rude", 0, 0, NPC) + elseif Busting == 2 then + PlayFlavor(Spawn, "", "", "heartattack", 0, 0, NPC) + elseif Busting == 3 then + PlayFlavor(Spawn, "", "", "curse", 0, 0, NPC) + elseif Busting == 4 then + PlayFlavor(Spawn, "", "", "frustrated", 0, 0, NPC) + elseif Busting == 5 then + PlayFlavor(Spawn, "", "", "swear", 0, 0, NPC) + elseif Busting == 6 then + PlayFlavor(Spawn, "", "", "tantrum", 0, 0, NPC) + elseif Busting == 7 then + PlayFlavor(Spawn, "", "", "threaten", 0, 0, NPC) + elseif Busting == 8 then + PlayFlavor(Spawn, "", "", "brandish", 0, 0, NPC) + elseif Busting == 9 then + PlayFlavor(Spawn, "", "", "crazy", 0, 0, NPC) + elseif Busting == 10 then + PlayFlavor(Spawn, "", "", "cry", 0, 0, NPC) + elseif Busting == 11 then + PlayFlavor(Spawn, "", "", "sulk", 0, 0, NPC) + end +end +--This function iterates player hit +function Hit1(NPC, Spawn) + extracard = table.remove(new, 1) + CardValues5() + CalcMore(NPC, Spawn) + + if playertotal > 21 then + Emote(Spawn, "receives a [" .. extracard .. "] for a total of " .. playertotal .. ".") + Say(NPC, "I'm sorry but you bust!") + Busting1(NPC, Spawn) + Sorry1(NPC, Spawn) + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + SendPopUpMessage(Spawn, "Player busts! You lose " .. GetCoinMessage(coins) .. "!", 255, 0, 0) + Clearvars() + elseif myaces~= "" and myaces < 22 then + conversation = CreateConversation() + AddConversationOption(conversation, "Hit!", "Hit1") + AddConversationOption(conversation, "Stand!", "Stand1") + StartConversation(conversation, NPC, Spawn, "You HIT!") + Emote(Spawn, "receives a [" .. extracard .. "] for a total of " .. playertotal .. alt .. myaces .. ".") + elseif playertotal <= 21 then + conversation = CreateConversation() + AddConversationOption(conversation, "Hit!", "Hit1") + AddConversationOption(conversation, "Stand!", "Stand1") + StartConversation(conversation, NPC, Spawn, "You HIT!") + Emote(Spawn, "receives a [" .. extracard .. "] for a total of " .. playertotal .. ".") + end +end +--Function for dealer's hit iteration and lower/higher value logic +function DealerHit(NPC, Spawn) + if dealeraces ~= "" and dealeraces > 16 then + dealertotal = dealeraces + Say(NPC, dealertotal .. "!") + elseif dealeraces~= "" and dealeraces < 17 then + while dealeraces < 17 do + extracard = table.remove(new, 1) + CardValues5() + Emote(NPC, "next card is [" .. extracard .. "]") + dealeraces = dealeraces + extra + dealertotal = dealertotal + extra + if dealeraces > 21 then + dealeraces = dealertotal + Say(NPC, dealeraces .. "!") + else + dealertotal = dealeraces + Say(NPC, dealertotal .. "!") + end + end + elseif dealertotal < 17 then + while dealertotal < 17 do + extracard = table.remove(new, 1) + CardValues5() + Emote(NPC, "next card is [" .. extracard .. "]") + dealertotal = dealertotal + extra + if nextace == 10 then + dealeraces = dealertotal + 10 + if dealeraces > 21 then + dealeraces = dealertotal + Say(NPC, dealeraces .. "!") + else + dealertotal = dealeraces + Say(NPC, dealertotal .. "!") + end + else + Say(NPC, dealertotal .. "!") + end + end + end + ComparingFinal(NPC, Spawn) +end +--Comparing final values and ending the game +function ComparingFinal(NPC, Spawn) + if dealertotal > 21 then + Say(NPC, "Dealer busts and player wins" .. GetCoinMessage(coins) .. "!") + Winning1(NPC, Spawn) + CoinFalling1(NPC, Spawn) + AddCoin(Spawn, coins*2) + SendPopUpMessage(Spawn, "Dealer busts! You win" .. GetCoinMessage(coins) .. "!", 255, 255, 0) + elseif myaces~= "" and dealertotal > myaces then + Say(NPC, "Dealer must stand and Dealer wins!") + PushLose1(NPC, Spawn) + SendPopUpMessage(Spawn, "Dealer wins! You lose" .. GetCoinMessage(coins) .. "!", 213, 89, 0) + Sorry1(NPC, Spawn) + elseif myaces~= "" and dealertotal < myaces then + Say(NPC, "Dealer must stand and Player wins!") + Winning1(NPC, Spawn) + CoinFalling1(NPC, Spawn) + AddCoin(Spawn, coins*2) + SendPopUpMessage(Spawn, "Player wins! You win" .. GetCoinMessage(coins) .. "!", 255, 255, 0) + elseif myaces~= "" and dealertotal == myaces then + Say(NPC, "Dealer stands. It's a push, nobody wins!") + AddCoin(Spawn, coins) -- Get your money back + SendPopUpMessage(Spawn, "It's a push. You get your money back!", 255, 255, 0) + PushLose1(NPC, Spawn) + Dumbdoh1(NPC, Spawn) + elseif dealertotal > playertotal then + Say(NPC, "Dealer must stand and Dealer wins!") + PushLose1(NPC, Spawn) + SendPopUpMessage(Spawn, "Dealer wins! You lose" .. GetCoinMessage(coins) .. "!", 213, 89, 0) + Sorry1(NPC, Spawn) + elseif playertotal > dealertotal then + Say(NPC, "Dealer must stand and Player wins!") + Winning1(NPC, Spawn) + CoinFalling1(NPC, Spawn) + AddCoin(Spawn, coins*2) + SendPopUpMessage(Spawn, "Player wins! You win" .. GetCoinMessage(coins) .. "!", 255, 255, 0) + else + Say(NPC, "Dealer stands. It's a push, nobody wins!") + AddCoin(Spawn, coins) -- Get your money back + SendPopUpMessage(Spawn, "It's a push. You get your money back!", 255, 255, 0) + PushLose1(NPC, Spawn) + Dumbdoh1(NPC, Spawn) + end + Clearvars() +end +--Function on STAND now dealer needs to iterate value, determine aces, and compare players total +function Stand1(NPC, Spawn) + if myaces == "" then + myaces = "" + elseif myaces > 21 then + alt = "" + myaces = "" + elseif myaces < 22 then + alt = "" + playertotal = "" + end + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + DealerHit(NPC, Spawn) +end + +--Function for hit or stand option with cards revealed. +function HitStand1(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Hit!", "Hit1") + AddConversationOption(conversation, "Stand!", "Stand1") + StartConversation(conversation, NPC, Spawn, "Dealer's top card is [" .. fourthcard .. "]") + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "] for a total of " .. playertotal .. alt .. myaces .. ".") +end +--Resets variables for the next playthrough +function Clearvars(NPC, Spawn) + alt = "" + alt2 = "" + myaces = "" + dealeraces = "" + myace = 0 + dealerace = 0 + playertotal = 0 + dealertotal = 0 + nextace = "" +end +--Start of usual functions +function spawn(NPC) + SetPlayerProximityFunction(NPC, 4, "InRange", "LeaveRange") +end +function respawn(NPC) + spawn(NPC) + Clearvars() +end +function InRange(NPC, Spawn) + Emote(NPC, "shuffles a crisp deck of cards.") + Say(NPC, "Test your luck mate?") + Clearvars() +end +function LeaveRange(NPC, Spawn) + Say(NPC, "See you next time!") + PlayFlavor(NPC, "", "", "bye", 0, 0, Spawn) + Clearvars() --Just in case +end +function hailed(NPC, Spawn) + Clearvars() --Just in case + conversation = CreateConversation() + AddConversationOption(conversation, "Let's play.", "Play1") + AddConversationOption(conversation, "Rules please.", "Rules1") + StartConversation(conversation, NPC, Spawn, "Ready to play?") +end +function Play1(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I'll bet 10 platinum!", "Plat1") + AddConversationOption(conversation, "I'll bet 50 gold!", "Gold2") + AddConversationOption(conversation, "I'll bet 10 gold.", "Gold1") + AddConversationOption(conversation, "I'll bet 1 gold.", "Silver1") + -- AddConversationOption(conversation, "I'll bet 100 copper.", "Copper1") -- Too cheap!! + AddConversationOption(conversation, "I changed my mind, sorry.", "Bye1") + StartConversation(conversation, NPC, Spawn, "Let's begin! Place your bets please.") +end +--Start of blackjack script +function Plat1(NPC, Spawn) + conversation = CreateConversation() + coins = 10000000 -- 10 platinum + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Gold2(NPC, Spawn) + conversation = CreateConversation() + coins = 500000 -- 50 gold + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Gold1(NPC, Spawn) + conversation = CreateConversation() + coins = 100000 -- 10 gold + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Silver1(NPC, Spawn) + conversation = CreateConversation() + coins = 10000 -- 1 gold + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Copper1(NPC, Spawn) --Omitted for now + -- conversation = CreateConversation() + -- coins = 100 -- 1 silver + -- local poolCoins = RemoveCoin(Spawn, coins) + -- if(poolCoins) then + -- Agree(NPC, Spawn) + -- Emote(NPC, "shuffles twice and then begins to deal.") + -- --Deal the cards + -- Deal(NPC, Spawn) --adding parameters for troubleshooting + -- --Do calculations + -- Calculates(NPC, Spawn) + -- else + -- Say(NPC, "I'm sorry but you don't have enough money.") + -- PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + -- PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + -- Clearvars() + -- end +end +--Rules of blackjack +function Rules1(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I understand.", "Play1") + AddConversationOption(conversation, "Maybe next time.", "Bye1") + StartConversation(conversation, NPC, Spawn, "The object of Blackjack is to achieve a hand greater than the dealer to 21 without going over. If you go over 21, it is called a 'bust' and the dealer wins. Winning hands are paid out 1 to 1 and a tie results in a 'push'. Card values are scored from 2 to 9 respectively with 10 and face cards worth 10 points and Ace being worth 1 or 11 points. If you have a 10 point card and an Ace in your starting hand, it is called a natural 21 or 'Blackjack' and it pays 3 to 2. Lastly, dealers must draw to 17.") +end +function Bye1(NPC, Spawn) + Say(NPC, "Goodbye!") + PlayFlavor(NPC, "voiceover/english/voice_emotes/goodbye/goodbye_3_1006.mp3", "", "bye", 0, 0, Spawn) + Clearvars() +end +--END Blackjack.lua \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/Blackjack2.lua b/Lua/SpawnScripts/ThunderingSteppes/Blackjack2.lua new file mode 100755 index 000000000..1b4010cad --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/Blackjack2.lua @@ -0,0 +1,715 @@ +-- Blackjack script +--[[ +Phil NPCID: 2490681 +Script Name: SpawnScripts/Generic/Blackjack.lua +Script Purpose: a Blackjack game with bets, payouts, and real shuffling +Script Author: Patrikpatrik +Script Date: August 22 2016 +Script Notes: 8th revision on Live the symbols aren't showing up so replaced with letters +--]] + +--52 cards in a deck +local cardtable = { +'As', '2s', '3s','4s','5s','6s','7s', +'8s','9s','10s','Js','Qs','Ks', +'Ah', '2h', '3h','4h','5h','6h','7h', +'8h','9h','10h','Jh','Qh','Kh', +'Ac', '2c', '3c','4c','5c','6c','7c', +'8c','9c','10c','Jc','Qc','Kc', +'Ad', '2d', '3d','4d','5d','6d','7d', +'8d','9d','10d','Jd','Qd','Kd', +} +--This shuffles the deck of cards randomly each pass +function shuffle(NPC, Spawn) + new = {} + for i=1, #cardtable do + table.insert(new, math.random(i), cardtable[i]) + end +end +--Assign values to firstcard +function CardValues1(NPC, Spawn) + if firstcard == 'As' or firstcard == 'Ah' or firstcard == 'Ac' or firstcard == 'Ad' then + first = 1 + myace = 10 + elseif firstcard == '2s' or firstcard == '2h' or firstcard == '2c' or firstcard == '2d' then + first = 2 + elseif firstcard == '3s' or firstcard == '3h' or firstcard == '3c' or firstcard == '3d' then + first = 3 + elseif firstcard == '4s' or firstcard == '4h' or firstcard == '4c' or firstcard == '4d' then + first = 4 + elseif firstcard == '5s' or firstcard == '5h' or firstcard == '5c' or firstcard == '5d' then + first = 5 + elseif firstcard == '6s' or firstcard == '6h' or firstcard == '6c' or firstcard == '6d' then + first = 6 + elseif firstcard == '7s' or firstcard == '7h' or firstcard == '7c' or firstcard == '7d' then + first = 7 + elseif firstcard == '8s' or firstcard == '8h' or firstcard == '8c' or firstcard == '8d' then + first = 8 + elseif firstcard == '9s' or firstcard == '9h' or firstcard == '9c' or firstcard == '9d' then + first = 9 + elseif firstcard == '10s' or firstcard == '10h' or firstcard == '10c' or firstcard == '10d' then + first = 10 + elseif firstcard == 'Js' or firstcard == 'Jh' or firstcard == 'Jc' or firstcard == 'Jd' then + first = 10 + elseif firstcard == 'Qs' or firstcard == 'Qh' or firstcard == 'Qc' or firstcard == 'Qd' then + first = 10 + elseif firstcard == 'Ks' or firstcard == 'Kh' or firstcard == 'Kc' or firstcard == 'Kd' then + first = 10 + else + end +end +--Assign values to secondcard +function CardValues2(NPC, Spawn) + if secondcard == 'As' or secondcard == 'Ah' or secondcard == 'Ac' or secondcard == 'Ad' then + second = 1 + dealerace = 10 + elseif secondcard == '2s' or secondcard == '2h' or secondcard == '2c' or secondcard == '2d' then + second = 2 + elseif secondcard == '3s' or secondcard == '3h' or secondcard == '3c' or secondcard == '3d' then + second = 3 + elseif secondcard == '4s' or secondcard == '4h' or secondcard == '4c' or secondcard == '4d' then + second = 4 + elseif secondcard == '5s' or secondcard == '5h' or secondcard == '5c' or secondcard == '5d' then + second = 5 + elseif secondcard == '6s' or secondcard == '6h' or secondcard == '6c' or secondcard == '6d' then + second = 6 + elseif secondcard == '7s' or secondcard == '7h' or secondcard == '7c' or secondcard == '7d' then + second = 7 + elseif secondcard == '8s' or secondcard == '8h' or secondcard == '8c' or secondcard == '8d' then + second = 8 + elseif secondcard == '9s' or secondcard == '9h' or secondcard == '9c' or secondcard == '9d' then + second = 9 + elseif secondcard == '10s' or secondcard == '10h' or secondcard == '10c' or secondcard == '10d' then + second = 10 + elseif secondcard == 'Js' or secondcard == 'Jh' or secondcard == 'Jc' or secondcard == 'Jd' then + second = 10 + elseif secondcard == 'Qs' or secondcard == 'Qh' or secondcard == 'Qc' or secondcard == 'Qd' then + second = 10 + elseif secondcard == 'Ks' or secondcard == 'Kh' or secondcard == 'Kc' or secondcard == 'Kd' then + second = 10 + else + end +end +--Assign values to thirdcard +function CardValues3(NPC, Spawn) + if thirdcard == 'As' or thirdcard == 'Ah' or thirdcard == 'Ac' or thirdcard == 'Ad' then + third = 1 + myace = 10 + elseif thirdcard == '2s' or thirdcard == '2h' or thirdcard == '2c' or thirdcard == '2d' then + third = 2 + elseif thirdcard == '3s' or thirdcard == '3h' or thirdcard == '3c' or thirdcard == '3d' then + third = 3 + elseif thirdcard == '4s' or thirdcard == '4h' or thirdcard == '4c' or thirdcard == '4d' then + third = 4 + elseif thirdcard == '5s' or thirdcard == '5h' or thirdcard == '5c' or thirdcard == '5d' then + third = 5 + elseif thirdcard == '6s' or thirdcard == '6h' or thirdcard == '6c' or thirdcard == '6d' then + third = 6 + elseif thirdcard == '7s' or thirdcard == '7h' or thirdcard == '7c' or thirdcard == '7d' then + third = 7 + elseif thirdcard == '8s' or thirdcard == '8h' or thirdcard == '8c' or thirdcard == '8d' then + third = 8 + elseif thirdcard == '9s' or thirdcard == '9h' or thirdcard == '9c' or thirdcard == '9d' then + third = 9 + elseif thirdcard == '10s' or thirdcard == '10h' or thirdcard == '10c' or thirdcard == '10d' then + third = 10 + elseif thirdcard == 'Js' or thirdcard == 'Jh' or thirdcard == 'Jc' or thirdcard == 'Jd' then + third = 10 + elseif thirdcard == 'Qs' or thirdcard == 'Qh' or thirdcard == 'Qc' or thirdcard == 'Qd' then + third = 10 + elseif thirdcard == 'Ks' or thirdcard == 'Kh' or thirdcard == 'Kc' or thirdcard == 'Kd' then + third = 10 + else + end +end +--Assign values to fourthcard +function CardValues4(NPC, Spawn) + if fourthcard == 'As' or fourthcard == 'Ah' or fourthcard == 'Ac' or fourthcard == 'Ad' then + fourth = 1 + dealerace = 10 + elseif fourthcard == '2s' or fourthcard == '2h' or fourthcard == '2c' or fourthcard == '2d' then + fourth = 2 + elseif fourthcard == '3s' or fourthcard == '3h' or fourthcard == '3c' or fourthcard == '3d' then + fourth = 3 + elseif fourthcard == '4s' or fourthcard == '4h' or fourthcard == '4c' or fourthcard == '4d' then + fourth = 4 + elseif fourthcard == '5s' or fourthcard == '5h' or fourthcard == '5c' or fourthcard == '5d' then + fourth = 5 + elseif fourthcard == '6s' or fourthcard == '6h' or fourthcard == '6c' or fourthcard == '6d' then + fourth = 6 + elseif fourthcard == '7s' or fourthcard == '7h' or fourthcard == '7c' or fourthcard == '7d' then + fourth = 7 + elseif fourthcard == '8s' or fourthcard == '8h' or fourthcard == '8c' or fourthcard == '8d' then + fourth = 8 + elseif fourthcard == '9s' or fourthcard == '9h' or fourthcard == '9c' or fourthcard == '9d' then + fourth = 9 + elseif fourthcard == '10s' or fourthcard == '10h' or fourthcard == '10c' or fourthcard == '10d' then + fourth = 10 + elseif fourthcard == 'Js' or fourthcard == 'Jh' or fourthcard == 'Jc' or fourthcard == 'Jd' then + fourth = 10 + elseif fourthcard == 'Qs' or fourthcard == 'Qh' or fourthcard == 'Qc' or fourthcard == 'Qd' then + fourth = 10 + elseif fourthcard == 'Ks' or fourthcard == 'Kh' or fourthcard == 'Kc' or fourthcard == 'Kd' then + fourth = 10 + else + end +end +--Assign values to nextcard +function CardValues5(NPC, Spawn) + if extracard == 'As' or extracard == 'Ah' or extracard == 'Ac' or extracard == 'Ad' then + extra = 1 + nextace = 10 + elseif extracard == '2s' or extracard == '2h' or extracard == '2c' or extracard == '2d' then + extra = 2 + elseif extracard == '3s' or extracard == '3h' or extracard == '3c' or extracard == '3d' then + extra = 3 + elseif extracard == '4s' or extracard == '4h' or extracard == '4c' or extracard == '4d' then + extra = 4 + elseif extracard == '5s' or extracard == '5h' or extracard == '5c' or extracard == '5d' then + extra = 5 + elseif extracard == '6s' or extracard == '6h' or extracard == '6c' or extracard == '6d' then + extra = 6 + elseif extracard == '7s' or extracard == '7h' or extracard == '7c' or extracard == '7d' then + extra = 7 + elseif extracard == '8s' or extracard == '8h' or extracard == '8c' or extracard == '8d' then + extra = 8 + elseif extracard == '9s' or extracard == '9h' or extracard == '9c' or extracard == '9d' then + extra = 9 + elseif extracard == '10s' or extracard == '10h' or extracard == '10c' or extracard == '10d' then + extra = 10 + elseif extracard == 'Js' or extracard == 'Jh' or extracard == 'Jc' or extracard == 'Jd' then + extra = 10 + elseif extracard == 'Qs' or extracard == 'Qh' or extracard == 'Qc' or extracard == 'Qd' then + extra = 10 + elseif extracard == 'Ks' or extracard == 'Kh' or extracard == 'Kc' or extracard == 'Kd' then + extra = 10 + else + end +end +--Deals the cards +function Deal(NPC, Spawn) + shuffle(NPC, Spawn) + shuffle(NPC, Spawn) + + burncard = table.remove(new, 1) --burns a card off the top + firstcard = table.remove(new, 1) --1st card goes to player + secondcard = table.remove(new, 1) --2nd card goes to dealer + thirdcard = table.remove(new, 1) --3rd card goes to player + fourthcard = table.remove(new, 1) --4th card goes to dealer + + CardValues1() + CardValues2() + CardValues3() + CardValues4() --assigns values + + --peeking at what goes on at this junction + --Say(NPC, "peeking at mychar its " .. mychar .. " and " .. mychar2) + --Say(NPC, "In deal function firstcard is [" .. firstcard .. "] value of " .. first .. ". Secondcard is [" .. secondcard .. "] value of " .. second .. ".") + --Say(NPC, "In deal function thirdcard is [" .. thirdcard .. "] value of " .. third .. ". Fourthcard is [" .. fourthcard .. "] value of " .. fourth .. ".") + +end +--This function combines total, checks for aces logic, and determines if blackjack occured +function Calculates(NPC, Spawn) + playertotal = first + third + dealertotal = second + fourth + if myace == 10 and dealerace == 10 and playertotal == 11 and dealertotal == 11 then + Bothbj(NPC, Spawn) + elseif dealerace == 10 and dealertotal == 11 then + dealertotal = 21 + Dealerbj(NPC, Spawn) + elseif myace == 10 and playertotal == 11 then + playertotal = 21 + Playerbj(NPC, Spawn) + elseif myace == 10 and dealerace == 10 then + alt = " or " + alt2 = " or " + myaces = first + third + 10 + dealeraces = second + fourth + 10 + HitStand1(NPC, Spawn) + elseif myace == 10 then + alt = " or " + alt2 = "" + dealeraces = "" + myaces = first + third + 10 + HitStand1(NPC, Spawn) + elseif dealerace == 10 then + alt = "" + alt2 = " or " + myaces = "" + dealeraces = second + fourth + 10 + HitStand1(NPC, Spawn) + else + alt = "" + alt2 = "" + myaces = "" + dealeraces = "" + HitStand1(NPC, Spawn) + end +end +--calculates the next card etc.. +function CalcMore(NPC, Spawn) + playertotal = playertotal + extra + if myace == 10 then + alt = " or " + myaces = playertotal + 10 + elseif nextace == 10 then + alt = " or " + myaces = playertotal + 10 + else + alt = "" + myaces = "" + end +end +--Text results +function Bothbj(NPC, Spawn) + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "]") + Say(NPC, "You both get blackjack, it's a push!") + SendPopUpMessage(Spawn, "You both get blackjack, it's a push!", 255, 255, 0) + PushLose1(NPC, Spawn) + AddCoin(Spawn, coins) -- Get your money back + Dumbdoh1(NPC, Spawn) + Clearvars() +end +function Dealerbj(NPC, Spawn) + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "] for a total of " .. playertotal .. ".") + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + Say(NPC, "I'm sorry but dealer hits blackjack!") + SendPopUpMessage(Spawn, "Dealer hits blackjack! You lose" .. GetCoinMessage(coins) .. "!", 255, 0, 0) + ApplySpellVisual(Spawn, 874) + Sorry1(NPC, Spawn) + Clearvars() +end +function Playerbj(NPC, Spawn) + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "]") + Say(NPC, "Congratulations, you got blackjack!") + Winning1(NPC, Spawn) + PlaySound(NPC, "sounds/test/endquest.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) --Ding! + ApplySpellVisual(Spawn, 872) --Jackpot style! + AddCoin(Spawn, coins/2*3) + SendPopUpMessage(Spawn, "Congratulations " .. GetName(Spawn) .. " you got blackjack! You win" .. GetCoinMessage(coins/2*3) .. "!" , 0, 255, 0) + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + Clearvars() +end +-- Agree sounds +function Agree(NPC, Spawn) + agree1 = math.random(3) + if agree1 == 1 then + --PlayFlavor(NPC, "voiceover/english/voice_emotes/agree/agree_1_1006.mp3", "", "agree", 0, 0, Spawn) + PlaySound(NPC, "voiceover/english/voice_emotes/agree/agree_1_1006.mp3", GetX(NPC), GetY(NPC), GetZ(NPC)) + elseif agree1 == 2 then + --PlayFlavor(NPC, "voiceover/english/voice_emotes/agree/agree_2_1006.mp3", "", "agree", 0, 0, Spawn) + PlaySound(NPC, "voiceover/english/voice_emotes/agree/agree_2_1006.mp3", GetX(NPC), GetY(NPC), GetZ(NPC)) + elseif agree1 == 3 then + --PlayFlavor(NPC, "voiceover/english/voice_emotes/agree/agree_3_1006.mp3", "", "agree", 0, 0, Spawn) + PlaySound(NPC, "voiceover/english/voice_emotes/agree/agree_3_1006.mp3", GetX(NPC), GetY(NPC), GetZ(NPC)) + end +end +-- dumb doh sounds +function Dumbdoh1(NPC, Spawn) + randpickv = math.random(3) + if randpickv == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/doh/doh_1006.mp3", "", "doh", 0, 0, Spawn) + elseif randpickv == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/doh/doh_1022.mp3", "", "doh", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/doh/doh_1050.mp3", "", "doh", 0, 0, Spawn) + end +end +-- Sorry sounds +function Sorry1(NPC, Spawn) + sorrypick = math.random(3) + if sorrypick == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_1_1006.mp3", "", "apologize", 0, 0, Spawn) + elseif sorrypick == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_2_1006.mp3", "", "apologize", 0, 0, Spawn) + elseif sorrypick == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + end +end +-- Levels of coin falling function +function CoinFalling1(NPC, Spawn) + -- if coins == 100 then + + if coins == 10000 then + --Too cheap for falling coins! + elseif coins == 100000 then + ApplySpellVisual(Spawn, 869) + elseif coins == 500000 then + ApplySpellVisual(Spawn, 870) + elseif coins == 10000000 then + ApplySpellVisual(Spawn, 871) + end +end +-- Winning emotes function +function Winning1(NPC, Spawn) + winning = math.random(12) + if winning == 1 then + PlayFlavor(Spawn, "", "", "agree", 0, 0, NPC) + elseif winning == 2 then + PlayFlavor(Spawn, "", "", "bow", 0, 0, NPC) + elseif winning == 3 then + PlayFlavor(Spawn, "", "", "cackle", 0, 0, NPC) + elseif winning == 4 then + PlayFlavor(Spawn, "", "", "cheer", 0, 0, NPC) + elseif winning == 5 then + PlayFlavor(Spawn, "", "", "chuckle", 0, 0, NPC) + elseif winning == 6 then + PlayFlavor(Spawn, "", "", "cutthroat", 0, 0, NPC) + elseif winning == 7 then + PlayFlavor(Spawn, "", "", "flex", 0, 0, NPC) + elseif winning == 8 then + PlayFlavor(Spawn, "", "", "happy", 0, 0, NPC) + elseif winning == 9 then + PlayFlavor(Spawn, "", "", "heartattack", 0, 0, NPC) + elseif winning == 10 then + PlayFlavor(Spawn, "", "", "heelclick", 0, 0, NPC) + elseif winning == 11 then + PlayFlavor(Spawn, "", "", "howl", 0, 0, NPC) + elseif winning == 12 then + PlayFlavor(Spawn, "", "", "laugh", 0, 0, NPC) + end +end +-- Losing /pushing emotes function +function PushLose1(NPC, Spawn) + PushLose = math.random(11) + if PushLose == 1 then + PlayFlavor(Spawn, "", "", "shrug", 0, 0, NPC) + elseif PushLose == 2 then + PlayFlavor(Spawn, "", "", "violin", 0, 0, NPC) + elseif PushLose == 3 then + PlayFlavor(Spawn, "", "", "boggle", 0, 0, NPC) + elseif PushLose == 4 then + PlayFlavor(Spawn, "", "", "confused", 0, 0, NPC) + elseif PushLose == 5 then + PlayFlavor(Spawn, "", "", "cringe", 0, 0, NPC) + elseif PushLose == 6 then + PlayFlavor(Spawn, "", "", "doh", 0, 0, NPC) + elseif PushLose == 7 then + PlayFlavor(Spawn, "", "", "doubletake", 0, 0, NPC) + elseif PushLose == 8 then + PlayFlavor(Spawn, "", "", "hearnoevil", 0, 0, NPC) + elseif PushLose == 9 then + PlayFlavor(Spawn, "", "", "speaknoevil", 0, 0, NPC) + elseif PushLose == 10 then + PlayFlavor(Spawn, "", "", "lookaway", 0, 0, NPC) + elseif PushLose == 11 then + PlayFlavor(Spawn, "", "", "sigh", 0, 0, NPC) + end +end +-- Busting emotes function +function Busting1(NPC, Spawn) + Busting = math.random(11) + if Busting == 1 then + PlayFlavor(Spawn, "", "", "rude", 0, 0, NPC) + elseif Busting == 2 then + PlayFlavor(Spawn, "", "", "heartattack", 0, 0, NPC) + elseif Busting == 3 then + PlayFlavor(Spawn, "", "", "curse", 0, 0, NPC) + elseif Busting == 4 then + PlayFlavor(Spawn, "", "", "frustrated", 0, 0, NPC) + elseif Busting == 5 then + PlayFlavor(Spawn, "", "", "swear", 0, 0, NPC) + elseif Busting == 6 then + PlayFlavor(Spawn, "", "", "tantrum", 0, 0, NPC) + elseif Busting == 7 then + PlayFlavor(Spawn, "", "", "threaten", 0, 0, NPC) + elseif Busting == 8 then + PlayFlavor(Spawn, "", "", "brandish", 0, 0, NPC) + elseif Busting == 9 then + PlayFlavor(Spawn, "", "", "crazy", 0, 0, NPC) + elseif Busting == 10 then + PlayFlavor(Spawn, "", "", "cry", 0, 0, NPC) + elseif Busting == 11 then + PlayFlavor(Spawn, "", "", "sulk", 0, 0, NPC) + end +end +--This function iterates player hit +function Hit1(NPC, Spawn) + extracard = table.remove(new, 1) + CardValues5() + CalcMore(NPC, Spawn) + + if playertotal > 21 then + Emote(Spawn, "receives a [" .. extracard .. "] for a total of " .. playertotal .. ".") + Say(NPC, "I'm sorry but you bust!") + Busting1(NPC, Spawn) + Sorry1(NPC, Spawn) + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + SendPopUpMessage(Spawn, "Player busts! You lose " .. GetCoinMessage(coins) .. "!", 255, 0, 0) + Clearvars() + elseif myaces~= "" and myaces < 22 then + conversation = CreateConversation() + AddConversationOption(conversation, "Hit!", "Hit1") + AddConversationOption(conversation, "Stand!", "Stand1") + StartConversation(conversation, NPC, Spawn, "You HIT!") + Emote(Spawn, "receives a [" .. extracard .. "] for a total of " .. playertotal .. alt .. myaces .. ".") + elseif playertotal <= 21 then + conversation = CreateConversation() + AddConversationOption(conversation, "Hit!", "Hit1") + AddConversationOption(conversation, "Stand!", "Stand1") + StartConversation(conversation, NPC, Spawn, "You HIT!") + Emote(Spawn, "receives a [" .. extracard .. "] for a total of " .. playertotal .. ".") + end +end +--Function for dealer's hit iteration and lower/higher value logic +function DealerHit(NPC, Spawn) + if dealeraces ~= "" and dealeraces > 16 then + dealertotal = dealeraces + Say(NPC, dealertotal .. "!") + elseif dealeraces~= "" and dealeraces < 17 then + while dealeraces < 17 do + extracard = table.remove(new, 1) + CardValues5() + Emote(NPC, "next card is [" .. extracard .. "]") + dealeraces = dealeraces + extra + dealertotal = dealertotal + extra + if dealeraces > 21 then + dealeraces = dealertotal + Say(NPC, dealeraces .. "!") + else + dealertotal = dealeraces + Say(NPC, dealertotal .. "!") + end + end + elseif dealertotal < 17 then + while dealertotal < 17 do + extracard = table.remove(new, 1) + CardValues5() + Emote(NPC, "next card is [" .. extracard .. "]") + dealertotal = dealertotal + extra + if nextace == 10 then + dealeraces = dealertotal + 10 + if dealeraces > 21 then + dealeraces = dealertotal + Say(NPC, dealeraces .. "!") + else + dealertotal = dealeraces + Say(NPC, dealertotal .. "!") + end + else + Say(NPC, dealertotal .. "!") + end + end + end + ComparingFinal(NPC, Spawn) +end +--Comparing final values and ending the game +function ComparingFinal(NPC, Spawn) + if dealertotal > 21 then + Say(NPC, "Dealer busts and player wins" .. GetCoinMessage(coins) .. "!") + Winning1(NPC, Spawn) + CoinFalling1(NPC, Spawn) + AddCoin(Spawn, coins*2) + SendPopUpMessage(Spawn, "Dealer busts! You win" .. GetCoinMessage(coins) .. "!", 255, 255, 0) + elseif myaces~= "" and dealertotal > myaces then + Say(NPC, "Dealer must stand and Dealer wins!") + PushLose1(NPC, Spawn) + SendPopUpMessage(Spawn, "Dealer wins! You lose" .. GetCoinMessage(coins) .. "!", 213, 89, 0) + Sorry1(NPC, Spawn) + elseif myaces~= "" and dealertotal < myaces then + Say(NPC, "Dealer must stand and Player wins!") + Winning1(NPC, Spawn) + CoinFalling1(NPC, Spawn) + AddCoin(Spawn, coins*2) + SendPopUpMessage(Spawn, "Player wins! You win" .. GetCoinMessage(coins) .. "!", 255, 255, 0) + elseif myaces~= "" and dealertotal == myaces then + Say(NPC, "Dealer stands. It's a push, nobody wins!") + AddCoin(Spawn, coins) -- Get your money back + SendPopUpMessage(Spawn, "It's a push. You get your money back!", 255, 255, 0) + PushLose1(NPC, Spawn) + Dumbdoh1(NPC, Spawn) + elseif dealertotal > playertotal then + Say(NPC, "Dealer must stand and Dealer wins!") + PushLose1(NPC, Spawn) + SendPopUpMessage(Spawn, "Dealer wins! You lose" .. GetCoinMessage(coins) .. "!", 213, 89, 0) + Sorry1(NPC, Spawn) + elseif playertotal > dealertotal then + Say(NPC, "Dealer must stand and Player wins!") + Winning1(NPC, Spawn) + CoinFalling1(NPC, Spawn) + AddCoin(Spawn, coins*2) + SendPopUpMessage(Spawn, "Player wins! You win" .. GetCoinMessage(coins) .. "!", 255, 255, 0) + else + Say(NPC, "Dealer stands. It's a push, nobody wins!") + AddCoin(Spawn, coins) -- Get your money back + SendPopUpMessage(Spawn, "It's a push. You get your money back!", 255, 255, 0) + PushLose1(NPC, Spawn) + Dumbdoh1(NPC, Spawn) + end + Clearvars() +end +--Function on STAND now dealer needs to iterate value, determine aces, and compare players total +function Stand1(NPC, Spawn) + if myaces == "" then + myaces = "" + elseif myaces > 21 then + alt = "" + myaces = "" + elseif myaces < 22 then + alt = "" + playertotal = "" + end + Emote(NPC, "reveals [" .. secondcard .. "][" .. fourthcard .. "]") + DealerHit(NPC, Spawn) +end + +--Function for hit or stand option with cards revealed. +function HitStand1(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Hit!", "Hit1") + AddConversationOption(conversation, "Stand!", "Stand1") + StartConversation(conversation, NPC, Spawn, "Dealer's top card is [" .. fourthcard .. "]") + Emote(Spawn, "peeks at [" .. firstcard .. "][" .. thirdcard .. "] for a total of " .. playertotal .. alt .. myaces .. ".") +end +--Resets variables for the next playthrough +function Clearvars(NPC, Spawn) + alt = "" + alt2 = "" + myaces = "" + dealeraces = "" + myace = 0 + dealerace = 0 + playertotal = 0 + dealertotal = 0 + nextace = "" +end +--Start of usual functions +function spawn(NPC) + SetPlayerProximityFunction(NPC, 4, "InRange", "LeaveRange") +end +function respawn(NPC) + spawn(NPC) + Clearvars() +end +function InRange(NPC, Spawn) + Emote(NPC, "shuffles a crisp deck of cards.") + Say(NPC, "Test your luck mate?") + Clearvars() +end +function LeaveRange(NPC, Spawn) + Say(NPC, "See you next time!") + PlayFlavor(NPC, "", "", "bye", 0, 0, Spawn) + Clearvars() --Just in case +end +function hailed(NPC, Spawn) + Clearvars() --Just in case + conversation = CreateConversation() + AddConversationOption(conversation, "Let's play.", "Play1") + AddConversationOption(conversation, "Rules please.", "Rules1") + StartConversation(conversation, NPC, Spawn, "Ready to play?") +end +function Play1(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I'll bet 10 platinum!", "Plat1") + AddConversationOption(conversation, "I'll bet 50 gold!", "Gold2") + AddConversationOption(conversation, "I'll bet 10 gold.", "Gold1") + AddConversationOption(conversation, "I'll bet 1 gold.", "Silver1") + -- AddConversationOption(conversation, "I'll bet 100 copper.", "Copper1") -- Too cheap!! + AddConversationOption(conversation, "I changed my mind, sorry.", "Bye1") + StartConversation(conversation, NPC, Spawn, "Let's begin! Place your bets please.") +end +--Start of blackjack script +function Plat1(NPC, Spawn) + conversation = CreateConversation() + coins = 10000000 -- 10 platinum + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Gold2(NPC, Spawn) + conversation = CreateConversation() + coins = 500000 -- 50 gold + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Gold1(NPC, Spawn) + conversation = CreateConversation() + coins = 100000 -- 10 gold + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Silver1(NPC, Spawn) + conversation = CreateConversation() + coins = 10000 -- 1 gold + local poolCoins = RemoveCoin(Spawn, coins) + if(poolCoins) then + Agree(NPC, Spawn) + Emote(NPC, "shuffles twice and then begins to deal.") + --Deal the cards + Deal(NPC, Spawn) --adding parameters for troubleshooting + --Do calculations + Calculates(NPC, Spawn) + else + Say(NPC, "I'm sorry but you don't have enough money.") + PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + Clearvars() + end +end +function Copper1(NPC, Spawn) --Omitted for now + -- conversation = CreateConversation() + -- coins = 100 -- 1 silver + -- local poolCoins = RemoveCoin(Spawn, coins) + -- if(poolCoins) then + -- Agree(NPC, Spawn) + -- Emote(NPC, "shuffles twice and then begins to deal.") + -- --Deal the cards + -- Deal(NPC, Spawn) --adding parameters for troubleshooting + -- --Do calculations + -- Calculates(NPC, Spawn) + -- else + -- Say(NPC, "I'm sorry but you don't have enough money.") + -- PlaySound(NPC, "sounds/combat/impact/leather/impact_metal_to_leather04.wav", GetX(NPC), GetY(NPC), GetZ(NPC)) + -- PlayFlavor(NPC, "voiceover/english/voice_emotes/apologies/apologies_3_1006.mp3", "", "apologize", 0, 0, Spawn) + -- Clearvars() + -- end +end +--Rules of blackjack +function Rules1(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I understand.", "Play1") + AddConversationOption(conversation, "Maybe next time.", "Bye1") + StartConversation(conversation, NPC, Spawn, "The object of Blackjack is to achieve a hand greater than the dealer to 21 without going over. If you go over 21, it is called a 'bust' and the dealer wins. Winning hands are paid out 1 to 1 and a tie results in a 'push'. Card values are scored from 2 to 9 respectively with 10 and face cards worth 10 points and Ace being worth 1 or 11 points. If you have a 10 point card and an Ace in your starting hand, it is called a natural 21 or 'Blackjack' and it pays 3 to 2. Lastly, dealers must draw to 17.") +end +function Bye1(NPC, Spawn) + Say(NPC, "Goodbye!") + PlayFlavor(NPC, "voiceover/english/voice_emotes/goodbye/goodbye_3_1006.mp3", "", "bye", 0, 0, Spawn) + Clearvars() +end +--END Blackjack.lua \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/BlertonBlumble.lua b/Lua/SpawnScripts/ThunderingSteppes/BlertonBlumble.lua new file mode 100755 index 000000000..4c839696f --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/BlertonBlumble.lua @@ -0,0 +1,84 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/BlertonBlumble.lua + Script Author : Jabantiz + Script Date : 2014.07.07 09:07:30 + Script Purpose : + : +--]] + +local WatchYourStepInTheTSPartI = 99 +local WatchYourStepInTheTSPartIV = 102 +local BlumbleBlunder = 103 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, WatchYourStepInTheTSPartI) and not HasCompletedQuest(Spawn, WatchYourStepInTheTSPartI) then + PlayFlavor(NPC, "", "Oh, hey. Uh, could you maybe just run along and go bother someone else? Thanks a bunch...", "", 1689589577, 4560189, Spawn) + elseif HasQuest(Spawn, WatchYourStepInTheTSPartI) and GetQuestStep(Spawn, WatchYourStepInTheTSPartI) == 1 then + -- On WatchYourStepInTheTSPartI + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1026.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yeah, whatever. I have a letter for you.", "dlg_0_1") + AddConversationOption(conversation, "I think I'll be going now.") + StartConversation(conversation, NPC, Spawn, "Oh, hey. Uh, could you maybe just run along and go bother someone else? Thanks a bunch...") + elseif HasQuest(Spawn, BlumbleBlunder) and GetQuestStep(Spawn, BlumbleBlunder) ~= 2 then + PlayFlavor(NPC, "", "Look, I'm not giving you anything until you find Grandpa Blumble. He's probably off searching for pirates again. We've never found out why he does it, but he usually ends up on the beach north of here.", "", 1689589577, 4560189, Spawn) + elseif HasQuest(Spawn, BlumbleBlunder) and GetQuestStep(Spawn, BlumbleBlunder) == 2 then + -- Turn in BlumbleBlunder + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1026.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I've found Grandpa Blumble.", "dlg_1_1") + AddConversationOption(conversation, "I'm still looking.") + StartConversation(conversation, NPC, Spawn, "Hello again. How goes the search?") + elseif not HasQuest(Spawn, WatchYourStepInTheTSPartIV) and not HasCompletedQuest(Spawn, WatchYourStepInTheTSPartIV) and HasCompletedQuest(Spawn, BlumbleBlunder) then + PlayFlavor(NPC, "", "Hello! Thanks again for finding Grandpa Blumble. Hmm, I wonder if I could get Matsy to tell 'Foot Breath' I didn't mean it...", "", 1689589577, 4560189, Spawn) + elseif HasQuest(Spawn, WatchYourStepInTheTSPartIV) or HasCompletedQuest(Spawn, WatchYourStepInTheTSPartIV) then + PlayFlavor(NPC, "", "Gosh, I'm sure glad you stopped working for Jacques. Now that he has someone else working for him the mail comes much faster. You were so slow!", "", 1689589577, 4560189, Spawn) + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What?", "dlg_0_2") + AddConversationOption(conversation, "Foot breath? I don't think I want to hear any more of this...") + StartConversation(conversation, NPC, Spawn, "A letter from Matsy? Uh oh, here we go again. Well, I'd guess you won't go bury it somewhere under a rock for me, so I suppose you'd better hand it over. I wonder what hideous banshee she's trying to set me up with now... The last one had a face like a minotaur with a skin condition and her breath smelled like feet! Let's see here...hah, she's given up on that at least. Eww, well that does explain her breath. That's just disgusting. Oh no, not again!") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure.", "dlg_0_3") + AddConversationOption(conversation, "I think I'd rather not.") + StartConversation(conversation, NPC, Spawn, "It looks like old Grandpa Blumble has gotten lost again. Crazy old fool! I don't want to go off searching for him now. Hey, you look like an adventurous sort... Do you think you could find him for me?") +end + +function dlg_0_3(NPC, Spawn) + OfferQuest(NPC, Spawn, BlumbleBlunder) +end + +function dlg_1_1(NPC, Spawn) + SetStepComplete(Spawn, BlumbleBlunder, 2) + SetStepComplete(Spawn, WatchYourStepInTheTSPartI, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure thing.") + StartConversation(conversation, NPC, Spawn, "Thank you so much for finding old Grandpa Blumble. I was beginning to worry. Hah! He really did find pirates? Wow, maybe he isn't quite as crazy as we thought... No, nevermind. There was still that incident with the badgers. He's a loony alright. Please take this reply for Matsy back to Jacques for me.") +end diff --git a/Lua/SpawnScripts/ThunderingSteppes/Brianna.lua b/Lua/SpawnScripts/ThunderingSteppes/Brianna.lua new file mode 100755 index 000000000..3592ba670 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/Brianna.lua @@ -0,0 +1,115 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/Brianna.lua + Script Author : Jabantiz + Script Date : 2014.07.11 02:07:39 + Script Purpose : Brianna (2490170) + : +--]] + +local WatchYourStepinTheTSPartIII = 101 +local SuppliesForBrianna = 108 +local HidesForBrianna = 109 + +function spawn(NPC) + ProvidesQuest(NPC, HidesForBrianna) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + end + + if HasQuest(Spawn, WatchYourStepinTheTSPartIII) and GetQuestStep(Spawn, WatchYourStepinTheTSPartIII) == 3 then + -- start SuppliesForBrianna + AddConversationOption(conversation, "No, I'm here to deliver a package to you.", "dlg_0_1") + AddConversationOption(conversation, "Oh okay. Thanks anyways.") + StartConversation(conversation, NPC, Spawn, "Har har, what kind of work do you think you can do with little arms like those? If you are here for the apprenticeship, it has been filled.") + elseif (HasQuest(Spawn, SuppliesForBrianna) and GetQuestStep(Spawn, SuppliesForBrianna) < 2) or (HasQuest(Spawn, HidesForBrianna) and GetQuestStep(Spawn, HidesForBrianna) < 2) then + -- on SuppliesForBrianna or HidesForBrianna but not ready for turn in + AddConversationOption(conversation, "No but I have my best people working on it.") + StartConversation(conversation, NPC, Spawn, "Well, did you bring the supplies yet?") + elseif HasQuest(Spawn, SuppliesForBrianna) and GetQuestStep(Spawn, SuppliesForBrianna) == 2 then + -- turn in SuppliesForBrianna + AddConversationOption(conversation, "Yes right here.", "dlg_1_1") + AddConversationOption(conversation, "Um, I have some but not for you.") + StartConversation(conversation, NPC, Spawn, "Well, do you have the supplies?") + elseif HasCompletedQuest(Spawn, SuppliesForBrianna) and not HasQuest(Spawn, HidesForBrianna) and not HasCompletedQuest(Spawn, HidesForBrianna) then + -- start HidesForBrianna + AddConversationOption(conversation, "Yes I am.", "dlg_2_1") + AddConversationOption(conversation, "Not at this time.") + StartConversation(conversation, NPC, Spawn, "Har har, what kind of work do you think you can do with little arms like those? Are you here for the apprenticeship? ") + elseif HasQuest(Spawn, HidesForBrianna) and GetQuestStep(Spawn, HidesForBrianna) == 2 then + -- turn in HidesForBrianna + AddConversationOption(conversation, "Yes, right here.", "dlg_3_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Well, do you have the supplies?") + elseif HasCompletedQuest(Spawn, SuppliesForBrianna) and HasCompletedQuest(Spawn, HidesForBrianna) then + -- finished both SuppliesForBrianna and HidesForBrianna + PlayFlavor(NPC, "", "Thanks for your help, I really do appreciate it. Adventurers like you are really good to have around!", "hello", 1689589577, 4560189, Spawn) + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "No, I was chased by some dogs and accidentally dropped it.", "dlg_0_2") + StartConversation(conversation, NPC, Spawn, "Sure, let's see it... my it looks damaged, what happened here? Did you open it up?") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Um, okay.", "dlg_0_3") + AddConversationOption(conversation, "I am not going to do that.") + StartConversation(conversation, NPC, Spawn, "Ok, these things happen. However, it says right here on top that it was insured by you and your delivery service, so I am going to need you to replace these items.") +end + +function dlg_0_3(NPC, Spawn) + OfferQuest(NPC, Player, SuppliesForBrianna) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, SuppliesForBrianna, 2) + SetStepComplete(Spawn, WatchYourStepinTheTSPartIII, 3) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Good they look like they will do, here is your receipt.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure thing.", "dlg_2_2") + AddConversationOption(conversation, "Not today.") + StartConversation(conversation, NPC, Spawn, "The job is mostly odd-jobs. It's what I do; fix things for people, patch up armor, repair broken fences, and occasionally help with party decorations. Do you think you could assist me with some odd jobs?") +end + +function dlg_2_2(NPC, Spawn) + OfferQuest(NPC, Player, HidesForBrianna) +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, HidesForBrianna, 2) + AddConversationOption(conversation, "Thanks.") + StartConversation(conversation, NPC, Spawn, "Great, these look like it's the first time they have ever seen the sun. Thanks for your help. I don't have anything else for you today, but check back again.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/BridgeDoors.lua b/Lua/SpawnScripts/ThunderingSteppes/BridgeDoors.lua new file mode 100755 index 000000000..d26491281 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/BridgeDoors.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/BridgeDoors.lua + Script Author : Jabantiz + Script Date : 2015.07.12 05:07:34 + Script Purpose : + : +--]] + +function spawn(NPC) + AddTimer(NPC, 10000, "OpenDoors") +end + +function respawn(NPC) + spawn(NPC) +end + +function OpenDoors(NPC) + local zone = GetZone(NPC) + if not IsNight(zone) then + UseWidget(NPC) + end +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/CaptainSturman.lua b/Lua/SpawnScripts/ThunderingSteppes/CaptainSturman.lua new file mode 100755 index 000000000..fdb455208 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/CaptainSturman.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/TheThunderingSteppes/CaptainSturman.lua + Script Purpose : Captain Sturman + Script Author : geordie0511 + Script Date : 2019.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +local Captain = 472 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/captain_sturman/steppes/captainsturman000.mp3", "", "", 2356938778, 3921151874, Spawn) + if GetQuestStep(Spawn, Captain) == 1 then + AddConversationOption(conversation, "Thank you for the warning. ") + StartConversation(conversation, NPC, Spawn, "Be careful out in these lands, adventurer. There are many factions in the Thundering Steppes that are not friendly to outsiders.") + SetStepComplete(Spawn, Captain, 1) + else + AddConversationOption(conversation, "Thank you for the warning. ") + StartConversation(conversation, NPC, Spawn, "Be careful out in these lands, adventurer. There are many factions in the Thundering Steppes that are not friendly to outsiders.") + end +end + diff --git a/Lua/SpawnScripts/ThunderingSteppes/GrennStiles.lua b/Lua/SpawnScripts/ThunderingSteppes/GrennStiles.lua new file mode 100755 index 000000000..0893b86b7 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/GrennStiles.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/GrennStiles.lua + Script Author : Zcoretri + Script Date : 2014.07.14 07:07:35 + Script Purpose : Grenn Stiles spawn script + : +--]] + +local RecycleTheOldFashionedWay = 111 + +function spawn(NPC) + ProvidesQuest(NPC, RecycleTheOldFashionedWay) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, RecyclingTheOldFashoinedWay) then + -- Has the quest + if GetQuestStep(Spawn, RecyclingTheOldFashoinedWay) == 1 then + -- Has not completed the quest yet + AddConversationOption(conversation, "Ah! Got the bones, eh? Let me see them.") + StartConversation(conversation, NPC, Spawn, "Er, no, not quite. Just stopped by to say hello. I'll be back") + end + else + AddConversationOption(conversation, "What kind of opportunity?", "Option1") + AddConversationOption(conversation, "No, I look like someone who's heading the other way.") + StartConversation(conversation, NPC, Spawn, "Hey! Don't miss out on this once-in-a-lifetime opportunity!") + end +end + +function Option1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "If the price is right", "Option2") + AddConversationOption(conversation, "No, I'm not") + StartConversation(conversation, NPC, Spawn, "Why, in farming of course. Lots of opportunity to grow in the farming industry--HA! Get it? Grow ... farming ... Oh, Never mind ... On any note, I've made a bundle selling fertilizer to the farmers in the Steppes. I'm looking for a business partner - no investment required. Yuo'd be silly to pass up this opportunity!") +end + +function Option2(NPC, Spawn) + FaceTarget(NPC, Spawn) + OfferQuest(NPC, Spawn, RecycleTheOldFashionedWay) +end + diff --git a/Lua/SpawnScripts/ThunderingSteppes/Jacques.lua b/Lua/SpawnScripts/ThunderingSteppes/Jacques.lua new file mode 100755 index 000000000..f942cd4e8 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/Jacques.lua @@ -0,0 +1,158 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/Jacques.lua + Script Author : Jabantiz/edited geordie0511 + Script Date : 2014.07.05 10:07:45 + Script Purpose : Jacques + +--]] + +local WatchYourStepInTheTSPartI = 99 +local WatchYourStepInTheTSPartII = 100 +local WatchYourStepInTheTSPartIII = 101 +local WatchYourStepInTheTSPartIV = 102 +local Mail = 469 + +function spawn(NPC) + ProvidesQuest(NPC, WatchYourStepInTheTSPartI) + ProvidesQuest(NPC, WatchYourStepInTheTSPartII) + ProvidesQuest(NPC, WatchYourStepInTheTSPartIII) + ProvidesQuest(NPC, WatchYourStepInTheTSPartIV) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, Mail) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have a letter from Matsy.", "MailComplete") + AddConversationOption(conversation, "No. I don't know what you're talking about.") + StartConversation(conversation, NPC, Spawn, "Hello there! Are you here to drop off some mail?") + elseif not HasQuest(Spawn, WatchYourStepInTheTSPartI) and not HasCompletedQuest(Spawn, WatchYourStepInTheTSPartI) then + -- start quest 1 + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And you survive all of this to deliver the mail?", "dlg_0_1") + AddConversationOption(conversation, "I don't have any mail to send.") + StartConversation(conversation, NPC, Spawn, "Do you need any mail delivered, friend? You can't trust just anyone with an important message. You need only the best. Me! Why, not many can survive the dangers of the Thundering Steppes. Many are devoured by bears, slaughtered by centaurs, robbed by gnolls, or flattened by giants!") + elseif HasQuest(Spawn, WatchYourStepInTheTSPartI) and GetQuestStep(Spawn, WatchYourStepInTheTSPartI) == 3 then + -- turn in Part I + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have a reply from Blerton.", "dlg_1_1") + AddConversationOption(conversation, "I will return when I am finished.") + StartConversation(conversation, NPC, Spawn, "Welcome back. Have you completed your delivery yet?") + elseif HasCompletedQuest(Spawn, WatchYourStepInTheTSPartI) and not HasCompletedQuest(Spawn, WatchYourStepInTheTSPartII) and not HasQuest(Spawn, WatchYourStepInTheTSPartII) then + -- start quest 2 + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure, what's next?", "dlg_2_1") + AddConversationOption(conversation, "Not just yet. I will return later.") + StartConversation(conversation, NPC, Spawn, "Hello there! Are you ready for your next visit to the exciting world of mail delivery?") + elseif HasQuest(Spawn, WatchYourStepInTheTSPartII) and GetQuestStep(Spawn, WatchYourStepInTheTSPartII) == 3 then + -- turn in Part II + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have a reply from Tish.", "dlg_3_1") + AddConversationOption(conversation, "I will return when I am finished.") + StartConversation(conversation, NPC, Spawn, "Welcome back. Have you completed your delivery yet?") + elseif HasCompletedQuest(Spawn, WatchYourStepInTheTSPartII) and not HasCompletedQuest(Spawn, WatchYourStepInTheTSPartIII) and not HasQuest(Spawn, WatchYourStepInTheTSPartIII) then + -- start quest 3 + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Of course!", "dlg_4_1") + AddConversationOption(conversation, "Why don't you ever deliver the mail yourself? Are you just too scared?", "dlg4_2") + AddConversationOption(conversation, "Not just yet.") + StartConversation(conversation, NPC, Spawn, "Are you ready to deliver more mail?") + elseif HasQuest(Spawn, WatchYourStepInTheTSPartIII) and GetQuestStep(Spawn, WatchYourStepInTheTSPartIII) == 3 then + -- turn in Part III + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have Brianna's receipt.", "dlg_5_1") + AddConversationOption(conversation, "I will return when I am finished.") + StartConversation(conversation, NPC, Spawn, "Welcome back. Have you completed your delivery yet? ") + elseif HasCompletedQuest(Spawn, WatchYourStepInTheTSPartIII) and not HasCompletedQuest(Spawn, WatchYourStepInTheTSPartIV) and not HasQuest(Spawn, WatchYourStepInTheTSPartIV) then + -- start quest 4 + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_6_1") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Great great, I have one final letter for you to deliver if you would.") + elseif HasQuest(Spawn, WatchYourStepInTheTSPartI) or HasQuest(Spawn, WatchYourStepInTheTSPartII) or HasQuest(Spawn, WatchYourStepInTheTSPartIII) then + -- Currently doing quest 1,2, or 3 but haven't finished it yet + PlayFlavor(NPC, "", "Come back to me as soon as you've gotten the return letter.", "", 1689589577, 4560189, Spawn) + else + -- Currently on quest 4 or finished everything + PlayFlavor(NPC, "", "Thank you for all of your help with the mail deliveries, friend. That's all we have for now. I'll let you know as soon as we have more work for you.", "", 1689589577, 4560189, Spawn) + end +end + +function MailComplete(NPC, Spawn) + SetStepComplete(Spawn, Mail, 1) +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well, I could use a job.", "dlg_0_2") + AddConversationOption(conversation, "So you actually just want someone else to face the danger? I don't have time for cowards.") + StartConversation(conversation, NPC, Spawn, "Indeed! Why, nothing could deter me from my duties here. I fear nothing! Though...I umm... have pressing business here at the moment and could use a new assistant to deliver a few things for me.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Whatever, just as long as you pay me to face all the danger for you.", "dlg_0_3") + AddConversationOption(conversation, "Angry dogs? MIGHT earn money? Nevermind.") + StartConversation(conversation, NPC, Spawn, "Ahh, wonderful! You look like a good runner. Welcome to the exciting world of professional mail delivery! Danger! Excitement! Angry dogs! You might even earn some money. Not as much as me, of course, but we all have to start somewhere.") +end + +function dlg_0_3(NPC, Spawn) + OfferQuest(NPC, Spawn, WatchYourStepInTheTSPartI) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, WatchYourStepInTheTSPartI, 3) + AddConversationOption(conversation, "Okay.") + StartConversation (conversation, NPC, Spawn, "Great! Well done on your first mail delivery. Come see me again when you're ready for your next assignment.") +end + +function dlg_2_1(NPC, Spawn) + OfferQuest(NPC, Spawn, WatchYourStepInTheTSPartII) +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, WatchYourStepInTheTSPartII, 3) + AddConversationOption(conversation, "I will return as soon as I'm ready.") + StartConversation(conversation, NPC, Spawn, "Wonderful! I'll deliver this on my next run into town. Go take a break and come see me when you're ready for more.") +end + +function dlg_4_1(NPC, Spawn) + OfferQuest(NPC, Player, WatchYourStepInTheTSPartIII) +end + +function dlg_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Fine.", "dlg_4_1") + AddConversationOption(conversation, "I think I'll pass for now.") + StartConversation(conversation, NPC, Spawn, "Scared? Never! I'm...merely expecting a delivery soon and if I don't stay here I'll miss it! Now are you going to deliver this or do I have to find another assistant?") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Spawn, "Ahh, there is Brianna's receipt. Thank you. Here is your payment for today's work.") +end + +function dlg_6_1(NPC, Spawn) + OfferQuest(NPC, Player, WatchYourStepInTheTSPartIV) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/OldenHighguard.lua b/Lua/SpawnScripts/ThunderingSteppes/OldenHighguard.lua new file mode 100755 index 000000000..ef898c7c7 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/OldenHighguard.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/TheThunderingSteppes/OldenHighguard.lua + Script Purpose : Olden Highguard + Script Author : Jabantiz + Script Date : 2016.06.13 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/olden_highguard/steppes/oldenhighguard000.mp3", "", "", 101809511, 0, Spawn) + AddConversationOption(conversation, "Be careful, this land can be pretty dangerous.") + StartConversation(conversation, NPC, Spawn, "Heather and I just made the journey from the docks. The trip went smoothly, although we felt like there were eyes upon us from high atop the rocks.") +end diff --git a/Lua/SpawnScripts/ThunderingSteppes/OutlandSentryLanders.lua b/Lua/SpawnScripts/ThunderingSteppes/OutlandSentryLanders.lua new file mode 100755 index 000000000..db864946b --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/OutlandSentryLanders.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/OutlandSentryLanders.lua + Script Author : Jabantiz + Script Date : 2015.07.12 02:07:53 + Script Purpose : + : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 79.15, 2.91, -572.45, 2) + MovementLoopAddLocation(NPC, 70.78, 6.95, -560.78, 2) + MovementLoopAddLocation(NPC, 57.14, 8.62, -554.45, 2) + MovementLoopAddLocation(NPC, 36.07, 12.80, -553.58, 2) + MovementLoopAddLocation(NPC, 20.67, 16.58, -559.86, 2) + MovementLoopAddLocation(NPC, -3.70, 19.40, -569.21, 2) + MovementLoopAddLocation(NPC, -56.73, 19.30, -580.18, 2) + MovementLoopAddLocation(NPC, -73.70, 18.98, -577.56, 2) + MovementLoopAddLocation(NPC, -89.31, 18.93, -571.66, 2) + MovementLoopAddLocation(NPC, -117.40, 19.60, -548.26, 2) + MovementLoopAddLocation(NPC, -131.36, 18.13, -532.85, 2) + MovementLoopAddLocation(NPC, -146.61, 13.67, -515.87, 2) + MovementLoopAddLocation(NPC, -162.29, 8.37, -496.02, 2) + MovementLoopAddLocation(NPC, -174.85, 2.48, -483.08, 2) + MovementLoopAddLocation(NPC, -190.58, -0.66, -464.35, 2) + MovementLoopAddLocation(NPC, -198.52, -4.40, -447.93, 2) + MovementLoopAddLocation(NPC, -204.33, -8.51, -440.59, 2) + + MovementLoopAddLocation(NPC, -198.52, -4.40, -447.93, 2) + MovementLoopAddLocation(NPC, -190.58, -0.66, -464.35, 2) + MovementLoopAddLocation(NPC, -174.85, 2.48, -483.08, 2) + MovementLoopAddLocation(NPC, -162.29, 8.37, -496.02, 2) + MovementLoopAddLocation(NPC, -146.61, 13.67, -515.87, 2) + MovementLoopAddLocation(NPC, -131.36, 18.13, -532.85, 2) + MovementLoopAddLocation(NPC, -117.40, 19.60, -548.26, 2) + MovementLoopAddLocation(NPC, -89.31, 18.93, -571.66, 2) + MovementLoopAddLocation(NPC, -73.70, 18.98, -577.56, 2) + MovementLoopAddLocation(NPC, -56.73, 19.30, -580.18, 2) + MovementLoopAddLocation(NPC, -3.70, 19.40, -569.21, 2) + MovementLoopAddLocation(NPC, 20.67, 16.58, -559.86, 2) + MovementLoopAddLocation(NPC, 36.07, 12.80, -553.58, 2) + MovementLoopAddLocation(NPC, 57.14, 8.62, -554.45, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/OutlandSentryVidhir.lua b/Lua/SpawnScripts/ThunderingSteppes/OutlandSentryVidhir.lua new file mode 100755 index 000000000..8b29395fa --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/OutlandSentryVidhir.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/OutlandSentryVidhir.lua + Script Author : Jabantiz + Script Date : 2015.07.12 06:07:47 + Script Purpose : + : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 202.54, -1.25, -258.20, 2) + MovementLoopAddLocation(NPC, 199.83, -0.50, -322.54, 2) + MovementLoopAddLocation(NPC, 207.25, 0.08, -397.28, 2) + MovementLoopAddLocation(NPC, 219.89, 0.43, -407.82, 2) + MovementLoopAddLocation(NPC, 274.50, -1.01, -416.51, 2) + MovementLoopAddLocation(NPC, 302.79, -0.06, -421.95, 2) + MovementLoopAddLocation(NPC, 325.37, -1.29, -426.05, 2) + MovementLoopAddLocation(NPC, 350.34, -1.25, -460.15, 2) + MovementLoopAddLocation(NPC, 361.18, 8.10, -496.50, 2) + MovementLoopAddLocation(NPC, 379.15, 11.74, -503.97, 2) + MovementLoopAddLocation(NPC, 383.01, 13.13, -510.42, 2) + + MovementLoopAddLocation(NPC, 379.15, 11.74, -503.97, 2) + MovementLoopAddLocation(NPC, 361.18, 8.10, -496.50, 2) + MovementLoopAddLocation(NPC, 350.34, -1.25, -460.15, 2) + MovementLoopAddLocation(NPC, 325.37, -1.29, -426.05, 2) + MovementLoopAddLocation(NPC, 302.79, -0.06, -421.95, 2) + MovementLoopAddLocation(NPC, 274.50, -1.01, -416.51, 2) + MovementLoopAddLocation(NPC, 219.89, 0.43, -407.82, 2) + MovementLoopAddLocation(NPC, 207.25, 0.08, -397.28, 2) + MovementLoopAddLocation(NPC, 199.83, -0.50, -322.54, 2) +end + +function hailed(NPC, Spawn) + +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/ThunderingSteppes/SentryCaptainGarland.lua b/Lua/SpawnScripts/ThunderingSteppes/SentryCaptainGarland.lua new file mode 100755 index 000000000..79cac9b06 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/SentryCaptainGarland.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/SentryCaptainGarland.lua + Script Author : Jabantiz + Script Date : 2015.07.12 06:07:59 + Script Purpose : + : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 249.94, 33.24, -1029.99, 2) + MovementLoopAddLocation(NPC, 258.34, 32.76, -1023.70, 2) + MovementLoopAddLocation(NPC, 271.59, 25.22, -1007.19, 2) + MovementLoopAddLocation(NPC, 272.38, 22.43, -993.42, 2) + MovementLoopAddLocation(NPC, 263.14, 16.30, -968.31, 2) + MovementLoopAddLocation(NPC, 246.15, 13.15, -958.93, 2) + MovementLoopAddLocation(NPC, 195.67, 13.63, -963.25, 2) + MovementLoopAddLocation(NPC, 176.94, 11.48, -955.78, 2) + MovementLoopAddLocation(NPC, 169.55, 9.64, -936.13, 2) + MovementLoopAddLocation(NPC, 173.65, 5.79, -913.69, 2) + MovementLoopAddLocation(NPC, 189.85, 3.46, -881.72, 2) + MovementLoopAddLocation(NPC, 185.61, 2.89, -863.07, 2) + MovementLoopAddLocation(NPC, 147.49, -2.60, -796.37, 2) + MovementLoopAddLocation(NPC, 112.35, -1.82, -782.23, 2) + MovementLoopAddLocation(NPC, 75.19, -2.13, -771.52, 2) + MovementLoopAddLocation(NPC, 54.50, -1.69, -752.32, 2) + MovementLoopAddLocation(NPC, 30.11, -1.58, -706.66, 2) + MovementLoopAddLocation(NPC, 37.95, -1.48, -660.71, 2) + MovementLoopAddLocation(NPC, 49.54, -1.45, -641.16, 2) + MovementLoopAddLocation(NPC, 71.65, -1.06, -623.20, 2) + MovementLoopAddLocation(NPC, 101.28, -2.10, -612.55, 2) + MovementLoopAddLocation(NPC, 167.39, -2.70, -586.82, 2) + MovementLoopAddLocation(NPC, 208.07, -1.82, -557.98, 2) + MovementLoopAddLocation(NPC, 285.54, -1.21, -547.06, 2) + MovementLoopAddLocation(NPC, 338.42, 10.54, -535.79, 2) + MovementLoopAddLocation(NPC, 360.09, 11.65, -514.59, 2) + + MovementLoopAddLocation(NPC, 338.42, 10.54, -535.79, 2) + MovementLoopAddLocation(NPC, 285.54, -1.21, -547.06, 2) + MovementLoopAddLocation(NPC, 208.07, -1.82, -557.98, 2) + MovementLoopAddLocation(NPC, 167.39, -2.70, -586.82, 2) + MovementLoopAddLocation(NPC, 101.28, -2.10, -612.55, 2) + MovementLoopAddLocation(NPC, 71.65, -1.06, -623.20, 2) + MovementLoopAddLocation(NPC, 49.54, -1.45, -641.16, 2) + MovementLoopAddLocation(NPC, 37.95, -1.48, -660.71, 2) + MovementLoopAddLocation(NPC, 30.11, -1.58, -706.66, 2) + MovementLoopAddLocation(NPC, 54.50, -1.69, -752.32, 2) + MovementLoopAddLocation(NPC, 75.19, -2.13, -771.52, 2) + MovementLoopAddLocation(NPC, 112.35, -1.82, -782.23, 2) + MovementLoopAddLocation(NPC, 147.49, -2.60, -796.37, 2) + MovementLoopAddLocation(NPC, 185.61, 2.89, -863.07, 2) + MovementLoopAddLocation(NPC, 189.85, 3.46, -881.72, 2) + MovementLoopAddLocation(NPC, 173.65, 5.79, -913.69, 2) + MovementLoopAddLocation(NPC, 169.55, 9.64, -936.13, 2) + MovementLoopAddLocation(NPC, 176.94, 11.48, -955.78, 2) + MovementLoopAddLocation(NPC, 195.67, 13.63, -963.25, 2) + MovementLoopAddLocation(NPC, 246.15, 13.15, -958.93, 2) + MovementLoopAddLocation(NPC, 263.14, 16.30, -968.31, 2) + MovementLoopAddLocation(NPC, 272.38, 22.43, -993.42, 2) + MovementLoopAddLocation(NPC, 271.59, 25.22, -1007.19, 2) + MovementLoopAddLocation(NPC, 258.34, 32.76, -1023.70, 2) +end + +function hailed(NPC, Spawn) + +end + +function respawn(NPC) + spawn(NPC) +end + diff --git a/Lua/SpawnScripts/ThunderingSteppes/TheWanderingAugur.lua b/Lua/SpawnScripts/ThunderingSteppes/TheWanderingAugur.lua new file mode 100755 index 000000000..44552de78 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/TheWanderingAugur.lua @@ -0,0 +1,141 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/TheWanderingAugur.lua + Script Author : Jabantiz + Script Date : 2014.07.13 12:07:13 + Script Purpose : The Wandering Augur (2490318) + : +--]] + +local TheWanderersThreeMeaningsOfLife = 110 + +function spawn(NPC) + ProvidesQuest(NPC, TheWanderersThreeMeaningsOfLife) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, TheWanderersThreeMeaningsOfLife) and not HasCompletedQuest(Spawn, TheWanderersThreeMeaningsOfLife) then + -- start the quest + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur001.mp3", "", "", 3928308346, 2492813375, Spawn) + AddConversationOption(conversation, "You were expecting me?", "dlg_0_1") + AddConversationOption(conversation, "I have no idea what you're talking about.") + StartConversation(conversation, NPC, Spawn, "Ah, so you've arrived at last! I wondered when you would seek my knowledge of the meaning of life. Come closer and we shall begin your quest for enlightenment, my child.") + elseif HasQuest(Spawn, TheWanderersThreeMeaningsOfLife) and GetQuestStep(Spawn, TheWanderersThreeMeaningsOfLife) == 1 then + -- on step 1 + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur004.mp3", "", "", 4182174294, 1820017120, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Ah, you've returned. Do you understand the mysteries of the physical meanings of life?") + elseif HasQuest(Spawn, TheWanderersThreeMeaningsOfLife) and GetQuestStep(Spawn, TheWanderersThreeMeaningsOfLife) == 2 then + -- on step 2 + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur004.mp3", "", "", 4182174294, 1820017120, Spawn) + AddConversationOption(conversation, "I suppose so.", "dlg_1_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "Ah, you've returned. Do you understand the mysteries of the physical meanings of life?") + elseif HasQuest(Spawn, TheWanderersThreeMeaningsOfLife) and GetQuestStep(Spawn, TheWanderersThreeMeaningsOfLife) == 3 then + -- on step 3 + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur007.mp3", "", "", 1006683380, 911151650, Spawn) + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You have learned about inner strength, my child? You have defeated the foes against whom I sent you?") + elseif HasQuest(Spawn, TheWanderersThreeMeaningsOfLife) and GetQuestStep(Spawn, TheWanderersThreeMeaningsOfLife) == 4 then + -- on step 4 + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur007.mp3", "", "", 1006683380, 911151650, Spawn) + AddConversationOption(conversation, "Of course.", "dlg_2_1") + AddConversationOption(conversation, "Not yet.") + StartConversation(conversation, NPC, Spawn, "You have learned about inner strength, my child? You have defeated the foes against whom I sent you?") + elseif HasQuest(Spawn, TheWanderersThreeMeaningsOfLife) and GetQuestStep(Spawn, TheWanderersThreeMeaningsOfLife) == 5 then + -- on step 5 + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur010.mp3", "", "", 3280494285, 3614506473, Spawn) + AddConversationOption(conversation, "How should I know? I haven't gone anywhere!") + StartConversation(conversation, NPC, Spawn, "Did you set off in the right direction, my child?") + elseif HasQuest(Spawn, TheWanderersThreeMeaningsOfLife) and GetQuestStep(Spawn, TheWanderersThreeMeaningsOfLife) == 6 then + -- on step 6 + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur010.mp3", "", "", 3280494285, 3614506473, Spawn) + AddConversationOption(conversation, "I guess.", "dlg_3_1") + AddConversationOption(conversation, "How should I know? I haven't gone anywhere!") + StartConversation(conversation, NPC, Spawn, "Did you set off in the right direction, my child?") + elseif HasCompletedQuest(Spawn, TheWanderersThreeMeaningsOfLife) then + -- finished the quest + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur013.mp3", "", "", 1521418825, 1376165665, Spawn) + AddConversationOption(conversation, "I'll be on my way.") + StartConversation(conversation, NPC, Spawn, "I have given you the keys, my child. How or if you ever use them is in your hands. Other Augurs you meet in your travels may provide you with more wisdom.") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur002.mp3", "", "", 2562964464, 4217203499, Spawn) + AddConversationOption(conversation, "The meanings of life, eh? I'm listening.", "dlg_0_2") + AddConversationOption(conversation, "I'm not interested.") + StartConversation(conversation, NPC, Spawn, "Many seek me, my child, for I hold the secrets to the meanings of life. The meanings are many yet few. They are expansive yet personal. They are wide-reaching while remaining local. The meanings of life are all around us and with my help, you can unlock them if you so desire.") +end + +function dlg_0_2(NPC, Spawn) + OfferQuest(NPC, Spawn, TheWanderersThreeMeaningsOfLife) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur005.mp3", "", "", 1955011218, 3592248483, Spawn) + AddConversationOption(conversation, "Inner strength?", "dlg_1_2") + AddConversationOption(conversation, "I don't have time for inner strength.") + StartConversation(conversation, NPC, Spawn, "The physical meaning is the way of pain, my child. Pain can be overcome through strengthening one's mind. By focusing on the learning and not the pain, you will realize the second meaning of life: inner strength.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, TheWanderersThreeMeaningsOfLife, 2) + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur006.mp3", "", "", 14505144, 1932942931, Spawn) + AddConversationOption(conversation, "I wasn't asking a question, I was...oh, never mind. I'll be back.") + StartConversation(conversation, NPC, Spawn, "A wise question, young one. The only way you will learn inner strength is through perseverance. And perseverance is remaining steadfast no matter how difficult the situation. To this end, you must defeat your foes in single combat and steel your mind against all pain. Go, then, and return when you are ready for the final meaning of life.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur008.mp3", "", "", 915290527, 2753306989, Spawn) + AddConversationOption(conversation, "How do you know if it's the right direction?", "dlg_2_2") + AddConversationOption(conversation, "I'm not ready to finish this.") + StartConversation(conversation, NPC, Spawn, "I have led you towards two of the meanings of life. There is but one more that I can share with you. This is the most subtle of meanings and the one at which most students balk. It is patience and learning to trust that what will be, will be. The longest journey starts with a single step, whether in the right direction or not.") +end + +function dlg_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, TheWanderersThreeMeaningsOfLife, 4) + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur009.mp3", "", "", 1926047857, 1251915059, Spawn) + AddConversationOption(conversation, "You didn't answer my question. Never mind. I'll be back.") + StartConversation(conversation, NPC, Spawn, "I always know whether I am setting off in the right direction. The question is, do you? Go, then, and see whether you have the patience to conquer the third meaning of life. I will wait for you here. Patiently, of course.") +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur011.mp3", "", "", 2965742070, 4163652707, Spawn) + AddConversationOption(conversation, "Not really. Are all Augurs as obtuse as you?", "dlg_3_2") + StartConversation(conversation, NPC, Spawn, "As you see, sometimes many directions are correct. We learn through trial and error which direction is correct at that moment. The next time we set forth, we take what we have learned and apply it to our latest situation. Do you understand now, my child?") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + SetStepComplete(Spawn, TheWanderersThreeMeaningsOfLife, 6) + PlayFlavor(NPC, "voiceover/english/the_wandering_augur/steppes/quests/quest_wandering_augur/wandering_augur012.mp3", "", "", 1899808569, 4168257450, Spawn) + AddConversationOption(conversation, "Patience. Hmm.") + StartConversation(conversation, NPC, Spawn, "You are not ready, my child. A pity. Perhaps when you have studied for as many years as I have, you will realize that these three meanings of life are the basis for all that you experience. The physical meaning, inner strength and patience. Yes, patience, above all else.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/TishTickers.lua b/Lua/SpawnScripts/ThunderingSteppes/TishTickers.lua new file mode 100755 index 000000000..fd3c52609 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/TishTickers.lua @@ -0,0 +1,209 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/TishTickers.lua + Script Author : Jabantiz + Script Date : 2014.07.08 07:07:37 + Script Purpose : Tish Tickers (2490042) + : +--]] + +-- Quests +local WatchYourStepInTheTSPartII = 100 +local ScryingShame = 105 +local TheGnollCave = 106 +local StopTheElementals = 107 + +-- Items +local AnAncientSilverCoin = 3513 + +function spawn(NPC) + ProvidesQuest(NPC, TheGnollCave) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + -- on watch your step part II + if HasQuest(Spawn, WatchYourStepInTheTSPartII) and GetQuestStep(Spawn, WatchYourStepInTheTSPartII) == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have a letter for you.", "dlg_0_1") + AddConversationOption(conversation, "I have to go now.") + StartConversation(conversation, NPC, Spawn, "Would you people leave me alone?! I don't have your money! Oh, umm. Haha... Sorry about that, I thought you were someone else.") + elseif HasQuest(Spawn, ScryingShame) and GetQuestStep(Spawn, ScryingShame) == 1 then + -- on A Scrying Shame + PlayFlavor(NPC, "", "Good luck on the search! Better late than having your legs broken by cold, heartless machines built only to cause you bodily harm, I always say.", "", 1689589577, 4560189, Spawn) + elseif HasQuest(Spawn, ScryingShame) and GetQuestStep(Spawn, ScryingShame) == 2 then + -- turn in A Scrying Shame + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1025.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I've found your coins.", "dlg_1_1") + AddConversationOption(conversation, "I'm still searching.") + StartConversation(conversation, NPC, Spawn, "How goes the search? I hope you find those coins soon. I can't stop thinking about those clockworks... Some of them can climb walls and enter windows, you know. And they have spikes all over them. Really sharp ones. ") + elseif HasCompletedQuest(Spawn, ScryingShame) and not HasQuest(Spawn, TheGnollCave) and not HasCompletedQuest(Spawn, TheGnollCave) then + -- start The Gnoll Cave (completed A Scrying Shame) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is wrong with the gnolls?", "dlg_2_1") + AddConversationOption(conversation, "I must be going now.") + StartConversation(conversation, NPC, Spawn, "Hmm, I wonder if I can get another loan. I think if I reinforce my wagon frames and add spikes to the roof I can avoid any misplaced giant feet interrupting my studies. Now what to do about the gnolls? Oh, hello again!") + elseif HasQuest(Spawn, TheGnollCave) and GetQuestStep(Spawn, TheGnollCave) ~= 4 then + -- On The Gnoll Cave + PlayFlavor(NPC, "", "Let me know as soon as you get those items for me. We need to hurry if we're going to get my equipment back before the gnolls do something horrible with it.", "", 1689589577, 4560189, Spawn) + elseif HasQuest(Spawn, TheGnollCave) and GetQuestStep(Spawn, TheGnollCave) == 4 then + -- turn in The Gnoll Cave? + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1025.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I have found all of your components.", "dlg_3_1") + AddConversationOption(conversation, "I will return soon.") + StartConversation(conversation, NPC, Spawn, "Have you found everything yet?") + elseif not HasCompletedQuest(Spawn, StopTheElementals) and (not HasQuest(Spawn, StopTheElementals) or GetQuestStep(Spawn, StopTheElementals) == 1) then + -- Haven't started or haven't finished Stop the Elementals + PlayFlavor(NPC, "", "Good luck with those gnolls. Their cave should be hidden among the rocks on the hill to the south.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, StopTheElementals) == 2 then + -- turn in Stop the Elementals + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1025.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have recovered your research equipment.", "dlg_4_1") + AddConversationOption(conversation, "I'm sorry to have disturbed you. Have a nice day.") + StartConversation(conversation, NPC, Spawn, "I hope those gnolls haven't misused my equipment. There's no end to the trouble they could cause with it.") + elseif HasCompletedQuest(Spawn, StopTheElementals) then + -- finished Stop the Elementals + PlayFlavor(NPC, "", "Thank you so much for all of your help! It was kind of ironic that the gnolls had to let those elementals out of my camping stove. They could have caused a lot of trouble if they had tinkered with my research equipment.", "", 1689589577, 4560189, Spawn) + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Pardon me, but who is this you're not afraid of?", "dlg_0_2") + AddConversationOption(conversation, "I'm not getting involved.") + StartConversation(conversation, NPC, Spawn, "A letter, you say? I... well I guess you'd better hand it over. Hmm. Why won't they leave me alone? I've already told them I'll have the coins for them next week! Now they've resorted to petty threats. I'm not afraid of them! ...really. Well, I'm not.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So what happens if you don't pay?", "dlg_0_3") + AddConversationOption(conversation, "I'm too busy to listen to this.") + StartConversation(conversation, NPC, Spawn, "The Clockwork Collection Agency. I took out a loan to fund some of my studies. Things haven't gone quite as well as I'd hoped though. Gnolls keep stealing my equipment, the beastly little savages, and a giant stepped on one of my wagons! There wasn't even enough left to salvage and sell off as scrap. Now I don't have any results and I've spent the entire loan. I don't know how I'm going to pay them back and they're getting rather insistent.") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Don't clockworks just do helpful things? Like cleaning?", "dlg_0_4") + AddConversationOption(conversation, "I've had enough of this.") + StartConversation(conversation, NPC, Spawn, "If you don't pay they send their collection clockworks after you. I hear the process isn't pleasant. Not at all.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you need?", "dlg_0_5") + AddConversationOption(conversation, "I don't think I like where this is going.") + StartConversation(conversation, NPC, Spawn, "These ones aren't the cooking and cleaning type. These are the other ones. Their only purpose is to make sure you have no intention of being late with your next payment and they're very good at it. Look, I'd really rather not talk about it. It looks like the only way I'm going to be able to pay them back now is if I take a few chances. Would you be willing to help me out?") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are scrying stones?", "dlg_0_7") + AddConversationOption(conversation, "I use them all the time, what do you need me to do?", "dlg_0_6") + AddConversationOption(conversation, "Oh no, I'm not doing any gambling for you.") + StartConversation(conversation, NPC, Spawn, "I need to pay them five ancient silver coins to pay off my debt. The only way I know of to get them on such short notice would be to do a bit of gambling. Do you know how to use scrying stones?") +end + +function dlg_0_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Yes, I will help you.", "OfferScryingShame") + AddConversationOption(conversation, "No, I don't like the sound of this.") + StartConversation(conversation, NPC, Spawn, "Since you already know the process, I'll just get to the point. Are you willing to go use some scrying stones for me and help me collect enough ancient silver coins to pay back my debt?") +end + +function dlg_0_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.", "dlg_0_8") + AddConversationOption(conversation, "I think you're on your own.") + StartConversation(conversation, NPC, Spawn, "Sometimes when you're traveling you'll see strange rainbow lights shimmering in the air. I'm not sure what causes them, but they're very pretty. They seem to have some link to treasure lost in the area. We're not sure what that link is, but we have found a way to use it to our advantage. This requires a scrying stone.") +end + +function dlg_0_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What sort of things?", "dlg_0_9") + AddConversationOption(conversation, "I've had enough of this.") + StartConversation(conversation, NPC, Spawn, "If you use a scrying stone while standing in the lights, something very strange happens. I don't know how, but sometimes the stone will help you find whatever treasure has been lost there. The stone is destroyed in the process of course and sometimes you don't find anything at all, but sometimes you find strange and wonderful things.") +end + +function dlg_0_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What kind of dangers are we talking about here?", "dlg_0_10") + AddConversationOption(conversation, "No, I don't like the sound of this.") + StartConversation(conversation, NPC, Spawn, "I'm not sure, really. I've never found anything, myself. I have horrible luck. A friend of mine says he found an incredible enchanted ring that tickles you mercilessly when you put it on. He thinks it was once used as some sort of torture device. Oh, I should probably warn you, scrying does have its... dangers.") +end + +function dlg_0_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I guess so.", "OfferScryingShame") + AddConversationOption(conversation, "No thanks.") + StartConversation(conversation, NPC, Spawn, "Oh, the usual. Horrible beasts clawing their way up from the ground to devour you whole. Depending on your luck, you might spend more time running away screaming than you do searching. There's no shame in running. It's definitely healthier than the alternatives. If you get lucky though, you can find a lot of ancient silver coins, which is exactly what I need to pay off my loan. Five of them. Will you help me?") +end + +function OfferScryingShame(NPC, Spawn) + OfferQuest(NPC, Spawn, ScryingShame) +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Spawn, "Wonderful! You're a life saver! I wish I could give you a more fitting reward, but I'm in quite a bit of debt. Thank you so much! Here, I've packaged those coins with a return letter. Please deliver this to Jacques for me.") + SetStepComplete(Spawn, ScryingShame, 2) + SetStepComplete(Spawn, WatchYourStepInTheTSPartII, 2) +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I suppose I could help you again.", "OfferGnollCave") + AddConversationOption(conversation, "I don't have time right now.") + StartConversation(conversation, NPC, Spawn, "The gnolls stole some very valuable magical equipment from me and I need it back if I'm going to resume my research. Not to mention the fact that it could be very, very dangerous if misused. I don't suppose you'd be willing to help me recover it, would you?") +end + +function OfferGnollCave(NPC, Spawn) + OfferQuest(NPC, Spawn, TheGnollCave) +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be careful.") + StartConversation(conversation, NPC, Spawn, "Well done! Now you should be able to enter the gnoll cave on the hill to the south of this tower. You'll have to search around among the large stone pillars up there. The entrance is hidden in one of the pillars. Be careful going in there. Some of the things they stole were very...volatile. There's no telling what they might do with it.") + SetStepComplete(Spawn, TheGnollCave, 4) +end + +function dlg_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.") + StartConversation(conversation, NPC, Spawn, "Thank you so much! I was starting to think I would never get this back. You've helped me more than I could have possibly hoped for. Here, take this reward. It's the least I can do.") + SetStepComplete(Spawn, StopTheElementals, 2) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/TobiasGranville.lua b/Lua/SpawnScripts/ThunderingSteppes/TobiasGranville.lua new file mode 100755 index 000000000..05769117d --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/TobiasGranville.lua @@ -0,0 +1,104 @@ +--[[ + Script Name : TobiasGranville.lua + Script Purpose : Tobias Granville (2490178) + Script Author : Jabantiz + Script Date : 8/10/2016 + Script Notes : +--]] +local GranvillesRestaurantAntonica = 182 + +function spawn(NPC) + ProvidesQuest(NPC, GranvillesRestaurantAntonica) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function InRange(NPC, Spawn) + if not HasQuest(Spawn, GranvillesRestaurantAntonica) and not HasCompletedQuest(Spawn, GranvillesRestaurantAntonica) then + PlayFlavor(NPC, "", "Looking for folks skilled at fishing!", "beckon", 0, 0, Spawn) + else + Say(NPC, "Good to see you again.", Spawn) + end +end + +function LeaveRange(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + if HasCompletedQuest(Spawn, GranvillesRestaurantAntonica) then + Say(NPC, "I appreciate your help.", Spawn) + elseif HasQuest(Spawn, GranvillesRestaurantAntonica) then + local step = GetQuestStep(Spawn, GranvillesRestaurantAntonica) + if step <= 2 then + AddConversationOption(conversation, "I'm still gathering them. I'll be back shortly.") + if step == 2 then + AddConversationOption(conversation, "Here are the crab shells.", "Option2") + end + StartConversation(conversation, NPC, Spawn, "Where are my ingredients, hm?", "voiceover/english/tobias_granville/steppes/quests/quest_tobias_granville/tobias_granville005.mp3", 3287496753, 2683193173) + elseif step <= 4 then + AddConversationOption(conversation, "I'm still working on it.") + if step == 4 then + AddConversationOption(conversation, "Here's your seafood.", "Option3") + end + StartConversation(conversation, NPC, Spawn, "Well, it's about time. I, uh, was beginning to worry.") + else + AddConversationOption(conversation, "If I ever go to Nektulos, I'll look her up.") + StartConversation(conversation, NPC, Spawn, "I appreciate the report. This is all the coin I have to pay you for your work. My sister Tanny Granville says I spend too much on ingredients. Well, if you want more work you can always speak with her. She's out in Nektulos Forest getting some ingredients out that-a-way. Thanks for the work, friend.") + end + else + -- Doesn't have the quest and hasn't completed it + AddConversationOption(conversation, "Sorry, I'm not interested.") + AddConversationOption(conversation, "What kind of hoofing do you mean?", "Option1") + StartConversation(conversation, NPC, Spawn, "Who knew opening a restaurant would take all this field work? Hunting, gathering, searching, when all I want to do is cook! Cook, I tell you! I need someone else to do all this hoofing around!") + PlayFlavor(NPC, "voiceover/english/tobias_granville/steppes/quests/quest_tobias_granville/tobias_granville001.mp3", "", "shrug", 2405099568, 1478987434, Spawn) + end +end + +function Option1(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Well, I have other tasks at hand. Sorry, can't help you.") + AddConversationOption(conversation, "I'm pretty good. What do you need, exactly?", "Option4") + StartConversation(conversation, NPC, Spawn, "Splendid timing! I'm creating the most delightful seafood bisque. So many ingredients are needed to create the flavors in a good bisque. I have most of them set aside already, but I'm looking for an excellent fisherman and hunter to get my final ingredients. It's vital that I hire only the best! Only the best can get what I need!", "voiceover/english/tobias_granville/steppes/quests/quest_tobias_granville/tobias_granville002.mp3", 1972418532, 2059774414) +end + +function Option4(NPC, Spawn) + OfferQuest(NPC, Spawn, GranvillesRestaurantAntonica) +end + +function Option2(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + SetStepComplete(Spawn, GranvillesRestaurantAntonica, 2) + + AddConversationOption(conversation, "I'll be back with your seafood.") + StartConversation(conversation, NPC, Spawn, "These will do nicely. I can certainly trust you to find the highest quality seafood from the mobs of fish. Not just any seafood, mind you, only the best will do! You can't find these things just anywhere, you know. Head straight down the Thundermist Road to the little cove at the end of Thundermist Valley. Look for the rocks the sailors call 'the Three Sisters,' though I don't know that anyone else calls those rocks any such name.") + -- 'the Three Sisters,' is suppose to be " not ' but i can't get the damn editors to accept /, always changes it to / +end + +function Option3(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + AddConversationOption(conversation, "Not right now.") + AddConversationOption(conversation, "What's your theory on this?", "Option5") + StartConversation(conversation, NPC, Spawn, "Good, good! These will do nicely. I'm surprised it took this long; my old supplier used to say that one could walk across the water on the backs of the crabs and fishes. Something must be keeping their numbers unnaturally low. Perhaps you could look into this? I need to ensure a steady supply of fresh ingredients for my bisque!") +end + +function Option5(NPC, Spawn) + FaceTarget(NPC, Spawn) + local conversation = CreateConversation() + + SetStepComplete(Spawn, GranvillesRestaurantAntonica, 4) + + AddConversationOption(conversation, "I'll investigate and report back.") + StartConversation(conversation, NPC, Spawn, "He used to gather my ingredients at Thundermist Valley's cove. Last I saw him, he was babbling about singing. I suspect there's a concentration of sirens out there that might have a hand in hoarding not only my ingredients but my suppliers as well. They might have some kind of underwater gathering place near the shore.") +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/TrapperBorgus.lua b/Lua/SpawnScripts/ThunderingSteppes/TrapperBorgus.lua new file mode 100755 index 000000000..a0169b517 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/TrapperBorgus.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : SpawnScripts/ThunderingSteppes/TrapperBorgus.lua + Script Author : Jabantiz + Script Date : 2014.07.03 06:07:51 + Script Purpose : + : +--]] + +local HuntingForTrapperBorgus = 98 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 20, "InRange") + ProvidesQuest(NPC, HuntingForTrapperBorgus) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if not HasQuest(Spawn, HuntingForTrapperBorgus) then + if HasCompletedQuest(Spawn, HuntingForTrapperBorgus) then + PlayFlavor(NPC, "voiceover/english/trapper_borgus/steppes/030_dwarf_trapper_borgus_aoi_callout_familiar_75373ef2.mp3", "Ah! There you are, I need yer help again!", "wave", 3299608738, 3594130452, Spawn) + else + PlayFlavor(NPC, "voiceover/english/trapper_borgus/steppes/030_dwarf_trapper_borgus_aoi_callout_unfamiliar_93226f1b.mp3", "Oh me achin' back! Give an old dwarf a hand?", "wince", 4014576750, 2294200697, Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, HuntingForTrapperBorgus) then + -- Has the quest + if GetQuestStep(Spawn, HuntingForTrapperBorgus) == 1 then + -- Hasn't finished the quest yet + PlayFlavor(NPC, "voiceover/english/trapper_borgus/steppes/trapper_borgus003.mp3", "", "", 2061866687, 623475610, Spawn) + AddConversationOption(conversation, "No problem.") + StartConversation(conversation, NPC, Spawn, "That's not enough beasts to fill me bags! I need more Steppes beasts for my provisions!") + elseif GetQuestStep(Spawn, HuntingForTrapperBorgus) == 2 then + -- Finished and turning the quest in + SetStepComplete(Spawn, HuntingForTrapperBorgus, 2) + PlayFlavor(NPC, "voiceover/english/trapper_borgus/steppes/trapper_borgus004.mp3", "", "", 2882844739, 4151927708, Spawn) + AddConversationOption(conversation, "Sure.", "dlg_2_1") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "That should do the trick! Thank yeh for the help! Think you might want to get some more?") + end + else + PlayFlavor(NPC, "voiceover/english/trapper_borgus/steppes/trapper_borgus001.mp3", "", "", 2091451215, 1918648250, Spawn) + AddConversationOption(conversation, "Yes, I'll help you.", "dlg_1_1") + AddConversationOption(conversation, "Sorry, I must get going.") + StartConversation(conversation, NPC, Spawn, "Me family sent me out for provisions, and I hurt me back lifting me pack! I come from a family o' miners n' boulder bashers, I would never hear the end of it! Can you help me kill enough beasts to get the provisions I need?") + end +end + +function dlg_1_1(NPC, Spawn) + OfferQuest(NPC, Spawn, HuntingForTrapperBorgus) +end + +function dlg_2_1(NPC, Spawn) + SetTempVariable(Spawn, "RepeatHuntingForTrapperBorgus", "true") + OfferQuest(NPC, Spawn, HuntingForTrapperBorgus) +end \ No newline at end of file diff --git a/Lua/SpawnScripts/ThunderingSteppes/TwoFace.lua b/Lua/SpawnScripts/ThunderingSteppes/TwoFace.lua new file mode 100755 index 000000000..97bd32653 --- /dev/null +++ b/Lua/SpawnScripts/ThunderingSteppes/TwoFace.lua @@ -0,0 +1,86 @@ +--[[ +These are comments just like # and